⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 液晶timeend555555.lst

📁 用89S51做的液晶时钟走的很好 用keil3.0打开
💻 LST
📖 第 1 页 / 共 5 页
字号:
025D 12027F          227                      LCALL ENABLE
0260 7420            228                      MOV A,#20H
0262 120158          229                      LCALL DISP2
0265 22              230                      RET
                     231     
                     232     
                     233     
0266 75A080          234     DISP_INIT:       MOV P2,#80H
0269 12027F          235                      LCALL ENABLE
026C 90049F          236                      MOV DPTR,#TABLE2
026F 12014C          237                      LCALL DISP
0272 75A0C0          238                      MOV P2,#0C0H
0275 12027F          239                      LCALL ENABLE
0278 9004AF          240                      MOV DPTR ,#TABLE3
027B 12014C          241                      LCALL DISP
027E 22              242                       RET
                     243     
027F C281            244     ENABLE: CLR RW
0281 C282            245             CLR RS
0283 C280            246             CLR E
0285 518A            247             ACALL JUDGE
0287 D280            248             SETB E
0289 22              249             RET
                     250     
                     251     
028A 75A0FF          252     JUDGE:  MOV P2,#0FFH
028D C282            253             CLR RS
028F D281            254             SETB RW
0291 C280            255             CLR E
0293 00              256             NOP
A51 MACRO ASSEMBLER  液綺TIMEEND555555                                                    09/23/2007 15:17:42 PAGE     5

0294 D280            257             SETB E
0296 20A7F1          258             JB P2.7,JUDGE
0299 22              259             RET
                     260     
                     261     
                     262     ;------------------------------------------------------------------------------------------
                             --
                     263     
029A 755007          264     INIT: MOV YEAR,#7
029D 755D02          265           MOV MON,#2
02A0 755100          266           MOV MON1,#0
02A3 755202          267           MOV MON2,#2
02A6 755C1C          268           MOV DAY,#28
02A9 755302          269           MOV DAY1,#2
02AC 755408          270           MOV DAY2,#8
02AF 755502          271           MOV HOUR1,#2
02B2 755603          272           MOV HOUR2,#3
02B5 755E01          273           MOV HOUR11,#1
02B8 755F01          274           MOV HOUR22,#1
02BB 755705          275           MOV MIN1,#5
02BE 755809          276           MOV MIN2,#9
02C1 755905          277           MOV SEC1,#5
02C4 755A00          278           MOV SEC2,#0
02C7 753000          279           MOV HOUR1_CLC,#0
02CA 753100          280           MOV HOUR2_CLC,#0
02CD 753200          281           MOV MIN1_CLC,#0
02D0 753300          282           MOV MIN2_CLC,#0
02D3 753400          283           MOV MIN1_SR ,#0
02D6 753500          284           MOV MIN2_SR ,#0
02D9 753600          285           MOV SEC1_SR ,#0
02DC 753700          286           MOV SEC2_SR ,#0
02DF 753800          287           MOV MSEC1_SR ,#0
02E2 753900          288           MOV MSEC2_SR ,#0
02E5 754700          289           MOV START_SR, #0
02E8 755B64          290           MOV TIMER0,#100
02EB 7543FF          291           MOV TIMER1,#0FFH
02EE 754601          292           MOV OPEN_CLC,#1
02F1 754500          293           MOV JHM_CLC,#0
                     294     
02F4 754400          295           MOV JZHMA,#00H
02F7 75D000          296           MOV PSW,#00
02FA 758911          297           MOV TMOD,#11H
02FD 758AF0          298           MOV TL0,#0F0H
0300 758CD8          299           MOV TH0,#0D8H
                     300     
0303 75B804          301           MOV IP,#04H      ;中断优先级
0306 C28E            302           CLR TR1          ;关T1
0308 758B00          303           MOV TL1,#00H     ;T1时间常数送初值
030B 758D00          304           MOV TH1,#00H
030E 75182A          305           MOV 18H,#2AH     ;在INT1中断服务程序中使用工#3寄存器,R0=2AH=======================
0311 752506          306           MOV Da_num,#06H  ;输入数据取6个字节
0314 752608          307           MOV Ch_num,#08H   ;每个字节8位
0317 751EFF          308           MOV N0_jzh,#0FFH   ;键值码先送FFH,以免在未送数时错当有数
031A 120369          309           LCALL WriteCGRAM
031D D2AF            310           SETB EA
031F D2A9            311           SETB ET0
0321 D28C            312           SETB TR0
0323 D2AA            313           SETB EX1         ;开中断1,INT1
0325 D28A            314           SETB IT1         ;INT1下降沿触发
0327 22              315           RET
                     316     
                     317     
0328 C0E0            318     CheckBusy:PUSH ACC
032A C282            319     LOOP22:  CLR RS             ;选择指令寄存器
032C D281            320     SETB RW           ;选择读模式
032E 75A0FF          321     MOV P2,#0FFH  ;P0口写1,准备写入
A51 MACRO ASSEMBLER  液綺TIMEEND555555                                                    09/23/2007 15:17:42 PAGE     6

0331 D280            322     SETB E             ;使能LCD
0333 E5A0            323     MOV A,P2     ;将LCD的D0-D7由P0口送A,以便查第7位BF是否为0
0335 C280            324     CLR E             ;禁止LCD
0337 20E7F0          325     JB ACC.7,LOOP22    ;判断由LCD读入第7位BF是否为1,若为1表示LCD忙
033A 717E            326     ACALL  DELAY2MS   ;调延时子程序
033C D0E0            327     POP ACC
033E 22              328     RET
                     329     ; 写入IR寄存器子程序
033F C0E0            330     WriteIR:PUSH ACC
0341 7128            331     ACALL CheckBusy  ;调检查忙子程序
0343 C280            332     CLR E              ;禁止LCD
0345 C282            333     CLR RS             ;选择指令寄存器
0347 C281            334     CLR RW            ;选择写模式
0349 D280            335     SETB E             ;使能LCD
034B F5A0            336     MOV P2,A       ;将控制指令写入LCD
034D D280            337     SETB E             ;使能LCD
034F C280            338     CLR E              ;禁止LCD
0351 D0E0            339     POP ACC
0353 22              340     RET
                     341     ; 写入DR寄存器子程序
0354 C0E0            342     WriteDDR:PUSH ACC
0356 7128            343     ACALL CheckBusy    ;调检查忙子程序
0358 C280            344     CLR E              ;禁止LCD
035A D282            345     SETB RS            ;选择数据寄存器
035C C281            346     CLR RW             ;选择写模式
035E D280            347     SETB E              ;使能LCD
0360 F5A0            348     MOV P2,A        ;将数据写入LCD
0362 D280            349     SETB E              ;使能LCD
0364 C280            350     CLR E               ;禁止LCD
0366 D0E0            351     POP ACC
0368 22              352     RET
                     353     ;以下是自定义字体程序
0369 C0E0            354     WriteCGRAM : PUSH  ACC
036B 7440            355     MOV A,#01000000B        ;设置CGRAM的地址
036D 713F            356     ACALL WriteIR
036F 7818            357     MOV R0,#24
0371 900387          358     MOV DPTR,#CGRAMTAB  ;指向FONTTAB表首
0374 E4              359     LOOP23: CLR A
0375 93              360     MOVC A,@A+DPTR
0376 7154            361     ACALL  WriteDDR      ;将自定义字符存入CGRAM中
0378 A3              362     INC DPTR
0379 D8F9            363     DJNZ R0,LOOP23
037B D0E0            364     POP ACC
037D 22              365     RET
                     366     ;以下是2.5ms延时子程序
037E 7D05            367     DELAY2MS:MOV  R5,#5
0380 7CF8            368     D2:    MOV  R4,#248
0382 DCFE            369     D1:    DJNZ  R4,D1
0384 DDFA            370     DJNZ  R5,D2
0386 22              371     RET
0387                 372     CGRAMTAB:
0387 080F120F        373     DB 08H,0FH,12H,0FH,0AH,1FH,02H,02H   ;年的字模
038B 0A1F0202                
038F 0F090F09        374     DB 0FH,09H,0FH,09H,0FH,09H,13H,00H    ;月的字模
0393 0F091300                
0397 1F11111F        375     DB 1FH,11H,11H,1FH,11H,11H,1FH,00H    ;日的字模
039B 11111F00                
                     376     
                     377     
                     378     
                     379     ;------------------------------------------------------------------------------------------
                             -------------
                     380     
039F C0D0            381     INTT0: PUSH PSW
03A1 C0E0            382            PUSH ACC
03A3 43D008          383            ORL PSW,#08H
A51 MACRO ASSEMBLER  液綺TIMEEND555555                                                    09/23/2007 15:17:42 PAGE     7

03A6 758AF0          384            MOV TL0,#0F0H
03A9 758CD8          385            MOV TH0,#0D8H
                     386     
03AC D55B09          387            DJNZ TIMER0,INTT00
03AF 755B64          388            MOV TIMER0,#100
03B2 1203C5          389            LCALL ADSEC2
03B5 12097E          390            LCALL CLC_RUNNING
03B8 E547            391     INTT00:MOV A,START_SR
03BA B40103          392            CJNE A,#1,INTOUT
03BD 120D8B          393            LCALL SR_ADMSEC2
03C0 D0E0            394     INTOUT:POP ACC
03C2 D0D0            395            POP PSW
03C4 32              396            RETI
                     397     
03C5 E55A            398     ADSEC2: MOV A,SEC2
03C7 B40907          399             CJNE A,#9,AD1
03CA 755A00          400             MOV SEC2,#0
03CD 71D4            401             ACALL ADSEC1
03CF 61D3            402             AJMP OUT1
03D1 055A            403     AD1:    INC SEC2
03D3 22              404     OUT1:   RET
                     405     
                     406     
03D4 E559            407     ADSEC1: MOV A,SEC1
03D6 B40507          408             CJNE A,#5,AD2
03D9 755900          409             MOV SEC1,#0
03DC 71E3            410             ACALL ADMIN2
03DE 61E2            411             AJMP OUT2
03E0 0559            412     AD2:    INC SEC1
03E2 22              413     OUT2:     RET
                     414     
03E3 E558            415     ADMIN2: MOV A,MIN2
03E5 B40907          416             CJNE A,#9,AD3
03E8 755800          417             MOV MIN2,#0
03EB 71F2            418             ACALL ADMIN1
03ED 61F1            419             AJMP OUT3
03EF 0558            420     AD3:    INC MIN2
03F1 22              421     OUT3:   RET
                     422     
03F2 E557            423     ADMIN1: MOV A,MIN1
03F4 B40507          424             CJNE A,#5,AD4
03F7 755700          425             MOV MIN1,#0
03FA 9101            426             ACALL ADHOUR2
03FC 8100            427             AJMP OUT4
03FE 0557            428     AD4:    INC MIN1
0400 22              429     OUT4:   RET
                     430     
0401 E555            431     ADHOUR2:  MOV A,HOUR1
0403 B4020F          432               CJNE A,#2,ADHOUR20
0406 E556            433               MOV A,HOUR2
0408 B40316          434               CJNE A,#3,AD5
040B 755500          435               MOV HOUR1,#0
040E 755600          436               MOV HOUR2,#0
0411 9124            437               ACALL ADDAY
0413 8123            438               AJMP OUT5
0415 E556            439     ADHOUR20: MOV A,HOUR2
0417 B40907          440               CJNE A,#9,AD5
041A 755600          441               MOV HOUR2,#0
041D 0555            442               INC HOUR1
041F 8123            443               AJMP OUT5
0421 0556            444     AD5:      INC HOUR2
0423 22              445     OUT5:     RET
                     446     
0424 E55D            447     ADDAY:   MOV A,MON
0426 B40204          448              CJNE A,#2,AD6
0429 9173            449              ACALL RUNNIAN
A51 MACRO ASSEMBLER  液綺TIMEEND555555                                                    09/23/2007 15:17:42 PAGE     8

042B 8140            450              AJMP OUT6
042D E55D            451     AD6:     MOV A,MON
042F 14              452              DEC A
0430 900493          453              MOV DPTR,#TABLE1
0433 93              454              MOVC A,@A+DPTR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -