新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > DS1302時鐘匯編程序數碼管顯示時間

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

        作者: 時間:2016-12-02 來源:網絡 收藏
        數碼管用2個573接到p0口,電路詳見單片機開發板的原理圖:http://www.51hei.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
        ;===============================================

        本文引用地址:http://www.104case.com/article/201612/324645.htm

        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



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 广西| 秭归县| 荃湾区| 台前县| 钦州市| 武义县| 阿尔山市| 新民市| 夹江县| 年辖:市辖区| 英德市| 阿坝| 康保县| 芜湖市| 贵港市| 长宁县| 临潭县| 会宁县| 东乡族自治县| 新绛县| 曲阳县| 翁牛特旗| 喀喇沁旗| 邢台县| 昌都县| 霍山县| 锡林浩特市| 运城市| 黄梅县| 卢湾区| 绥德县| 通化县| 定边县| 营口市| 太康县| 保靖县| 丹凤县| 新巴尔虎右旗| 安康市| 闸北区| 象山县|