新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 單片機常用功能模塊的使用 Part4. 定時器

單片機常用功能模塊的使用 Part4. 定時器

作者: 時間:2016-11-17 來源:網(wǎng)絡(luò) 收藏
51 單片機編程經(jīng)常要求對時間進行某種操作,比如數(shù)碼管的動態(tài)掃描顯示、延時等等……對于定時或延時,一般有三種方法實現(xiàn):

①、軟件定時:如常用的延時程序 Delay(),在定時過程中,CPU 循環(huán)測試延時變量是否滿足條件,此時 CPU 利用率低下;

本文引用地址:http://m.butianyuan.cn/article/201611/315368.htm

②、硬件定時:如外部芯片555 時基電路,通過外部阻容,達到一定的延時功能,改變阻容大小可以改變延時長度,這種定時器取決于硬件,設(shè)定好以后不能通過軟件更改;

③、定時器:利用單片機內(nèi)部定時器,實現(xiàn)對時間的操作。

1、定時器功能:

(1)、定時:產(chǎn)生一個標(biāo)準(zhǔn)的時間間隔:如 20 ms,100 ms 等,單片機使用這種方式可以產(chǎn)生一個符合某一要求的脈沖方波;

(2)、計數(shù):對外部的事件(脈沖)進行統(tǒng)計,很明顯外部事件的發(fā)生是隨機的,單片機不可能預(yù)知外部事件何時發(fā)生,但可以進行統(tǒng)計,當(dāng)達到所要求的數(shù)值時,單片機進行相應(yīng)的操作。

2、四種工作模式:

模式 0:13 位計數(shù)器模式

在某一個初值的基礎(chǔ)上加 1 計數(shù),當(dāng)計數(shù)器計滿為全“1”,再來一個計數(shù)脈沖時,就產(chǎn)生一個“溢出中斷信號”TF1=1。
注:由于低 8 位計數(shù)器中的高三位沒有參與工作,故填裝初值時應(yīng)“避開”此三位。

模式 1:16 位定時/計數(shù)模

類同于模式 0,由于兩個計數(shù)器為完整的 8 位,故將計算好的 16 位初值可直接填裝到 TH、TL 中。

模式 2:8 位自動重裝初值模式

TL 做計數(shù)器,TH 做初值寄存器,工作前 TL1,TH1 分別預(yù)置相同的初值,TL1 計數(shù)時,產(chǎn)生溢出的同時,將 TH1 中的初值自動重裝 TL1,TL1 繼續(xù)計數(shù)。

模式 3:組合擴展模式(僅適用于 T0)

將 T0 和 T1 重新進行“拆分、組合”,將 T0 變?yōu)橛?TH0,TL0 組成的兩個獨立的 8 位定時/計數(shù)器。

補充:四種模式比較:

3、定時器參數(shù):

(1)、定時器的個數(shù):網(wǎng)上見到的 51 單片機教程都說定時器有 2 個:定時器 0 和定時器 1,實際上有的單片機有 3 個定時器,如博主買的開發(fā)板上的單片機:STC89C54RD+,因此,編程時注意看好有幾個定時器……

(2)、TL,TH:初值寄存器,分別是低 8 位,高 8 位,后邊加上一個數(shù)字 0 或 1,代表定時器 0 或定時器 1

(3)、TMOD:模式控制寄存器,屬于 SFR 特殊功能寄存器,地址:89H,決定定時/計數(shù)器的四種工作模式,8 位

GATE 選通門:GATE=0 時,只要 TR=1,計數(shù)器就開始工作

       GATE=1 時,只有 INT=TR=1 時,計數(shù)器工作(用來測量 INT 腳高電平脈沖的寬度)

C/T:計數(shù)器輸入脈沖選擇開關(guān),決定著計數(shù)器的“定時”或“計數(shù)”的兩種工作方式

   C/T=0:定時方式:計數(shù)器接收內(nèi)部時鐘信號 fosc

   C/T=1:計數(shù)方式:計數(shù)器接收引腳上的外部信號

M1、M0 模式選擇:確定 4 種工作模式

(4)、TCON:控制寄存器,屬于 SFR 特殊功能寄存器,地址:88H,8 位

TF:定時器溢出標(biāo)志,計數(shù)器溢出時硬件自動置位,即 TF=1,進入中斷后再由硬件自動清除(TF=0)

TR:計數(shù)器的控制位

   TR=1:計數(shù)器開始工作

   TR=0:計數(shù)器停止計數(shù)

IE:外部中斷 INT 的請求標(biāo)志

  當(dāng)單片機檢測到 INT 引腳上有下降沿時,IE=1 申請中斷,進入中斷服務(wù)程序時,硬件自動清除 IE 標(biāo)志

IT:外中斷觸發(fā)類型控制

  IT=1 時,外中斷信號的下降沿觸發(fā) IE 標(biāo)志

  IT=0 時,外中斷信號的低電平觸發(fā) IE 標(biāo)志

(5)、作為“定時器”使用時,“定時”與“初值”的關(guān)系如下:

   T = ( M - TC ) ×t

其中:T:定時時間

   M:計數(shù)器的模

   TC:計數(shù)初值

   t:計數(shù)器計數(shù)脈沖的周期(t = fosc / 12)

注:具體計算實例,參見前面“四種模式比較”中的第二張圖……



關(guān)鍵詞: 單片機功能模塊定時

評論


技術(shù)專區(qū)

關(guān)閉