




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 項目5 單片機定時器單片機定時器/ /計數器應用計數器應用任務:利用單片機內部定時器/計數器中斷實現一個數碼管 的秒記數,重點學習定時器/計數器的工作方式以及 其控制寄存器TMOD、TCON的功能,在程序實現 過程中掌握定時器/計數器中斷的一般步驟。5.1任務說明任務說明 5.2 5.2 單片機的定時單片機的定時/ /計數器結構計數器結構 51單片機內部含有兩個定時器/計數器,分別是T0和T1,在增強型51系列單片機中,如STC89C51RC,內部出了含有T0和T1外,還有T2定時器/計數器。定時器/計數器主要由于精確的定時,也可用于對外部脈沖進行計數以及為作為串行通信的波特發生器。定時/計
2、數器不同的功能是通過對相關特殊功能寄存器的設置和程序設計來實現的。一、定時器一、定時器/ /計數器組成計數器組成 51單片機的兩個定時器/計數器部件主要由T0,T1,工作方式控制寄存器TMOD,定時器/計數器的控制寄存器TCON組成。(1)T0與T1 T0由兩個8位寄存器TH0、TL0組成,其中TH0是T0的高8位,TL0是T0的低8位。T1的結構與T0一樣,只是組成它的兩個8位寄存器分別為TH1、TL1。T0與T1都是二進制加1計數器,即每一個脈沖來到時都能使計數器的當前值加1,可以實現最大16位二進制加計數。脈沖來源有兩種,一個是利用外部在單片機P3.4、P3.5端口輸入脈沖信號,另一個是
3、單片機晶體振蕩頻率的12分頻產生的。(2)TMOD TMOD為定時器/計數器的工作方式控制寄存器,共8位,分為高4位和低4位兩組,其中高4位控制T1,低4位控制T0,分別用于設定T1和T0的工作方式。TMOD不支持位操作,其格式為位 序D7D6D5D4D3D2D1D0位符號GATEM1M0GATEM1M0控制T1控制T0 GATE,門控位,控制定時器啟動操作方式,即定時器的啟動是否受外部脈沖控制。當GATE1時,計數器的啟停受TRx(x為0或1,下同)和外部引腳外部中斷的雙重控制,只有兩者都是1時,定時器才能開始工作。控制T0運行,控制T1運行。當GATE0時,計數器的啟停只受TRx控制,不受
4、外部中斷輸入信號的控制C/ ,定時器/計數器的工作模式選擇位。C/ 1時,為計數器模式;C/ 0時,為定時器模式。M1、M0,定時器/計數器T0和T1的工作方式控制位,M1、M0控制定時器/計數器的工作方式見表5-1所示。 表表5-1 定時器定時器/計數器工作方式控制計數器工作方式控制 M1 M0 工作方式 功能 0 0 方式0 13位計數,由THx的8位和TLx的低5位組成 0 1 方式1 16位計數,由THi的8位和TLx的8位組成 1 0 方式2 利用TLx的8位計數,當TLx計數溢出時,自動重裝Thi的數據,TLx在此基礎上繼續計數 1 1 方式3 兩個8位計數器,僅適用T0,T1停止
5、計數 (3)TCON TCON是定時器/計數器控制寄存器,也是8位寄存器,其中高四位用于定時器/計數器;低四位用于單片機的外部中斷,低四位會在外部中斷相關內容中介紹。TCON支持位操作,其格式為 TCON D7D6D5D4D3D2D1D0位名稱 TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 TR1,定時器T1的啟停控制位。TR1由指令置位和復位,以啟動或停止定時器/計數器開始定時或計數。除此以外,定時器的啟動與TMOD中的門控位GATE也有關系。當門控位GATE0時,TR11即啟動計數;當GATE1時,TR11且外部中斷引腳 1時才能啟動定時器開始計數。TF1,定時器T1的溢
6、出中斷標志位。在T1計數溢出時,由硬件自動將TF1置1,向CPU請求中斷。CPU響應時,由硬件自動將TF1清零。TF1的結果可用來程序查詢,但在查詢方式中,由于T1不產生中斷,TF1置1后需要在程序中用指令將其清零。 TR0,T0的計數啟停控制位,功能同TR1。當GATE1時,T0受TR0和外部中斷引腳的雙重控制。 TF0,T0的溢出中斷標志位,功能同TF1。 51單片機的定時器/計數器T0、T1具有4種工作方式,分別由多功能寄存器TMOD和TCON控制,下面分別介紹4種工作方式的工作原理。5.3定時器的工作方式定時器的工作方式一、方式一、方式0 當M1,M0為00時,定時器工作T0、T1設置
7、為方式0。方式0為13位的定時/計數器,由TLx的低5位和Thx的高8位構成。在計數的過程中,TLx的低五位溢出時向THx進位,THx溢出時置位對應的中斷標志位TFx,并向CPU申請中斷,T0、T1工作在方式0情況一樣,下面以T0為例說明工作方式0的具體控制。T0工作于方式0時的邏輯框圖如圖4-1所示。圖圖5-1 5-1 定時器在方式定時器在方式0 0時的邏輯結構時的邏輯結構 當C/0時,電子開關接到上面,Tx的輸入脈沖信號由振晶體蕩器的12分頻而得到,即每一個機器周期使T0的數值加1,這時T0用作定時器用。 當C/1時,電子開關接到下面,計數脈沖是來自T0的外部脈沖輸入端單片機P3.4的輸入
8、信號,P3.4腳上每出現一個脈沖,都使T0的數值加1,這時T0用作計數器用。 當GATE0時,A點為“1”,B點電位就取決于TR0狀態。TR0為“1” 時,B點為高電平,電子開關閉合,計數脈沖就能輸入到T0,允許計數。TR0為“0”時,B點為低電平,電子開關斷開,禁止T0計數。即GATE0時,T0或T1的啟動與停止僅受TR0或TR1控制。 當GATE1時,A點受(P3.4)和TR0的雙重控制。只有1,且TR0為“1”時,B點才是高電平,使電子開關閉合,允許T0計數。即GATE1時,必須滿足INT0和TR0同時為1的條件,T0才能開始定時或計數。 在方式0中,計數脈沖加到13位的低5位TL0上。
9、當TL0加1計數溢出時,向TH0進位,當13位計數器計滿溢出時,溢出中斷標志TF01,向CPU請求中斷,表示定時器計數已溢出,CPU進入中斷服務程序入口時,由內部硬件清零TF0。二、方式二、方式1 當M1、M0為01時,定時器/計數器工作于方式1。方式l與方式0差不多,不同的是方式l的計數器為16位,由高8位THx和低8位TLx構成。定時器T0工作于方式1的邏輯框圖如圖5-2所示。方式1的具體工作過程和工作控制方式與方式0類似,這里不再重復說明。圖圖5-2定時器在方式定時器在方式1時的邏輯結構時的邏輯結構三、方式三、方式2 當M1、M0為10時,定時器/計數器工作在方式2。方式2為8位定時器/
10、計數器工作狀態。TLx計滿溢出后,會自動預置或重新裝入THx寄存的的數據。TLi為8位計數器,THi為常數緩沖器。當TLi計滿溢出時,使溢出標志TFi置1。同時將THi中的8位數據常數自動重新裝入TLi中,使TLi從初值開始重新計數。定時器T0工作于方式2的邏輯框圖如圖5-3所示。 這種工作方式可以省去用戶軟件重裝常數的程序,簡化定時常數的計算方法,可以實現相對比較精確的定時控制。方式2常用于定時控制。如希望得到1s的延時,若采12MHz的振蕩器,則計數脈沖周期即機器周期為1微秒,如果設定TL006H,TH006H,C/T0,TLi計滿剛好200微秒,中斷5000次就能實現。另外,方式2還可用
11、作串行口的波特率發生器。圖圖5-35-3定時器在方式定時器在方式2 2時的邏輯結構時的邏輯結構四、方式四、方式3 當M1、M0為11時,定時器工作于方式3。方式3只適用于T0。當T0工作在方式3時,TH0和TL0分為兩個獨立的8位定時器,可使51系列單片機具有3個定時器/計數器。定時器T0工作于方式3時的邏輯圖如圖4-4所示。 此時,TL0可以作為定時器/計數器用。使用T0本身的狀態控制位C/T,GATE,TR0,和TF0,它的操作與方式0和方式1類似。但TH0只能作8位定時器用,不能用作計數器方式, TH0的控制占用T1的中斷資源TR1和TF1和T1的中斷資源。在這種情況下,T1可以設置為方
12、式02。此時定時器T1只有兩個控制條件,即C/T、M1M0,只要設置好初值,T1就能自動啟動和記數。 在T1的控制字M1、M0定義為11時,它就停止工作。通常,當T1用作串行口波特率發生器或用于不需要中斷控制的場合,T0才定義為方式3,目的是讓單片機內部多出一個8位的計數器。 圖圖5-4 定時器在方式定時器在方式2時的邏輯結構時的邏輯結構4-4 利用利用T0實現數碼管秒計數實現數碼管秒計數一、程序設計一、程序設計 電路采用圖4-5所示, 晶體振蕩頻率為12MHz。為了實現單片機驅動一個數碼管的秒計數,程序中把T0(timer0作為定時器并工作在方式1 ,并利用了定時器T0中斷。由于T0工作方式
13、1為16位計數器,T0計數最大值為65536,如果計滿5000個機器周期脈沖即5毫秒就讓T0溢出并產生中斷,則T0初裝值應為60536,十六進制為EC78H。為了獲得1秒時間,T0中斷需要發生200次。程序包含主函數,T0的初始化函數和T0中斷服務函數,顯示語句放在中斷服務函數內,程序如下:/*/#includecode unsigned char seven_seg10 = 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;unsigned char cp,i; /聲明全局變量void timer0_isr(void) i
14、nterrupt 1 / timer0中斷服務函數TR0 = 0; /停止計數TL0 = 0 x78; / TL0重新預置TH0 = 0 xec; / TH0重新預置TR0 = 0; /開始計數cp+; / timer0中斷1次,變量cp加1if(cp = 200) /中斷200次,時間剛好為1秒cp = 0;i +;void timer0_initialize(void) / timer0中斷初始化函數EA = 0; /設置中斷允許寄存器IE中的 EA位,關閉中斷總開關TMOD = 0 x01; /設置計時器模式控制寄存器,Time0工作在定時方式1TR0 = 0; /設置計時器控制寄存器T
15、CON寄存器的TR0位為0,Timer0/停止計數TL0 = 0 x78;TH0 = 0 xec; / Timer0的16位計數器初始值為0 xee11,12MHz晶體振/頻率,單片機的機器周期為1微妙,Timer0每1微秒加1/計數,加滿溢出變產生中斷,從計數到中斷剛好為5毫秒PT0 = 1; /設置中斷優先次序寄存器IP中的PT0位,Timer0中斷優先ET0 = 1; /設置中斷允許寄存器IE中ET0的位,開啟中斷小開關EA = 1; /打開中斷總開關TR0 = 1; /開始計數/*/if(i = 10) i = 0;P0 = seven_segi; / P0輸出顯示數據TR0=1;vo
16、id main (void)timer0_initialize(); / timer0初始化,為中斷做好準備while (1); /等待中斷/*/二、程序說明二、程序說明 (1)中斷服務函數名中,interruput為關鍵字,1為timer0中斷號。在reg51.h頭文件中已經定義,表5-2為單片機常用中斷的中斷號。在使用中斷服務函數時,直接在名后加interruput和中斷號即可。 表表5-2 reg51.h5-2 reg51.h中單片機常用中斷號定義中單片機常用中斷號定義 (2)如果單片機的振蕩頻率為,振蕩周期為,則機器周期為。如MHz,則微秒。利用定時器/計數器定時中斷時,在程序中首先設置工作模式,并計算它的初裝值,計算初裝值不好計算,常利用計算機中的計算器工具輔助。timer0工作在模式1可以最大65535微秒中斷1次,如工作模式2,最大256微秒中斷1次。/*/#defined TEMOR0_COUNT 0 xec78TL0 = TEMOR0_COUNT & 0 x00ff; /取TEMOR0_COUNT的低字節并裝入TL0TH0 = TEMOR0_COUNT 8; / TEMOR0_COUNT左移8位,并將低字節裝入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權】 ISO/IEC GUIDE 50:2014 RU Safety aspects - Guidelines for child safety in standards and other specifications
- 【正版授權】 ISO/IEC 23092-3:2025 EN Information technology - Genomic information representation - Part 3: Metadata and application programming interfaces (APIs)
- 生物技術制藥工藝知識考點解析
- 宜賓一診考試試題及答案
- 儀容儀表考試試題及答案
- 醫院培訓考試試題及答案
- 六一兒童節棧橋活動方案
- 六一公司參觀活動方案
- 六一創意過山車活動方案
- 六一商場活動方案
- 《供熱計量技術規程》JGJ173-2009
- 攝影攝像拍攝合同范本
- 人身損害三期評定規范
- 2024屆梧州市八年級物理第二學期期末聯考試題含解析
- 2024中考道法圖表題專項訓練
- 《紅樓夢》飲食文化研究
- 《機械制圖》期末考試題庫388題(含答案)
- 新媒體視頻節目制作 課件 學習領域1 新聞短視頻制作
- 福建省泉州市晉江第一中學高一物理摸底試卷含解析
- 肝硬化的中醫護理查房課件
- 音樂(人音全國版)四年級生日快樂變奏曲-2課件
評論
0/150
提交評論