新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 用單片機(jī)實(shí)現(xiàn)電子時(shí)鐘(匯編)

用單片機(jī)實(shí)現(xiàn)電子時(shí)鐘(匯編)

作者: 時(shí)間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
8155 芯片的初始化:8155 對(duì)單片機(jī)來講是一個(gè)外
部接口芯片,它與外部RAM的操作方法一樣。即:
MOV  DPTR , # addr16
MOV  A , # 03H
MOVX @DPTR ,A
 鍵盤設(shè)置子程序
這里主要介紹秒設(shè)置子程序的部分代碼。
KEY:JB KEY- S ,M- SET;秒設(shè)置鍵按下嗎?
;如沒按下則判斷分設(shè)
;置鍵是否壓下
LCALL DELAY
JB KEY- S ,M- SET
INC DATA - S;如秒設(shè)置鍵壓下,則秒單
;元加1
MOV A ,DATA - S
CJNE A , # 60 ,DATA - S;秒單元= 60 ,
;則清0
MOV DATA - S , # 00H
S - DIS:MOV A ,DATA - S
LCALL HEX- BCD;調(diào)用BCD 碼轉(zhuǎn)換
;子程序
MOV 69H,A
MOV 6AH,B
S - REP :LCALL DIS
JNB KEY- S ,S - REP ;待秒設(shè)置鍵釋放
M- SET: ??;分設(shè)置鍵判斷程序略
其中KEY- S ,DATA - S 需在主程序中用偽指令定
義后,才能使用。
 顯示子程序
采用動(dòng)態(tài)掃描的方式和查表程序可實(shí)現(xiàn)實(shí)時(shí)時(shí)間
的顯示。
 控制子程序
作用是判斷時(shí)間是否與設(shè)置的鬧鐘時(shí)間是否相等,
如相等則開啟鬧鐘。
 中斷定時(shí)子程序
電子時(shí)鐘的核心,在這里主要介紹一下秒單元的
定時(shí)過程,其中5FH 存放100ms 單元的數(shù)值。
CLOCK:PUSH ACC;參數(shù)入棧保護(hù)
PUSH PSW
CLR  TR0
MOV  TL0 , # 0B0H;定時(shí)參數(shù)重
;新設(shè)置
MOV  TH0 , # 03CH
SETB  TR0
INC  5FH
MOV  A ,5FH
CJNE  A , # 10 ,FK;100ms 單元
;內(nèi)容= 10 ,則
;秒單元加1
MOV  5FH, # 00H;100ms 單元內(nèi)
;容清0
MOV  A ,DATA - S
ADD  A , # 01H;秒單元加1
MOV  DATA - S ,A
CJNE  A , # 60 ,FK;秒單元內(nèi)容
; = 60 ,則秒單
;元清0
MOV DATA - S , # 00H
3 3 3 3 3 3 3 3 3 3 3
(分、時(shí)單元定時(shí)過程略)
FK:POP PSW;出棧,退出中斷子
;程序
POP  ACC
RETI
結(jié)束語
由于時(shí)鐘電路的重要性,時(shí)鐘電路在很多應(yīng)用系統(tǒng)
中必不可少,用軟件方法可以實(shí)現(xiàn),但誤差很大,主要用
在對(duì)時(shí)間精度要求不高的場合,在對(duì)時(shí)間精度要求很高
的情況下,通常采用時(shí)鐘芯片來實(shí)現(xiàn)。典型的時(shí)鐘芯片
有:DS1302 ,DS12887 ,X1203 等都可以滿足精度要求。


評(píng)論


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

關(guān)閉