📄 时钟备份.sdi
字号:
,,,;连线图: *LCM---8031* *LCM---8031* *LCM------------8031*
,,,; *DB0---P0.0* *DB4---P0.4* *RS-------------P2.4*
,,,; *DB1---P0.1* *DB5---P0.5* *RW-------------P2.5*
,,,; *DB2---P0.2* *DB6---P0.6* *E--NAND GATE---P2.2*
,,,RSADDR EQU 1000H
,,,RWADDR EQU 2000H
,,,CSADDR EQU 0400H
,,,num equ 31h;定义各变量地址
,,,year1 equ 32h
,,,year0 equ 33h
,,,munth1 equ 34h
,,,munth0 equ 35h
,,,day1 equ 36h
,,,day0 equ 37h
,,,WEEK EQU 38H
,,,hour1 equ 39h
,,,hour0 equ 3ah
,,,min1 equ 3bh
,,,min0 equ 3ch
,,,sec1 equ 3dh
,,,sec0 equ 3eh
,,,hh equ 3fh;判别选择键按的次数
,,,
,,,
,,, ORG 0000H
0000,02 00 30,, JMP START
,,, ORG 000BH
000B,02 06 29,, LJMP TIMER01
,,, ORG 0030H
0030,75 81 60,START,START: MOV SP,#60H
0033,78 30,, MOV R0,#30H
0035,7F 10,, mov R7,#16
,,,
0037,76 00,LOOP5,LOOP5: MOV @R0,#00H;各地址指针给0值
0039,08,, INC R0
003A,DF FB,, DJNZ R7,LOOP5
,,,
003C,75 8C B0,MAIN,MAIN: MOV TH0,#0B0H
003F,75 8A 3C,, MOV TL0,#3CH
0042,D2 AF,, SETB EA
0044,D2 A9,, SETB ET0
0046,D2 8C,, SETB TR0
0048,75 42 08,, mov 42h,#8;星期变量
004B,75 43 0B,, mov 43h,#11;秒个位变量
004E,75 44 0B,, mov 44h,#11;秒十位变量
0051,75 45 0B,, mov 45h,#11;分个位变量
0054,75 46 0B,, mov 46h,#11;分十位变量
0057,75 47 0B,, mov 47h,#11;时个位变量
005A,75 48 0B,, mov 48h,#11;时十位变量
005D,75 49 0B,, mov 49h,#11;日个位变量
0060,75 4A 0B,, mov 4ah,#11;日十位变量
0063,75 4B 0B,, mov 4bh,#11;月个位
0066,75 4C 0B,, mov 4ch,#11;月十位
0069,75 4D 0B,, mov 4dh,#11;年个位
006C,75 4E 0B,, mov 4eh,#11;年十位
006F,12 05 C4,, CALL LCDRESET
,,,
0072,74 84,disp,disp: MOV A,#10000100B;显示程序
0074,12 05 F7,, CALL LCDWC
0077,90 07 B8,, MOV DPTR,#TAB
007A,E5 39,, MOV A,hour1
007C,93,, MOVC A,@A+DPTR
007D,12 05 FF,, CALL LCDWD
0080,90 07 B8,, MOV DPTR,#TAB
0083,E5 3A,, MOV A,hour0
0085,93,, MOVC A,@A+DPTR
0086,12 05 FF,, CALL LCDWD
0089,74 3A,, MOV A,#3AH
008B,12 05 FF,, CALL LCDWD
008E,90 07 B8,, MOV DPTR,#TAB
0091,E5 3B,, MOV A,min1
0093,93,, MOVC A,@A+DPTR
0094,12 05 FF,, CALL LCDWD
0097,90 07 B8,, mov dptr,#tab
009A,E5 3C,, MOV A,min0
009C,93,, MOVC A,@A+DPTR
009D,12 05 FF,, CALL LCDWD
00A0,74 3A,, MOV A,#3AH
00A2,12 05 FF,, CALL LCDWD
00A5,90 07 B8,, MOV DPTR,#TAB
00A8,E5 3D,, MOV A,sec1
00AA,93,, MOVC A,@A+DPTR
00AB,12 05 FF,, CALL LCDWD
00AE,90 07 B8,, MOV DPTR,#TAB
00B1,E5 3E,, MOV A,sec0
00B3,93,, MOVC A,@A+DPTR
00B4,12 05 FF,, CALL LCDWD
00B7,74 C0,, MOV A,#11000000B
00B9,12 05 F7,, CALL LCDWC
00BC,74 32,, MOV A,#'2'
00BE,12 05 FF,, CALL LCDWD
00C1,74 30,, MOV A,#'0'
00C3,12 05 FF,, CALL LCDWD
00C6,90 07 B8,, MOV DPTR,#TAB
00C9,E5 32,, MOV A,YEAR1
00CB,93,, MOVC A,@A+DPTR
00CC,12 05 FF,, CALL LCDWD
00CF,90 07 B8,, MOV DPTR,#TAB
00D2,E5 33,, MOV A,YEAR0
00D4,93,, MOVC A,@A+DPTR
00D5,12 05 FF,, CALL LCDWD
00D8,74 2D,, MOV A,#'-'
00DA,12 05 FF,, CALL LCDWD
00DD,90 07 B8,, MOV DPTR,#TAB
00E0,E5 34,, MOV A,MUNTH1
00E2,93,, MOVC A,@A+DPTR
00E3,12 05 FF,, CALL LCDWD
00E6,90 07 B8,, MOV DPTR,#TAB
00E9,E5 35,, MOV A,MUNTH0
00EB,93,, MOVC A,@A+DPTR
00EC,12 05 FF,, CALL LCDWD
00EF,74 2D,, MOV A,#'-'
00F1,12 05 FF,, CALL LCDWD
00F4,90 07 B8,, MOV DPTR,#TAB
00F7,E5 36,, MOV A,day1
00F9,93,, MOVC A,@A+DPTR
00FA,12 05 FF,, CALL LCDWD
00FD,90 07 B8,, MOV DPTR,#TAB
0100,E5 37,, MOV A,day0
0102,93,, MOVC A,@A+DPTR
0103,12 05 FF,, CALL LCDWD
0106,74 20,, mov a,#' '
0108,12 05 FF,, CALL LCDWD
010B,74 20,, mov a,#' '
010D,12 05 FF,, CALL LCDWD
0110,90 07 C4,, MOV DPTR,#WEEK1
0113,E5 38,, MOV A,WEEK
0115,93,, MOVC A,@A+DPTR
0116,12 05 FF,, CALL LCDWD
0119,90 07 CD,, MOV DPTR,#WEEK2
011C,E5 38,, MOV A,WEEK
011E,93,, MOVC A,@A+DPTR
011F,12 05 FF,, CALL LCDWD
0122,90 07 D6,, MOV DPTR,#WEEK3
0125,E5 38,, MOV A,WEEK
0127,93,, MOVC A,@A+DPTR
0128,12 05 FF,, CALL LCDWD
,,,
012B,20 B2 2F,KEY,KEY: JB P3.2,key0;调整程序
012E,12 06 13,, CALL DELAY5MS
0131,12 06 13,, call delay5ms
0134,20 B2 26,, JB P3.2,key0
0137,C2 8C,, clr tr0
0139,05 3F,, INC hh
013B,E5 3F,, MOV A,hh
013D,B4 08 17,, CJNE A,#8,keyover
0140,75 3F 00,, MOV hh,#00H
0143,E5 4D,, mov a,4dh
0145,B4 0B 03,, cjne a,#11,yearr
0148,02 01 57,, ljmp keyover
014B,85 4D 33,yearr,yearr: mov year0,4dh
014E,85 4E 32,, mov year1,4eh
0151,75 4D 0B,, mov 4dh,#11
0154,75 4E 0B,, mov 4eh,#11
0157,20 B2 03,keyover,keyover:JB P3.2,key0
015A,02 01 57,, lJMP keyover
,,,
,,,;秒钟调整程序
015D,E5 3F,key0,key0: mov a,hh;秒钟加1
015F,B4 01 33,, cjne a,#1,key1ljmp
0162,E5 43,, mov a,43h
0164,C5 3E,, xch a,sec0
0166,F5 43,, mov 43h,a
0168,E5 44,, mov a,44h
016A,C5 3D,, xch a,sec1
016C,F5 44,, mov 44h,a
016E,20 B3 3C,, jb p3.3,key00
0171,12 06 13,, call DELAY5MS
0174,20 B3 36,, JB P3.3,key00
0177,C2 8C,, clr tr0
0179,E5 43,, mov a,43h
017B,B4 0B 1A,, cjne a,#11,e3
017E,05 3E,e4,e4: INC sec0
0180,E5 3E,, MOV A,sec0
0182,B4 0A 22,, CJNE A,#10,key0over
0185,75 3E 00,, MOV sec0,#00H
0188,05 3D,, inc sec1
018A,E5 3D,, mov a,sec1
018C,B4 06 18,, cjne a,#6,key0over
018F,75 3D 00,, MOV sec1,#00H
0192,02 01 A7,, ljmp key0over
0195,02 01 EF,key1ljmp,key1ljmp:LJMP KEY1
0198,85 43 3E,e3,e3: mov sec0,43h
019B,75 43 0B,, mov 43h,#11
019E,85 44 3D,, mov sec1,44h
01A1,75 44 0B,, mov 44h,#11
01A4,02 01 7E,, ljmp e4
01A7,20 B3 03,key0over,key0over:JB P3.3,key00
01AA,02 01 A7,, lJMP key0over
,,,
,,,
01AD,20 B4 3F,key00,key00: jb p3.4,key1;秒钟减1
01B0,12 06 13,, call DELAY5MS
01B3,12 06 13,, call DELAY5MS
01B6,20 B4 36,, jb p3.4, key1
01B9,C2 8C,, clr tr0
01BB,E5 43,, mov a,43h
01BD,B4 0B 13,, cjne a,#11,eeeee
01C0,E5 3E,eeee,eeee: mov a,sec0
01C2,B4 00 22,, cjne a,#0,ccc
01C5,75 3E 09,, mov sec0,#9
01C8,E5 3D,, mov a,sec1
01CA,B4 00 15,, cjne a,#0,cccc
01CD,75 3D 05,, mov sec1,#5
01D0,02 01 E9,, ljmp key00over
01D3,85 43 3E,eeeee,eeeee: mov sec0,43h
01D6,85 44 3D,, mov sec1,44h
01D9,75 43 0B,, mov 43h,#11
01DC,75 44 0B,, mov 44h,#11
01DF,02 01 C0,, ljmp eeee
01E2,15 3D,cccc,cccc: dec sec1
01E4,02 01 E9,, ljmp key00over
01E7,15 3E,ccc,ccc: dec sec0
01E9,20 B4 03,key00over,key00over:JB P3.4,key1
01EC,02 01 E9,, lJMP key00over
,,,
,,,
,,,;分钟调整程序
01EF,E5 3F,key1,key1: mov a,hh;分钟加1
01F1,B4 02 47,, cjne a,#2,key2ljmp
01F4,E5 43,, mov a,43h
01F6,B4 0B 33,, cjne a,#11,tt
01F9,E5 45,ttt,ttt: mov a,45h
01FB,C5 3C,, xch a,min0
01FD,F5 45,, mov 45h,a
01FF,E5 46,, mov a,46h
0201,C5 3B,, xch a,min1
0203,F5 46,, mov 46h,a
0205,20 B3 4B,, jb p3.3,key11
0208,12 06 13,, call DELAY5MS
020B,20 B3 45,, JB P3.3,key11
020E,C2 8C,, clr tr0
0210,E5 45,, mov a,45h
0212,B4 0B 29,, cjne a,#11,kkk
0215,05 3C,kk,kk: INC min0
0217,E5 3C,, MOV A,min0
0219,B4 0A 31,, CJNE A,#10,key1over
021C,75 3C 00,, MOV min0,#00H
021F,05 3B,, inc min1
0221,E5 3B,, mov a,min1
0223,B4 06 27,, cjne a,#6,key1over
0226,75 3B 00,, MOV min1,#00H
0229,02 02 4D,, ljmp key1over
022C,85 43 3E,tt,tt: mov sec0,43h
022F,85 44 3D,, mov sec1,44h
0232,75 43 0B,, mov 43h,#11
0235,75 44 0B,, mov 44h,#11
0238,02 01 F9,, ljmp ttt
023B,02 02 92,key2ljmp,key2ljmp:ljmp key2
023E,85 45 3C,kkk,kkk: mov min0,45h
0241,85 46 3B,, mov min1,46h
0244,75 45 0B,, mov 45h,#11
0247,75 46 0B,, mov 46h,#11
024A,02 02 15,, ljmp kk
024D,20 B3 03,key1over,key1over:JB P3.3,key11
0250,02 02 4D,, lJMP key1over
,,,
,,,
0253,20 B4 3C,key11,key11: jb p3.4,key2;分钟减1
0256,12 06 13,, call DELAY5MS
0259,20 B4 36,, jb p3.4, KEY2
025C,C2 8C,, clr tr0
025E,E5 45,, mov a,45h
0260,B4 0B 13,, cjne a,#11,kkkkk
0263,E5 3C,kkkk,kkkk: mov a,min0
0265,B4 00 22,, cjne a,#0,aaa
0268,75 3C 09,, mov min0,#9
026B,E5 3B,, mov a,min1
026D,B4 00 15,, cjne a,#0,aaaa
0270,75 3B 05,, mov min1,#5
0273,02 02 8C,, ljmp key11over
0276,85 45 3C,kkkkk,kkkkk: mov min0,45h
0279,85 46 3B,, mov min1,46h
027C,75 45 0B,, mov 45h,#11
027F,75 46 0B,, mov 46h,#11
0282,02 02 63,, ljmp kkkk
0285,15 3B,aaaa,aaaa: dec min1
0287,02 02 8C,, ljmp key11over
028A,15 3C,aaa,aaa: dec min0
028C,20 B4 03,key11over,key11over:JB P3.4,key2
028F,02 02 8C,, lJMP key11over
,,,
,,,;时调整程序
0292,E5 3F,key2,key2: mov a,hh;时加1
0294,B4 03 57,, cjne a,#3,key3ljmp
0297,E5 45,, mov a,45h
0299,B4 0B 34,, cjne a,#11,ss
029C,E5 47,sss,sss: mov a,47h
029E,C5 3A,, xch a,hour0
02A0,F5 47,, mov 47h,a
02A2,E5 48,, mov a,48h
02A4,C5 39,, xch a,hour1
02A6,F5 48,, mov 48h,a
02A8,20 B3 56,, jb p3.3,key22
02AB,12 06 13,, CALL DELAY5MS
02AE,12 06 13,, call delay5ms
02B1,20 B3 4D,, jb p3.3,key22
02B4,C2 8C,, clr tr0
02B6,E5 47,, mov a,47h
02B8,B4 0B 24,, cjne a,#11,qq
02BB,05 3A,qqq,qqq: INC hour0
02BD,E5 39,, mov a,hour1
02BF,B4 02 2F,, cjne a,#2,hour
02C2,E5 3A,, MOV A,hour0
02C4,B4 04 34,, CJNE A,#4,key2over
02C7,75 3A 00,, mov hour0,#00h
02CA,75 39 00,, mov hour1,#00h
02CD,02 02 FB,, ljmp key2over
02D0,85 45 3C,ss,ss: mov min0,45h
02D3,85 46 3B,, mov min1,46h
02D6,75 45 0B,, mov 45h,#11
02D9,75 46 0B,, mov 46h,#11
02DC,02 02 9C,, ljmp sss
02DF,85 47 3A,qq,qq: mov hour0,47h
02E2,85 48 39,, mov hour1,48h
02E5,75 47 0B,, mov 47h,#11
02E8,75 48 0B,, mov 48h,#11
02EB,02 02 BB,, ljmp qqq
02EE,02 03 43,key3ljmp,key3ljmp:ljmp key3
02F1,E5 3A,hour,hour: mov a,hour0
02F3,B4 0A 05,, cjne a,#10,key2over
02F6,75 3A 00,, MOV hour0,#00H
02F9,05 39,, INC hour1
02FB,20 B3 03,key2over,key2over:JB P3.3,key22
02FE,02 02 FB,, lJMP key2over
,,,
,,,
0301,20 B4 3F,key22,key22: jb p3.4,key3;时钟减1
0304,12 06 13,, call DELAY5MS
0307,20 B4 39,, jb p3.4, KEY3
030A,C2 8C,, clr tr0
030C,E5 47,, mov a,47h
030E,B4 0B 13,, cjne a,#11,h2
0311,E5 3A,h3,h3: mov a,hour0
0313,B4 00 25,, cjne a,#0,h4
0316,E5 39,, mov a,hour1
0318,B4 00 18,, cjne a,#0,h5
031B,75 3A 03,, mov hour0,#3
031E,75 39 02,, mov hour1,#2
0321,02 03 3D,, ljmp key22over
0324,85 47 3A,h2,h2: mov hour0,47h
0327,85 48 39,, mov hour1,48h
032A,75 47 0B,, mov 47h,#11
032D,75 48 0B,, mov 48h,#11
0330,02 03 11,, ljmp h3
0333,75 3A 09,h5,h5: mov hour0,#9
0336,15 39,, dec hour1
0338,02 03 3D,, ljmp key22over
033B,15 3A,h4,h4: dec hour0
033D,20 B4 03,key22over,key22over:JB P3.4,key3
0340,02 03 3D,, lJMP key22over
,,,
,,,;星期调整程序
0343,E5 3F,key3,key3: mov a,hh;星期加1
0345,B4 04 43,, cjne a,#4,key4ljmp
0348,E5 47,, mov a,47h
034A,B4 0B 26,, cjne a,#11,w1
034D,E5 42,w2,w2: mov a,42h
034F,C5 38,, xch a,week
0351,F5 42,, mov 42h,a
0353,20 B3 3E,, jb p3.3,key33
0356,12 06 13,, call DELAY5MS
0359,12 06 13,, call DELAY5MS
035C,20 B3 35,, JB P3.3,key33
035F,C2 8C,, clr tr0
0361,E5 42,, mov a,42h
0363,B4 08 1C,, cjne a,#8,w3
0366,05 38,w4,w4: INC week
0368,E5 38,, MOV A,week
036A,B4 07 21,, CJNE A,#7,key3over
036D,75 38 00,, MOV week,#00H
0370,02 02 4D,, ljmp key1over
0373,85 47 3A,w1,w1: mov hour0,47h
0376,85 48 39,, mov hour1,48h
0379,75 47 0B,, mov 47h,#11
037C,75 48 0B,, mov 48h,#11
037F,02 03 4D,, ljmp w2
0382,85 42 38,w3,w3: mov week,42h
0385,75 42 08,, mov 42h,#8
0388,02 03 66,, ljmp w4
038B,02 03 C0,key4ljmp,key4ljmp:ljmp key4
038E,20 B3 03,key3over,key3over:JB P3.3,key33
0391,02 03 8E,, lJMP key3over
,,,
,,,
0394,20 B4 29,key33,key33: jb p3.4,key4;星期减1
0397,12 06 13,, call DELAY5MS
039A,20 B4 23,, jb p3.4, key4
039D,C2 8C,, clr tr0
039F,E5 42,, mov a,42h
03A1,B4 08 0B,, cjne a,#8,ww1
03A4,E5 38,ww2,ww2: mov a,week
03A6,B4 00 0F,, cjne a,#0,a2
03A9,75 38 06,, mov week,#6
03AC,02 03 BA,, ljmp key33over
03AF,85 42 38,ww1,ww1: mov week,42h
03B2,75 42 08,, mov 42h,#8
03B5,02 03 A4,, ljmp ww2
03B8,15 38,a2,a2: dec week
03BA,20 B4 03,key33over,key33over:JB P3.4,key4
03BD,02 03 BA,, lJMP key33over
,,,
,,,;日调整
03C0,E5 3F,key4,key4: mov a,hh;日加1
03C2,B4 05 39,, cjne a,#5,key5ljmp
03C5,E5 42,, mov a,42h
03C7,B4 08 37,, cjne a,#8,dd
03CA,E5 49,ddd,ddd: mov a,49h
03CC,C5 37,, xch a,day0
03CE,F5 49,, mov 49h,a
03D0,E5 4A,, mov a,4ah
03D2,C5 36,, xch a,day1
03D4,F5 4A,, mov 4ah,a
03D6,20 B3 50,, jb p3.3,key44
03D9,12 06 13,, CALL DELAY5MS
03DC,12 06 13,, call delay5ms
03DF,20 B3 47,, jb p3.3,key44
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -