正文

电子时钟表   自己试着做的   还好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,  #70H
MOV   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,WAIT51
SETB ET0
SETB TR0
   AJMP START1
WAIT21:LCALL DISPLAY
AJMP WAIT22
WAIT31:LCALL DISPLAY
AJMP  WAIT33
  WAIT41:LCALL DISPLAY
 AJMP  WAIT44
  WAIT51:LCALL DISPLAY
AJMP  WAIT55
WAIT61:LCALL DISPLAY
  AJMP WAIT66
INTT0: PUSH  ACC
PUSH  PSW
CLR   ET0
CLR   TR0
JB 03H,FSS
  MOV   A,#0B7H       
ADD   A,TL0
  MOV   TL0,A
MOV   A,#3CH
ADDC   A,TH0
  MOV   TH0,A
SETB  TR0
  DJNZ    R4, OUTT0
ADDSS:  MOV R4,#14H
MOV R0,#71H
ACALL ADD1        
 MOV A,R3
 CLR C
CJNE A,#60H,ADDMM
ADDMM:  JC   OUTT0
ACALL CLR0
   MOV R0,#77H
  ACALL ADD1
   MOV A,R3
  CLR C
   CJNE A,#60H,ADDHH
  ADDHH: JC OUTT0
  ACALL CLR0
   MOV R0,#79H
  ACALL ADD1
MOV A,R3
  CLR C
    CJNE A,#24H,HOUR
   HOUR: JC OUTT0
    ACALL CLR0
  OUTT0: MOV   72H,76H
  MOV   73H,77H
  MOV   74H,78H
MOV   75H,79H
POP PSW
POP ACC
     SETB   ET0
  RETI
 FSS:MOV A,#0F7H
ADD A,TL0
  MOV TL0,A
  MOV A,#0D8H
  ADDC A,TH0
  MOV TH0,A
SETB TR0
MOV R0,#71H
  ACALL ADD1
CLR C
    MOV A,R3
  JZ FSS
SETB C
FSS1:  AJMP ADDMM
INTT1:   PUSH    ACC
 PUSH    PSW
MOV  TL1,  #0B0H
MOV  TH1,  #3CH
  DJNZ  R2,INTT1OUT
  MOV   R2,#06H
CPL   02H
  JB    02H,FLASH1
MOV    72H,76H
 MOV   73H,77H
MOV   74H,78H
   MOV    75H,79H
INTT1OUT:      POP     PSW
        POP    ACC
        RETI
FLASH1:  JB     01H,FLASH2
      MOV   72H,7AH
     MOV   73H,7AH
     MOV  74H,78H
     MOV  75H,79H
     AJMP   INTT1OUT
FLASH2: MOV     72H,76H
   MOV    73H,77H
   MOV    74H,7AH
MOV    75H,7AH
  AJMP   INTT1OUT
 ADD1: MOV A,@R0
DEC R0
 SWAP A
 ORL A,@R0
 ADD A,#01H
  DA A
 MOV R3,A
 ANL A,#0FH
MOV @R0,A
   MOV A,R3
   INC R0
SWAP A
 ANL A,#0FH
   MOV @R0,A
  RET
SUB1: MOV A,@R0
DEC R0
SWAP A
ORL A,@R0
  JZ SUB11
DEC A
 SUB111:MOV R3,A
  ANL A,#0FH
  CLR C
SUBB  A,#0AH
  SUB1111:JC SUB1110
MOV @R0,09H
SUB110:MOV A,R3
   INC R0
SWAP A
ANL A,#0FH
  MOV @R0,A
RET
 SUB11: MOV A,#59H
  AJMP SUB111
SUB1110:MOV A,R3
ANL A,#0FH
 MOV @R0,A
AJMP SUB110
SUBB1:MOV A,@R0
DEC R0
 SWAP A
ORL A,@R0
JZ SUBB11
DEC A
SUBB111:MOV R3,A
ANL A,#0FH
  CLR C
SUBB  A,#0AH
SUBB1111:JC SUBB1110
MOV @R0,#09H
 SUBB110: MOV A,R3
INC R0
  SWAP A
ANL A,#0FH
  MOV @R0,A
RET
SUBB11:MOV A,23H
  AJMP SUBB111
SUBB1110:MOV A,R3
  ANL A,#0FH
  MOV @R0,A
  AJMP SUBB110
CLR0: CLR A
MOV @R0,A
DEC R0
MOV @R0,A
RET
SETMM:  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,SET3
LCALL   DL05S
   JNB    P3.7,SETHH
   MOV R0,#77H        
     LCALL ADD1
  MOV A,R3
  CLR C
  CJNE A,#60H,HHH
HHH: JC SET4
  LCALL CLR0
  CLR C
  AJMP  SET4
  CLOSEDIS:  SETB  ET0
SETB  TR0
CLOSE:     JB    P3.7,CLOSE
  LCALL DISPLAY
JB    P3.7,CLOSE
WAITH:          JNB   P3.7,WAITH
  LJMP  START1
SETHH:  CLR   00H
  SETHH1:  JNB P3.7,SET5
SETB         01H
  SET6:  JB  P3.7,SET7
  LCALL   DL05S
  JNB    P3.7,SETOUT
  MOV R0,#79H
  LCALL ADD1
MOV A,R3
  CLR C
CJNE A,#24H,HOUU
  HOUU: JC SET6
   LCALL CLR0
  AJMP  SET6
SETOUT: JNB   P3.7,SETOUT1
   LCALL DISPLAY
  JNB   P3.7,SETOUT
  CLR   01H
CLR   00H
  CLR   02H
CLR   TR1
CLR   ET1
  SETB  TR0
SETB  ET0
LJMP START1
SET1:  LCALL        DISPLAY
  AJMP         SET2
SET3:  LCALL        DISPLAY
AJMP         SET4
SET5:  LCALL        DISPLAY
 AJMP         SETHH1
SET7:  LCALL        DISPLAY
AJMP         SET6
 SETOUT1:  LCALL        DISPLAY
AJMP         SETOUT
 FUNSUB:LCALL DISPLAY
JB P1.1,SET41
 FUNSUB1:JNB P1.1,FUNSUB1
MOV R0,#77H
LCALL SUB1
LJMP SET4
SET41:LJMP SET4
  FUNSUBB:LCALL DISPLAY
JB P1.1,SET61
 FUNSUBB1:JNB P1.1,FUNSUBB1
MOV R0,#79H
LCALL SUBB1
   LJMP  SET6
SET61:LJMP SET6
  DISPLAY: MOV R1,#70H
MOV R5,#0FEH
   PLAY: MOV A,R5
  MOV P2,A
  MOV A,@R1
  MOV DPTR,#TAB
  MOVC A,@A+DPTR
  MOV P0,A
MOV A,R5
JB ACC.1,LOOP5
CLR P0.7
LOOP5:JB ACC.3,LOOP6
   CLR P0.7
LOOP6:LCALL DL1MS
  INC R1
  MOV A,R5
JNB ACC.0,ENDOUT
RR  A
 MOV R5,A
MOV P0,#0FFH
AJMP  PLAY
ENDOUT: MOV P2,#0FFH
MOV P0,#0FFH
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,0FFH
  SDISPLAY:MOV R5,#0DFH
SPLAY: MOV A,R5
MOV P2,A
  MOV A,@R1
  MOV DPTR,#TABS
   MOVC A,@A+DPTR
   MOV P0,A
MOV A,R5
       LCALL DL1MS
  INC R1
   MOV A,R5
     JNB ACC.0,ENDOUTS
   RR A
MOV R5,A
AJMP SPLAY
ENDOUTS:MOV  P2,#0FFH
 MOV P0,#0FFH
 RET
TABS: 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,#40H
MOV  R2,#20H
MOV  R3,#00H
CLR  A
MOV  DPTR,#STAB
 SLOOP: MOVC A,@A+DPTR
MOV @R0,A
MOV A,R3
INC A
 MOV R3,A
INC R0
DJNZ R2,SLOOP
  MOV R1,#5AH
MOV R3,#1BH
  SSLOOP:   MOV R2,#32H
  SSLOOP1:LCALL SDISPLAY
DJNZ R2,SSLOOP11
MOV A,R1
SUBB A,#07H
MOV R1,A
DJNZ R3,SSLOOP
RET
  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 DISPLAY
ACALL DISPLAY
ACALL DISPLAY
RET
  DL1S:   LCALL      DL05S
  LCALL      DL05S
RET
DL05S:   MOV        R3,#20H
DL05S1:  LCALL      DISPLAY
DJNZ       R3,DL05S1
RET
END

阅读(2532) | 评论(0)


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

评论

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