新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > DS1302時(shí)鐘匯編程序數(shù)碼管顯示時(shí)間

DS1302時(shí)鐘匯編程序數(shù)碼管顯示時(shí)間

作者: 時(shí)間:2016-12-02 來(lái)源:網(wǎng)絡(luò) 收藏
數(shù)碼管用2個(gè)573接到p0口,電路詳見(jiàn)單片機(jī)開(kāi)發(fā)板的原理圖: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://m.butianyuan.cn/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 ;時(shí)
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開(kāi)始振蕩
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 ;小時(shí)
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



評(píng)論


技術(shù)專區(qū)

關(guān)閉