diff --git a/MCU/MCU_1/Listings/MCU_1.m51 b/MCU/MCU_1/Listings/MCU_1.m51
new file mode 100644
index 0000000..a4179ba
--- /dev/null
+++ b/MCU/MCU_1/Listings/MCU_1.m51
@@ -0,0 +1,211 @@
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:41:30 PAGE 1
+
+
+BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY:
+C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\main.obj, .\Objects\inc.obj TO .\Objects\MCU_1 PRINT (.\Listings\MCU_1.m51)
+
+
+MEMORY MODEL: LARGE
+
+
+INPUT MODULES INCLUDED:
+ .\Objects\main.obj (MAIN)
+ .\Objects\inc.obj (INC)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C_STARTUP)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C_INIT)
+
+
+LINK MAP OF MODULE: .\Objects\MCU_1 (MAIN)
+
+
+ TYPE BASE LENGTH RELOCATION SEGMENT NAME
+ -----------------------------------------------------
+
+ * * * * * * * D A T A M E M O R Y * * * * * * *
+ REG 0000H 0008H ABSOLUTE "REG BANK 0"
+ IDATA 0008H 0001H UNIT ?STACK
+
+ * * * * * * * X D A T A M E M O R Y * * * * * * *
+ XDATA 0000H 0002H UNIT ?XD?INC
+ XDATA 0002H 0001H UNIT _XDATA_GROUP_
+
+ * * * * * * * C O D E M E M O R Y * * * * * * *
+ CODE 0000H 0003H ABSOLUTE
+ CODE 0003H 008CH UNIT ?C_C51STARTUP
+ CODE 008FH 0028H UNIT ?PR?MAIN?MAIN
+ CODE 00B7H 0022H UNIT ?PR?_DELAY?INC
+ CODE 00D9H 001EH UNIT ?PR?HELLO?INC
+ CODE 00F7H 000EH UNIT ?PR?SHORTDELAY?MAIN
+ CODE 0105H 000EH UNIT ?PR?LONGDELAY?MAIN
+ CODE 0113H 000EH UNIT ?PR?SHORTDELAY?INC
+ CODE 0121H 000EH UNIT ?PR?LONGDELAY?INC
+ CODE 012FH 0007H UNIT ?PR?LEDFULL?INC
+ CODE 0136H 0006H UNIT ?C_INITSEG
+
+
+
+OVERLAY MAP OF MODULE: .\Objects\MCU_1 (MAIN)
+
+
+SEGMENT XDATA_GROUP
+ +--> CALLED SEGMENT START LENGTH
+----------------------------------------------
+?C_C51STARTUP ----- -----
+ +--> ?PR?MAIN?MAIN
+ +--> ?C_INITSEG
+
+?PR?MAIN?MAIN 0002H 0001H
+ +--> ?PR?_DELAY?INC
+
+
+
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:41:30 PAGE 2
+
+
+SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN)
+
+ VALUE TYPE NAME
+ ----------------------------------
+
+ ------- MODULE MAIN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00A8H PUBLIC IE
+ D:00B8H PUBLIC IP
+ C:008FH PUBLIC main
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ C:0105H SYMBOL longdelay
+ C:00F7H SYMBOL shortdelay
+ D:00C8H PUBLIC T2CON
+ D:00D0H PUBLIC PSW
+ ------- PROC SHORTDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:00F7H LINE# 5
+ C:00F7H LINE# 7
+ C:00F7H LINE# 9
+ C:0104H LINE# 10
+ ------- ENDPROC SHORTDELAY
+ ------- PROC LONGDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:0105H LINE# 13
+ C:0105H LINE# 15
+ C:0105H LINE# 17
+ C:0112H LINE# 18
+ ------- ENDPROC LONGDELAY
+ ------- PROC MAIN
+ ------- DO
+ X:0002H SYMBOL var1
+ ------- ENDDO
+ C:008FH LINE# 19
+ C:008FH LINE# 20
+ C:008FH LINE# 25
+ C:0095H LINE# 26
+ C:0095H LINE# 27
+ C:0098H LINE# 28
+ C:00AAH LINE# 29
+ C:00ACH LINE# 31
+ C:00AEH LINE# 34
+ C:00B5H LINE# 37
+ ------- ENDPROC MAIN
+ ------- ENDMOD MAIN
+
+ ------- MODULE INC
+ C:0000H SYMBOL _ICE_DUMMY_
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:41:30 PAGE 3
+
+
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00A8H PUBLIC IE
+ C:00B7H PUBLIC _delay
+ C:00D9H SYMBOL hello
+ D:00B8H PUBLIC IP
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ X:0000H PUBLIC hello_var
+ C:0121H SYMBOL longdelay
+ C:0113H SYMBOL shortdelay
+ D:00C8H PUBLIC T2CON
+ C:012FH PUBLIC ledfull
+ D:00D0H PUBLIC PSW
+ ------- PROC SHORTDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:0113H LINE# 3
+ C:0113H LINE# 5
+ C:0113H LINE# 7
+ C:0120H LINE# 8
+ ------- ENDPROC SHORTDELAY
+ ------- PROC LONGDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:0121H LINE# 11
+ C:0121H LINE# 13
+ C:0121H LINE# 15
+ C:012EH LINE# 16
+ ------- ENDPROC LONGDELAY
+ ------- PROC HELLO
+ ------- DO
+ D:0005H SYMBOL var2
+ ------- ENDDO
+ C:00D9H LINE# 19
+ C:00D9H LINE# 20
+ C:00D9H LINE# 22
+ C:00DBH LINE# 23
+ C:00DDH LINE# 24
+ C:00E3H LINE# 25
+ C:00E6H LINE# 26
+ C:00EAH LINE# 27
+ C:00EDH LINE# 28
+ C:00F1H LINE# 29
+ C:00F4H LINE# 30
+ ------- ENDPROC HELLO
+ ------- PROC _DELAY
+ D:0006H SYMBOL a
+ ------- DO
+ D:0005H SYMBOL i
+ ------- ENDDO
+ C:00B7H LINE# 33
+ C:00B7H LINE# 34
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:41:30 PAGE 4
+
+
+ C:00B7H LINE# 36
+ C:00C2H LINE# 37
+ C:00D8H LINE# 40
+ ------- ENDPROC _DELAY
+ ------- PROC LEDFULL
+ C:012FH LINE# 41
+ C:012FH LINE# 42
+ C:012FH LINE# 43
+ C:0132H LINE# 44
+ C:0135H LINE# 45
+ ------- ENDPROC LEDFULL
+ ------- ENDMOD INC
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?SHORTDELAY?MAIN
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?LONGDELAY?MAIN
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?HELLO?INC
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?LEDFULL?INC
+
+Program Size: data=9.0 xdata=3 code=316
+LINK/LOCATE RUN COMPLETE. 4 WARNING(S), 0 ERROR(S)
diff --git a/MCU/MCU_1/MCU_1.uvopt b/MCU/MCU_1/MCU_1.uvopt
new file mode 100644
index 0000000..3231031
--- /dev/null
+++ b/MCU/MCU_1/MCU_1.uvopt
@@ -0,0 +1,229 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc; *.md
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ MCU_1
+ 0x0
+ MCS-51
+
+ 24000000
+
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 0
+ 65535
+ 0
+ 0
+ 0
+
+
+ 120
+ 65
+ 8
+ .\Listings\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 255
+
+
+ 0
+ Data Sheet
+ DATASHTS\ATMEL\AT89C51_DS.PDF
+
+
+ 1
+ Instruction Set Manual
+ DATASHTS\ATMEL\AT_C51ISM.PDF
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+ BIN\MON51.DLL
+
+
+
+ 0
+ DLGTP51
+ (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)
+
+
+ 0
+ MON51
+ -S2 -B115200 -O15
+
+
+
+
+ 0
+
+
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ SRC
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ .\main.c
+ main.c
+ 0
+ 0
+
+
+
+
+ INC
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 1
+ 0
+ 0
+ .\inc.c
+ inc.c
+ 0
+ 0
+
+
+
+
diff --git a/MCU/MCU_1/MCU_1.uvproj b/MCU/MCU_1/MCU_1.uvproj
new file mode 100644
index 0000000..6fe111f
--- /dev/null
+++ b/MCU/MCU_1/MCU_1.uvproj
@@ -0,0 +1,400 @@
+
+
+
+ 1.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ MCU_1
+ 0x0
+ MCS-51
+ 0
+
+
+ AT89C51
+ Microchip
+ IRAM(0-0x7F) IROM(0-0xFFF) CLOCK(24000000)
+
+ "LIB\STARTUP.A51" ("Standard 8051 Startup Code")
+
+ 2976
+ REGX51.H
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ Atmel\
+ Atmel\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ MCU_1
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listings\
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+ 65535
+
+
+ S8051.DLL
+
+ DP51.DLL
+ -p51
+ S8051.DLL
+
+ TP51.DLL
+ -p51
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BIN\MON51.DLL
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ -1
+
+ 0
+
+
+
+
+
+
+ 0
+
+
+
+ 2
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0x0
+ 0xffff
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x1000
+
+
+ 0
+ 0x0
+ 0x80
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 1
+ 3
+ 8
+ 2
+ 1
+ 1
+ 0
+ 0
+
+
+
+
+ ..\MCU
+
+
+
+ 0
+ 1
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 2
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SRC
+
+
+ main.c
+ 1
+ .\main.c
+
+
+
+
+ INC
+
+
+ inc.c
+ 1
+ .\inc.c
+
+
+
+
+
+
+
+
diff --git a/MCU/MCU_1/inc.c b/MCU/MCU_1/inc.c
new file mode 100644
index 0000000..cee3605
--- /dev/null
+++ b/MCU/MCU_1/inc.c
@@ -0,0 +1,45 @@
+#include
+#include "inc.h"
+static void shortdelay()
+
+{
+ int i;
+ for(i = 10; i > 0; i--);
+}
+
+
+static void longdelay()
+
+{
+ int i;
+ for(i = 100; i > 0; i--);
+}
+const unsigned char hello_var[] = {0x91, 0x80};
+
+static void hello()
+{
+
+ unsigned char var2 = 0xef;
+ P0 = var2;
+ P2 = hello_var[1];
+ shortdelay();
+ var2 = var2 >> 1;
+ P2 = hello_var[1];
+ P0 = var2;
+ shortdelay();
+ longdelay();
+}
+
+void delay(int a)
+{
+ unsigned char i;
+ for(; a > 0; a--)
+ for(i = 18; i > 0; i--)
+// hello()
+ ;
+}
+void ledfull()
+{
+ P2 = 0xff;
+ P0 = 0X00;
+}
\ No newline at end of file
diff --git a/MCU/MCU_1/inc.h b/MCU/MCU_1/inc.h
new file mode 100644
index 0000000..cafb66f
--- /dev/null
+++ b/MCU/MCU_1/inc.h
@@ -0,0 +1,5 @@
+#include
+void delay(int a);
+
+void ledfull();
+
diff --git a/MCU/MCU_1/main.c b/MCU/MCU_1/main.c
new file mode 100644
index 0000000..4d95cc0
--- /dev/null
+++ b/MCU/MCU_1/main.c
@@ -0,0 +1,39 @@
+#include
+#include
+#include "inc.h"
+
+static void shortdelay()
+
+{
+ int i;
+ for(i = 10; i > 0; i--);
+}
+
+
+static void longdelay()
+
+{
+ int i;
+ for(i = 100; i > 0; i--);
+}
+int main()
+{
+//P1 跑马灯
+//P0 选位 低电平亮
+//P2 码 低电平亮
+
+ unsigned char var1 = 0xfe;
+ while(1)
+ { P0=0x00;
+ var1 = _crol_(var1, 1);
+ P1 = var1;
+
+ P2= var1;
+// longdelay();
+// P2=0XFF;
+ delay(2000);
+// P2 = 0x00;
+
+ }
+
+}
diff --git a/MCU/MCU_1_1/Listings/MCU_1.m51 b/MCU/MCU_1_1/Listings/MCU_1.m51
new file mode 100644
index 0000000..45edac1
--- /dev/null
+++ b/MCU/MCU_1_1/Listings/MCU_1.m51
@@ -0,0 +1,218 @@
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:56:58 PAGE 1
+
+
+BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY:
+C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\main.obj, .\Objects\inc.obj TO .\Objects\MCU_1 PRINT (.\Listings\MCU_1.m51)
+
+
+MEMORY MODEL: LARGE
+
+
+INPUT MODULES INCLUDED:
+ .\Objects\main.obj (MAIN)
+ .\Objects\inc.obj (INC)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C_STARTUP)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C_INIT)
+
+
+LINK MAP OF MODULE: .\Objects\MCU_1 (MAIN)
+
+
+ TYPE BASE LENGTH RELOCATION SEGMENT NAME
+ -----------------------------------------------------
+
+ * * * * * * * D A T A M E M O R Y * * * * * * *
+ REG 0000H 0008H ABSOLUTE "REG BANK 0"
+ IDATA 0008H 0001H UNIT ?STACK
+
+ * * * * * * * X D A T A M E M O R Y * * * * * * *
+ XDATA 0000H 0005H UNIT ?XD?INC
+ XDATA 0005H 0003H UNIT _XDATA_GROUP_
+
+ * * * * * * * C O D E M E M O R Y * * * * * * *
+ CODE 0000H 0003H ABSOLUTE
+ CODE 0003H 008CH UNIT ?C_C51STARTUP
+ CODE 008FH 003CH UNIT ?PR?_DELAY?INC
+ CODE 00CBH 0037H UNIT ?PR?HELLO?INC
+ CODE 0102H 0025H UNIT ?PR?MAIN?MAIN
+ CODE 0127H 000EH UNIT ?PR?SHORTDELAY?MAIN
+ CODE 0135H 000EH UNIT ?PR?LONGDELAY?MAIN
+ CODE 0143H 000EH UNIT ?PR?SHORTDELAY?INC
+ CODE 0151H 000EH UNIT ?PR?LONGDELAY?INC
+ CODE 015FH 0009H UNIT ?C_INITSEG
+ CODE 0168H 0007H UNIT ?PR?LEDFULL?INC
+
+
+
+OVERLAY MAP OF MODULE: .\Objects\MCU_1 (MAIN)
+
+
+SEGMENT XDATA_GROUP
+ +--> CALLED SEGMENT START LENGTH
+----------------------------------------------
+?C_C51STARTUP ----- -----
+ +--> ?PR?MAIN?MAIN
+ +--> ?C_INITSEG
+
+?PR?MAIN?MAIN 0005H 0001H
+ +--> ?PR?_DELAY?INC
+
+?PR?_DELAY?INC 0006H 0002H
+ +--> ?PR?HELLO?INC
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:56:58 PAGE 2
+
+
+
+?PR?HELLO?INC ----- -----
+ +--> ?PR?SHORTDELAY?INC
+ +--> ?PR?LONGDELAY?INC
+
+
+
+SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN)
+
+ VALUE TYPE NAME
+ ----------------------------------
+
+ ------- MODULE MAIN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00B0H PUBLIC P3
+ D:00A8H PUBLIC IE
+ D:00B8H PUBLIC IP
+ C:0102H PUBLIC main
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ C:0135H SYMBOL longdelay
+ C:0127H SYMBOL shortdelay
+ D:00C8H PUBLIC T2CON
+ D:00D0H PUBLIC PSW
+ ------- PROC SHORTDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:0127H LINE# 5
+ C:0127H LINE# 7
+ C:0127H LINE# 9
+ C:0134H LINE# 10
+ ------- ENDPROC SHORTDELAY
+ ------- PROC LONGDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:0135H LINE# 13
+ C:0135H LINE# 15
+ C:0135H LINE# 17
+ C:0142H LINE# 18
+ ------- ENDPROC LONGDELAY
+ ------- PROC MAIN
+ ------- DO
+ X:0005H SYMBOL var1
+ ------- ENDDO
+ C:0102H LINE# 19
+ C:0102H LINE# 20
+ C:0102H LINE# 25
+ C:0108H LINE# 26
+ C:0108H LINE# 27
+ C:010BH LINE# 28
+ C:011CH LINE# 29
+ C:011EH LINE# 34
+ C:0125H LINE# 37
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:56:58 PAGE 3
+
+
+ ------- ENDPROC MAIN
+ ------- ENDMOD MAIN
+
+ ------- MODULE INC
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ D:00A8H PUBLIC IE
+ C:008FH PUBLIC _delay
+ C:00CBH SYMBOL hello
+ D:00B8H PUBLIC IP
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ X:0000H PUBLIC hello_var
+ C:0151H SYMBOL longdelay
+ C:0143H SYMBOL shortdelay
+ D:00C8H PUBLIC T2CON
+ C:0168H PUBLIC ledfull
+ D:00D0H PUBLIC PSW
+ ------- PROC SHORTDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:0143H LINE# 4
+ C:0143H LINE# 6
+ C:0143H LINE# 8
+ C:0150H LINE# 9
+ ------- ENDPROC SHORTDELAY
+ ------- PROC LONGDELAY
+ ------- DO
+ D:0006H SYMBOL i
+ ------- ENDDO
+ C:0151H LINE# 12
+ C:0151H LINE# 14
+ C:0151H LINE# 16
+ C:015EH LINE# 17
+ ------- ENDPROC LONGDELAY
+ ------- PROC HELLO
+ ------- DO
+ D:0004H SYMBOL i
+ D:0003H SYMBOL var2
+ ------- ENDDO
+ C:00CBH LINE# 20
+ C:00CBH LINE# 21
+ C:00CBH LINE# 22
+ C:00CEH LINE# 23
+ C:00D0H LINE# 24
+ C:00D0H LINE# 25
+ C:00D0H LINE# 26
+ C:00D4H LINE# 27
+ C:00E9H LINE# 28
+ C:00ECH LINE# 29
+ C:00EFH LINE# 30
+ C:00F2H LINE# 31
+ C:00F6H LINE# 32
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/17/2022 13:56:58 PAGE 4
+
+
+ C:0101H LINE# 33
+ ------- ENDPROC HELLO
+ ------- PROC _DELAY
+ X:0006H SYMBOL a
+ ------- DO
+ D:0002H SYMBOL i
+ ------- ENDDO
+ C:008FH LINE# 35
+ C:0097H LINE# 36
+ C:0097H LINE# 38
+ C:00A8H LINE# 39
+ C:00B4H LINE# 40
+ C:00CAH LINE# 42
+ ------- ENDPROC _DELAY
+ ------- PROC LEDFULL
+ C:0168H LINE# 43
+ C:0168H LINE# 44
+ C:0168H LINE# 45
+ C:016BH LINE# 46
+ C:016EH LINE# 47
+ ------- ENDPROC LEDFULL
+ ------- ENDMOD INC
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?SHORTDELAY?MAIN
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?LONGDELAY?MAIN
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?LEDFULL?INC
+
+Program Size: data=9.0 xdata=8 code=367
+LINK/LOCATE RUN COMPLETE. 3 WARNING(S), 0 ERROR(S)
diff --git a/MCU/MCU_1_1/MCU_1.uvopt b/MCU/MCU_1_1/MCU_1.uvopt
new file mode 100644
index 0000000..3231031
--- /dev/null
+++ b/MCU/MCU_1_1/MCU_1.uvopt
@@ -0,0 +1,229 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc; *.md
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ MCU_1
+ 0x0
+ MCS-51
+
+ 24000000
+
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 0
+ 65535
+ 0
+ 0
+ 0
+
+
+ 120
+ 65
+ 8
+ .\Listings\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 255
+
+
+ 0
+ Data Sheet
+ DATASHTS\ATMEL\AT89C51_DS.PDF
+
+
+ 1
+ Instruction Set Manual
+ DATASHTS\ATMEL\AT_C51ISM.PDF
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+ BIN\MON51.DLL
+
+
+
+ 0
+ DLGTP51
+ (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)
+
+
+ 0
+ MON51
+ -S2 -B115200 -O15
+
+
+
+
+ 0
+
+
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ SRC
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ .\main.c
+ main.c
+ 0
+ 0
+
+
+
+
+ INC
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 1
+ 0
+ 0
+ .\inc.c
+ inc.c
+ 0
+ 0
+
+
+
+
diff --git a/MCU/MCU_1_1/MCU_1.uvproj b/MCU/MCU_1_1/MCU_1.uvproj
new file mode 100644
index 0000000..c022c3a
--- /dev/null
+++ b/MCU/MCU_1_1/MCU_1.uvproj
@@ -0,0 +1,400 @@
+
+
+
+ 1.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ MCU_1
+ 0x0
+ MCS-51
+ 0
+
+
+ AT89C51
+ Microchip
+ IRAM(0-0x7F) IROM(0-0xFFF) CLOCK(24000000)
+
+ "LIB\STARTUP.A51" ("Standard 8051 Startup Code")
+
+ 2976
+ REGX51.H
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ Atmel\
+ Atmel\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ MCU_1
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listings\
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+ 65535
+
+
+ S8051.DLL
+
+ DP51.DLL
+ -p51
+ S8051.DLL
+
+ TP51.DLL
+ -p51
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BIN\MON51.DLL
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ -1
+
+ 0
+
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 2
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0x0
+ 0xffff
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x1000
+
+
+ 0
+ 0x0
+ 0x80
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 1
+ 3
+ 8
+ 2
+ 1
+ 1
+ 0
+ 0
+
+
+
+
+ ..\MCU
+
+
+
+ 0
+ 1
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 2
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SRC
+
+
+ main.c
+ 1
+ .\main.c
+
+
+
+
+ INC
+
+
+ inc.c
+ 1
+ .\inc.c
+
+
+
+
+
+
+
+
diff --git a/MCU/MCU_1_1/inc.c b/MCU/MCU_1_1/inc.c
new file mode 100644
index 0000000..126c6ea
--- /dev/null
+++ b/MCU/MCU_1_1/inc.c
@@ -0,0 +1,47 @@
+#include
+#include "inc.h"
+#include
+static void shortdelay()
+
+{
+ int i;
+ for(i = 50; i > 0; i--);
+}
+
+
+static void longdelay()
+
+{
+ int i;
+ for(i = 300; i > 0; i--);
+}
+const unsigned char hello_var[] = {0x91, 0x61, 0xe3, 0xe3, 0x03};
+
+static void hello()
+{
+ int i=0;
+ unsigned char var2 = 0x10;
+ for(;i<=5;i++)
+ {
+ P0 = ~var2;
+ P2 = hello_var[4-i];
+ shortdelay();
+ P0 = 0XFF;
+ longdelay();
+ var2=var2>>1;
+ }
+}
+
+void delay(int a)
+{
+ unsigned char i;
+ for(; a > 0; a--)
+ for(i = 18; i > 0; i--)
+ hello()
+ ;
+}
+void ledfull()
+{
+ P2 = 0xff;
+ P0 = 0X00;
+}
\ No newline at end of file
diff --git a/MCU/MCU_1_1/inc.h b/MCU/MCU_1_1/inc.h
new file mode 100644
index 0000000..cafb66f
--- /dev/null
+++ b/MCU/MCU_1_1/inc.h
@@ -0,0 +1,5 @@
+#include
+void delay(int a);
+
+void ledfull();
+
diff --git a/MCU/MCU_1_1/main.c b/MCU/MCU_1_1/main.c
new file mode 100644
index 0000000..faab61c
--- /dev/null
+++ b/MCU/MCU_1_1/main.c
@@ -0,0 +1,39 @@
+#include
+#include
+#include "inc.h"
+
+static void shortdelay()
+
+{
+ int i;
+ for(i = 10; i > 0; i--);
+}
+
+
+static void longdelay()
+
+{
+ int i;
+ for(i = 100; i > 0; i--);
+}
+int main()
+{
+//P1 跑马灯
+//P0 选位 低电平亮
+//P2 码 低电平亮
+
+ unsigned char var1 = 0xfe;
+ while(1)
+ { P0=0x00;
+ var1 = _crol_(var1, 1);
+ P1 = var1;
+
+// P2= var1;
+// longdelay();
+// P2=0XFF;
+ delay(2000);
+// P2 = 0x00;
+
+ }
+
+}
diff --git a/MCU/MCU_2 _External_Interrupt/Listings/MCU_1.m51 b/MCU/MCU_2 _External_Interrupt/Listings/MCU_1.m51
new file mode 100644
index 0000000..a4e8401
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/Listings/MCU_1.m51
@@ -0,0 +1,331 @@
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 1
+
+
+BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY:
+C:\KEIL_V5\C51\BIN\BL51.EXE .\Objects\main.obj, .\Objects\delay.obj, .\Objects\led_num.obj TO .\Objects\MCU_1 PRINT (.\L
+>> istings\MCU_1.m51)
+
+
+MEMORY MODEL: LARGE
+
+
+INPUT MODULES INCLUDED:
+ .\Objects\main.obj (MAIN)
+ .\Objects\delay.obj (DELAY)
+ .\Objects\led_num.obj (LED_NUM)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C_STARTUP)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?SLDIV)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C_INIT)
+ C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULDIV)
+
+
+LINK MAP OF MODULE: .\Objects\MCU_1 (MAIN)
+
+
+ TYPE BASE LENGTH RELOCATION SEGMENT NAME
+ -----------------------------------------------------
+
+ * * * * * * * D A T A M E M O R Y * * * * * * *
+ REG 0000H 0008H ABSOLUTE "REG BANK 0"
+ IDATA 0008H 0001H UNIT ?STACK
+
+ * * * * * * * X D A T A M E M O R Y * * * * * * *
+ XDATA 0000H 000CH UNIT ?XD?LED_NUM
+ XDATA 000CH 0003H UNIT ?XD?HELLO_FULL_DISPLAY?LED_NUM
+ XDATA 000FH 0002H UNIT ?XD?MAIN
+ XDATA 0011H 0002H UNIT _XDATA_GROUP_
+
+ * * * * * * * C O D E M E M O R Y * * * * * * *
+ CODE 0000H 0003H ABSOLUTE
+ CODE 0003H 0003H ABSOLUTE
+ CODE 0006H 00CEH UNIT ?C?LIB_CODE
+ CODE 00D4H 00C9H UNIT ?PR?HELLO_DISPLAY?LED_NUM
+ CODE 019DH 009DH UNIT ?PR?HELLO_FULL_DISPLAY?LED_NUM
+ CODE 023AH 008CH UNIT ?C_C51STARTUP
+ CODE 02C6H 0056H UNIT ?PR?NUM_DISPLAY?LED_NUM
+ CODE 031CH 0051H UNIT ?PR?_GET_VAR?LED_NUM
+ CODE 036DH 0049H UNIT ?PR?INT0?MAIN
+ CODE 03B6H 0044H UNIT ?C?LDIV
+ CODE 03FAH 0024H UNIT ?C_INITSEG
+ CODE 041EH 001CH UNIT ?PR?MAIN?MAIN
+ CODE 043AH 0014H UNIT ?PR?MOVE?MAIN
+ CODE 044EH 0012H UNIT ?PR?NUM_PUSH?LED_NUM
+ CODE 0460H 000FH UNIT ?PR?HELLO_PUSH?LED_NUM
+ CODE 046FH 000EH UNIT ?PR?_DELAY?DELAY
+ CODE 047DH 0007H UNIT ?PR?LEDFULL?LED_NUM
+
+
+
+OVERLAY MAP OF MODULE: .\Objects\MCU_1 (MAIN)
+
+
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 2
+
+
+SEGMENT XDATA_GROUP
+ +--> CALLED SEGMENT START LENGTH
+------------------------------------------------------
+?PR?INT0?MAIN ----- -----
+ +--> ?PR?_DELAY?DELAY
+
+*** NEW ROOT ***************************************************
+
+?C_C51STARTUP ----- -----
+ +--> ?PR?MAIN?MAIN
+ +--> ?C_INITSEG
+
+?PR?MAIN?MAIN ----- -----
+ +--> ?PR?MOVE?MAIN
+ +--> ?PR?HELLO_PUSH?LED_NUM
+ +--> ?PR?HELLO_DISPLAY?LED_NUM
+
+?PR?HELLO_DISPLAY?LED_NUM ----- -----
+ +--> ?PR?_GET_VAR?LED_NUM
+ +--> ?PR?_DELAY?DELAY
+
+?PR?_GET_VAR?LED_NUM 0011H 0002H
+
+
+
+SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN)
+
+ VALUE TYPE NAME
+ ----------------------------------
+
+ ------- MODULE MAIN
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0090H PUBLIC P1
+ D:00B0H PUBLIC P3
+ B:00A8H.7 PUBLIC EA
+ D:00A8H PUBLIC IE
+ D:00B8H PUBLIC IP
+ C:041EH PUBLIC main
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ X:000FH PUBLIC move_flag
+ C:043AH PUBLIC move
+ B:0088H.1 PUBLIC IE0
+ B:00A8H.0 PUBLIC EX0
+ B:0088H.0 PUBLIC IT0
+ D:00C8H PUBLIC T2CON
+ D:00D0H PUBLIC PSW
+ X:0010H PUBLIC var1
+ C:036DH PUBLIC int0
+ ------- PROC MOVE
+ C:043AH LINE# 8
+ C:043AH LINE# 9
+ C:043AH LINE# 10
+ C:044BH LINE# 11
+ C:044DH LINE# 12
+ ------- ENDPROC MOVE
+ ------- PROC INT0
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 3
+
+
+ C:036DH LINE# 15
+ C:038AH LINE# 17
+ C:038CH LINE# 18
+ C:0393H LINE# 19
+ C:0395H LINE# 20
+ C:039BH LINE# 21
+ ------- ENDPROC INT0
+ ------- PROC MAIN
+ C:041EH LINE# 24
+ C:041EH LINE# 25
+ C:041EH LINE# 30
+ C:0420H LINE# 31
+ C:0422H LINE# 32
+ C:0424H LINE# 34
+ C:0424H LINE# 35
+ C:0424H LINE# 36
+ C:042AH LINE# 37
+ C:042AH LINE# 38
+ C:042DH LINE# 39
+ C:0430H LINE# 41
+ C:0435H LINE# 42
+ C:0435H LINE# 44
+ C:0438H LINE# 53
+ ------- ENDPROC MAIN
+ ------- ENDMOD MAIN
+
+ ------- MODULE DELAY
+ C:0000H SYMBOL _ICE_DUMMY_
+ C:046FH PUBLIC _delay
+ ------- PROC _DELAY
+ D:0006H SYMBOL i
+ C:046FH LINE# 3
+ C:046FH LINE# 5
+ C:046FH LINE# 6
+ C:047CH LINE# 7
+ ------- ENDPROC _DELAY
+ ------- ENDMOD DELAY
+
+ ------- MODULE LED_NUM
+ C:0000H SYMBOL _ICE_DUMMY_
+ D:0080H PUBLIC P0
+ D:0090H PUBLIC P1
+ D:00A0H PUBLIC P2
+ D:00B0H PUBLIC P3
+ C:019DH PUBLIC hello_full_display
+ D:00A8H PUBLIC IE
+ D:00B8H PUBLIC IP
+ X:0000H SYMBOL count
+ C:02C6H PUBLIC num_display
+ D:0098H PUBLIC SCON
+ D:0088H PUBLIC TCON
+ C:0460H PUBLIC hello_push
+ X:0002H PUBLIC hello_var
+ X:0008H SYMBOL e
+ D:00C8H PUBLIC T2CON
+ X:0009H SYMBOL i
+ C:047DH PUBLIC ledfull
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 4
+
+
+ C:031CH SYMBOL _get_var
+ C:00D4H PUBLIC hello_display
+ C:044EH PUBLIC num_push
+ D:00D0H PUBLIC PSW
+ X:000BH SYMBOL var2
+ ------- PROC _GET_VAR
+ X:0011H SYMBOL k
+ C:031CH LINE# 9
+ C:0324H LINE# 10
+ C:0324H LINE# 11
+ C:036CH LINE# 12
+ ------- ENDPROC _GET_VAR
+ ------- PROC HELLO_DISPLAY
+ C:00D4H LINE# 19
+ C:00D4H LINE# 20
+ C:00D4H LINE# 21
+ C:00E6H LINE# 22
+ C:00E6H LINE# 23
+ C:00E9H LINE# 24
+ C:00F2H LINE# 25
+ C:00F9H LINE# 26
+ C:00FCH LINE# 28
+ C:00FFH LINE# 29
+ C:0108H LINE# 30
+ C:010FH LINE# 31
+ C:0112H LINE# 33
+ C:0115H LINE# 34
+ C:011EH LINE# 35
+ C:0125H LINE# 36
+ C:0128H LINE# 38
+ C:012BH LINE# 39
+ C:0134H LINE# 40
+ C:013BH LINE# 41
+ C:013EH LINE# 43
+ C:0141H LINE# 44
+ C:014AH LINE# 45
+ C:0151H LINE# 46
+ C:0154H LINE# 48
+ C:0157H LINE# 49
+ C:015FH LINE# 50
+ C:0166H LINE# 51
+ C:0169H LINE# 56
+ C:0169H LINE# 57
+ C:0178H LINE# 58
+ C:0178H LINE# 59
+ C:017BH LINE# 61
+ C:017BH LINE# 62
+ C:0189H LINE# 63
+ C:0198H LINE# 64
+ C:019CH LINE# 66
+ ------- ENDPROC HELLO_DISPLAY
+ ------- PROC HELLO_PUSH
+ C:0460H LINE# 68
+ C:0460H LINE# 69
+ C:0460H LINE# 71
+ C:046EH LINE# 77
+ ------- ENDPROC HELLO_PUSH
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 5
+
+
+ ------- PROC NUM_DISPLAY
+ C:02C6H LINE# 79
+ C:02C6H LINE# 80
+ C:02C6H LINE# 81
+ C:02D5H LINE# 82
+ C:02D5H LINE# 84
+ C:02D8H LINE# 85
+ C:02DEH LINE# 86
+ C:02E5H LINE# 87
+ C:02E8H LINE# 92
+ C:02E8H LINE# 93
+ C:02F7H LINE# 94
+ C:02F7H LINE# 95
+ C:02FAH LINE# 96
+ C:02FAH LINE# 97
+ C:0308H LINE# 98
+ C:0317H LINE# 99
+ C:031BH LINE# 101
+ ------- ENDPROC NUM_DISPLAY
+ ------- PROC NUM_PUSH
+ C:044EH LINE# 104
+ C:044EH LINE# 105
+ C:044EH LINE# 106
+ C:045FH LINE# 107
+ ------- ENDPROC NUM_PUSH
+ ------- PROC LEDFULL
+ C:047DH LINE# 109
+ C:047DH LINE# 110
+ C:047DH LINE# 111
+ C:0480H LINE# 112
+ C:0483H LINE# 113
+ ------- ENDPROC LEDFULL
+ ------- PROC HELLO_FULL_DISPLAY
+ ------- DO
+ X:000CH SYMBOL var3
+ X:000DH SYMBOL j
+ ------- ENDDO
+ C:019DH LINE# 116
+ C:019DH LINE# 117
+ C:019DH LINE# 118
+ C:01ACH LINE# 119
+ C:01ACH LINE# 120
+ C:01B2H LINE# 122
+ C:01B7H LINE# 123
+ C:01B7H LINE# 124
+ C:01C8H LINE# 125
+ C:01CAH LINE# 126
+ C:01DDH LINE# 127
+ C:01E4H LINE# 128
+ C:01E7H LINE# 129
+ C:0206H LINE# 134
+ C:0206H LINE# 135
+ C:0215H LINE# 136
+ C:0215H LINE# 137
+ C:0218H LINE# 139
+ C:0218H LINE# 140
+ C:0226H LINE# 141
+BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 6
+
+
+ C:0235H LINE# 142
+ C:0239H LINE# 144
+ ------- ENDPROC HELLO_FULL_DISPLAY
+ ------- ENDMOD LED_NUM
+
+ ------- MODULE ?C?SLDIV
+ C:03B6H PUBLIC ?C?SLDIV
+ ------- ENDMOD ?C?SLDIV
+
+ ------- MODULE ?C?ULDIV
+ C:0042H PUBLIC ?C?ULDIV
+ ------- ENDMOD ?C?ULDIV
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?NUM_DISPLAY?LED_NUM
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?NUM_PUSH?LED_NUM
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?LEDFULL?LED_NUM
+
+*** WARNING L16: UNCALLED SEGMENT, IGNORED FOR OVERLAY PROCESS
+ SEGMENT: ?PR?HELLO_FULL_DISPLAY?LED_NUM
+
+Program Size: data=9.0 xdata=19 code=1156
+LINK/LOCATE RUN COMPLETE. 4 WARNING(S), 0 ERROR(S)
diff --git a/MCU/MCU_2 _External_Interrupt/MCU_1.uvopt b/MCU/MCU_2 _External_Interrupt/MCU_1.uvopt
new file mode 100644
index 0000000..4ff87f2
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/MCU_1.uvopt
@@ -0,0 +1,248 @@
+
+
+
+ 1.0
+
+ ### uVision Project, (C) Keil Software
+
+
+ *.c
+ *.s*; *.src; *.a*
+ *.obj; *.o
+ *.lib
+ *.txt; *.h; *.inc; *.md
+ *.plm
+ *.cpp
+ 0
+
+
+
+ 0
+ 0
+
+
+
+ MCU_1
+ 0x0
+ MCS-51
+
+ 24000000
+
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 0
+ 65535
+ 0
+ 0
+ 0
+
+
+ 120
+ 65
+ 8
+ .\Listings\
+
+
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+
+
+ 1
+ 0
+ 1
+
+ 255
+
+
+ 0
+ Data Sheet
+ DATASHTS\ATMEL\AT89C51_DS.PDF
+
+
+ 1
+ Instruction Set Manual
+ DATASHTS\ATMEL\AT_C51ISM.PDF
+
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+ 1
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+ BIN\MON51.DLL
+
+
+
+ 0
+ DLGTP51
+ (98=-1,-1,-1,-1,0)(82=-1,-1,-1,-1,0)(83=-1,-1,-1,-1,0)(84=-1,-1,-1,-1,0)(85=-1,-1,-1,-1,0)(80=-1,-1,-1,-1,0)(91=-1,-1,-1,-1,0)(92=-1,-1,-1,-1,0)
+
+
+ 0
+ MON51
+ -S2 -B115200 -O15
+
+
+
+
+
+ 0
+ 1
+ i
+
+
+
+ 0
+
+
+ 0
+ 1
+ 1
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+
+ 0
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+ SRC
+ 1
+ 0
+ 0
+ 0
+
+ 1
+ 1
+ 1
+ 0
+ 0
+ 0
+ .\main.c
+ main.c
+ 0
+ 0
+
+
+
+
+ INC
+ 1
+ 0
+ 0
+ 0
+
+ 2
+ 2
+ 1
+ 0
+ 0
+ 0
+ .\delay.c
+ delay.c
+ 0
+ 0
+
+
+ 2
+ 3
+ 1
+ 1
+ 0
+ 0
+ .\led_num.c
+ led_num.c
+ 0
+ 0
+
+
+
+
diff --git a/MCU/MCU_2 _External_Interrupt/MCU_1.uvproj b/MCU/MCU_2 _External_Interrupt/MCU_1.uvproj
new file mode 100644
index 0000000..c51ac4b
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/MCU_1.uvproj
@@ -0,0 +1,405 @@
+
+
+
+ 1.1
+
+ ### uVision Project, (C) Keil Software
+
+
+
+ MCU_1
+ 0x0
+ MCS-51
+ 0
+
+
+ AT89C51
+ Microchip
+ IRAM(0-0x7F) IROM(0-0xFFF) CLOCK(24000000)
+
+ "LIB\STARTUP.A51" ("Standard 8051 Startup Code")
+
+ 2976
+ REGX51.H
+
+
+
+
+
+
+
+
+
+
+ 0
+ 0
+
+
+
+ Atmel\
+ Atmel\
+
+ 0
+ 0
+ 0
+ 0
+ 1
+
+ .\Objects\
+ MCU_1
+ 1
+ 0
+ 1
+ 1
+ 1
+ .\Listings\
+ 0
+ 0
+ 0
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0
+
+
+ 0
+ 0
+ 0
+ 0
+
+ 0
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 3
+
+
+ 1
+ 65535
+
+
+ S8051.DLL
+
+ DP51.DLL
+ -p51
+ S8051.DLL
+
+ TP51.DLL
+ -p51
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 16
+
+
+ 0
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+
+
+ 1
+ 1
+ 1
+ 1
+ 1
+ 1
+ 0
+ 1
+ 1
+ 1
+
+ 0
+ 0
+
+
+
+
+
+
+
+
+
+
+
+
+
+ BIN\MON51.DLL
+
+
+
+
+ 0
+ 0
+ 0
+ 0
+ 0
+ -1
+
+ 0
+
+ "" ()
+
+
+
+
+ 0
+
+
+
+ 2
+ 0
+ 2
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ 0
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+
+
+ 0
+ 0x0
+ 0xffff
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 1
+ 0x0
+ 0x1000
+
+
+ 0
+ 0x0
+ 0x80
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+ 0
+ 0x0
+ 0x0
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 1
+ 3
+ 8
+ 2
+ 1
+ 1
+ 0
+ 0
+
+
+
+
+ ..\MCU
+
+
+
+ 0
+ 1
+ 0
+ 0
+
+
+
+
+
+
+
+
+ 0
+ 0
+ 1
+ 0
+ 2
+ 1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ SRC
+
+
+ main.c
+ 1
+ .\main.c
+
+
+
+
+ INC
+
+
+ delay.c
+ 1
+ .\delay.c
+
+
+ led_num.c
+ 1
+ .\led_num.c
+
+
+
+
+
+
+
+
diff --git a/MCU/MCU_2 _External_Interrupt/delay.c b/MCU/MCU_2 _External_Interrupt/delay.c
new file mode 100644
index 0000000..9681197
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/delay.c
@@ -0,0 +1,7 @@
+#include "delay.h"
+
+void delay(int i)
+
+{
+ for(i = 14; i > 0; i--);
+}
\ No newline at end of file
diff --git a/MCU/MCU_2 _External_Interrupt/delay.h b/MCU/MCU_2 _External_Interrupt/delay.h
new file mode 100644
index 0000000..ae46cf9
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/delay.h
@@ -0,0 +1,7 @@
+#ifndef _DELAY_H_
+#define _DELAY_H_
+
+
+void delay(int i);
+
+#endif
\ No newline at end of file
diff --git a/MCU/MCU_2 _External_Interrupt/led_num.c b/MCU/MCU_2 _External_Interrupt/led_num.c
new file mode 100644
index 0000000..ce0e333
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/led_num.c
@@ -0,0 +1,144 @@
+#include
+#include "led_num.h"
+#include
+#include "delay.h"
+
+#define DUTY 10
+static unsigned int i = 0;
+const unsigned char hello_var[] = {0x89, 0x86, 0xc7, 0xc7, 0xc0,0xff};
+static unsigned char get_var(int k)
+{
+ return hello_var[(65535-i+k)%6];
+}
+
+
+static unsigned char var2 = 0xfd;
+static unsigned int count = 0;
+static unsigned char e = 0xfe;
+
+void hello_display()
+{
+ if(count < DUTY)
+ {
+ P0 = 0xfe;
+ P2 = get_var(5);
+ delay(1);
+ P2 = 0XFF;
+
+ P0 = 0xfd;
+ P2 = get_var(4);
+ delay(1);
+ P2 = 0XFF;
+
+ P0 = 0xfb;
+ P2 = get_var(3);
+ delay(1);
+ P2 = 0XFF;
+
+ P0 = 0xf7;
+ P2 = get_var(2);
+ delay(1);
+ P2 = 0XFF;
+
+ P0 = 0xef;
+ P2 = get_var(1);
+ delay(1);
+ P2 = 0XFF;
+
+ P0 = 0xdf;
+ P2 = get_var(0);
+ delay(1);
+ P2 = 0XFF;
+
+// var2 = var2 >> 1;
+// if(var2 == 0)
+// var2 = 0x10;
+ }
+ if(count >= DUTY)
+ {
+ P2 = 0XFF;
+
+ }
+ count++;
+ if(count >= 100)
+ count = 0;
+ return;
+}
+
+void hello_push()
+{
+// var2 = _crol_(var2, 1);
+ i++;
+// if(var2 < 0xdf)
+// {
+// i = 0;
+// var2 = 0xfd;
+// }
+}
+
+void num_display()
+{
+ if(count < DUTY)
+ {
+
+ P0 = 0xfe;
+ P2 = e;
+ delay(1);
+ P2 = 0XFF;
+
+// var2 = var2 >> 1;
+// if(var2 == 0)
+// var2 = 0x10;
+ }
+ if(count >= DUTY)
+ {
+ P2 = 0XFF;
+ }
+ count++;
+ if(count >= 100)
+ count = 0;
+ return;
+}
+
+
+void num_push()
+{
+ e = _crol_(e, 1);
+}
+
+void ledfull()
+{
+ P2 = 0xff;
+ P0 = 0X00;
+}
+
+
+void hello_full_display()
+{
+ if(count < DUTY)
+ {
+ unsigned char var3=0xfd;
+ int j;
+ for(j=0;j<5;j++)
+ {
+ var3 = _crol_(var3,1);
+ P1=var3;
+ P2 = hello_var[i];
+ delay(1);
+ P2 = 0XFF;
+ }
+
+// var2 = var2 >> 1;
+// if(var2 == 0)
+// var2 = 0x10;
+ }
+ if(count >= DUTY)
+ {
+ P2 = 0XFF;
+
+ }
+ count++;
+ if(count >= 100)
+ count = 0;
+ return;
+}
\ No newline at end of file
diff --git a/MCU/MCU_2 _External_Interrupt/led_num.h b/MCU/MCU_2 _External_Interrupt/led_num.h
new file mode 100644
index 0000000..bf50b78
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/led_num.h
@@ -0,0 +1,15 @@
+#ifndef _LED_NUM_H_
+#define _LDE_NUM_H_
+
+void hello_display();
+
+void hello_push();
+
+void num_display();
+
+void num_push();
+
+
+
+#endif
+
diff --git a/MCU/MCU_2 _External_Interrupt/main.c b/MCU/MCU_2 _External_Interrupt/main.c
new file mode 100644
index 0000000..c75ebff
--- /dev/null
+++ b/MCU/MCU_2 _External_Interrupt/main.c
@@ -0,0 +1,55 @@
+#include
+#include
+#include "led_mum.h"
+#include "delay.h"
+
+unsigned char var1 = 0xfe;
+unsigned char move_flag = 0;
+void move()
+{
+ var1 = _crol_(var1, 1);
+ P1 = var1;
+}
+
+
+void int0() interrupt 0
+{
+ IE0 = 0;
+ delay(40);
+ IE0 = 0;
+ move_flag = 1;
+}
+
+
+int main()
+{
+//P1 跑马灯
+//P0 选位 低电平亮
+//P2 码 低电平亮
+
+ EA = 1;
+ IT0 = 1;
+ EX0 = 1;
+
+ while(1)
+ {
+ if(move_flag)
+ {
+ move();
+ hello_push();
+// num_push();
+ move_flag=0;
+ }
+// num_display();
+ hello_display();
+// hello_full_display();
+
+// P2= var1;
+// longdelay();
+// P2=0XFF;
+// delay(2000);
+// P2 = 0x00;
+
+ }
+
+}