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

📄 液晶timeend555555.lst

📁 用89S51做的液晶时钟走的很好 用keil3.0打开
💻 LST
📖 第 1 页 / 共 5 页
字号:
0434 B55C07          455              CJNE A,DAY,AD7
0437 755C00          456              MOV DAY,#0
043A 914C            457              ACALL ADMON
043C 8140            458              AJMP OUT6
043E 055C            459     AD7:     INC DAY
0440 E55C            460     OUT6:    MOV A,DAY
0442 75F00A          461              MOV B,#10
0445 84              462              DIV AB
0446 F553            463              MOV DAY1,A
0448 85F054          464              MOV DAY2,B
044B 22              465              RET
                     466     
044C E55D            467     ADMON:   MOV A,MON
044E B40C07          468              CJNE A ,#12,AD8
0451 755D00          469              MOV MON,#0
0454 9166            470              ACALL ADYEAR
0456 815A            471              AJMP OUT7
0458 055D            472     AD8:     INC MON
045A E55D            473     OUT7:    MOV A,MON
045C 75F00A          474              MOV B,#10
045F 84              475              DIV AB
0460 F551            476              MOV MON1,A
0462 85F052          477              MOV MON2,B
0465 22              478              RET
                     479     
0466 E550            480     ADYEAR:  MOV A,YEAR
0468 B40905          481              CJNE A,#9,AD9
046B 755007          482              MOV YEAR ,#7
046E 8172            483              AJMP OUT8
0470 0550            484     AD9:     INC YEAR
0472 22              485     OUT8:    RET
                     486     
0473 E550            487     RUNNIAN: MOV A,YEAR
0475 B4080C          488              CJNE A,#8,RUN
0478 E55C            489              MOV A,DAY
047A B41D13          490              CJNE A,#29,AD10
047D 755C00          491              MOV DAY,#0
0480 914C            492              ACALL ADMON
0482 8192            493              AJMP OUT9
0484 E55C            494     RUN:     MOV A,DAY
0486 B41C07          495              CJNE A,#28,AD10
0489 755C00          496              MOV DAY,#0
048C 914C            497              ACALL ADMON
048E 8192            498              AJMP OUT9
0490 055C            499     AD10:    INC DAY
0492 22              500     OUT9:    RET
                     501     
                     502     
                     503     
                     504     
                     505     
                     506     
                     507     
                     508     
                     509     
                     510     
0493 1F1C1F1E        511     TABLE1:DB 31,28,31,30,31,30,31,31,30,31,30,31
0497 1F1E1F1F                
049B 1E1F1E1F                
049F 32303037        512     TABLE2:DB 32H,30H,30H,37H,00H," ",32H,01H,32H,38H,02H,"     "
04A3 00203201                
A51 MACRO ASSEMBLER  液綺TIMEEND555555                                                    09/23/2007 15:17:42 PAGE     9

04A7 32380220                
04AB 20202020                
04AF 20203A20        513     TABLE3:DB "  :  :      .  C"
04B3 203A2020                
04B7 20202020                
04BB 2E202043                
04BF 83858688        514     TABLE4:DB 83H,85H,86H,88H,89H,0C0H,0C1H,0C3H,0C4H,0C6H,0C7H
04C3 89C0C1C3                
04C7 C4C6C7                  
04CA 838689C1        515     TABLE5:DB 83H,86H,89H,0C1H,0C4H
04CE C4                      
                     516     
                     517     ;------------------------------------------------------------------------------------------
                             --------------------
                     518     
04CF C0E0            519     INT_X1: PUSH ACC
04D1 C0D0            520             PUSH PSW
04D3 43D018          521             ORL PSW,#18H   ;取3#区寄存器
04D6 C28E            522             CLR TR1        ;T1停止计数
04D8 AA8D            523             MOV R2,TH1     ;取T1计数次数
04DA AB8B            524             MOV R3,TL1
04DC 7C03            525             MOV R4,#03H    ;0320H~0400H为数据窗口0
04DE 7D80            526             MOV R5,#80H    ;窗口0的下限
04E0 120593          527             LCALL SUB0     ;计数值小于320H吗?
04E3 4040            528             JC X0_OUT     ;<320H,作废
04E5 7C04            529             MOV R4,#04H    ;窗口0的上限
04E7 7DB0            530             MOV R5,#0B0H
04E9 AA8D            531             MOV R2,TH1     ;取T1计数次数
04EB AB8B            532             MOV R3,TL1
04ED 120593          533             LCALL SUB0     ;计数值大于400H吗?
04F0 5004            534             JNC X0_01      ;>400,去看是否在1的窗口
04F2 C3              535             CLR C          ;在窗口0中,清C,移位时移入0
04F3 020511          536             LJMP X0_02     ;去移位处理
04F6 7C07            537     X0_01:  MOV R4,#07H ;窗口1的下限
04F8 7DB0            538             MOV R5,#0B0H ;0720H~0800H为窗口1
04FA AA8D            539             MOV R2,TH1 ;取T1计数次数
04FC AB8B            540             MOV R3,TL1
04FE 120593          541             LCALL SUB0 ;计数值小于720H吗?
0501 4022            542             JC X0_OUT ;<0720,作废
0503 7C09            543             MOV R4,#09H ;窗口1的上限
0505 7D40            544             MOV R5,#40H ;#0800
0507 AA8D            545             MOV R2,TH1 ;取T1计数次数
0509 AB8B            546             MOV R3,TL1
050B 120593          547             LCALL SUB0 ;计数值大于#800H吗?
050E 5015            548             JNC X0_OUT ;>800H,作废
0510 D3              549             SETB C ;在窗口1中,将C置1
0511 E540            550     X0_02:   MOV A,U0_x1       ;临时存放单元送A
0513 33              551              RLC A             ;左移,0或1进入D0
0514 F540            552              MOV U0_x1,A       ;新输入的一位数据移入U0_X1单元(40H)
0516 D5260C          553              DJNZ Ch_num,X0_OUT ;不到8位转走
0519 752608          554              MOV Ch_num,#08H ;下一个数据还是8位
051C A640            555              MOV @R0,U0_x1 ;数据存入@R0===============================================
051E 08              556              INC R0 ;下一个数据存入下一字节
051F D52503          557              DJNZ Da_num,X0_OUT ;不够6个数中断返回
0522 020534          558              LJMP X0_10 ;已存满6个数,转去处理
                     559     
0525 758D00          560     X0_OUT:  MOV TH1,#00H     ;送T1时间常数
0528 758B00          561               MOV TL1,#00H
052B D28E            562               SETB TR1         ;启动T1
052D D0D0            563               POP PSW
052F D0E0            564               POP ACC
0531 D2AF            565               SETB EA          ;开中断,中断返回
0533 32              566               RETI
                     567     
                     568         ;以下为数据处理程序
                     569     
A51 MACRO ASSEMBLER  液綺TIMEEND555555                                                    09/23/2007 15:17:42 PAGE    10

0534 752710          570     X0_10:     MOV Mo_num,#10H  ;最多移位10H次
0537 E52A            571                MOV A,X1_n1 ;第一个字节送A
0539 B4E20C          572     X0_11:    CJNE A,#0E2H,X0_12 ;E2H为识别码,(A)不等于#E2H转去移位
053C E52C            573                MOV A,X1_n3 ;(A)=#E2H,第三个字节也等于#E2H吗
053E B4E207          574     X0_13:    CJNE A,#0E2H,X0_12 ;不等,转去移位
0541 E52D            575                MOV A,X1_n4 ;等,再看第二个字节和第四个字节相等吗?
0543 B52B02          576               CJNE A,X1_n2,X0_12 ;不等,转去移位
0546 802F            577                SJMP X0_16 ;识别码,数据全部正确
0548 C3              578     X0_12:    CLR C ;以下为六个字节依次移位
0549 E52F            579                MOV A,X1_n6
054B 33              580                RLC A
054C F52F            581                MOV X1_n6,A
054E E52E            582                MOV A,X1_n5
0550 33              583                RLC A
0551 F52E            584                MOV X1_n5,A
0553 E52D            585                MOV A,X1_n4
0555 33              586                RLC A
0556 F52D            587                MOV X1_n4,A
0558 E52C            588                MOV A,X1_n3
055A 33              589                RLC A
055B F52C            590                MOV X1_n3,A
055D E52B            591                MOV A,X1_n2
055F 33              592                RLC A
0560 F52B            593                MOV X1_n2,A
0562 E52A            594                MOV A,X1_n1
0564 33              595                RLC A
0565 F52A            596                MOV X1_n1,A ;移完
0567 D527CF          597               DJNZ Mo_num,X0_11 ;没移够10H次再去判断
056A E52C            598     X0_14:    MOV A,X1_n3 ;已移够10H次,再判断一次
056C B52A1C          599                CJNE A,X1_n1,X0_15 ;(2AH)不等于(2CH)或不等于#E2H,数据作废
056F B4E219          600                CJNE A,#0E2H,X0_15
0572 E52B            601                MOV A,X1_n2 ;(2AH)=(2CH)=#E2H,再看(2BH)=(2DH)吗
0574 B52D14          602                CJNE A,X1_n4,X0_15 ;不等,转走
0577 852A1F          603     X0_16:    MOV N0_shb,X1_n1 ;识别码送N0_shb
057A 852B1E          604                MOV N0_jzh,X1_n2 ;数据送N0_jzh
057D 12059F          605                LCALL DEL10MS
0580 752608          606     X0_17:    MOV Ch_num,#08H ;准备接收下一个数据,一个字节8位
0583 782A            607                MOV R0,#2AH ;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!下一个数据首地址
0585 752506          608                MOV Da_num,#06H ;6个字节
0588 020525          609                LJMP X0_OUT ;转走
058B 751EFF          610     X0_15:    MOV N0_jzh,#0FFH ;数据单元送#FFH
058E 751F00          611                MOV N0_shb,#00H ;识别存储单元送#00
0591 80ED            612                SJMP X0_17 ;去准备接收下一个数据
                     613     
0593 C2D7            614     SUB0:   CLR CY        ;减法子程序
0595 EB              615             MOV A,R3      ;被减数低位送A
0596 9D              616             SUBB A,R5     ;低位减
0597 5001            617             JNC X0_S1     ;没进位,去处理高位减法
0599 1A              618             DEC R2        ;有进位,被减数高位减1
059A C2D7            619     X0_S1:  CLR CY        ;清C
059C EA              620             MOV A,R2       ;被减数高位
059D 9C              621             SUBB A,R4       ;减被减数高位
059E 22              622             RET          ;返回
059F 7A0A            623     DEL10MS:  MOV R2,#0AH ;延时子程序
05A1 7BFF            624     DEL_01:   MOV R3,#0FFH
05A3 00              625     DEL_02:   NOP
05A4 00              626               NOP
05A5 DBFC            627               DJNZ R3,DEL_02
05A7 DAF8            628               DJNZ R2,DEL_01
05A9 22              629               RET
                     630     
05AA 7AFF            631     DEL500US:  MOV R2,#0FFH ;延时子程序
05AC DAFE            632     DEL_03:    DJNZ R2,DEL_03
05AE 22              633                RET
                     634     
                     635     ;------------------------------------------------------------------------------------------
A51 MACRO ASSEMBLER  液綺TIMEEND555555                                                    09/23/2007 15:17:42 PAGE    11

                             -----------------
                     636     ;==========================================================================================
                             =================
05AF 754200          637     CHANGETIME: MOV JHM,#0
05B2 7543FF          638                 MOV TIMER1,#0FFH
05B5 754150          639                 MOV N0_JZH1,#50H
05B8 120608          640                 LCALL JZH_SEE
05BB BF112B          641                 CJNE R7,#11H,CHANGEOUT
05BE C28C            642                 CLR TR0
05C0 1205EA          643                 LCALL JHUO
05C3 120620          644                 LCALL JZH_STOP0
05C6 1205EA          645     CHANGE0:    LCALL JHUO
05C9 120648          646                 LCALL JZH_44H
05CC 12076F          647                 LCALL JZH_54H
05CF 120876          648                 LCALL JZH_C4H
05D2 120892          649                 LCALL JZH_D4H
05D5 754150          650                 MOV N0_JZH1,#50H
05D8 120608          651                 LCALL JZH_SEE
05DB BF11E8          652                 CJNE R7,#11H,CHANGE0
05DE D28C            653                 SETB TR0
05E0 120620          654                 LCALL JZH_STOP0
05E3 755900          655                 MOV SEC1,#0
05E6 755A00          656                 MOV SEC2,#0
05E9 22              657     CHANGEOUT:    RET
                     658     
                     659     
05EA 12028A          660     JHUO:       LCALL JUDGE
05ED D54306          661                 DJNZ TIMER1,JHUO1
05F0 7543FF          662                 MOV TIMER1,#0FFH
05F3 120172          663                 LCALL DISPTIME
05F6 75A00E          664     JHUO1:      MOV P2,#0EH
05F9 12027F          665                 LCALL ENABLE
05FC 9004CA          666                 MOV DPTR ,#TABLE5
05FF E542            667                 MOV A,JHM
0601 93              668                 MOVC A,@A+DPTR
0602 F5A0            669                 MOV P2,A
0604 12027F          670                 LCALL ENABLE
0607 22              671                 RET
                     672     
0608 E51E            673     JZH_SEE:  MOV A,N0_jzh
060A B54110          674               CJNE A,N0_JZH1,JZH_SEENO
060D 1205AA          675               LCALL DEL500US

⌨️ 快捷键说明

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