日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 電源 > 數(shù)字電源
[導(dǎo)讀]可以看看時(shí)鐘程序是怎么樣設(shè)計(jì)的。 MCS51單片機(jī)匯編程序 Z8279 EQU 08701H ;8279 狀態(tài)/命令口地址 D8279 EQU 08700H ;8279 數(shù)據(jù)口地址 LEDMOD EQU 00H;左邊輸入 八位字符顯示 ;外部譯碼鍵掃描方式,雙鍵互鎖

可以看看時(shí)鐘程序是怎么樣設(shè)計(jì)的。

 

 

 

MCS51單片機(jī)匯編程序

 

 

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

D8279 EQU 08700H ;8279 數(shù)據(jù)口地址
 

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

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

LEDFEQ EQU 2FH;掃描速率
 

LEDCLS EQU 0C1H ;清除顯示 RAM
 

LEDWR0 EQU 80H;設(shè)定的將要寫(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 ;標(biāo)志
 

MOV TMOD,#10H

MOV TL1,#00H ;50 MS 的時(shí)間常數(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 ;保存現(xiàn)場(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 ;恢復(fù)現(xiàn)場(chǎng)
 

POP DPL

POP DPH

RET

;顯示字符子程序
 

;輸入R4,位置 R5,值
 

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

PUSH DPL

PUSH ACC

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

ADD A,R4 ;加位置偏移量
 

MOV DPTR,#Z8279

MOVX @DPTR,A ;設(shè)定顯示位置
 

MOV DPTR,#LEDSEG ;置顯示常數(shù)表起始位置
 

MOV A,R5

MOVC A,@A+DPTR;查表
 

MOV DPTR,#D8279

MOVX @DPTR,A ;顯示數(shù)據(jù)
 

POP ACC ;恢復(fù)現(xiàn)場(chǎng)
 

POP DPL

POP DPH

RET

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

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

PUSH 1

MOV 0,#0H

DELAY1: MOV 1,#0H

DJNZ 1,$

DJNZ 0,DELAY1

POP 1 ;恢復(fù)現(xiàn)場(chǎng)
 

POP 0

RET

 

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

PUSH DPH ;保護(hù)現(xiàn)場(chǎng)
 

PUSH DPL

PUSH ACC

PUSH PSW

CLR TR1

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

MOV TH1,#4CH

SETB TR1

DJNZ R0,EXIT ;判斷毫秒=0
 

MOV R0,#20 ;DELAY 1 SECOND
 

MOV R6,#0FFH ;置秒標(biāo)志
 

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:[!--empirenews.page--]

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 ;恢復(fù)現(xiàn)場(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)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉