www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 單片機 > 單片機
[導讀] ;**************************************************;帶鍵盤設(shè)置的秒計時器;功能:倒計時的秒計時器,從59倒計到0,然后又從59開始倒計到0;;各個鍵的功能;S1:開始運行;S2:停止運行;S3:高位加1,按

;**************************************************
;帶鍵盤設(shè)置的秒計時器
;功能:倒計時的秒計時器,從59倒計到0,然后又從59開始倒計到0;
;各個鍵的功能
;S1:開始運行
;S2:停止運行
;S3:高位加1,按一次,數(shù)碼管的十位加1,從0-5循環(huán)變化
;S4:低位加1,按一次,數(shù)碼管的個位加1,從0-9循環(huán)變化

;**************************************************
KEYOKBIT 00H
STARTRUNBIT01H
VALUEEQU21H
SETVALEQU22H;設(shè)置值
COUNTEREQU23H;用于顯示的計數(shù)器
COUNTEQU24H;秒計數(shù)器
KEYVALEQU25H
DISPBUFEQU5EH
FIRSTBITP2.7;第一位數(shù)碼管的位控制
SECONDBITP2.6;第二位數(shù)碼管的位控制
P1LEDEQU22H
TMRVAREQU60110;65536-5000*12/11.0592定時器初值5毫秒

ORG0000H
JMPSTART
ORG0*8+3;INT0中斷入口
RETI
ORG1*8+3;TIMER0中斷入口
JMPINT_T0;轉(zhuǎn)去定時器0中斷服務(wù)程序入口
ORG2*8+3;INT1中斷入口
RETI
ORG3*8+3;TIMER1中斷入口
RETI
ORG4*8+3;串行中斷入口
RETI
START:
MOV SP,#5FH
MOV P1,#0FFH;所有LED全部熄滅
MOV VALUE,#0
MOV P1LED,#0FEH
MOV SETVAL,#59
MOV VALUE,SETVAL
MOV DISPBUF,#5
MOV DISPBUF+1,#9
CLRSTARTRUN
CLRKEYOK
CALLINIT_T0
SETBEA
LOOP:
CALLKEY;調(diào)用鍵盤程序
JBKEYOK,KEYPROC;如果有鍵按下,轉(zhuǎn)鍵盤處理
NEXT:
MOV A,VALUE;獲得秒的數(shù)值
MOV B,#10
DIVAB;二進制轉(zhuǎn)化為十進制,十位和個位分送顯示緩沖區(qū)
NEXT1:
MOV DISPBUF,A
MOV DISPBUF+1,B;個位送顯示緩沖區(qū)
JMPLOOP
;以下是鍵值處理
KEYPROC:
MOV A,KEYVAL;取得鍵值
JZKEYRUN;如果鍵值是0
DECA
JZKEYSTOP;如果鍵值是1
DECA
JZKEYLEFT;如果鍵值是2
JMPKEYRIGHT;鍵值是3,轉(zhuǎn)
KEYRUN:
SETBSTARTRUN
JMPLOOP
KEYSTOP:
CLRSTARTRUN
JMPLOOP
KEYLEFT:
CLRSTARTRUN
INCDISPBUF
MOV A,DISPBUF
CJNEA,#6,LEFT0
MOV A,#0
LEFT0:
MOV B,#10
MULAB
MOV SETVAL,A
MOV VALUE,SETVAL
JMPLOOP
KEYRIGHT:
CLRSTARTRUN
INCDISPBUF+1
MOV A,DISPBUF+1
CJNEA,#10,REFT0
MOV DISPBUF+1,#0
REFT0:
MOV A,DISPBUF
MOV B,#10
MULAB
ADDA,DISPBUF+1
MOV SETVAL,A
MOV VALUE,SETVAL
JMPLOOP
;鍵盤程序
KEY:
MOV P3,#0FFH
CLRKEYOK
MOV A,P3
ORLA,#11000011B
CPLA
JZKEY_RET
CALLDELAY
MOV A,P3
ORLA,#11000011B
CPLA
JZKEY_RET
SETBKEYOK
JNBACC.2,KEY_1;S1沒有按下,轉(zhuǎn)
MOV KEYVAL,#0
JMPKEY_RET
KEY_1:
JNBACC.3,KEY_2;S2沒有按下,轉(zhuǎn)
MOV KEYVAL,#1
JMPKEY_RET
KEY_2:
JNBACC.4,KEY_3
MOV KEYVAL,#2
JMPKEY_RET
KEY_3:
MOV KEYVAL,#3
KEY_RET:
MOV A,P3
ORLA,#11000011B
CPLA
JNZKEY_RET
RET

DELAY:
PUSHPSW
SETBRS0
MOV R7,#50
D1: MOV R6,#50
D2:DJNZR6,D2
DJNZR7,D1
POPPSW
RET

INIT_T0:;初始化T0為5毫秒的定時器
MOV TMOD,#01H
MOV TH0,#HIGH(TMRVAR)
MOV TL0,#LOW(TMRVAR)
SETBET0;開T0中斷
SETBTR0;定時器0開始運行
RET;返回

;以下是中斷程序,實現(xiàn)秒計數(shù)和顯示
INT_T0:;定時器T0的中斷響應(yīng)程序
PUSHACC;ACC入棧
PUSHPSW;PSW入棧
MOV TH0,#HIGH(TMRVAR)
MOV TL0,#LOW(TMRVAR)
INCCOUNT;軟件計數(shù)器加1
MOV A,COUNT
CJNEA,#20,INT_N2
MOV COUNT,#0;計到20,軟件計數(shù)器清0
INT_N1:
JNBSTARTRUN,INT_N2;停止運行,轉(zhuǎn)
DECVALUE;計數(shù)器減1
MOV A,VALUE
JNZINT_N2;不等于0,轉(zhuǎn)
MOV VALUE,SETVAL;否則,再置初值
INT_N2:;以下是顯示部份
SETBFIRST
SETBSECOND;關(guān)顯示
MOV A,#DISPBUF;顯示緩沖區(qū)首地址
ADDA,Counter
MOV R0,A
MOV A,@R0;根據(jù)計數(shù)器的值取相應(yīng)的顯示緩沖區(qū)的值
MOV DPTR,#DISPTAB;字形表首地址
MOV CA,@A+DPTR;取字形碼
MOV P0,A;將字形碼送P0位(段口)
MOV A,Counter;取計數(shù)器的值
JZDISPFIRST;如果是0則顯示第一位
CLRSECOND;否則顯示第二位
AJMPDISPNEXT
DISPFIRST:
CLRFIRST;顯示第一位
DISPNEXT:
INCCounter;計數(shù)器加1
MOV A,Counter
DECA;如果計數(shù)器計到2,則讓它回0
DECA
JZRSTCOUNT
AJMPDISPEXIT
RSTCOUNT:
MOV Counter,#0;計數(shù)器的值只能是0或1
DISPEXIT:
POPPSW
POPACC
RETI
DISPTAB:DB28H,7EH,0a4H,64H,72H,61H,21H,7CH,20H,60H
END


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

你是否曾經(jīng)在街上發(fā)現(xiàn)了一塊巨大的紙板,然后想知道我該怎么處理它……好了,這里有一個很酷的想法,可以教育人們可持續(xù)發(fā)展的方法,和你的朋友一起享受快樂時光。

關(guān)鍵字: 3D打印 可持續(xù)發(fā)展 計時器

在電子工程和數(shù)字系統(tǒng)設(shè)計中,F(xiàn)PGA(現(xiàn)場可編程門陣列)因其高度的靈活性和可配置性而備受青睞。FPGA不僅可以用于實現(xiàn)復(fù)雜的邏輯功能,還能輕松處理數(shù)字信號和接口各種外設(shè)。本文將重點介紹FPGA入門基礎(chǔ)中的數(shù)碼管顯示技術(shù),...

關(guān)鍵字: 數(shù)碼管 FPGA 現(xiàn)場可編程門陣列

晶體振蕩器被廣泛應(yīng)用到軍、民用通信電臺,微波通信設(shè)備,程控電話交換機,無線電綜合測試儀,BP機、移動電話發(fā)射臺,高檔頻率計數(shù)器、GPS、衛(wèi)星通信、遙控移動設(shè)備等。它有多種封裝,特點是電氣性能規(guī)范多種多樣。它有好幾種不同的...

關(guān)鍵字: 石英晶體振蕩器 計時器

數(shù)碼管里面相當于有8個段碼管(或叫發(fā)光二極管)。 數(shù)碼管分陽極管(CA),陰極管(CC)。陽極管是接高電平然后通過每個段選為來控制數(shù)碼管亮滅(高電平滅,低電平亮)。陰極管則是接低電平,通過段選來控制亮滅(高電平亮,低電...

關(guān)鍵字: 數(shù)碼管 使用

數(shù)碼管引腳圖

關(guān)鍵字: 數(shù)碼管 編程

共陽極、共陰極數(shù)碼管編碼表(0~9、A~P……全亮)

關(guān)鍵字: 數(shù)碼管 段碼

【單片機自學】3.數(shù)碼管靜態(tài)及動態(tài)顯示

關(guān)鍵字: 數(shù)碼管 數(shù)字

LED數(shù)碼管驅(qū)動芯片選型指南

關(guān)鍵字: 數(shù)碼管 芯片

數(shù)碼管是嵌入式開發(fā)中比較常用的一個模塊,本篇文章根據(jù)查閱的資料以及學習筆記整理成文,盡可能詳盡的講解常用數(shù)碼管原理和使用方法。若有不足和疏忽的地方,請不吝指正。一、工作原理數(shù)碼管是一種半導體發(fā)光器件,其基本單元是發(fā)光二極...

關(guān)鍵字: 數(shù)碼管

led數(shù)碼管(LEDSegmentDisplays)由多個發(fā)光二極管封裝在一起組成“8”字型的器件,引線已在內(nèi)部連接完成,只需引出它們的各個筆劃,公共電極。

關(guān)鍵字: 發(fā)光二極管 數(shù)碼管
關(guān)閉