




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第8章 定時器/計數(shù)器及實驗 第第8章章 定時器定時器/計計數(shù)器及實驗數(shù)器及實驗第8章 定時器/計數(shù)器及實驗 8.1 定時器/計數(shù)器的硬件結(jié)構(gòu)及工作原理 圖8-1為定時器/計數(shù)器的硬件結(jié)構(gòu)框圖。圖中可見,T0和T1的核心均為一個加1計數(shù)器。加1計數(shù)器的脈沖來源有兩個:一個是外部脈沖源,另一個是單片機系統(tǒng)的時鐘源。計數(shù)器對輸入脈沖進(jìn)行加1計數(shù),每輸入一個脈沖,計數(shù)值加1。第8章 定時器/計數(shù)器及實驗 圖8-1 定時器/計數(shù)器硬件結(jié)構(gòu)框圖 第8章 定時器/計數(shù)器及實驗 計數(shù)到計數(shù)值為全1 當(dāng)計數(shù)到計數(shù)值為全1時,再有一個脈沖信號輸入將使得計數(shù)器溢出。這時,加1計數(shù)器從最高位溢出一個脈沖使TCON(
2、定時器控制寄存器)的溢出標(biāo)志位TF0或TF1置1,同時將計數(shù)值清零。如果定時器/計數(shù)器工作于定時狀態(tài),則表示定時時間到;第8章 定時器/計數(shù)器及實驗 工作于計數(shù)狀態(tài) 如果工作于計數(shù)狀態(tài),則表示計數(shù)值回零。因此,加1計數(shù)器的基本功能是對輸入脈沖進(jìn)行計數(shù),至于其工作于定時狀態(tài)還是計數(shù)狀態(tài),則取決于外接脈沖源。當(dāng)脈沖源為單片機系統(tǒng)時鐘源時,計數(shù)脈沖為一等間隔脈沖序列,脈沖數(shù)乘以間隔時間就是定時時間,此時加1計數(shù)器工作于定時狀態(tài)。當(dāng)脈沖源為間隔不等的外部脈沖信號時,加1計數(shù)器就相當(dāng)于外部事件計數(shù)器,工作于計數(shù)狀態(tài)。第8章 定時器/計數(shù)器及實驗 用作定時器 用作定時器時,在每個機器周期加1計數(shù)器都加1,
3、因此也可以看作對機器周期的累計。因為1個機器周期包括12個振蕩周期,因此加1計數(shù)器的計數(shù)頻率是振蕩頻率的1/12。如果單片機采用12MHz的晶體振蕩器,則加1計數(shù)器的計數(shù)頻率為1MHz,即每微秒加1計數(shù)器加1。這樣就可以按定時時間的要求計算出加1計數(shù)器的預(yù)置計數(shù)值。第8章 定時器/計數(shù)器及實驗 用作計數(shù)器 用作計數(shù)器時,加1計數(shù)器在其對應(yīng)的外部輸入端T0(P3.4)或T1(P3.5)檢測到一個負(fù)跳變時加1。其最快的計數(shù)頻率是振蕩頻率的1/24。 第8章 定時器/計數(shù)器及實驗 2個8位特殊功能寄存器 定時器/計數(shù)器T0由2個8位特殊功能寄存器TH0和TL0構(gòu)成,TH0用于存放高8位的二進(jìn)制計數(shù)值
4、,TL0用于存放低8位的二進(jìn)制計數(shù)值。定時器/計數(shù)器T1由2個8位特殊功能寄存器TH1和TL1構(gòu)成,TH1用于存放高8位的二進(jìn)制計數(shù)值,TL1用于存放低8位的二進(jìn)制計數(shù)值。工作方式寄存器TMOD用于設(shè)置定時器/計數(shù)器的工作方式??刂萍拇嫫鱐CON用于啟動和停止定時器/計數(shù)器的計數(shù),并控制定時器/計數(shù)器的工作狀態(tài)。 第8章 定時器/計數(shù)器及實驗 8.2 定時器的工作方式寄存器和控制寄存器 8.2.1 定時器/計數(shù)器工作方式寄存器TMOD 如圖8.2所示,TMOD的高4位控制T1的工作方式,低4位控制T0的工作方式。第8章 定時器/計數(shù)器及實驗 工作方式選擇位M1、M0:工作方式選擇位。定時器/計
5、數(shù)器有4種工作方式,由M1和M0來進(jìn)行選擇,如表8-1所示。表8-1 定時器/計數(shù)器工作方式選擇 M1 M0工作方式功 能 說 明0 0方式013位定時器/計數(shù)器 0 1方式116位定時器/計數(shù)器 1 0方式2可自動重新載入計數(shù)初值的8位定時器/計數(shù)器 1 1方式3T0用作2個8位定時器/計數(shù)器,關(guān)閉T1 第8章 定時器/計數(shù)器及實驗 定時器/計數(shù)器選擇位 C/ T:定時器/計數(shù)器選擇位。C/ T1工作為計數(shù)器功能,C/ T0工作為定時器功能。 GATE:選通控制位。GATE0,由軟件控制TR0或TR1啟動定時器;GATE1,由外部中斷引腳INT0(P3.2)和 INT1(P3.3)輸入電平分
6、別控制T0和T1的運行。 第8章 定時器/計數(shù)器及實驗 8.2.2 定時器控制寄存器TCON 圖8.3 定時器/計數(shù)器控制字段位地址8FH8EH8DH8CH8BH 8AH89H88HTCONTF1TR1TF0TR0IE1IT1IE0IT0第8章 定時器/計數(shù)器及實驗 定時器T1溢出中斷標(biāo)志 TF1:定時器T1溢出中斷標(biāo)志。當(dāng)定時器T1溢出時由內(nèi)部硬件置位,申請中斷。當(dāng)轉(zhuǎn)向中斷服務(wù)程序時,由內(nèi)部硬件將TF1標(biāo)志清零。第8章 定時器/計數(shù)器及實驗 定時器T1運行控制位 TR1:定時器T1運行控制位,由軟件置位/清零來控制定時器T1的計數(shù)啟動/停止。當(dāng)選通控制位GATE為0而TR1為1時,T1啟動計
7、數(shù);當(dāng)TR1為0時,T1停止計數(shù)。當(dāng)選通控制位為1時,僅當(dāng)TR1為1且P3.3引腳輸入為高電平時才啟動T1計數(shù),TR1為0或P3.3引腳輸入為低電平都使T1停止計數(shù)。 第8章 定時器/計數(shù)器及實驗 溢出中斷標(biāo)志和運行控制位 TF0:定時器T0溢出中斷標(biāo)志,其含義與TF1類似。 TR0:定時器T0運行控制位,其含義與TR1類似。 TCON的低4位與外部中斷有關(guān),其意義在前一章已介紹過。第8章 定時器/計數(shù)器及實驗 8.3 定時器/計數(shù)器的工作方式 2個16位定時器/計數(shù)器具有定時和計數(shù)兩種功能,每種功能都包括了四種工作方式。用戶通過指令把方式字寫入定時器/計數(shù)器工作方式寄存器TMOD來選擇T0或
8、T1的功能和工作方式;第8章 定時器/計數(shù)器及實驗 啟動計數(shù)或停止計數(shù) 通過寫入計數(shù)初值來控制計數(shù)長度(定時時間);通過對定時器/計數(shù)器控制寄存器TCON的相應(yīng)位進(jìn)行置位或清零來實現(xiàn)定時器的啟動計數(shù)或停止計數(shù)。 第8章 定時器/計數(shù)器及實驗 8.3.1 工作方式0 當(dāng)M1M0為00時,定時器/計數(shù)器被選為工作方式0,其等效框圖如圖8-4所示。第8章 定時器/計數(shù)器及實驗 圖8-4 定時器T0工作方式0結(jié)構(gòu)圖 第8章 定時器/計數(shù)器及實驗 一個13位的定時器/計數(shù)器 T0(或T1)在工作在方式0時,是一個13位的定時器/計數(shù)器。在這種方式下,16位寄存器(TH0和TL0)只用13位。其中TL0的
9、高3位未使用,其余位占了13位的低5位,TH0占了高8位。計數(shù)時,TL0的低5位溢出向TH0進(jìn)位,TH0溢出時向溢出中斷標(biāo)志TF0進(jìn)位(由硬件置位),并申請中斷。 第8章 定時器/計數(shù)器及實驗 對機器周期進(jìn)行計數(shù) 當(dāng)C/ T0時,圖中的開關(guān)連接晶體振蕩器的12分頻輸出,T0對機器周期進(jìn)行計數(shù),這就是定時工作方式。 當(dāng)C/ T1時,圖中的開關(guān)連接引腳P3.4(T0),外部計數(shù)脈沖由引腳T0輸入。當(dāng)外接信號發(fā)生從1到0的跳變時,計數(shù)器進(jìn)行加1計數(shù),T0成為外部事件計數(shù)器,這就是計數(shù)工作方式。 第8章 定時器/計數(shù)器及實驗 GATE0時 當(dāng)GATE0時,關(guān)閉邏輯“或”門,使P3.2引腳輸入信號無效。
10、這時,邏輯“與”門被打開,由TR0控制T0的啟動計數(shù)和停止計數(shù)。若TR01,接通控制開關(guān),啟動T0開始加1計數(shù),直至溢出。溢出時,計數(shù)寄存器值為0,TF01,并申請中斷,T0從0開始計數(shù)。因此,若T0工作于定時狀態(tài),在溢出后應(yīng)給計數(shù)器(TH0和TL0)重新賦計數(shù)初值。若TR00,T0停止計數(shù)。 第8章 定時器/計數(shù)器及實驗 GATE1 當(dāng)GATE1,且TR01時,邏輯“或”門和邏輯“與”門都被打開,外接信號通過P3.2引腳直接啟動或停止定時器計數(shù)。輸入高電平時,啟動計數(shù);輸入低電平時,停止計數(shù)。通常用這種方式來測量外接信號的脈沖寬度。 第8章 定時器/計數(shù)器及實驗 定時時間的計算公式 為計數(shù)工
11、作方式時,計數(shù)值的范圍為18192(213)。 為定時工作方式時,定時時間的計算公式為: T(213計數(shù)初值)晶體振蕩器周期12 (式 8-1) 第8章 定時器/計數(shù)器及實驗 8.3.2 工作方式1 當(dāng)M1M0為01時,定時器/計數(shù)器被選為工作方式1,其等效框圖如圖8-5所示。第8章 定時器/計數(shù)器及實驗 圖8-5 定時器T0工作方式1結(jié)構(gòu)圖第8章 定時器/計數(shù)器及實驗 工作在方式1時 T0(或T1)在工作在方式1時,是一個16位的定時器/計數(shù)器。由圖8-5可見,其邏輯電路和工作情況與工作方式0完全相同,所不同的只是組成計數(shù)器的位數(shù)。第8章 定時器/計數(shù)器及實驗 計數(shù)值范圍 為計數(shù)工作方式時,
12、計數(shù)值的范圍為165536 (216)。 為定時工作方式時,定時時間的計算公式為: T(216計數(shù)初值)晶體振蕩器周期12 (式 8-2) 第8章 定時器/計數(shù)器及實驗 8.3.3 工作方式2 當(dāng)M1M0為10時,定時器/計數(shù)器被選為工作方式2,其等效框圖如圖8-6所示??刂普袷幤?2TL0(8位)TF0中斷T0 端C/ T = 0C/ T = 1+INT0 端GATETR0TH0(8位)重新裝入第8章 定時器/計數(shù)器及實驗 圖8-6 定時器T0工作方式2結(jié)構(gòu)圖第8章 定時器/計數(shù)器及實驗 工作方式0和工作方式1的最大特點 工作方式0和工作方式1的最大特點是計數(shù)溢出后,計數(shù)寄存器的值全為0。因
13、此循環(huán)定時或計數(shù)應(yīng)用時就存在重新設(shè)置計數(shù)初值的問題,這不但影響定時精度,而且給程序編寫帶來不便。第8章 定時器/計數(shù)器及實驗 自動重新加載功能 工作方式2就是針對此問題而設(shè)置的,它具有自動重新加載功能,計數(shù)溢出后計數(shù)初值可由硬件自動重新裝載。在這種工作方式下,16位計數(shù)器被分為兩部分,即以TL0作計數(shù)器,以TH0作預(yù)置數(shù)寄存器,初始化時把計數(shù)初值分別裝入TL0和TH0中。當(dāng)計數(shù)溢出后,由預(yù)置數(shù)寄存器以硬件方式自動加載。第8章 定時器/計數(shù)器及實驗 置位TF0 初始化時,8位計數(shù)初值被同時裝入TL0和TH0中。當(dāng)TL0計數(shù)溢出時,置位TF0,同時將保存在TH0中的計數(shù)初值自動裝載到TL0中,之后
14、TL0重新計數(shù),循環(huán)不止。這樣的話,不但省去了用戶程序中的重新裝載計數(shù)初值的指令,還有利于提高定時精度。但這種方式下計數(shù)值有限,最大只能到256。這種工作方式較適用于連續(xù)定時或計數(shù)的應(yīng)用場合。第8章 定時器/計數(shù)器及實驗 定時時間的計算公式 為計數(shù)工作方式時,計數(shù)值的范圍為1256(28)。 為定時工作方式時,定時時間的計算公式為: T(28計數(shù)初值)晶體振蕩器周期12 (式 8-3) 第8章 定時器/計數(shù)器及實驗 8.3.4 工作方式3 當(dāng)M1M0為11時,定時器/計數(shù)器被選為工作方式3,其等效框圖如圖8-7所示。第8章 定時器/計數(shù)器及實驗 圖8-7 定時器T0工作方式3結(jié)構(gòu)圖第8章 定時
15、器/計數(shù)器及實驗 前三種工作方式下,T0和T1的使用是完全相同的。但是在工作方式3下,T0和T1的工作是不同的。 在工作方式3下,因T1的控制位和引腳信號已被TH0借用,所以T1是不能使用的。前三種工作方式下第8章 定時器/計數(shù)器及實驗 在工作方式3下 在工作方式3下,T0被拆成2個獨立的8位計數(shù)器TL0和TH0。TL0既可以作計數(shù)器使用,又可以作定時器使用,T0的各控制位和引腳信號全歸它使用。其功能和操作與工作方式0和工作方式1完全相同,電路結(jié)構(gòu)也極其相似,如圖8-7所示。但是TH0只能作為定時器使用,控制位和引腳信號均借用T1的。第8章 定時器/計數(shù)器及實驗 8.4 定時器/計數(shù)器的初始化
16、 由于定時/計數(shù)器是可編程的,因此在定時或計數(shù)之前要用程序初始化,初始化一般有以下幾個步驟:(1)確定工作方式對工作方式寄存器TMOD賦值。第8章 定時器/計數(shù)器及實驗 預(yù)置定時或計數(shù)初值(2)預(yù)置定時或計數(shù)初值,直接將計數(shù)初值寫入TL0、TH0或TL1、TH1中。(3)根據(jù)需要對中斷允許寄存器IE賦值,以開放或禁止定時/計數(shù)器中斷。(4)啟動定時/計數(shù)器,使TCON中的TR1或TR0置“1”,計數(shù)器即按規(guī)定的工作方式和計數(shù)初值進(jìn)行計數(shù)或定時。 第8章 定時器/計數(shù)器及實驗 8.5 定時器實驗 使用定時器T1以工作方式1進(jìn)行50ms精確定時。P1口的P1.0 P1.7分別接八個發(fā)光二極管L0
17、L7。編寫程序模擬一個時序控制裝置:開機后第一秒鐘L0、L2亮,第二秒鐘L1、L3亮,第三秒鐘L4、L6亮,第四秒鐘L5、L7亮,第五秒鐘L0、L2、L4、L6亮,第六秒鐘L1、L3、L5、L7亮,第七秒鐘全亮,第八秒鐘全滅,之后又從頭開始,一直循環(huán)下去。 第8章 定時器/計數(shù)器及實驗 8.5.1 硬件電路圖8-8 定時器實驗硬件電路 第8章 定時器/計數(shù)器及實驗 8.5.2 軟件 在用戶文件夾中建立一個timer.uv2工程項目,再輸入以下源程序timer.c ,最后將源程序添加到工程項目中。如圖8-9所示。圖8-9 KEIL C51工程窗口 第8章 定時器/計數(shù)器及實驗 以下為time.c
18、 源文件:/-定時器實驗-/-頭文件引用-#include#include/-宏聲明-#define uchar unsigned charuchar idata LED8= 0 xfa,0 xf5,0 xaf,0 x5f,0 xaa,0 x55,0 x00,0 xff;/顯示常數(shù)表uchar times=20;/延時一秒的常數(shù)uchar status=0;第8章 定時器/計數(shù)器及實驗 /-定時器-void int1( ) interrupt 3TR1=0;/關(guān)中斷TL1=0 x00;/延時50ms常數(shù)TH1=0 x4b;TR1=1;/開中斷times=(times-1);if(times=0
19、)times=20;/延時一秒的常數(shù)P1=LEDstatus;/送P1口顯示status=(status+1)&0 x07);第8章 定時器/計數(shù)器及實驗 /-主程序-void main() TMOD=0 x10;/置T1為方式1TL1=0 x00;/延時50ms的時間常數(shù)TH1=0 x4b;TR1=1;ET1=1;EA=1;/開中斷while(1);第8章 定時器/計數(shù)器及實驗 8.5.3 實驗運行結(jié)果 由圖8-10至圖8-13可見,程序已實現(xiàn)了精確定時控制的要求。圖8-10 程序運行結(jié)果(0.9525秒時)第8章 定時器/計數(shù)器及實驗 圖8-11 程序運行結(jié)果(1.0秒時)第8章 定時器/
20、計數(shù)器及實驗 圖8-12 程序運行結(jié)果(1.95秒時)第8章 定時器/計數(shù)器及實驗 圖8-13 程序運行結(jié)果(2.0秒時)第8章 定時器/計數(shù)器及實驗 8.6 計數(shù)器實驗 使用T1作為定時器,T0作為計數(shù)器,均按方式1工作,測試P3.4(T0)引腳上每50ms來了多少脈沖,將其數(shù)值按二進(jìn)制數(shù)在LED燈上顯示出來,每隔3秒測試顯示一次。 第8章 定時器/計數(shù)器及實驗 8.6.1 硬件電路 如圖8-14所示。圖8-14 計數(shù)器實驗硬件電路 第8章 定時器/計數(shù)器及實驗 8.6.2 軟件 在用戶文件夾中建立一個counter.uv2工程項目,再輸入以下源程序counter.c ,最后將源程序添加到工程項目中。如圖8-15所示。 圖8-15 KEIL C51工程窗口 第8章 定時器/計數(shù)器及實驗 以下為counter.c 源文件:/-定時器實驗-/-頭文件引用-#include/-宏聲明-#defineuchar unsigned ch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 7.2萬有引力定律+課件+高一下學(xué)期物理人教版(2019)必修第二冊
- 郵件系統(tǒng)性能評估
- 優(yōu)化施工方案提升硫化床鍋爐施工效率
- 企業(yè)在線內(nèi)訓(xùn)課件
- 財務(wù)培訓(xùn)與財務(wù)管理能力提升合同
- 綠色建筑材料采購合同擔(dān)保公司環(huán)保協(xié)議
- 經(jīng)理股權(quán)分紅方案
- 金融產(chǎn)品設(shè)計與財務(wù)風(fēng)險評估合同
- 食品生產(chǎn)售后保障方案
- 社區(qū)樓宇封控方案
- GB/T 12008.2-2010塑料聚醚多元醇第2部分:規(guī)格
- 《一粒種子》課件
- 弘揚錢學(xué)森精神PPT忠誠擔(dān)當(dāng)踐行科學(xué)報國之志PPT課件(帶內(nèi)容)
- 上半年我國經(jīng)濟(jì)形勢分析與公司應(yīng)對策略
- 小學(xué)語文人教五年級下冊(統(tǒng)編)第六單元-15、自相矛盾學(xué)歷案
- 電磁干擾及防護(hù)課件
- 中國教育學(xué)會會員申請表
- 黃大年式教師團(tuán)隊申報
- 新冀人版小學(xué)科學(xué)三年級下冊全冊教案(2022年春修訂)
- 工作場所空氣中有害物質(zhì)監(jiān)測的采樣規(guī)范
- 國家開放大學(xué)電大《可編程控制器應(yīng)用》機考2套真題題庫及答案10
評論
0/150
提交評論