📄 1
字号:
01DB C282 CLR BELL
01DD 30A6F8 JNB KEYSW0,GWAIT8
01E0 D282 SETB BELL
;
01E2 30A660 SETG9: JNB KEYSW0,SETG10
01E5 30A705 JNB KEYSW1,GADDHOUR
01E8 30B230 JNB KEY2,GSUBBHOUR
01EB 21E2 AJMP SETG9
01ED AF52 GADDHOUR: MOV R7,52H ;小时加一
01EF 12031B LCALL ADD1
01F2 F552 MOV 52H,A
01F4 B42400 CJNE A,#24H,GADDHOUR11
01F7 4003 GADDHOUR11: JC GADDHOUR1
01F9 755200 MOV 52H,#00H
01FC 753E84 GADDHOUR1: MOV DS1302_ADDR,#84H ;小时值送人1302
01FF 85523D MOV DS1302_DATA,52H
0202 12033F LCALL WRITE
0205 A852 MOV R0,52H
0207 120335 LCALL DIVIDE ;小时值分离送显示缓存
020A 8973 MOV 73H,R1
020C 8944 MOV 44H,R1
020E 8A72 MOV 72H,R2
0210 8A45 MOV 45H,R2
0212 C282 WAITT5: CLR BELL
0214 30A7FB JNB KEYSW1,WAITT5
0217 D282 SETB BELL
0219 21E2 AJMP SETG9
021B E552 GSUBBHOUR: MOV A,52H
021D 6007 JZ GADDHOUR12
021F AF52 MOV R7,52H ;小时减1
0221 120320 LCALL SUBB1
D:\温度时钟器示范程序\25.ASM
页 7
11-20-05
09:53:56
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
0224 F552 MOV 52H,A
0226 753E84 GADDHOUR12: MOV DS1302_ADDR,#84H ;小时值送人1302
0229 85523D MOV DS1302_DATA,52H
022C 12033F LCALL WRITE
022F A852 MOV R0,52H
0231 120335 LCALL DIVIDE ;小时值分离送显示缓存
0234 8973 MOV 73H,R1
0236 8944 MOV 44H,R1
0238 8A72 MOV 72H,R2
023A 8A45 MOV 45H,R2
023C C282 WAITT52: CLR BELL
023E 30B2FB JNB KEY2,WAITT52
0241 D282 SETB BELL
0243 21E2 AJMP SETG9
;
0245 D201 SETG10: SETB 01H ;调分时候闪标志
0247 1204BD GWAIT10: LCALL DELAY1
024A 30A6FA JNB KEYSW0,GWAIT10
SETG11:
024D 30A62F JNB KEYSW0,SETGOUT
0250 30A702 JNB KEYSW1,GADDMINTUE
0253 414D AJMP SETG11
0255 AF51 GADDMINTUE: MOV R7,51H ;分钟加一
0257 12031B LCALL ADD1
025A F551 MOV 51H,A
025C B46000 CJNE A,#60H,GADDMINTUE11
025F 4003 GADDMINTUE11: JC GADDMINTUE1
0261 755100 MOV 51H,#00H
0264 753E82 GADDMINTUE1: MOV DS1302_ADDR,#82H ;分钟值送人1302
0267 85513D MOV DS1302_DATA,51H
026A 12033F LCALL WRITE
026D A851 MOV R0,51H
026F 120335 LCALL DIVIDE ;分钟值分离送显示缓存
0272 8976 MOV 76H,R1
0274 8942 MOV 42H,R1
0276 8A75 MOV 75H,R2
0278 8A43 MOV 43H,R2
WAITT6:
027A 30A7FD JNB KEYSW1,WAITT6
027D 414D AJMP SETG11
027F 1204BD SETGOUT: LCALL DELAY1
0282 30A6FA JNB KEYSW0,SETGOUT
0285 753E80 MOV DS1302_ADDR,#80H
0288 753D00 MOV DS1302_DATA,#00H ;1302晶振开始振荡
028B 12033F LCALL WRITE
028E 753E8E MOV DS1302_ADDR,#8EH
0291 753D80 MOV DS1302_DATA,#80H ;禁止写入1302
0294 12033F LCALL WRITE
D:\温度时钟器示范程序\25.ASM
页 8
11-20-05
09:53:56
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
0297 C200 CLR 00H
0299 C201 CLR 01H
029B C2AB CLR ET1 ;关闪中断
029D C28E CLR TR1
029F D28C SETB TR0
02A1 D2A9 SETB ET0
02A3 02009F LJMP MAIN1
;以下中断程序用于1秒定时用
INTT0:
02A6 D53B09 DJNZ CON1S,INTOUT
02A9 C28C CLR TR0
02AB C2A9 CLR ET0
02AD 753B0F MOV CON1S,#CON1S_DATA
02B0 D207 SETB FLG1S
02B2 32 INTOUT: RETI
;
02B3 D282 BAOJ: SETB SPEAK
02B5 E562 MOV A,62H
02B7 B40F03 CJNE A,#0FH,BB3
02BA 7400 MOV A,#00H
02BC C3 CLR C
02BD B52A1A BB3: CJNE A,BDATA,BAO1
02C0 E563 MOV A,63H
02C2 B40F03 CJNE A,#0FH,BB2
02C5 7400 MOV A,#00H
02C7 C3 CLR C
02C8 B52B0F BB2: CJNE A,SDATA,BAO1
02CB E564 MOV A,64H
02CD C3 CLR C
02CE B52C09 CJNE A,GDATA,BAO1
02D1 E566 MOV A,66H
02D3 C3 CLR C
02D4 B52D03 CJNE A,XSDATA,BAO1
02D7 C282 BAOJING: CLR SPEAK
02D9 22 BBAO: RET
;
02DA 40FD BAO1: JC BBAO
02DC 0202D7 LJMP BAOJING
;
;****************闪动调时程序*********************;
;
02DF C0E0 INTT1: PUSH ACC
02E1 C0D0 PUSH PSW
02E3 D53C1A DJNZ INTCON,GFLASHOUT
02E6 753C06 MOV INTCON,#CON_DATA
02E9 B200 GFLASH: CPL 00H
02EB 20001A JB 00H,GFLASH5
02EE 854572 MOV 72H,45H ;全显示
D:\温度时钟器示范程序\25.ASM
页 9
11-20-05
09:53:56
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
02F1 854473 MOV 73H,44H
02F4 854375 MOV 75H,43H
02F7 854276 MOV 76H,42H
02FA 854178 MOV 78H,41H
02FD 854079 MOV 79H,40H
0300 1203BC GFLASHOUT: LCALL TIMEUP
0303 D0D0 POP PSW
0305 D0E0 POP ACC
0307 32 RETI
;
0308 200108 GFLASH5: JB 01H,GFLASH6 ;调小时闪
030B 75720F MOV 72H,#0FH
030E 75730F MOV 73H,#0FH
0311 6100 AJMP GFLASHOUT
0313 75750F GFLASH6: MOV 75H,#0FH ;调分钟闪
0316 75760F MOV 76H,#0FH
0319 6100 AJMP GFLASHOUT
;
;*******************加一程序***************;
;
031B EF ADD1: MOV A,R7
031C 2401 ADD A,#01H
031E D4 DA A
031F 22 RET
0320 EF SUBB1: MOV A,R7
0321 540F ANL A,#0FH
0323 6005 JZ SUU
0325 EF MOV A,R7
0326 9401 SUBB A,#01
0328 FF MOV R7,A
0329 22 RET
032A EF SUU: MOV A,R7
032B 54F0 ANL A,#0F0H
032D C4 SWAP A
032E 9401 SUBB A,#01
0330 C4 SWAP A
0331 4409 ORL A,#09H
0333 FF MOV R7,A
0334 22 RET
;
;*****************分离程序**********************;
;
0335 E8 DIVIDE: MOV A,R0
0336 540F ANL A,#0FH
0338 F9 MOV R1,A
0339 E8 MOV A,R0
033A C4 SWAP A
033B 540F ANL A,#0FH
D:\温度时钟器示范程序\25.ASM
页 10
11-20-05
09:53:56
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
033D FA MOV R2,A
033E 22 RET
;
;****************写1302程序****************;
;
033F C290 WRITE: CLR SCLK
0341 00 NOP
0342 D292 SETB RST
0344 00 NOP
0345 E53E MOV A,DS1302_ADDR
0347 7C08 MOV R4,#8
0349 13 WRITE1: RRC A ;送地址给1302
034A 00 NOP
034B 00 NOP
034C C290 CLR SCLK
034E 00 NOP
034F 00 NOP
0350 00 NOP
0351 9291 MOV IO,C
0353 00 NOP
0354 00 NOP
0355 00 NOP
0356 D290 SETB SCLK
0358 00 NOP
0359 00 NOP
035A DCED DJNZ R4,WRITE1
035C C290 CLR SCLK
035E 00 NOP
035F E53D MOV A,DS1302_DATA
0361 7C08 MOV R4,#8
0363 13 WRITE2: RRC A
0364 00 NOP ;送数据给1302
0365 C290 CLR SCLK
0367 00 NOP
0368 00 NOP
0369 9291 MOV IO,C
036B 00 NOP
036C 00 NOP
036D 00 NOP
036E D290 SETB SCLK
0370 00 NOP
0371 00 NOP
0372 DCEF DJNZ R4,WRITE2
0374 C292 CLR RST
0376 22 RET
;
;******************读1302程序********************;
;
D:\温度时钟器示范程序\25.ASM
页 11
11-20-05
09:53:56
伟福汇编器 V5.00 Copyright (c) 1989, 2001 by CHY
地址 机器码 源程序
0377 C290 READ: CLR SCLK
0379 00 NOP
037A 00 NOP
037B D292 SETB RST
037D 00 NOP
037E E53E MOV A,DS1302_ADDR
0380 7C08 MOV R4,#8
0382 13 READ1: RRC A ;送地址给1302
0383 00 NOP
0384 9291 MOV IO,C
0386 00 NOP
0387 00 NOP
0388 00 NOP
0389 D290 SETB SCLK
038B 00 NOP
038C 00 NOP
038D 00 NOP
038E C290 CLR SCLK
0390 00 NOP
0391 00 NOP
0392 DCEE DJNZ R4,READ1
0394 7C08 MOV R4,#8
0396 C290 READ2: CLR SCLK
0398 00 NOP ;从1302中读出数据
0399 00 NOP
039A 00 NOP
039B A291 MOV C,IO
039D 00 NOP
039E 00 NOP
039F 00 NOP
03A0 00 NOP
03A1 00 NOP
03A2 13 RRC A
03A3 00 NOP
03A4 00 NOP
03A5 00 NOP
03A6 00 NOP
03A7 D290 SETB SCLK
03A9 00 NOP
03AA DCEA DJNZ R4,READ2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -