前面我們做了定時器的實(shí)驗(yàn),現(xiàn)在來看一看計(jì)數(shù)實(shí)驗(yàn)。
在工作中計(jì)數(shù)常常會有兩種要求:第一、將計(jì)數(shù)的值顯示出來,第二、計(jì)數(shù)值到一定程度即中斷報警。第一種如各種計(jì)數(shù)器、里程表,第二種如前面例中講到的生產(chǎn)線上的計(jì)數(shù)。先看第一種吧。我們的硬件中是這樣連線的:324組成的振蕩器連到定時/計(jì)數(shù)器1的外部管腳T1上面,我們就利用這個來做一個計(jì)數(shù)實(shí)驗(yàn),要將計(jì)數(shù)的值顯示出來,當(dāng)然最好用數(shù)碼管了,可我們還沒講到這一部份,為了避免把問題復(fù)雜化,我們用P1口的8個LED來顯示計(jì)到的數(shù)據(jù)。
程序如下:
ORG 0000H ,http://www.51hei.com
AJMP START
ORG 30H
START:
MOV SP,#5FH
MOV TMOD,#01000000B ;定時/計(jì)數(shù)器1作計(jì)數(shù)用,0不用全置0
SETB TR1 ;啟動計(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也在持續(xù)變化,注意觀察,是不是按二進(jìn)制:
00000000
00000001
00000010
00000011
這樣的次序在變呢?這就對了,這就是TL0中的數(shù)據(jù)。
程序二:
ORG 0000H
AJMP START
ORG 001BH
AJMP TIMER1 ;定時器1的中斷處理
ORG 30H
START: MOV SP,#5FH
MOV TMOD,#01010000B ;定時/計(jì)數(shù)器1作計(jì)數(shù)用,模式1,0不用全置0
MOV TH1,#0FFH
MOV TL1,#0FAH ;預(yù)置值,要求每計(jì)到6個脈沖即為一個事件
SETB EA
SETB ET1 ;開總中斷和定時器1中斷允許
SETB TR1 ;啟動計(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
上面這個單片機(jī)程序完成的工作很簡單,就是在每6個脈沖到來后取反一次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)時,可能會發(fā)覺有時不“靈”,按了它沒反應(yīng),但在大部份時候是對的,這是怎么回事呢?我們在講解鍵盤時再作解釋,這個程序本身是沒有問題的。
上一篇:從零開始51單片機(jī)教程 —— 單片機(jī)定時器、中斷試驗(yàn)
下一篇:從零開始51單片機(jī)教程 —— 22 單片機(jī)串口介紹
推薦閱讀最新更新時間:2025-06-05 11:38





設(shè)計(jì)資源 培訓(xùn) 開發(fā)板 精華推薦
- Microchip 升級數(shù)字信號控制器(DSC)產(chǎn)品線 推出PWM 分辨率和 ADC 速度業(yè)界領(lǐng)先的新器件
- 意法半導(dǎo)體STM32MP23x:突破成本限制的工業(yè)AI應(yīng)用核心
- 意法半導(dǎo)體推出用于匹配遠(yuǎn)距離無線微控制器STM32WL33的集成的匹配濾波芯片
- ESP32開發(fā)板連接TFT顯示屏ST7789跳坑記
- 如何讓ESP32支持analogWrite函數(shù)
- LGVL配合FreeType為可變字體設(shè)置字重-ESP32篇
- 使用樹莓派進(jìn)行 ESP32 Jtag 調(diào)試
- ESP32怎么在SPIFFS里面存儲html,css,js文件,以及網(wǎng)頁和arduino的通訊
- ESP32 freeRTOS使用測試
- TSA7887DB,基于 TSA7887 微功耗、2 通道、125 ksps、串行輸出 12 位 SAR ADC 的演示板
- LTC3630AHMSE 4V 至 63V 輸入至 -12V 輸出、正負(fù)轉(zhuǎn)換器的典型應(yīng)用電路
- JIS-BIG 鍵盤 熱插拔
- STEVAL-CBP006V1,用于機(jī)頂盒、電視機(jī)和其他消費(fèi)設(shè)備的 Uni-Power 前面板和待機(jī)電源管理控制器的評估板
- DC2291A,基于具有數(shù)字電源系統(tǒng)管理功能的 LTC3882EUJ 高效降壓型 DC/DC 轉(zhuǎn)換器的演示板
- [長沙理工大學(xué)]AD9958
- LR8N3-G 高輸入電壓、3 端子線性穩(wěn)壓器的典型應(yīng)用
- 使用 Analog Devices 的 LT1182CS 的參考設(shè)計(jì)
- LT3844 的典型應(yīng)用 - 具有可編程工作頻率的高電壓、電流模式開關(guān)穩(wěn)壓控制器
- OP295GSZ 單電源儀表放大器的典型應(yīng)用
- 英飛凌:分層式設(shè)計(jì)與可信安全保障智能網(wǎng)聯(lián)汽車的安全性
- S3c2440ARM異常與中斷體系詳解1---概念引入與處理流程
- 磁翻板液位計(jì)密封結(jié)構(gòu)的弊端及改進(jìn)
- 最高調(diào)漲30%,ST、聯(lián)發(fā)科、安森美等10家IC廠漲價!
- 4412 gpio讀取pwm
- 超半數(shù)為國內(nèi)企業(yè)!2月全球95家電子行業(yè)相關(guān)公司共獲30億美元投資
- 3561電池測試儀的功能特點(diǎn)及應(yīng)用優(yōu)勢分析
- 應(yīng)對中端FPGA市場的挑戰(zhàn)
- 如何控制電機(jī)的轉(zhuǎn)速 電機(jī)速度太快怎么減速
- 89C2051單片機(jī)無線遙控電鈴的工作原理
- 方案分享 | ARXML 規(guī)則下 ECU 總線通訊與 ADTF 測試方案
- 車載SerDes產(chǎn)業(yè)起飛!國產(chǎn)新品密集炸場
- 出貨量激增1.34倍! 5G車規(guī)模組成標(biāo)配,三大廠商新品同臺競技
- 6月新能源市場:零跑創(chuàng)新高;比亞迪海外突破;理想滑坡
- 基于中科芯車規(guī)MCU的LED矩陣大燈應(yīng)用方案
- 蘋果被判侵犯3G專利,需向西班牙公司TOT賠償1.1億美元
- 從設(shè)計(jì)概念到 FPGA 原型僅需數(shù)分鐘,印度 InCore 完成 SoC Generator 平臺硅驗(yàn)證
- 消息稱因難尋客戶,三星推遲美國芯片工廠的完工時間
- BOE(京東方)聯(lián)合榮耀打造榮耀Magic V5 以領(lǐng)先LTPO技術(shù)打造行業(yè)新標(biāo)桿
- 華為ADS 4發(fā)布:多傳感器融合,提升自動駕駛安全性
- 節(jié)卡最新發(fā)布多款協(xié)作機(jī)器人
- 博眾旗下產(chǎn)品安防機(jī)器人精彩亮相
- 機(jī)器人在電動化未來中的角色
- mini2440裸機(jī)試煉之——Uart與pc端實(shí)現(xiàn)文件、字符傳輸
- mini2440裸機(jī)試煉之IIS——音樂播放器
- 臺媒:聯(lián)電擴(kuò)產(chǎn)超預(yù)期,產(chǎn)能依然被搶光
- 談?wù)動⑻貭柕木A代工業(yè)務(wù)
- 埃夫特全資孫公司獲1.14億元重大訂單
- Vishay推出工作溫度達(dá)+180 °C的汽車級超薄IHLP?電感器
- 研華Mini-ITX AIMB-277/287新品上市!