前面我們做了定時(shí)器的實(shí)驗(yàn),現(xiàn)在來看一看計(jì)數(shù)實(shí)驗(yàn),在工作中計(jì)數(shù)通常會(huì)有兩種要求:第一、將計(jì)數(shù)的值顯示出來,第二、計(jì)數(shù)值到一定程度即中斷報(bào)警。第一種如各種計(jì)數(shù)器、里程表,第二種如前面例中講到的生產(chǎn)線上的計(jì)數(shù)。先看第一種吧。我們的硬件中是這樣連線的:324構(gòu)成的振蕩器連到定時(shí)/計(jì)數(shù)器1的外部引腳T1上面,我們就利用這個(gè)來做一個(gè)計(jì)數(shù)實(shí)驗(yàn),要將計(jì)數(shù)的值顯示出來,當(dāng)然最好用數(shù)碼管了,可我們還沒講到這一部份,為了避免把問題復(fù)雜化,我們用P1口的8個(gè)LED來顯示計(jì)到的數(shù)據(jù)。
程序如下:
ORG 0000H
AJMP START
ORG 30H
START:
MOV SP,#5FH
MOV TMOD,#01000000B ;定時(shí)/計(jì)數(shù)器1作計(jì)數(shù)用,0不用全置0
SETB TR1 ;啟動(dòng)計(jì)數(shù)器1開始運(yùn)行.
LOOP: MOV A,TL0
MOV P1,A
AJMP LOOP
END
在硬件上用線將324的輸出與T1連通(印板上有焊盤)運(yùn)行這種程序,注意將板按正確的位置放置(LM324放在左手邊,LED排列是按從高位到低們排列)看到什么?隨著324后接的LED的閃爍,單片機(jī)的8只LED也在不斷變化,注意觀察,是不是按二進(jìn)制:
00000000
00000001
00000010
00000011
。
。
。
這樣的順序在變呢?這就對了,這就是TL0中的數(shù)據(jù)。
程序二:
ORG 0000H
AJMP START
ORG 001BH
AJMP TIMER1 ;定時(shí)器1的中斷處理
ORG 30H
START: MOV SP,#5FH
MOV TMOD,#01010000B ;定時(shí)/計(jì)數(shù)器1作計(jì)數(shù)用,模式1,0不用全置0
MOV TH1,#0FFH
MOV TL1,#0FAH ;預(yù)置值,要求每計(jì)到6個(gè)脈沖即為一個(gè)事件
SETB EA
SETB ET1 ;開總中斷和定時(shí)器1中斷允許
SETB TR1 ;啟動(dòng)計(jì)數(shù)器1開始運(yùn)行.
AJMP $
TIMER1:
PUSH ACC
PUSH PSW
CPL P1.0 ;計(jì)數(shù)值到,即取反P1.0
MOV TH1,#0FFH
MOV TL1,#0FAH ;重置計(jì)數(shù)初值
POP PSW
POP ACC
RETI
END
上面這個(gè)程序完成的工作很簡單,就是在每6個(gè)脈沖到來后取反一次P1。0,因此實(shí)驗(yàn)的結(jié)果應(yīng)當(dāng)是:LM324后接的LED亮、滅6次,則P1。0口所接LED亮或滅一次。這實(shí)際就是我們上面講的計(jì)數(shù)器的第二種應(yīng)用。
程序三:外部中斷實(shí)驗(yàn)
ORG 0000H
AJMP START
ORG 0003H ;外部中斷地直入口
AJMP INT0
ORG 30H
START: MOV SP,#5FH
MOV P1,#0FFH ;燈全滅
MOV P3,#0FFH ;P3口置高電平
SETB EA
SETB EX0
AJMP $
INT0:
PUSH ACC
PUSH PSW
CPL P1.0
POP PSW
POP ACC
RETI
END
本程序的功能很簡單,按一次按鍵1(接在12引腳上的)就引發(fā)一次中斷0,取反一次P1。0,因此理論上按一下燈亮,按一下燈滅,但在實(shí)際做實(shí)驗(yàn)時(shí),可能會(huì)發(fā)覺有時(shí)不“靈”,按了它沒反應(yīng),但在大部份時(shí)候是對的,這是怎么回事呢?我們在講解鍵盤時(shí)再作解釋,這個(gè)程序本身是沒有問題的。
上一篇:51單片機(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器應(yīng)用
下一篇:單片機(jī)教程實(shí)戰(zhàn)9 定時(shí)器實(shí)驗(yàn)1
推薦閱讀
史海拾趣
設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- 神經(jīng)形態(tài)芯片可能是革新機(jī)器人實(shí)時(shí)電機(jī)控制的未來
- 從三個(gè)方面理解ARM嵌入式系統(tǒng)
- 自動(dòng)報(bào)警 基于MCU的家庭防盜報(bào)警系統(tǒng)的設(shè)計(jì)
- 存儲(chǔ)控制器及其訪問外設(shè)的原理
- 基于51系列單片機(jī)的智能照明控制系統(tǒng)設(shè)計(jì)方案
- 基于STM32的四旋翼飛行器控制系統(tǒng)
- 單片機(jī)應(yīng)用編程技巧解析
- 基于89C52的教室智能節(jié)能照明系統(tǒng)設(shè)計(jì)
- 一種新型的雨量光照傳感器的設(shè)計(jì)
- 多點(diǎn)觸摸感應(yīng)技術(shù)給人機(jī)界面帶來的改變
- H.265:網(wǎng)絡(luò)視頻的高清時(shí)代
- 大聯(lián)大友尚集團(tuán)推出基于ST產(chǎn)品的工業(yè)PLC方案
- 電視棒工作原理很簡單 有網(wǎng)絡(luò)就能變身智能電視
- 牛B的手勢操控是如何煉成的
- Bourns 擴(kuò)展符合 AEC-Q200 標(biāo)準(zhǔn)車規(guī)級(jí)電流檢測電阻產(chǎn)品線
- 基于G.729壓縮語音流隱蔽通信系統(tǒng)設(shè)計(jì)方案
- 觸摸控制器如何滿足大屏觸控設(shè)備抗噪新需求?
- Bourns 擴(kuò)展半屏蔽功率電感產(chǎn)品組合,推出具更高最大感值新系列
- 指紋門禁常見問題解決方法
- TI有獎(jiǎng)直播|C2000™ F280013x實(shí)現(xiàn)更低成本且更高效的實(shí)時(shí)控制方案
- 有獎(jiǎng)直播:ADI 慣性 MEMS 傳感器的應(yīng)用價(jià)值與選型
- 【有獎(jiǎng)問答】術(shù)業(yè)有專攻,電容我在行!
- Microchip 有獎(jiǎng)直播|如何構(gòu)建車載充電器
- 嵌入式Rust修煉營直播第三場:Rust單片機(jī)驅(qū)動(dòng)編寫詳解
- 分享愛用元器件,贏88芯積分
- 泰克MDO系列:1招搞定6大儀器,輕松穿越模擬、數(shù)字、頻域測量
- 全球首款Cortex-M23內(nèi)核物聯(lián)網(wǎng)芯片SAML10和SAM L11系列 闖關(guān)獲取SAML10/SAML11法寶,拆除電子界安全危機(jī),贏好禮!
- 建碳化硅全產(chǎn)業(yè)鏈,160億元長沙三安第三代半導(dǎo)體項(xiàng)目開工
- iQOO 3成本曝光:高通近乎壟斷市場,芯片漲價(jià)在所難免?
- 臺(tái)積電回應(yīng)日本擬邀和本土廠商共建芯片廠:暫無計(jì)劃
- 中國能建葛洲壩集團(tuán)簽署尼日爾柴光互補(bǔ)儲(chǔ)能電站項(xiàng)目商務(wù)合同
- 光伏系統(tǒng)中的防逆流設(shè)備
- 點(diǎn)焊機(jī)器人和弧焊機(jī)器人特點(diǎn)
- 弧焊機(jī)器人結(jié)構(gòu)組成及性能參數(shù)
- 智能機(jī)器人目前可以與人類進(jìn)行自由交流嗎
- 可用于智能機(jī)器人的互聯(lián)網(wǎng)知識(shí)庫都有哪些
- 焊接機(jī)器人的焊接參數(shù)有什么影響