新聞中心

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

利用AT89C2051制作的6位電子鐘

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

R0,#79H ;指向小時計時單元(78H-79H)

ACALL ADD1 ;小時計時單元加1小時

MOV A,R3 ;時數(shù)據(jù)放入A

CLR C ;清進位標(biāo)志

CJNE A,#24H,HOUR

HOUR: JC OUTT0 ;小于24小時中斷退出

ACALL CLR0 ;大于或等于24小時小時計時單元清0

OUTT0: MOV 72H,76H ;中斷退出時將分、時計時單元數(shù)據(jù)移

MOV 73H,77H ;入對應(yīng)顯示單元

MOV 74H,78H

MOV 75H,79H

POP PSW ;恢復(fù)狀態(tài)字(出棧)

POP ACC ;恢復(fù)累加器

SETB ET0 ;開放T0中斷

RETI ;中斷返回

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; 閃動調(diào)時 程 序 ;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;T1中斷服務(wù)程序,用作時間調(diào)整時調(diào)整單元閃爍指示

INTT1: PUSH ACC ;中斷現(xiàn)場保護

PUSH PSW

MOV TL1, #0B0H;裝定時器T1定時初值

MOV TH1, #3CH

DJNZ R2,INTT1OUT ;0.3秒未到退出中斷(50MS中斷6次)

MOV R2,#06H ;重裝0.3秒定時用初值

CPL 02H ;0.3秒定時到對閃爍標(biāo)志取反

JB 02H,FLASH1 ;02H位為1時顯示單元"熄滅"

MOV 72H,76H ;02H位為0時正常顯示

MOV 73H,77H

MOV 74H,78H

MOV 75H,79H

INTT1OUT:

POP PSW ;恢復(fù)現(xiàn)場

POP ACC

RETI ;中斷退出

FLASH1: JB 01H,FLASH2 ;01H位為1時,轉(zhuǎn)小時熄滅控制

MOV 72H,7AH ;01H位為0時,"熄滅符"數(shù)據(jù)放入分

MOV 73H,7AH ;顯示單元(72H-73H),將不顯示分?jǐn)?shù)據(jù)

MOV 74H,78H

MOV 75H,79H

AJMP INTT1OUT ;轉(zhuǎn)中斷退出

FLASH2: MOV 72H,76H ;01H位為1時,"熄滅符"數(shù)據(jù)放入小時

MOV 73H,77H ;顯示單元(74H-75H),小時數(shù)據(jù)將不顯示

MOV 74H,7AH

MOV 75H,7AH

AJMP INTT1OUT ;轉(zhuǎn)中斷退出

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;; 加1子 程 序 ;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



關(guān)鍵詞: AT89C2051 6位電子鐘

評論


相關(guān)推薦

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

關(guān)閉