diff --git a/MCU/MCU_2 _External_Interrupt/Listings/MCU_1.m51 b/MCU/MCU_2 _External_Interrupt/Listings/MCU_1.m51 index a4e8401..7fa2df9 100644 --- a/MCU/MCU_2 _External_Interrupt/Listings/MCU_1.m51 +++ b/MCU/MCU_2 _External_Interrupt/Listings/MCU_1.m51 @@ -1,4 +1,4 @@ -BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 1 +BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 20:07:47 PAGE 1 BL51 BANKED LINKER/LOCATER V6.22.2.0, INVOKED BY: @@ -59,7 +59,7 @@ LINK MAP OF MODULE: .\Objects\MCU_1 (MAIN) OVERLAY MAP OF MODULE: .\Objects\MCU_1 (MAIN) - BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 2 + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 20:07:47 PAGE 2 SEGMENT XDATA_GROUP @@ -119,7 +119,7 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) C:044DH LINE# 12 ------- ENDPROC MOVE ------- PROC INT0 - BL51 BANKED LINKER/LOCATER V6.22.2.0 03/24/2022 22:00:22 PAGE 3 + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 20:07:47 PAGE 3 C:036DH LINE# 15 @@ -179,7 +179,7 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) 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 + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 20:07:47 PAGE 4 C:031CH SYMBOL _get_var @@ -239,7 +239,7 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) 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 + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 20:07:47 PAGE 5 ------- PROC NUM_DISPLAY @@ -299,7 +299,7 @@ SYMBOL TABLE OF MODULE: .\Objects\MCU_1 (MAIN) 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 + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 20:07:47 PAGE 6 C:0235H LINE# 142 diff --git a/MCU/MCU_3 _Wave/Listings/MCU_1.m51 b/MCU/MCU_3 _Wave/Listings/MCU_1.m51 new file mode 100644 index 0000000..41972b2 --- /dev/null +++ b/MCU/MCU_3 _Wave/Listings/MCU_1.m51 @@ -0,0 +1,230 @@ +BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 22:01:02 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 TO .\Objects\MCU_1 PRINT (.\Listings\MCU_1.m51) + + +MEMORY MODEL: LARGE + + +INPUT MODULES INCLUDED: + .\Objects\main.obj (MAIN) + .\Objects\delay.obj (DELAY) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C_STARTUP) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?UIDIV) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?ULCMP) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTXDATA) + C:\KEIL_V5\C51\LIB\C51L.LIB (?C?LSTKXDATA) + 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 001EH UNIT ?XD?MAIN + + * * * * * * * C O D E M E M O R Y * * * * * * * + CODE 0000H 0003H ABSOLUTE + 0003H 0008H *** GAP *** + CODE 000BH 0003H ABSOLUTE + CODE 000EH 00C1H UNIT ?PR?MAIN?MAIN + CODE 00CFH 00B1H UNIT ?PR?NUM_DISPLAY?MAIN + CODE 0180H 00A3H UNIT ?C?LIB_CODE + CODE 0223H 008CH UNIT ?C_C51STARTUP + CODE 02AFH 0087H UNIT ?PR?TIME?MAIN + CODE 0336H 0029H UNIT ?PR?SETCONFIG?MAIN + CODE 035FH 0015H UNIT ?C_INITSEG + CODE 0374H 000EH UNIT ?PR?_DELAY?DELAY + + + +OVERLAY MAP OF MODULE: .\Objects\MCU_1 (MAIN) + + +SEGMENT + +--> CALLED SEGMENT +--------------------- +?C_C51STARTUP + +--> ?PR?MAIN?MAIN + +--> ?C_INITSEG + +?PR?MAIN?MAIN + +--> ?PR?SETCONFIG?MAIN + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 22:01:02 PAGE 2 + + + +--> ?PR?NUM_DISPLAY?MAIN + +?PR?NUM_DISPLAY?MAIN + +--> ?PR?_DELAY?DELAY + + + +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 + B:00A8H.7 PUBLIC EA + D:00A8H PUBLIC IE + D:00B8H PUBLIC IP + X:0000H PUBLIC TH + X:0002H PUBLIC TL + C:000EH PUBLIC main + C:0336H PUBLIC setConfig + X:0004H PUBLIC count + C:00CFH PUBLIC num_display + C:02AFH PUBLIC time + D:0098H PUBLIC SCON + D:0089H PUBLIC TMOD + D:0088H PUBLIC TCON + X:0008H PUBLIC bd + B:00A8H.1 PUBLIC ET0 + X:000AH PUBLIC ge + D:008CH PUBLIC TH0 + D:008DH PUBLIC TH1 + D:008AH PUBLIC TL0 + X:000CH PUBLIC num + D:008BH PUBLIC TL1 + B:0088H.4 PUBLIC TR0 + B:0088H.6 PUBLIC TR1 + X:000EH PUBLIC qm + X:0010H PUBLIC ui + X:0012H PUBLIC wj + D:00C8H PUBLIC T2CON + D:00D0H PUBLIC PSW + X:0014H PUBLIC num_var + ------- PROC SETCONFIG + C:0336H LINE# 9 + C:0336H LINE# 10 + C:0336H LINE# 11 + C:033FH LINE# 12 + C:0346H LINE# 15 + C:0349H LINE# 16 + C:034CH LINE# 17 + C:034FH LINE# 18 + C:0352H LINE# 19 + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 22:01:02 PAGE 3 + + + C:0354H LINE# 20 + C:0356H LINE# 21 + C:0358H LINE# 24 + C:035AH LINE# 25 + C:035CH LINE# 28 + C:035EH LINE# 29 + ------- ENDPROC SETCONFIG + ------- PROC NUM_DISPLAY + C:00CFH LINE# 9 + C:00CFH LINE# 10 + C:00CFH LINE# 11 + C:00D2H LINE# 12 + C:00E5H LINE# 13 + C:00ECH LINE# 14 + C:00EFH LINE# 16 + C:00F2H LINE# 17 + C:0105H LINE# 18 + C:010CH LINE# 19 + C:010FH LINE# 21 + C:0112H LINE# 22 + C:0125H LINE# 23 + C:012CH LINE# 24 + C:012FH LINE# 26 + C:0132H LINE# 27 + C:0145H LINE# 28 + C:014CH LINE# 29 + C:014FH LINE# 31 + C:0152H LINE# 32 + C:0165H LINE# 33 + C:016CH LINE# 34 + C:016FH LINE# 36 + C:0172H LINE# 37 + C:0175H LINE# 38 + C:017CH LINE# 39 + C:017FH LINE# 40 + ------- ENDPROC NUM_DISPLAY + ------- PROC TIME + C:02AFH LINE# 43 + C:02CCH LINE# 46 + C:02CFH LINE# 47 + C:02D2H LINE# 48 + C:02ECH LINE# 49 + C:02ECH LINE# 50 + C:02EEH LINE# 51 + C:02F0H LINE# 52 + C:02FCH LINE# 54 + C:02FCH LINE# 59 + C:031BH LINE# 60 + ------- ENDPROC TIME + ------- PROC MAIN + C:000EH LINE# 63 + C:000EH LINE# 64 + C:000EH LINE# 66 + C:0011H LINE# 67 + C:0011H LINE# 68 + C:0011H LINE# 69 + C:0017H LINE# 70 + BL51 BANKED LINKER/LOCATER V6.22.2.0 04/07/2022 22:01:02 PAGE 4 + + + C:0017H LINE# 71 + C:002BH LINE# 73 + C:0045H LINE# 74 + C:0065H LINE# 75 + C:0089H LINE# 76 + C:00A9H LINE# 77 + C:00C0H LINE# 79 + C:00C3H LINE# 80 + C:00C5H LINE# 81 + C:00C7H LINE# 82 + C:00C9H LINE# 83 + C:00C9H LINE# 84 + C:00CCH LINE# 85 + ------- ENDPROC MAIN + ------- ENDMOD MAIN + + ------- MODULE DELAY + C:0000H SYMBOL _ICE_DUMMY_ + C:0374H PUBLIC _delay + ------- PROC _DELAY + D:0006H SYMBOL i + C:0374H LINE# 3 + C:0374H LINE# 5 + C:0374H LINE# 6 + C:0381H LINE# 7 + ------- ENDPROC _DELAY + ------- ENDMOD DELAY + + ------- MODULE ?C?UIDIV + C:0180H PUBLIC ?C?UIDIV + ------- ENDMOD ?C?UIDIV + + ------- MODULE ?C?ULCMP + C:01D5H PUBLIC ?C?ULCMP + ------- ENDMOD ?C?ULCMP + + ------- MODULE ?C?LSTXDATA + C:01E6H PUBLIC ?C?LSTXDATA + ------- ENDMOD ?C?LSTXDATA + + ------- MODULE ?C?LSTKXDATA + C:01F2H PUBLIC ?C?LSTKXDATA + ------- ENDMOD ?C?LSTKXDATA + +Program Size: data=9.0 xdata=30 code=890 +LINK/LOCATE RUN COMPLETE. 0 WARNING(S), 0 ERROR(S) diff --git a/MCU/MCU_3 _Wave/MCU_1.uvopt b/MCU/MCU_3 _Wave/MCU_1.uvopt new file mode 100644 index 0000000..5f2df52 --- /dev/null +++ b/MCU/MCU_3 _Wave/MCU_1.uvopt @@ -0,0 +1,300 @@ + + + + 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 + 80 + 1 +
-16777021
+ 0 + 0 + 0 + 0 + 0 + 1 + MAIN.C + + +
+
+ + + 0 + 1 + count,0x0A + + + 1 + 1 + ge + + + 2 + 1 + ui + + + 3 + 1 + bd + + + 4 + 1 + qm + + + 5 + 1 + wj + + + 6 + 1 + num + + + 7 + 1 + num/10000 + + + + 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 + 1 + 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 + 5 + 0 + 0 + 0 + .\main.h + main.h + 0 + 0 + + + +
diff --git a/MCU/MCU_3 _Wave/MCU_1.uvproj b/MCU/MCU_3 _Wave/MCU_1.uvproj new file mode 100644 index 0000000..b10fe88 --- /dev/null +++ b/MCU/MCU_3 _Wave/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 + + + main.h + 5 + .\main.h + + + + + + + +
diff --git a/MCU/MCU_3 _Wave/delay.c b/MCU/MCU_3 _Wave/delay.c new file mode 100644 index 0000000..9681197 --- /dev/null +++ b/MCU/MCU_3 _Wave/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_3 _Wave/delay.h b/MCU/MCU_3 _Wave/delay.h new file mode 100644 index 0000000..ae46cf9 --- /dev/null +++ b/MCU/MCU_3 _Wave/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_3 _Wave/main.c b/MCU/MCU_3 _Wave/main.c new file mode 100644 index 0000000..beaff31 --- /dev/null +++ b/MCU/MCU_3 _Wave/main.c @@ -0,0 +1,86 @@ +#include +#include +#include "delay.h" +#include "main.h" + + + + +void num_display() +{ + P0 = 0xfe; + P2 = num_var[ge]; + delay(1); + P2 = 0XFF; + + P0 = 0xfd; + P2 = num_var[ui]; + delay(1); + P2 = 0XFF; + + P0 = 0xfb; + P2 = num_var[bd]; + delay(1); + P2 = 0XFF; + + P0 = 0xf7; + P2 = num_var[qm]; + delay(1); + P2 = 0XFF; + + P0 = 0xef; + P2 = num_var[wj]; + delay(1); + P2 = 0XFF; + + P0 = 0xdf; + P2 = 0xff; + delay(1); + P2 = 0XFF; +} + + +void time() interrupt 1 +{ + + TH0 = 0X4C; + TL0 = 0X0D; + if(count == 20) + { + EA = 0; + TR1 = 0; + count = 0; + return; + } + + + +// enable = 1; + count++; +} + + +int main() +{ +//P1 灯 + setConfig(); + while(1) + { + if(EA == 0) + { + num = TH1 * 256 + TL1; + + wj = num / 10000; + qm = (num % 10000) / 1000; + bd = (num % 1000) / 100; + ui = (num % 100) / 10; + ge = num % 10; + + TL1=0X00; + TH1=0X00; + EA = 1; + TR1 = 1; + } + num_display(); + } +} diff --git a/MCU/MCU_3 _Wave/main.h b/MCU/MCU_3 _Wave/main.h new file mode 100644 index 0000000..19249f1 --- /dev/null +++ b/MCU/MCU_3 _Wave/main.h @@ -0,0 +1,31 @@ +#ifndef _MAIN_H_ +#define _MAIN_H_ + +unsigned long int count = 0; +#define RELOAD (65535-46080) +unsigned int TH, TL; +const unsigned char num_var[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; +unsigned int ge,ui,bd,qm,wj,num; +void setConfig() +{ + TH = RELOAD / 256; + TL = RELOAD - (RELOAD / 256) * 256; + + + TMOD = 0x51; //T0 16位定时 T1 16位计数 + TH0 = 0X4C; + TL0 = 0X0D; + TH1 = 0X00; + TL1 = 0X00; + EA = 1; //打开中断总开关 + ET0 = 1; //打开定时器0中断开关 + + + TR0 = 1; //启动定时器0 + TR1 = 1; //启动定时器1 + + + P1 = 0X00; +} + +#endif \ No newline at end of file