正文

电子时钟表   自己试着做的   还好2005-10-10 15:02:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/niao0311/5861.html

分享到:

   ORG 0000H  LJMP      START   ORG 0003H   RETI   ORG 000BH  LJMP     INTT0  ORG 0013H    RETI  ORG 001BH  LJMP     INTT1  ORG 0023H  RETI   ORG 0023H   RETI  START: LCALL ST   MOV   R0,  #70HMOV   R7,  #0BH    CLEARDISP:  MOV   @R0, #00H    INC   R0   DJNZ  R7,CLEARDISP  MOV  20H,#00H   MOV   7AH,#0AH     MOV TMOD,#11H     MOV   TL0,   #0B0H     MOV   TH0,   #3CH     MOV   TL1,   #0B0H     MOV   TH1,   #3CH     SETB  EA     SETB  ET0     SETB  TR0    MOV   R4,#14H   START1: LCALL DISPLAY     JNB P1.0,SETMM1     JNB P1.1,FUNSS     JNB P1.2,FUNPT     SJMP  START1   SETMM1: LJMP SETMM    FUNSS:LCALL DS20MS   JB P1.1,START1    WAIT11:JNB P1.1,WAIT11         CPL 03H         MOV  70H,#00H         MOV  71H,#00H         MOV  76H,#00H       MOV 77H,#00H       MOV 78H,#00H       MOV 79H,#00H       AJMP START1    FUNPT:LCALL DS20MS      JB P1.2,START1    WAIT22:JNB P1.2,WAIT21      CLR ET0      CLR TR0    WAIT33:JB P1.2,WAIT31       LCALL DS20MS       JB P1.2,WAIT33    WAIT66:JNB P1.2,WAIT61      MOV R0,#00H      MOV R7,#0AH   CLEARP: MOV @R0,#00H   INC R0   DJNZ R7,CLEARP    WAIT44:JB P1.2,WAIT41   LCALL DS20MS   JB P1.2,WAIT44   WAIT55:JNB P1.2,WAIT51SETB ET0SETB TR0   AJMP START1WAIT21:LCALL DISPLAYAJMP WAIT22WAIT31:LCALL DISPLAYAJMP  WAIT33  WAIT41:LCALL DISPLAY AJMP  WAIT44  WAIT51:LCALL DISPLAYAJMP  WAIT55WAIT61:LCALL DISPLAY  AJMP WAIT66INTT0: PUSH  ACCPUSH  PSWCLR   ET0CLR   TR0JB 03H,FSS  MOV   A,#0B7H        ADD   A,TL0  MOV   TL0,AMOV   A,#3CHADDC   A,TH0  MOV   TH0,ASETB  TR0  DJNZ    R4, OUTT0ADDSS:  MOV R4,#14HMOV R0,#71HACALL ADD1          MOV A,R3 CLR CCJNE A,#60H,ADDMMADDMM:  JC   OUTT0ACALL CLR0   MOV R0,#77H  ACALL ADD1   MOV A,R3  CLR C   CJNE A,#60H,ADDHH  ADDHH: JC OUTT0  ACALL CLR0   MOV R0,#79H  ACALL ADD1MOV A,R3  CLR C    CJNE A,#24H,HOUR   HOUR: JC OUTT0    ACALL CLR0  OUTT0: MOV   72H,76H  MOV   73H,77H  MOV   74H,78HMOV   75H,79HPOP PSWPOP ACC     SETB   ET0  RETI FSS:MOV A,#0F7HADD A,TL0  MOV TL0,A  MOV A,#0D8H  ADDC A,TH0  MOV TH0,ASETB TR0MOV R0,#71H  ACALL ADD1CLR C     MOV A,R3  JZ FSSSETB C FSS1:  AJMP ADDMMINTT1:   PUSH    ACC PUSH    PSWMOV  TL1,  #0B0HMOV  TH1,  #3CH  DJNZ  R2,INTT1OUT  MOV   R2,#06HCPL   02H  JB    02H,FLASH1MOV    72H,76H MOV   73H,77HMOV   74H,78H   MOV    75H,79HINTT1OUT:      POP     PSW        POP    ACC        RETIFLASH1:  JB     01H,FLASH2      MOV   72H,7AH     MOV   73H,7AH     MOV  74H,78H     MOV  75H,79H     AJMP   INTT1OUTFLASH2: MOV     72H,76H   MOV    73H,77H   MOV    74H,7AHMOV    75H,7AH  AJMP   INTT1OUT ADD1: MOV A,@R0DEC R0 SWAP A ORL A,@R0 ADD A,#01H  DA A MOV R3,A ANL A,#0FHMOV @R0,A   MOV A,R3   INC R0SWAP A ANL A,#0FH   MOV @R0,A  RETSUB1: MOV A,@R0DEC R0SWAP AORL A,@R0  JZ SUB11DEC A SUB111:MOV R3,A  ANL A,#0FH  CLR C SUBB  A,#0AH  SUB1111:JC SUB1110MOV @R0,09HSUB110:MOV A,R3   INC R0SWAP AANL A,#0FH  MOV @R0,ARET SUB11: MOV A,#59H  AJMP SUB111SUB1110:MOV A,R3ANL A,#0FH MOV @R0,AAJMP SUB110SUBB1:MOV A,@R0DEC R0 SWAP AORL A,@R0JZ SUBB11DEC ASUBB111:MOV R3,AANL A,#0FH  CLR C SUBB  A,#0AHSUBB1111:JC SUBB1110MOV @R0,#09H SUBB110: MOV A,R3INC R0  SWAP AANL A,#0FH  MOV @R0,ARET SUBB11:MOV A,23H  AJMP SUBB111SUBB1110:MOV A,R3  ANL A,#0FH  MOV @R0,A  AJMP SUBB110CLR0: CLR AMOV @R0,ADEC R0MOV @R0,ARETSETMM:  CLR  ET0   CLR  TR0   LCALL  DL1S   JB  P3.7,CLOSEDIS    MOV  R2,#06H    SETB ET1     SETB TR1  SET2:  JNB P3.7,SET1    SETB  00H    SET4:  JB  P3.7,SET3LCALL   DL05S   JNB    P3.7,SETHH   MOV R0,#77H              LCALL ADD1  MOV A,R3  CLR C  CJNE A,#60H,HHHHHH: JC SET4  LCALL CLR0  CLR C  AJMP  SET4  CLOSEDIS:  SETB  ET0SETB  TR0CLOSE:     JB    P3.7,CLOSE  LCALL DISPLAYJB    P3.7,CLOSEWAITH:          JNB   P3.7,WAITH  LJMP  START1SETHH:  CLR   00H  SETHH1:  JNB P3.7,SET5SETB         01H  SET6:  JB  P3.7,SET7  LCALL   DL05S  JNB    P3.7,SETOUT  MOV R0,#79H  LCALL ADD1MOV A,R3  CLR CCJNE A,#24H,HOUU  HOUU: JC SET6   LCALL CLR0  AJMP  SET6SETOUT: JNB   P3.7,SETOUT1   LCALL DISPLAY  JNB   P3.7,SETOUT  CLR   01HCLR   00H  CLR   02HCLR   TR1CLR   ET1  SETB  TR0SETB  ET0LJMP START1SET1:  LCALL        DISPLAY  AJMP         SET2SET3:  LCALL        DISPLAYAJMP         SET4SET5:  LCALL        DISPLAY AJMP         SETHH1SET7:  LCALL        DISPLAYAJMP         SET6 SETOUT1:  LCALL        DISPLAYAJMP         SETOUT FUNSUB:LCALL DISPLAYJB P1.1,SET41 FUNSUB1:JNB P1.1,FUNSUB1MOV R0,#77HLCALL SUB1LJMP SET4SET41:LJMP SET4  FUNSUBB:LCALL DISPLAYJB P1.1,SET61 FUNSUBB1:JNB P1.1,FUNSUBB1MOV R0,#79HLCALL SUBB1   LJMP  SET6SET61:LJMP SET6  DISPLAY: MOV R1,#70HMOV R5,#0FEH   PLAY: MOV A,R5  MOV P2,A  MOV A,@R1  MOV DPTR,#TAB  MOVC A,@A+DPTR  MOV P0,AMOV A,R5JB ACC.1,LOOP5CLR P0.7LOOP5:JB ACC.3,LOOP6   CLR P0.7LOOP6:LCALL DL1MS  INC R1  MOV A,R5JNB ACC.0,ENDOUTRR  A MOV R5,AMOV P0,#0FFHAJMP  PLAYENDOUT: MOV P2,#0FFHMOV P0,#0FFHRETTAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH  SDISPLAY:MOV R5,#0DFHSPLAY: MOV A,R5MOV P2,A  MOV A,@R1  MOV DPTR,#TABS   MOVC A,@A+DPTR   MOV P0,AMOV A,R5       LCALL DL1MS  INC R1   MOV A,R5     JNB ACC.0,ENDOUTS   RR AMOV R5,AAJMP SPLAYENDOUTS:MOV  P2,#0FFH MOV P0,#0FFH RETTABS: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH,88H,0BFH STAB:DB 0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH,08H,00H,0CH,00H,01H,0C,05H,00H,00H,02H,0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH,0AH,ST:  MOV  R0,#40HMOV  R2,#20HMOV  R3,#00HCLR  AMOV  DPTR,#STAB  SLOOP: MOVC A,@A+DPTRMOV @R0,AMOV A,R3INC A MOV R3,AINC R0DJNZ R2,SLOOP  MOV R1,#5AHMOV R3,#1BH  SSLOOP:   MOV R2,#32H  SSLOOP1:LCALL SDISPLAYDJNZ R2,SSLOOP11MOV A,R1SUBB A,#07HMOV R1,ADJNZ R3,SSLOOPRET  SSLOOP11:MOV A,R1   SUBB A,#06H   MOV R1,A  AJMP  SSLOOP1    DL1MS: MOV R6,#14H    DL1:   MOV R7,#19H  DL2:   DJNZ R7,DL2  DJNZ R6,DL1    RET    DS20MS: ACALL DISPLAYACALL DISPLAYACALL DISPLAYRET  DL1S:   LCALL      DL05S  LCALL      DL05SRETDL05S:   MOV        R3,#20HDL05S1:  LCALL      DISPLAYDJNZ       R3,DL05S1RETEND

阅读(2609) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册