国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于AT89S51定時器/計數(shù)器的研究與分析

2015-03-23 22:31:23汪曉晨
數(shù)字技術(shù)與應(yīng)用 2014年11期
關(guān)鍵詞:計數(shù)器方法

汪曉晨

摘要:定時器/計數(shù)器在日常生活和工業(yè)控制中,使用非常頻繁。其通過引腳輸出方波、矩形波等常見波形,多用于控制系統(tǒng)中,以實時時鐘來進(jìn)行定時檢查,或作為串行數(shù)據(jù)通信的波特率發(fā)生器使用。本文分析了定時器與計數(shù)器的異同,并概況了3種定時的常用方法,利用AT89S51定時器來編寫程序的步驟和技巧,進(jìn)行了重點歸納總結(jié),希望對初學(xué)者有所幫助。

關(guān)鍵詞:AT89S51 定時器/計數(shù)器 方法

中圖分類號:TP368.1 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2014)11-0104-01

定時/計數(shù)器是AT89S51單片機(jī)中重要的組成部分,在很多應(yīng)用系統(tǒng)中都會使用。定時/計數(shù)器可以通過引腳輸出方波、矩形波等常見波形,這是非常普遍的一個用途;可以在控制系統(tǒng)中作為實時時鐘來進(jìn)行定時檢查;還可以利用定時器T1作為串行數(shù)據(jù)通信的波特率發(fā)生器使用。

1 定時器與計數(shù)器的異同

AT89S51單片機(jī)的定時器、計數(shù)器T0、T1,在本質(zhì)上都是屬于加1計數(shù)器,在作為定時器使用時,預(yù)先要通過公式定時器初值=得出,其中i與定時器所在的工作方式有關(guān),方式0:i=13;方式1:i=16;方式2:i=8;方式3:i=8。t表示定時時間,T表示一個機(jī)器周期時間。在作為計數(shù)器使用時,也需要預(yù)先通過公式計算計數(shù)器初值=,其中i的含義和定時器的表示一致,L為計數(shù)器的長度。不同之處主要體現(xiàn)在加1計數(shù)時,計數(shù)脈沖的來源不同,作為定時器使用時,是對片內(nèi)的機(jī)器周期進(jìn)行加1計數(shù),即經(jīng)過一個機(jī)器周期的時間,定時器的初值要自動加1;作為計數(shù)器使用時,是對外部脈沖的個數(shù)進(jìn)行計數(shù),即采集到P3.4引腳、P3.5引腳的下降沿信號,采集到引腳的一個下降沿信號,計數(shù)器初值自動加1。在概況兩者的區(qū)別時,可以簡要說為“片內(nèi)定時片外計數(shù),定時是時間,計數(shù)是個數(shù)”,這樣方便記憶。

2 常用定時方法探討

2.1 軟件定時法

軟件定時的方法是通過編寫一段延時子程序來實現(xiàn),通常我們使用英文的DELAY來作為一段延時子程序的標(biāo)號。延時子程序里的指令通常由賦值指令MOV和循環(huán)轉(zhuǎn)移指令DJNZ組成,這兩類指令的出現(xiàn)次數(shù)要相同,賦值指令的作用是給循環(huán)轉(zhuǎn)移指令的循環(huán)次數(shù)賦值,循環(huán)轉(zhuǎn)移指令一般出現(xiàn)1-3次。這種方法是一種短時間的定時方法,定時時間需要拼湊得到,需要占用CPU的時間。軟件定時法主要使用在發(fā)光二極管輪流點亮?xí)r,相鄰兩個二極管點亮中間的時間間隔可以調(diào)用延時子程序?qū)崿F(xiàn)。

2.2 可編程定時器8253

可編程定時器8253是8086微機(jī)系統(tǒng)常用的定時器/計數(shù)器芯片,每個芯片內(nèi)有3個相互獨立的16位計數(shù)器通道;技術(shù)速率可以高達(dá)2MHz;每個通道有6種工作方式,可以通過軟件設(shè)置和修改;所有的輸入、輸出都與TTL兼容,這一性能覺得8253芯片既可以與8086連接,也可以與單片機(jī)AT89S51連接。

2.3 AT89S51的T0、T1

T0、T1都具有定時器和計數(shù)器的功能,兩者的主要區(qū)別在于:(1)T0有4種方式,方式0-方式3;T1有3種方式,方式0-方式2;(2)引腳不同T0(P3.4)、T1(P3.5);(3)中斷入口地址不同,T0(000BH)、T1(001BH);(4)中斷控制位不同T0(TF0、TR0)、T1(TF1、TR1)。

利用AT89S51單片機(jī)的T0或T1編寫定時器/計數(shù)器程序時,雖然應(yīng)用情況多種多樣,但有一個整體的規(guī)律可循。首先在編寫程序前的準(zhǔn)備工作是看清題目要求,常用的編程方法有兩種,一種是中斷法,另一種是查詢法。中斷法是指利用T0或T1定時時間到或計數(shù)滿溢出時產(chǎn)生一次中斷請求,進(jìn)入中斷服務(wù)程序的方法,如果題目要求輸出方波或矩形波等規(guī)律波形時,隱含的定時時間要實現(xiàn)多次,為此,在進(jìn)入中斷服務(wù)程序中,要重新給定時器賦初始值,為第2次、第3次等定時作準(zhǔn)備。中斷法必須在程序進(jìn)入中斷服務(wù)程序執(zhí)行前,先把中斷入口地址在程序中給出。查詢法是指T0或T1定時時間到或計數(shù)滿溢出,是通過查詢中斷請求標(biāo)志位的高低電平來判斷任務(wù)是否完成。具體T0的請求標(biāo)志位TF0,T1的請求標(biāo)志位TF1,可以通過指令JB、JNB或JBC來實現(xiàn),選擇一個合適的方法來編寫程序。

主程序的初始化工作的基本步驟如下:(1)確定定時器/計數(shù)器的工作方式,通過對TMOD寄存器寫入控制字實現(xiàn);(2)給定時器/計數(shù)器的高8位寄存器(TH0、TH1)和低8位寄存器(TL0、TL1)賦初值,這一步驟需要代入定時器初值計算公式、計數(shù)器初值計算公式得到。注意的是代入公式計算的值是十進(jìn)制數(shù),需要將十進(jìn)制數(shù)轉(zhuǎn)換為十六進(jìn)制數(shù),分別送給高8位和低8位寄存器中;(3)對中斷允許控制寄存器IE和中斷優(yōu)先級控制寄存器賦初值,這一步驟在中斷法中必須設(shè)定,在查詢法中可以省略;(4)對定時器控制寄存器賦初值,用來開啟定時器工作。

3 結(jié)語

定時器/計數(shù)器與我們的日常工作和生活息息相關(guān),本文主要概況了單片機(jī)教材中常用的幾種定時方法,特別是用內(nèi)部T0和T1定時或計數(shù),把兩者的區(qū)別和定時程序的初始化操作步驟進(jìn)行總結(jié),希望對初學(xué)者有思想上的啟發(fā)作用。

參考文獻(xiàn)

[1]沈威羽.單片機(jī)定時器的應(yīng)用與誤差糾正[J].經(jīng)營管理者,2009,(1):20.

[2]鄧興成.單片機(jī)原理與實踐指導(dǎo)[M].機(jī)械工業(yè)出版社,2009:186-195.

[3]龐新法.定時器與計數(shù)器淺析[J].價值工程,2014,(20):191-192.

猜你喜歡
計數(shù)器方法
煤氣與熱力(2022年2期)2022-03-09 06:29:30
學(xué)習(xí)方法
可能是方法不對
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
計數(shù)器競爭冒險及其處理的仿真分析
基于單片機(jī)的自動計數(shù)器設(shè)計
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
任意N進(jìn)制計數(shù)器的設(shè)計方法
河南科技(2014年10期)2014-02-27 14:09:30
东平县| 枝江市| 湘潭市| 札达县| 会泽县| 阳东县| 光山县| 靖安县| 闸北区| 灵山县| 新竹县| 上饶市| 华宁县| 同心县| 五常市| 孟津县| 中方县| 芒康县| 邢台市| 济宁市| 招远市| 岳西县| 沁源县| 迁安市| 通州区| 英吉沙县| 尼玛县| 兴国县| 嘉义县| 襄汾县| 延安市| 鸡东县| 工布江达县| 禄劝| 涡阳县| 元谋县| 霍林郭勒市| 平远县| 禹城市| 汝阳县| 合肥市|