新聞中心

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

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

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


評論


技術專區(qū)

關閉