新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 利用AT89C2051制作的6位電子鐘

利用AT89C2051制作的6位電子鐘

作者: 時間:2011-12-06 來源:網(wǎng)絡 收藏

;按下時間大于0.5秒轉(zhuǎn)調(diào)小時狀態(tài)

MOV R0,#77H ;按下時間小于0.5秒加1分鐘操作

LCALL ADD1 ;調(diào)用加1子程序

MOV A,R3 ;取調(diào)整單元數(shù)據(jù)

CLR C ;清進位標志

CJNE A,#60H,HHH ;調(diào)整單元數(shù)據(jù)與60比較

HHH: JC SET4 ;調(diào)整單元數(shù)據(jù)小于60轉(zhuǎn)SET4循環(huán)

LCALL CLR0 ;調(diào)整單元數(shù)據(jù)大于或等于60時清0

CLR C ;清進位標志

AJMP SET4 ;跳轉(zhuǎn)到SET4循環(huán)

CLOSEDIS:

SETB ET0 ;省電(LED不顯示)狀態(tài)。開T0中斷

SETB TR0 ;開啟T0定時器(開時鐘)

CLOSE: JB P3.7,CLOSE ;無按鍵按下,等待。

LCALL DISPLAY ;有鍵按下,調(diào)顯示子程序延時削抖

JB P3.7,CLOSE ;是干擾返回CLOSE等待

WAITH: JNB P3.7,WAITH;等待鍵釋放

LJMP START1 ;返回主程序(LED數(shù)據(jù)顯示亮)

SETHH: CLR 00H ;分閃爍標志清除(進入調(diào)小時狀態(tài))

SETHH1: JNB P3.7,SET5 ;等待鍵釋放

SETB 01H ;小時調(diào)整標志置1

SET6: JB P3.7,SET7 ;等待按鍵按下

LCALL DL05S ;有鍵按下延時0.5秒

JNB P3.7,SETOUT ;按下時間大于0.5秒退出時間調(diào)整

MOV R0,#79H ;按下時間小于0.5秒加1小時操作

LCALL ADD1 ;調(diào)加1子程序

MOV A,R3

CLR C

CJNE A,#24H,HOUU ;計時單元數(shù)據(jù)與24比較

HOUU: JC SET6 ;小于24轉(zhuǎn)SET6循環(huán)

LCALL CLR0 ;大于或等于24時清0操作

AJMP SET6 ;跳轉(zhuǎn)到SET6循環(huán)

SETOUT: JNB P3.7,SETOUT1 ;調(diào)時退出程序。等待鍵釋放

LCALL DISPLAY ;延時削抖

JNB P3.7,SETOUT ;是抖動,返回SETOUT再等待

CLR 01H ;清調(diào)小時標志

CLR 00H ;清調(diào)分標志



關鍵詞: AT89C2051 6位電子鐘

評論


相關推薦

技術專區(qū)

關閉