




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、微機原理及應(yīng)用 Principle and Applications of Micro-Computers 第10講 MCS-51單片機定時/計數(shù)器(教材5.3節(jié))教學(xué)目的: 了解MCS-51單片機的定時/計數(shù)器的結(jié)構(gòu), 掌握其工作方式和模式及它們的編程控制要求: 掌握MCS-51單片機定時/計數(shù)器的4種工作方式的編程控制方法 難點: 定時/計數(shù)器的編程控制(初始化程序和初始值計算)本講的主要內(nèi)容pMCS-51單片機的定時/計數(shù)器的內(nèi)部結(jié)構(gòu)p定時/計數(shù)器編程控制的幾個寄存器pTCON, TMOD, THi, TLip四種工作方式下定時/計數(shù)器的工作原理p構(gòu)成, 編程控制方法(初始化和初始值計算
2、方法)p定時/計數(shù)器的應(yīng)用p方波發(fā)生器, 脈沖寬度測量, 周期性任務(wù)調(diào)度器實現(xiàn)定時的方法p軟件定時p軟件延時不占用硬件資源,但占用了CPU時間,降低了CPU的利用率。例如延時程序。p采用時基電路定時p例如采用555電路,外接必要的元器件(電阻和電容),即可構(gòu)成硬件定時電路。但在硬件連接好以后,定時值與定時范圍不能由軟件進行控制和修改,即不可編程,且定時時間容易漂移。p可編程定時器定時p最方便的辦法是利用單片機內(nèi)部的定時器/計數(shù)器。結(jié)合了軟件定時精確和硬件定時電路獨立的特點。2021-10-15MCS-51單片機的定時/計數(shù)器p基于8051內(nèi)核的MCS-51單片機具有2個定時/計數(shù)器p16位定時
3、/計數(shù)器, 可編程作為8位, 13位和16位的定時/計數(shù)器p每個定時/計數(shù)器包含2個獨立的8位寄存器, 儲存定時/計數(shù)器的值p作定時器時, 時鐘源來自系統(tǒng)的晶體振蕩器, 頻率為系統(tǒng)頻率的1/12倍p作計數(shù)器時, 時鐘源來自連接在2個引腳(Ti)的外部脈沖信號, 最大計數(shù)頻率為系統(tǒng)頻率的1/24倍p定時/計數(shù)器以遞加方式累計計數(shù)p基于8052內(nèi)核的增強型MCS-51單片機至少具有3個定時/計數(shù)器, 為了滿足某些特殊應(yīng)用, 許多增強型MCS-51單片機還具有可編程計數(shù)器陣列(PCA)p如Silicon Lab.的C8051F系列MCS-51單片機的定時/計數(shù)器結(jié)構(gòu)外部計數(shù)脈沖輸入引腳外部計數(shù)脈沖輸
4、入引腳方式和模式控制寄存器方式和模式控制寄存器啟啟/??刂萍拇嫫魍?刂萍拇嫫饕绯鲋袛嘈盘栆绯鲋袛嘈盘杙定時定時/計數(shù)器的計數(shù)器的實質(zhì)實質(zhì)是是加一計數(shù)器加一計數(shù)器(16位),由高位),由高8位和低位和低8位兩個寄位兩個寄存器組成存器組成。定時定時/計數(shù)器值的寄存器計數(shù)器值的寄存器定時定時/計數(shù)器值的寄存器計數(shù)器值的寄存器定時/計數(shù)器控制寄存器 TCONINT0/1的觸發(fā)方式控制的觸發(fā)方式控制(1:下降沿下降沿; 0:低電平低電平)INT0/1的中斷請求標(biāo)志的中斷請求標(biāo)志(1:有效有效; 0:無效無效)T0/1的中斷請求標(biāo)志的中斷請求標(biāo)志(1:有效有效; 0:無效無效)T0/1的啟動的啟動/停止控
5、制位停止控制位(1:啟動啟動; 0:停止停止)T0工作方式選擇控制工作方式選擇控制00B: 方式方式0; 01B:方式方式110B: 方式方式2; 11B:方式方式3定時器定時器/計數(shù)器選擇控制計數(shù)器選擇控制(1:計數(shù)器計數(shù)器; 0:定時器定時器)定時定時/計數(shù)器啟計數(shù)器啟/停方式控制選擇位停方式控制選擇位(簡稱門控位簡稱門控位)1: INTi引腳為高電平引腳為高電平,且且TRi=1, 則啟動則啟動, 否則停止否則停止;0: 啟啟/停與停與INTi引腳電平無關(guān)引腳電平無關(guān), TRi=1啟動啟動, TRi=0停止停止定時/計數(shù)器控制寄存器 TMODD7D6D5D4D3D2D1D0TMOD GAT
6、EC/TM1M0GATEC/TM1M0T1工作模式和方式控制位工作模式和方式控制位T0工作模式和方式控制位工作模式和方式控制位T1工作方式選擇控制工作方式選擇控制00B: 方式方式0; 01B:方式方式110B: 方式方式2; 11B:方式方式3本講的主要內(nèi)容pMCS-51單片機的定時/計數(shù)器的內(nèi)部結(jié)構(gòu)p定時/計數(shù)器編程控制的幾個寄存器pTCON, TMOD, THi, TLip四種工作方式下定時/計數(shù)器的工作原理p構(gòu)成, 編程控制方法(初始化和初始值計算方法)p定時/計數(shù)器的應(yīng)用p方波發(fā)生器, 脈沖寬度測量, 周期性任務(wù)調(diào)度器存儲定時/計數(shù)器值的寄存器p定時/計數(shù)器0 (T0)pTH0 (高
7、8位), TL0 (低8位)p定時/計數(shù)器1 (T1)pTH1 (高8位), TL1 (低8位)pTHi和TLi組成一個16位的寄存器, 范圍: 065535p方式0 (13位定時/計數(shù)器): THi(高8位)+TLi(低5位) (08191)p方式1 (16位定時/計數(shù)器): THi(高8位)+TLi(低8位) (065535)p方式2 (8位自動重裝定時/計數(shù)器): TLi (0255) (THi(重裝值)p方式3 (僅對T0): TL0(第1個8位定時/計數(shù)器), TH0(第2個定時器) 定時/計數(shù)器的工作原理 方式0 ?1. 什么情況時為定時什么情況時為定時/計計數(shù)器溢出數(shù)器溢出? 2
8、. 作為遞加的計數(shù)器作為遞加的計數(shù)器, 計計劃劃10個脈沖后溢出個脈沖后溢出, 應(yīng)從應(yīng)從何時何時(初始值初始值)開始計數(shù)開始計數(shù)? 定時/計數(shù)器的編程控制 方式0編程控制包括如下操作設(shè)置工作方式設(shè)置工作方式, 選擇定時器或計數(shù)器模式選擇定時器或計數(shù)器模式 (TMOD)作為定時器作為定時器, 需根據(jù)待定時時間和系統(tǒng)晶體頻率需根據(jù)待定時時間和系統(tǒng)晶體頻率(或機器周期或機器周期)來來確定初始值確定初始值 (THi和和TLi)啟動和停止控制啟動和停止控制 (單獨設(shè)置單獨設(shè)置TRi位或直接寫位或直接寫TCON)若使用中斷若使用中斷, 需設(shè)置相應(yīng)的中斷和優(yōu)先級控制寄存器需設(shè)置相應(yīng)的中斷和優(yōu)先級控制寄存器(
9、IE,IP)13位定時/計數(shù)器的初始值計算方法13 _132, PMPMTInitialValBTTT定時周期(或定時時間)機器周期 ?這里的這里的InitialVal_13B的的有效數(shù)據(jù)位為有效數(shù)據(jù)位為13位位, 自然自然保存在一個保存在一個16位變量中位變量中, 那么如何給那么如何給THi和和TLi賦賦值值?定時/計數(shù)器的工作原理 方式116(_16 ) _162, (_16 ) , HighPLowMPMTHiInitialValBTInitialValBTLiInitialValBTTT定時周期(或定時時間)機器周期16位定時位定時/計數(shù)器的初始值計算方法計數(shù)器的初始值計算方法16位定
10、時位定時/計數(shù)器的構(gòu)成計數(shù)器的構(gòu)成見教材見教材p.155圖圖5-7定時/計數(shù)器的工作原理 方式28位自動重位自動重裝定時裝定時/計計數(shù)器的構(gòu)成數(shù)器的構(gòu)成見教材見教材p.156圖圖5-88 2, , PMPMTTLiTHiTLiTTT自動重裝寄存器 定時周期(或定時時間)機器周期8位自動重裝定時位自動重裝定時/計數(shù)器的初始值計算方法計數(shù)器的初始值計算方法8位自動重裝定位自動重裝定時時/計數(shù)器一般應(yīng)計數(shù)器一般應(yīng)用于用于UART的波的波特率發(fā)生器特率發(fā)生器(教材教材p.157圖圖5-11)(下一講說下一講說UART)方式0示例 某系統(tǒng)使用某系統(tǒng)使用12MHz晶體振蕩器晶體振蕩器, 其其機器周期為機器
11、周期為 s? 設(shè)計一個方波發(fā)生器設(shè)計一個方波發(fā)生器, 在在P1.0 引腳輸出周期為引腳輸出周期為1ms的方波的方波, 現(xiàn)要求用現(xiàn)要求用T1作為定時器作為定時器, 且工作在方式且工作在方式0.(用(用定時中斷定時中斷方式來實現(xiàn))方式來實現(xiàn))開開 始始P1.7置置1T1模式設(shè)置模式設(shè)置T1初值設(shè)置初值設(shè)置(0.5ms)中斷設(shè)置中斷設(shè)置開中斷開中斷循環(huán)等待中斷循環(huán)等待中斷啟動定時器啟動定時器T1中斷入口中斷入口T1初值設(shè)置初值設(shè)置(0.5ms)中斷返回中斷返回P1.7取反取反主程序流程主程序流程中斷服務(wù)子程序流程中斷服務(wù)子程序流程采用方式采用方式0:N=8192-500/1=7692=1E0CH數(shù)據(jù)
12、格式為:數(shù)據(jù)格式為:1111000000001100B=0F00CH所以(所以(TH1)=0F0H,(,(TL1)=0CH方式0示例 某系統(tǒng)使用某系統(tǒng)使用12MHz晶體振蕩器晶體振蕩器, 其其機器周期為機器周期為 s? 設(shè)計一個方波發(fā)生器設(shè)計一個方波發(fā)生器, 在在P1.0 引腳輸出周期為引腳輸出周期為1ms的方波的方波, 現(xiàn)要求用現(xiàn)要求用T1作為定時器作為定時器, 且工作在方式且工作在方式0.(用(用定時中斷定時中斷方式來實現(xiàn))方式來實現(xiàn))P1 ORG 0000HRESERT: AJMP MAIN ORG 001BH AJMP IT1P ORG 0100H MAIN: MOV SP,#60H
13、ACALL PT1M0 HERE: AJMP HERE Step1:計算初始值Step2:1)TMOD 2) TCON 3) Thx,Tlx 4) 開中斷 5)啟動C/TPT1M0: MOV TMOD, #00H MOV TL1,#0CH MOV TH1,#0F0H SETB ET1 SETB EA SETB TR1 RET IT1P: MOV TL1,#0CH MOV TH1,#0F0H CPL P1.0 RETI定時/計數(shù)器的編程控制 方式0示例 某系統(tǒng)使用某系統(tǒng)使用12MHz晶體振蕩器晶體振蕩器, 其其機器周期為機器周期為 s? 設(shè)計一個方波發(fā)生器設(shè)計一個方波發(fā)生器, 在在P1.0 引腳
14、輸出周期為引腳輸出周期為1ms的方波的方波, 現(xiàn)要求用現(xiàn)要求用T1作為定時器作為定時器, 且工作在方式且工作在方式0. (分別用分別用查詢溢出標(biāo)志位查詢溢出標(biāo)志位TF1和和定時中斷定時中斷兩種方式來實現(xiàn)兩種方式來實現(xiàn))P2 #include void main(void) while(1); /主程序 interrupt 0 x1B void T1_ISR(void) TR1 = 0; if (P1.0 = 1) P1.0 = 0; else P1.0 = 1; TH1 = ; TL1 = ; TR1 = 1; P1 #include void main(void) /主程序 while(TF
15、1 != 1); TF1 = 0; TR1 = 0; TR1 = 1; if (P1.0 = 1) P1.0 = 0; else P1.0 = 1; 定時/計數(shù)器的編程控制 方式1示例 某系統(tǒng)使用某系統(tǒng)使用12MHz晶體振蕩器晶體振蕩器, 如果用如果用T0作為定時器作為定時器, 且工作在方式且工作在方式1, 現(xiàn)要求現(xiàn)要求P1.0產(chǎn)生周期為產(chǎn)生周期為20ms的方波的方波, 如何實現(xiàn)?如何實現(xiàn)? #include void main(void) TMOD = 0 x01 ; TH0 = 0 xD8 ; TL0 = 0 xF0 ; IE = 0 x82; IP = 0 x02; TR0 = 1; P
16、1.0 = 1; while(1); /主程序 interrupt 0 x0B void T0_ISR(void) TR0 = 0; if (P1.0 = 1) P1.0 = 0; else P1.0 = 1; TH0 = 0 xD8 ; TL0 = 0 xF0 ; TR0 = 1; ?如果希望在該系統(tǒng)如果希望在該系統(tǒng)實現(xiàn)實現(xiàn)1s的定時周期的定時周期, 應(yīng)該怎么實現(xiàn)應(yīng)該怎么實現(xiàn)? 能能實現(xiàn)實現(xiàn)10s或更長的或更長的定時周期嗎定時周期嗎? 方式2的應(yīng)用 假設(shè)系統(tǒng)的單片機使用假設(shè)系統(tǒng)的單片機使用6MHz的晶體振蕩器的晶體振蕩器.把把T0作為一個特殊外部中斷請作為一個特殊外部中斷請求輸入線求輸入線,
17、要求要求T0引腳發(fā)生負跳變時向引腳發(fā)生負跳變時向CPU申請中斷申請中斷.以以T0工作在方式工作在方式2計數(shù)計數(shù)器模式器模式,計數(shù)器的初始值為計數(shù)器的初始值為FFH,一旦一旦T0引腳出現(xiàn)負跳變時引腳出現(xiàn)負跳變時,計數(shù)器的計數(shù)值計數(shù)器的計數(shù)值加加1,立即產(chǎn)生立即產(chǎn)生T0計數(shù)器溢出中斷標(biāo)志計數(shù)器溢出中斷標(biāo)志 TF0=1,向向CPU申請中斷申請中斷.每發(fā)生一次每發(fā)生一次T0中斷后中斷后,P1.0腳的腳的LED亮亮50ms然后關(guān)閉然后關(guān)閉,直到再次出現(xiàn)直到再次出現(xiàn)T0中斷中斷LED再亮再亮50ms,如此重復(fù)如此重復(fù). (1) TMOD (2) 初始值初始值 (3) 編寫初始化程序編寫初始化程序,裝入初始
18、值裝入初始值,開放中斷開放中斷 (4) 編寫中斷服務(wù)程序編寫中斷服務(wù)程序方式2的應(yīng)用 程序代碼 ORG 0000H AJMP MAIN ORG 000B AJMP ITOP ORG 001B AJMP IT1P ORG 0100H MAIN: MOV SP, #60H ACALL PT0M2 HERE: AJMP HEREIT0P: CLR P1.0 SETB TR1 RETIIT1P: MOV TH1,#58H MOV TH1,#9EH SETB P1.0 CLR TR1 RETIPT0M2: MOV TMOD, #16H MOV TL0, #16H MOV TH0, #0FFH MOV TL0, #0FFH MOV HL1,#58H MOV TH1,#9EH SERB TR0 SETB ET0 SETB P1.0 SETB EA RET方式3的應(yīng)用(P163) 程序代碼總結(jié)p MCS-51的定時的定時/計數(shù)器結(jié)構(gòu)計數(shù)器結(jié)構(gòu): p定時定時/計數(shù)器值的寄存器計數(shù)器值的寄存器, 啟啟/??刂萍拇嫫魍?刂?/p>
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 賣書快遞合同范本
- 廣州課題申報書怎么寫
- 雙方簽訂獨家合同范本
- 各種合同范本里
- 調(diào)查現(xiàn)狀課題申報書
- 幼兒校級課題申報書范文
- 創(chuàng)鑫供貨合同范本
- 名酒酒廠供貨合同范本
- 化妝 攝影 服務(wù)合同范本
- 教研課題申報書
- XX大學(xué)學(xué)科競賽項目申請書
- 03S702鋼筋混凝土化糞池圖集
- 06-2018泥石流災(zāi)害防治工程勘查規(guī)范(試行)
- 黑鯛淡水養(yǎng)殖技術(shù)
- 焊工培訓(xùn)-焊接基礎(chǔ)知識-課件
- 剪映電腦版使用說明教程
- 社會學(xué)概論全套PPT完整教學(xué)課件
- 船體結(jié)構(gòu)與制圖
- 安全風(fēng)險分級管控和隱患排查治理雙重預(yù)防體系20230531
- 建筑工程質(zhì)量通病防治措施
- 生態(tài)系統(tǒng)模擬模型
評論
0/150
提交評論