




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、6.1 定時和計數(shù)的基本概念6.2 MCS-51單片機定時/計數(shù)器的結構和工作原理6.3 定時/計數(shù)器工作模式及其應用6.4 綜合應用舉例 第第6章章 定時器與計數(shù)器定時器與計數(shù)器l背景知識背景知識6.1 定時和計數(shù)的基本概定時和計數(shù)的基本概念念l背景知識背景知識TH1 TL1TH0 TL0TMODTCON為什么需要定時為什么需要定時/ /計數(shù)器計數(shù)器? ?根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)規(guī)定的時間間隔完成某項控制功能為什么需要定時為什么需要定時/ /計數(shù)器計數(shù)器? ?根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)需要的延時啟動某項任務根據(jù)需要的延時啟動某項任務
2、為什么需要定時為什么需要定時/ /計數(shù)器計數(shù)器? ?根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)需要的延時啟動某項任務根據(jù)需要的延時啟動某項任務檢測外部事件發(fā)生的次數(shù)檢測外部事件發(fā)生的次數(shù)為什么需要定時為什么需要定時/ /計數(shù)器計數(shù)器? ?根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)需要的延時啟動某項任務根據(jù)需要的延時啟動某項任務檢測外部事件發(fā)生的次數(shù)檢測外部事件發(fā)生的次數(shù)為什么需要定時為什么需要定時/ /計數(shù)器計數(shù)器? ?根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)需要的延時啟動某項任務根據(jù)需要的延時啟動某項
3、任務檢測外部事件發(fā)生的次數(shù)檢測外部事件發(fā)生的次數(shù)為什么需要定時為什么需要定時/ /計數(shù)器計數(shù)器? ?根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)需要的延時啟動某項任務根據(jù)需要的延時啟動某項任務檢測外部事件發(fā)生的次數(shù)檢測外部事件發(fā)生的次數(shù)為什么需要定時為什么需要定時/ /計數(shù)器計數(shù)器? ?根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)規(guī)定的時間間隔完成某項控制功能根據(jù)需要的延時啟動某項任務根據(jù)需要的延時啟動某項任務檢測外部事件發(fā)生的次數(shù)檢測外部事件發(fā)生的次數(shù)如何實現(xiàn)如何實現(xiàn)? ?軟件延時軟件延時采用延時電路實現(xiàn)固定的硬件延時采用延時電路實現(xiàn)固定的硬件延時采用可編程定時采用可編
4、程定時/ /計數(shù)器實現(xiàn)計數(shù)器實現(xiàn)可編程定時可編程定時/ /計數(shù)器計數(shù)器(Timer/Counter,(Timer/Counter,簡稱簡稱T/C)T/C)正是正是MCS-51MCS-51單片機的一種重要的功能部件單片機的一種重要的功能部件可編程定時可編程定時/ /計數(shù)器計數(shù)器(T/C)(T/C)工作原理工作原理? ?例例: :往桶里滴水往桶里滴水, ,考察其溢出時間考察其溢出時間: :可編程定時可編程定時/ /計數(shù)器計數(shù)器(T/C)(T/C)工作原理工作原理? ?例例: :往桶里滴水往桶里滴水, ,考察其溢出時間考察其溢出時間: :可編程定時可編程定時/ /計數(shù)器計數(shù)器(T/C)(T/C)工作
5、原理工作原理? ?例例: :往桶里滴水往桶里滴水, ,考察其溢出時間考察其溢出時間: :可編程定時可編程定時/ /計數(shù)器計數(shù)器(T/C)(T/C)工作原理工作原理? ?例例: :往桶里滴水往桶里滴水, ,考察其溢出時間考察其溢出時間: :可編程定時可編程定時/ /計數(shù)器計數(shù)器(T/C)(T/C)工作原理工作原理? ?例例: :往桶里滴水往桶里滴水, ,考察其溢出時間考察其溢出時間: :桶有多大桶有多大?-?-定時定時/ /計數(shù)范圍計數(shù)范圍滴水的速度滴水的速度?-?-時鐘源頻率時鐘源頻率原來有多少水原來有多少水?-?-初值問題初值問題如何知道溢出如何知道溢出?-?-溢出時的反應溢出時的反應6.2
6、.1 定時/計數(shù)器概述圖6-1 定時/計數(shù)器結構圖6-2 定時/計數(shù)器控制邏輯 6.2.2 單片機定時/計數(shù)器的工作方式定時器工作方式定時器工作方式設置為定時器工作方式時,基準時間由單片機設置為定時器工作方式時,基準時間由單片機的晶振經(jīng)過的晶振經(jīng)過12分頻后獲得的一個脈沖信號,即分頻后獲得的一個脈沖信號,即機器周機器周期期信號。機器周期信號輸入到加信號。機器周期信號輸入到加1計數(shù)器,加計數(shù)器,加1計數(shù)器計數(shù)器實現(xiàn)每個機器周期使實現(xiàn)每個機器周期使T0或或T1的計數(shù)寄存器數(shù)值增加的計數(shù)寄存器數(shù)值增加1,直至計滿溢出,根據(jù)計數(shù)機器周期的次數(shù)可以得到定直至計滿溢出,根據(jù)計數(shù)機器周期的次數(shù)可以得到定時時
7、間。時時間。計數(shù)器工作方式計數(shù)器工作方式設置為計數(shù)方式時,外部脈沖信號輸入到引腳設置為計數(shù)方式時,外部脈沖信號輸入到引腳T0(P3.4)和)和T1(P3.5),),CPU對對外部脈沖信號外部脈沖信號進行進行采樣計數(shù),加采樣計數(shù),加1計數(shù)器由外部輸入脈沖信號的下降沿計數(shù)器由外部輸入脈沖信號的下降沿觸發(fā)計數(shù)。觸發(fā)計數(shù)。計數(shù)方式具體工作過程計數(shù)器在每個機器周期的計數(shù)器在每個機器周期的S5P2期間采樣期間采樣T0和和T1引引腳的輸入電平,若前一個機器周期采樣值為腳的輸入電平,若前一個機器周期采樣值為1,下一個,下一個機器周期采樣值為機器周期采樣值為0,則計數(shù)器加,則計數(shù)器加1。所以檢測一個從。所以檢測
8、一個從1到到0的跳變需要兩個機器周期,即外部輸入信號的周期的跳變需要兩個機器周期,即外部輸入信號的周期應大于或等于兩個機器周期,也就是說外部輸入信號的應大于或等于兩個機器周期,也就是說外部輸入信號的頻率必須頻率必須小于晶振頻率的小于晶振頻率的1/24,若頻率超過晶振頻率的,若頻率超過晶振頻率的1/24,則無法準確計數(shù)脈沖個數(shù)。雖然對外部輸入信號,則無法準確計數(shù)脈沖個數(shù)。雖然對外部輸入信號的占空比無特殊要求,但是為了確保輸入信號電平在變的占空比無特殊要求,但是為了確保輸入信號電平在變化之前至少被采樣一次,要求電平保持時間至少是一個化之前至少被采樣一次,要求電平保持時間至少是一個完整的機器周期。對
9、輸入脈沖信號的基本要求如圖完整的機器周期。對輸入脈沖信號的基本要求如圖6-3所所示。示。圖6-3 對輸入脈沖寬度的要求TMOD用于控制用于控制T0和和T1的工作模式。的工作模式。TMOD不能位尋址不能位尋址,只能用字節(jié)設置定時器的,只能用字節(jié)設置定時器的工作模式,低半字節(jié)設置工作模式,低半字節(jié)設置T0,高半字節(jié)設置,高半字節(jié)設置T1。8051系統(tǒng)復位時,系統(tǒng)復位時,TMOD的所有位被清的所有位被清0。TMOD各位的定義格式如圖所示各位的定義格式如圖所示 6.2.3 工作模式寄存器工作模式寄存器 TMODGATE C/ T M1 M0 GATEM1C/ TM0定時器定時器T1定時器定時器T0TM
10、OD(89H) D7 D6 D5 D4 D3 D2 D1 D0M1和M0操作模式控制位。兩位可形成四種編碼,對應于四種模式。TC /計數(shù)器/定時器方式選擇位0/TC設置為定時方式。定時器計數(shù)8051片內脈沖,即對機器周期計數(shù)1/TC設置為計數(shù)方式。計數(shù)器的輸入來自T0(P3.4)或T1(P3.5)端的外部脈沖 GATE門控位。 GATE=0,只要用軟件使TR0(或TR1)置1就可以啟動定時器,而不管INT0(或INT1)的電平是高還是低。 GATE=1,只有INT0(或INT1)引腳為高電平且由軟件使TR0(或TR1)置1時,才能啟動定時器工作。TCON除可字節(jié)尋址外,各位還可位尋址。8051
11、系統(tǒng)復位時,TCON的所有位被清0。 TCON各位的定義格式如圖所示。6.2.4 啟動控制寄存器TCON6.3 定時定時/計數(shù)器工作模式及其應用計數(shù)器工作模式及其應用6.3.1 模式 0 及其應用6.3.2 模式 1 及其應用6.3.3 模式 2 及其應用6.3.4 模式 3 及其應用6.3.1 工作模式0及其應用 1 邏輯結構邏輯結構2 模式模式0的應用的應用1 邏輯結構邏輯結構圖6-7 模式0時的邏輯結構圖 例例6.4 用用T0定時,選擇工作模式定時,選擇工作模式0,由單片機,由單片機P1.0輸出占空比為輸出占空比為50、周期為、周期為2ms的方波,晶振頻率為的方波,晶振頻率為12M。 (
12、T=2mS=2000uS)源程序如下:源程序如下: ORG 0000H LJMP MAIN ORG 000BH LJMP INT_TIME0 ORG 0030HMAIN: MOV TMOD, #00H ;設置工作方式;設置工作方式 MOV TH0, #0E0H ;設初始值:;設初始值:1110 0000 0001 1000:; 1C18H:7192 MOV TL0, #18H SETB TR0 ;啟動定時器;啟動定時器 SETB EA ;開放定時器中斷;開放定時器中斷 SETB ET0 SETB P1.0 LJMP $INT_TIME0: MOV TH0, #0E0H ;對定時器重新賦值;對定
13、時器重新賦值 MOV TL0, #18H CPL P1.0 RETI2 工作模式0應用6.3.2 工作模式1及其應用 1 邏輯結構邏輯結構2 模式模式1的應用的應用1 模式模式 1 的邏輯電路結構的邏輯電路結構圖6-8 模式1邏輯結構圖 2 模式模式 1 的應用舉例的應用舉例例例6.7 用用T1定時,選擇工作模式定時,選擇工作模式1,由單片機,由單片機P1.0輸出輸出50Hz的方波,晶振頻率的方波,晶振頻率12M。(T=20mS=20000uS)源程序如下:ORG 0000H LJMP MAIN ORG 0030HMAIN: MOV TMOD,#10H ;設置T1為模式1 SETB TR1 ;
14、啟動定時LOOP: MOV TH1,#0D8H ;送初值:55536: MOV TL1,#0F0H JNB TF1,$ ;查詢定時時間到否 CLR TF1 ;產生溢出,清標志位 CPL P1.1 ;取反 SJMP LOOP ;重復循環(huán)6.3.3 工作模式2及其應用 1 邏輯結構邏輯結構2 模式模式2的應用的應用1 模式模式 2 的邏輯電路結構的邏輯電路結構圖6-9 模式2邏輯結構 2 模式模式 2 的應用舉例的應用舉例例例6-10:利用定時器:利用定時器T1的模式的模式2對外部信號計數(shù)。要求每計滿對外部信號計數(shù)。要求每計滿100次,將次,將 P1.0引腳取反。引腳取反。源程序:源程序:ORG
15、0000H LJMP MAIN ORG 001BH LJMP INT_TIME1 ORG 0030HMAIN: MOV TMOD,#60H ;設置;設置T1為模式為模式2,外部計數(shù)方式外部計數(shù)方式 MOV TL1,#9CH ;T1計數(shù)器初值計數(shù)器初值:156 MOV TH1,#9CH SETB EA ;開放定時器中斷;開放定時器中斷 SETB ET1 SETB TR1 ;啟動;啟動T1計數(shù)計數(shù)HERE: SJMP HERE ;等待中斷;等待中斷INT_TIME1: CPL P1.0 RETI6.4 綜合應用舉例綜合應用舉例 由于由于MCS-51單片機的定時單片機的定時/計數(shù)器是可編程的,因此在
16、使計數(shù)器是可編程的,因此在使用之前需要進行初始化。在編程時主要注意兩點:第一要能正用之前需要進行初始化。在編程時主要注意兩點:第一要能正確確寫入控制字寫入控制字;第二能進行;第二能進行計數(shù)初值計數(shù)初值的計算。一般情況下,包的計算。一般情況下,包括以下幾個步驟:括以下幾個步驟:(1)確定工作方式,即對)確定工作方式,即對TMOD寄存器進行賦值。寄存器進行賦值。(2)計算計數(shù)初值,并寫入寄存器)計算計數(shù)初值,并寫入寄存器TH0、TL0或或TH1、TL1中。中。(3)根據(jù)是采用中斷還是查詢方式?jīng)Q定是否置位)根據(jù)是采用中斷還是查詢方式?jīng)Q定是否置位ETx允許允許T/C中斷。中斷。(4)根據(jù)是采用中斷還是
17、查詢方式?jīng)Q定是否置位)根據(jù)是采用中斷還是查詢方式?jīng)Q定是否置位EA使使CPU開開中斷。中斷。(5)置位)置位TRx啟動計數(shù)。啟動計數(shù)。例例6-11 試選擇定時試選擇定時/計數(shù)器計數(shù)器T0測試測試INT0(P3.2)引腳上)引腳上輸入的被測脈沖寬度,已經(jīng)晶振頻率輸入的被測脈沖寬度,已經(jīng)晶振頻率12M分析:定時器可以用于測量脈沖寬度程序設計,測量外分析:定時器可以用于測量脈沖寬度程序設計,測量外部脈沖寬度利用部脈沖寬度利用TMOD的門控位控制很方便,當設置的門控位控制很方便,當設置GATE1時,僅設置時,僅設置TR0(TR1)等于)等于“1”,定時器不能被啟動,還必,定時器不能被啟動,還必須等外部脈
18、沖高電平時,定時器才開始工作。須等外部脈沖高電平時,定時器才開始工作。測試過程如圖測試過程如圖6-11所示所示 圖6-11 被測脈沖波形 例例6-11 源程序如下:源程序如下:ORG 0000H LJMP MAIN ORG 000BHLJMP INT_TIME0ORG 0030HMAIN:MOV R2,#00H ;如果被測脈沖寬度太長,則累計溢出次數(shù);如果被測脈沖寬度太長,則累計溢出次數(shù)MOV TMOD,#09H ;設置;設置T0為模式為模式1,門控方式,門控方式MOV TL0,#00H ;設置初值;設置初值MOV TH0,#00HSETB EA ;開放;開放T0中斷中斷SETB ET0SET
19、B TR0 ;INT0引腳高電平到來才會啟動引腳高電平到來才會啟動T0JNB P3.2, $ ;等待高電平到來;等待高電平到來JB P3.2,$ ;高電平到來,啟動;高電平到來,啟動T0開始測量開始測量CLR TR0 MOV R0,TH0 ;P3.2低電平,測量結束,保存結果低電平,測量結束,保存結果MOV R1,TL0 LJMP $INT_TIME0: INC R2MOV TL0,#00HMOV TH0,#00HRETI例例6-12: 電路如圖電路如圖6-12所示,所示,P1.0引腳外接發(fā)光二極管引腳外接發(fā)光二極管D0,要求要求D0以以1s的間隔閃爍。已知晶振頻率的間隔閃爍。已知晶振頻率12
20、M 圖6-12 例6-12電路原理圖 例例6-12源程序代碼:源程序代碼:1S=1000000uS=20*50000ORG 0000H LJMP MAIN ORG 000BHLJMP INT_TIME0ORG 0030HMAIN: MOV P1,#0FFH ;燈的初態(tài);燈的初態(tài)MOV 30H,#00H ;軟件計數(shù)器預清;軟件計數(shù)器預清0MOV TMOD,#01H ;定時;定時/計數(shù)器計數(shù)器0工作于方式工作于方式1MOV TH0,#3CH MOV TL0,#0B0H;初值;初值15536,計,計50000次次SETB EA ;開總中斷允許;開總中斷允許SETB ET0 ;開定時;開定時/計數(shù)器計
21、數(shù)器0允許允許SETBTR0 ;定時;定時/計數(shù)器計數(shù)器0開始運行開始運行LOOP: AJMP LOOP ;真正工作時;真正工作時,這里可寫任意程序這里可寫任意程序INT_TIME0: INC 30H ;定時器;定時器0的中斷處理程序的中斷處理程序MOVA,30HCJNE A, #20,T_END ;30H單元中的值到了單元中的值到了20了嗎了嗎?CPL P1.0 ;到了;到了,取反取反P10MOV 30H, #00H ;清軟件計數(shù)器;清軟件計數(shù)器T_END:MOV TH0,# 3CHMOV TL0,# 0B0H ;重置定時常數(shù);重置定時常數(shù)RETI例例6-13 設一交通路口設紅、黃、綠三盞交通燈,當紅燈亮設一交通路口設紅、黃、綠三盞交通燈,當紅燈亮2s后,后,黃燈亮黃燈亮400ms,綠燈亮,綠燈亮1s,試用單片機模擬交通燈控制,試用單片機模擬交通燈控制 分析:單片機采用發(fā)光二極管模擬交通燈控制,即利用分析:單片機采用發(fā)光二極管模擬交通燈控制,即利用P1.0P 1.2分別接紅、黃、綠三個發(fā)光二極管。但是這里用分別接紅、黃、綠三個發(fā)光二極管。但是這里用到三個定時時間(到三個定時時間(2s、400ms 、1s),難道每個定時時間都),難道每個定時時間都編寫不同的定時程序,那
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 茶藝師崗位面試問題及答案
- 用戶行為分析師崗位面試問題及答案
- 浙江省溫州市環(huán)大羅山聯(lián)盟2025屆高二化學第二學期期末達標檢測模擬試題含解析
- 智慧農業(yè)項目管理辦法
- 楊梅大板養(yǎng)護管理辦法
- 券商股權質押管理辦法
- 河南電梯使用管理辦法
- 新疆消防午餐管理辦法
- 數(shù)字人文背景下跨文化交流挑戰(zhàn)與應對策略研究
- 旅游行業(yè)突發(fā)事件應對預案研究
- 貴州省黔東南苗族侗族自治州(2024年-2025年小學二年級語文)人教版綜合練習試卷(含答案)
- 黑龍江省牡丹江市第十六中學2023-2024學年八年級下學期期末數(shù)學試題(原卷版)
- JB∕T 13026-2017 熱處理用油基淬火介質
- 道路工程石材檢測報告及石材單軸抗壓強度檢測原始記錄
- HG-T20678-2023《化工設備襯里鋼殼設計標準》
- 初中數(shù)學分層作業(yè)設計論文
- 中小學校長管理案例
- 《電力設施治安安全風險等級和安全防護要求》
- 光伏驗收報告
- 職業(yè)倦怠量表MBI-HSS
- 學校桌椅采購投標方案
評論
0/150
提交評論