<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 8279顯示電子鐘的設計與程序源代碼

8279顯示電子鐘的設計與程序源代碼

作者: 時(shí)間:2010-02-01 來(lái)源:網(wǎng)絡(luò ) 收藏

可以看看時(shí)鐘是怎么樣的。

本文引用地址:http://dyxdggzs.com/article/173455.htm

MCS51單片機匯編

Z8279 EQU 08701H ;8279 狀態(tài)/命令口地址

D8279 EQU 08700H ;8279 數據口地址

LEDMOD EQU 00H;左邊輸入 八位字符

;外部譯碼鍵掃描方式,雙鍵互鎖

LEDFEQ EQU 2FH;掃描速率

LEDCLS EQU 0C1H ;清除 RAM

LEDWR0 EQU 80H;設定的將要寫(xiě)入的RAM地址

ORG 0000H

AJMP START

ORG 001BH ;INT T1 入口地址

AJMP INT_T1

ORG 0040H

START:

MOV SP,#60H

LCALL INIT8279;初始化8279

MOV R3,#0H ;時(shí)

MOV R2,#0H ;

MOV R1,#0H ;

MOV R6,#0H ;標志

MOV TMOD,#10H

MOV TL1,#00H ;50 MS 的時(shí)間常數

MOV TH1,#04CH

MOV R0,#20

SETB TR1

SETB ET1

SETB EA ;允許中斷

WAIT: CJNE R6,#0FFH,WAIT

LCALL DISPLAY

MOV R6,#0

SJMP WAIT

INIT8279:

;8279初始化子

PUSH DPH ;保存現場(chǎng)

PUSH DPL

PUSH ACC

LCALL DELAY ;延時(shí)

MOV DPTR ,#Z8279

MOV A,#LEDMOD ;置8279工作方式

MOVX @DPTR,A

MOV A,#LEDFEQ ;置鍵盤(pán)掃描速率

MOVX @DPTR,A

MOV A,#LEDCLS ;清除 LED 顯示

MOVX @DPTR,A

LCALL DELAY ;延時(shí)

POP ACC ;恢復現場(chǎng)

POP DPL

POP DPH

RET

;顯示字符子程序

;輸入R4,位置 R5,值

DISLED: PUSH DPH ;保存現場(chǎng)

PUSH DPL

PUSH ACC

MOV A,#LEDWR0 ;置顯示起始地址

ADD A,R4 ;加位置偏移量

MOV DPTR,#Z8279

MOVX @DPTR,A ;設定顯示位置

MOV DPTR,#LEDSEG ;置顯示常數表起始位置

MOV A,R5

MOVC A,@A+DPTR;查表

MOV DPTR,#D8279

MOVX @DPTR,A ;顯示數據

POP ACC ;恢復現場(chǎng)

POP DPL

POP DPH

RET

DELAY: ;延時(shí)子程序

PUSH 0 ;保存現場(chǎng)

PUSH 1

MOV 0,#0H

DELAY1: MOV 1,#0H

DJNZ 1,$

DJNZ 0,DELAY1

POP 1 ;恢復現場(chǎng)

POP 0

RET

INT_T1: ;INT_T1中斷服務(wù)子程序

PUSH DPH ;保護現場(chǎng)

PUSH DPL

PUSH ACC

PUSH PSW

CLR TR1

MOV TL1,#00H ;50MS 定時(shí)常數

MOV TH1,#4CH

SETB TR1

DJNZ R0,EXIT ;判斷毫秒=0

MOV R0,#20 ;DELAY 1 SECOND

MOV R6,#0FFH ;置秒標志

CJNE R1,#59H,SECOND ;判斷秒=59

MOV R1,#99H

CJNE R2,#59H,MINUTE ;判斷分=59

MOV R2,#99H

CJNE R3,#23H,HOUR ;判斷時(shí)=23

MOV R3,#99H

HOUR:

MOV A,R3

ADD A,#1 ;時(shí)加1

DA A

MOV R3,A

MINUTE:

MOV A,R2

ADD A,#1 ;分加1

DA A

MOV R2,A

SECOND:

MOV A,R1

ADD A,#1 ;秒加1

DA A

MOV R1,A

EXIT:

POP PSW ;恢復現場(chǎng)

POP ACC

POP DPL

POP DPH

RETI ;中斷返回

DISPLAY:

MOV A,R3

ANL A,#0FH

MOV R5,A

MOV R4,#6

LCALL DISLED ;顯示小時(shí)低位

MOV A,R3

SWAP A

ANL A,#0FH

MOV R5,A

MOV R4,#7

LCALL DISLED ;顯示小時(shí)高位

MOV A,R2

ANL A,#0FH

MOV R5,A

MOV R4,#3

LCALL DISLED ;顯示分鐘低位

MOV A,R2

SWAP A

ANL A,#0FH

MOV R5,A

MOV R4,#4

LCALL DISLED ;顯示分鐘高位

MOV A,R1

ANL A,#0FH

MOV R5,A

MOV R4,#0

LCALL DISLED ;顯示秒低位

MOV A,R1

SWAP A

ANL A,#0FH

MOV R5,A

MOV R4,#1

LCALL DISLED ;顯示秒高位

RET

LEDSEG: DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H ;'0,1,2,3,4,5,6,7'

DB 7FH,6FH,77H,7CH,39H,5EH,79H,71H ;'8,9,A,B,C,D,E,F'

DB 6DH,02H,08H,00H,59H,0FH,76H;'U,-,_, ,I,O,P, '

END



關(guān)鍵詞: 源代碼 程序 設計 電子鐘 顯示

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>