<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è) > 嵌入式系統 > 設計應用 > 用單片機設計15s倒計時(shí)器

用單片機設計15s倒計時(shí)器

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

/*
跳線(xiàn)設置:默認跳線(xiàn)位置,注意選擇跳線(xiàn)J5要選23端
程序效果:利用的定時(shí)/計數器設計一個(gè)15到0,
按S4后啟動(dòng),要求精確顯示到百分之一秒。
發(fā)揮部分:
1、定時(shí)結束后有提示音報警,并可重新定時(shí)
2、定時(shí)過(guò)程中按獨立鍵盤(pán)s5可暫停,按S4繼續
運行環(huán)境:51hei學(xué)習板
*/
ORG 0000H
LJMP START //主程序必須避開(kāi)地址000BH
ORG 000BH //定時(shí)器0的中段服務(wù)程序,起始地址為000BH
LJMP IT00
ORG 0030H
START: MOV TH0,#0EBH //裝入初始值,定時(shí)時(shí)間為10ms
MOV TL0,#64H
MOV TMOD,#01H //工作方式1
MOV 33H,#01 //顯示初值為15s
MOV 32H,#05
MOV 31H,#00
MOV 30H,#00
SETB ET0 //打開(kāi)定時(shí)0
SETB EA //開(kāi)總中斷
LOOP1: JB P3.6,LOOP //判斷高低位,即按鍵KEY0是否按 下
LCALL DISPLAY //為低,即按鍵按下,延時(shí)消抖
LCALL DISPLAY
JB P3.6,LOOP //按鍵真的按下,并不是外界的干擾
SETB TR0 //啟動(dòng)定時(shí)器
HERE: LCALL DISPLAY //調用顯示
JB P3.7,LOOP3 //判斷高低,即KEY1按鍵是否按下
CLR TR0 //按下,關(guān)閉定時(shí)器,這里并沒(méi)有消抖
LJMP LOOP1 //等待KEY0的按下
LOOP3: SJMP HERE //KEY1沒(méi)有按下,就需顯示
LOOP: LCALL DISPLAY //KEY1沒(méi)有按下,就需顯示
LJMP LOOP1
//減10ms子程序
SUB1: DEC 30H //百分位減1
MOV A,30H
CJNE A,#0FFH,LOOP2 //判斷百分位減到0之后是否 再減1
MOV 30H,#09 //是,裝入初值9
DEC 31H //十分位減1
MOV A,31H
CJNE A,#0FFH,LOOP2 //判斷百分位減到0之后是否 再減1
MOV 31H,#09
DEC 32H
MOV A,32H
CJNE A,#0FFH,LOOP2
MOV 32H,#09
DEC 33H
MOV A,33H
CJNE A,#0FFH,LOOP2
clr P2.2 //從15s減到0s后,驅動(dòng)
LCALL DELAY //延時(shí)
LCALL DELAY
SETB P2.2 //關(guān)閉
MOV 33H,#01 //裝入初值15s
MOV 32H,#05
MOV 31H,#00
MOV 30H,#00
LOOP2: NOP //空指令
RET //返回
//顯示子程序
DISPLAY: MOV DPTR,#TAB //賦表首地址
MOV A,#0FBH

SETB P2.7
MOV P0,A //亮最左邊的數碼管
CLR P2.7
XCH A,R0 //暫存A的值
MOV A,33H
MOVC A,@A+DPTR //根據表值查找所需的值
SETB P2.6
MOV P0,A //顯示值
CLR P2.6
LCALL DELAY //延時(shí)
XCH A,R0 //恢復原值
RL A //循環(huán)左移,為下次做準備
SETB P2.7
MOV P0,A
CLR P2.7
XCH A,R0
MOV A,32H
MOVC A,@A+DPTR
SETB P2.6
MOV P0,A
CLR P2.6
LCALL DELAY
XCH A,R0
RL A

SETB P2.7
MOV P0,A
clr P2.7

XCH A,R0
MOV A,31H
MOVC A,@A+DPTR
SETB P2.6
MOV P0,A
clr P2.6
LCALL DELAY
XCH A,R0
RL A
SETB P2.7
MOV P0,A
clr P2.7
XCH A,R0
MOV A,30H
MOVC A,@A+DPTR
SETB P2.6
MOV P0,A
clr P2.6
LCALL DELAY
RET
TAB: DB 3FH,06H,5BH,4FH,66H ;數碼管顯示的數值
DB 6DH,7DH,07H,7FH,6FH
IT00: MOV TH0,#0EBH //裝入初值,時(shí)間為10ms
MOV TL0,#64H
LCALL SUB1 //減10ms
RETI //返回
DELAY: MOV R7,#04 //延時(shí)子程序,時(shí)間大約為:2us*4*250
DEL2: MOV R6,#250
DEL1: DJNZ R6,DEL1
DJNZ R7,DEL2
RET
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>