• 專注電子技術學習與研究
    當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

    DS1302時鐘匯編程序數碼管顯示時間

    作者:劉大允   來源:本站原創   點擊數:  更新時間:2014年03月25日   【字體:

    數碼管用2個573接到p0口,電路詳見單片機開發板的原理圖:http://www.thefapper.com/f/HL-1V6.5.pdf  段選是p0口控制的,位選是P2口控制的.;===============DS1302==================
           CLK EQU   P1.4
           RST EQU   P1.0   ;1302定義引腳
           IO  EQU   P1.2
           ORG  00H
           JMP  MAIN
    ;=======================================
    MAIN:  MOV  P0,#0FFH
           MOV  P1,#0FFH
           MOV  P2,#0FFH
           MOV  P3,#0FFH
           MOV  30H,#01H
           MOV  31H,#02H
           MOV  32H,#03H
           MOV  33H,#04H
           MOV  34H,#00H
           MOV  35H,#06H
           MOV  SP,#70H
           CALL  CS
    ;============================================
    LOOP:  MOV   50H,#40
    LL0:   CALL  DIP
           DJNZ  50H,LL0
           CALL  READ
           JMP   LOOP
    ;===========================================
    DIP:  ; MOV  30H,#00H
           MOV  A,30H
           CALL TABLE
           MOV  P0,A
           SETB P2.7
           CALL DELAY
           CLR   P2.7
    ;=============================================
         ; MOV  31H,#01H
          MOV  A,31H
          CALL TABLE
          MOV  P0,A
          SETB P2.6
          CALL DELAY
          CLR   P2.6
    ;=============================================
          MOV  22H,#40H
          MOV  A,22H
          MOV  P0,A
          SETB  P2.5
          CALL  DELAY
          CLR   P2.5
    ;============================================
        ;  MOV  32H,#00H
          MOV  A,32H
          CALL TABLE
          MOV  P0,A
          SETB P2.4
          CALL DELAY
          CLR  P2.4
    ;============================================
        ;  MOV  33H,#00H
          MOV  A,33H
          CALL TABLE
          MOV  P0,A
          SETB P2.3
          CALL DELAY
          CLR  P2.3
    ;==========================================
          MOV  24H,#40H
          MOV  A,24H
          MOV  P0,A
          SETB  P2.2
          CALL  DELAY
          CLR  P2.2
    ;=================================================
        ;  MOV  34H,#00H
          MOV  A,34H
          CALL TABLE
          MOV  P0,A
          SETB  P2.1
          CALL  DELAY
          CLR   P2.1
    ;================================================
          ;MOV  35H,#08H
          MOV  A,35H
          CALL TABLE
          MOV  P0,A
          SETB P2.0
          CALL  DELAY
          CLR   P2.0
          RET
    ;===============================================
    TABLE:INC   A
           MOVC  A,@A+PC
           RET
       DB  3FH,06H,5BH,4FH,66H,6DH,7DH,07H,07FH,06FH
          ;0   1   2   3   4    5    6  7   8   9
    ;===============================================
    DELAY: MOV 40H,#09H
    D1:    MOV 41H,#08H
    D2:    MOV 42H,#08H
    D3:    NOP
           DJNZ 42H,D3
           DJNZ 41H,D2
           DJNZ 40H,D1
           RET
    ;================================================
    CS:    MOV  R6,#8EH   ;允許寫1302
           MOV  R7,#00H
           LCALL XIE
    ;================================================
           MOV  R6,#80H   ;1302停止振蕩
           MOV      R7,#80H
           LCALL    XIE
    ;===============================================

             MOV      R7,#00H
             MOV      R6,#8CH   ;年
             LCALL    XIE
    ;================================================
             MOV      R7,#00H        ;月
             MOV      R6,#88H
             LCALL    XIE
    ;================================================
             MOV      R7,#00H
             MOV      R6,#86H       ;日
             LCALL    XIE
    ;================================================
             MOV      A,#23H
             MOV      R7,A
             MOV      R6,#84H     ;時
             LCALL    XIE
    ;================================================
             MOV      A,#05H
             MOV      R7,A
             MOV      R6,#82H      ;分
             LCALL    XIE
    ;=================================================
             MOV      R7,#00H        ;周
             MOV      R6,#8AH
             LCALL    XIE
    ;=================================================
             MOV      R7,#00H
             MOV      R6,#80H   ;1302開始振蕩
             LCALL    XIE
    ;=================================================
             MOV      R6,#8EH   ;禁止寫入1302
             MOV      R7,#80H
             LCALL    XIE
    ;==================================================
             RET
    ;========寫1302子程序==============================
    XIE:     CLR       CLK
             NOP
             SETB      RST
             NOP
             MOV       A,R6
             MOV       R5,#08H
    XIE1:    RRC       A
             NOP
             MOV       IO,C
             NOP
             SETB      CLK
             NOP
             CLR       CLK
             DJNZ      R5,XIE1
             MOV       A,R7
             MOV       R5,#08H
    XIE2:    RRC       A
             NOP
             MOV       IO,C
             NOP
             SETB      CLK
             NOP
             CLR       CLK
             DJNZ      R5,XIE2
             CLR       RST
             RET
    ;********讀1302子程序*****************
    DU:      CLR       CLK
             NOP
             NOP
             SETB      RST
             NOP
             NOP
             MOV       A,R6
             MOV       R5,#08H
    DU1:     CLR       CLK
             NOP
             NOP
             RRC       A
             NOP
             NOP
             MOV       IO,C
             NOP
             NOP
             SETB      CLK
             DJNZ      R5,DU1
             MOV       R5,#08H
             CLR       A
             NOP
             CLR       C
             NOP
    DU2:     CLR       CLK
             NOP
             NOP
             MOV       C,IO
             NOP
             NOP
             RRC       A
             NOP
             NOP
             SETB      CLK
             NOP
             NOP
             DJNZ      R5,DU2
             NOP
             MOV       R7,A
             NOP
             CLR       RST
             RET
    ;********1302分離程序*************************
    FEN:     MOV       R3,#00H
             MOV       R4,#00H
             MOV       A,R7
             ANL       A,#0FH
             MOV       R3,A
             MOV       A,R7
             SWAP      A
             ANL       A,#0FH
             MOV       R4,A
             RET
    ;********讀1302*****************
    READ:
             MOV      R7,#00H
             MOV      R6,#85H    ;小時
             LCALL    DU
             LCALL    FEN
             MOV      30H,R4
             MOV      31H,R3
             ;-------------------
             MOV      R7,#00H
             MOV      R6,#83H    ; 分鐘
             LCALL    DU
             LCALL    FEN
             MOV      32H,R4
             MOV      33H,R3
             ;---------------------------
             MOV      R7,#00H
             MOV      R6,#81H     ;秒鐘
             LCALL    DU
             LCALL    FEN
             MOV      34H,R4
             MOV      35H,R3
             NOP
             RET
    ;=====================================================
             END

     

    關閉窗口

    相關文章

    亚洲一区二区制服在线|在绩专区欧美自拍日韩|青春娱乐网97超碰人人射|在线观看国产网址你懂的