




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、標題:定時/計數(shù)器教學目的與要求:80C51定時/計數(shù)器工作原理80C51定時/計數(shù)器控制寄存器的名稱及設置授課時數(shù):4教學重點:如何根據(jù)定時時間設置定時/計數(shù)器的初值及TCON,TMOD教學內(nèi)容及過程:一、80C51定時/計數(shù)器定時/計數(shù)器是單片機系統(tǒng)一個重要的部件,其工作方式靈活、編程簡單、使用方便,可用來實現(xiàn)定時控制、延時、頻率測量、脈寬測量、信號發(fā)生、信號檢測等。此外,定時/計數(shù)器還可作為串行通信中波特率發(fā)生器。(一). 定時/計數(shù)器概述· 80C51單片機內(nèi)部有兩個定時/計數(shù)器T0和T1,其核心是計數(shù)器,基本功能是加1。· 對外部事件脈沖(下降沿)計數(shù),是計數(shù)器;
2、對片內(nèi)機周脈沖計數(shù),是定時器。· 計數(shù)器由二個8位計數(shù)器組成。· 定時時間和計數(shù)值可以編程設定,其方法是在計數(shù)器內(nèi)設置一個初值,然后加1計滿后溢出。調(diào)整計數(shù)器初值,可調(diào)整從初值到計滿溢出的數(shù)值,即調(diào)整了定時時間和計數(shù)值。· 定時/計數(shù)器作為計數(shù)器時,外部事件脈沖必須從規(guī)定的引腳輸入。且外部脈沖的最高頻率不能超過時鐘頻率的1/24。8051定時器/計數(shù)器邏輯結構圖(二) 定時/計數(shù)器的控制寄存器 定時/計數(shù)器控制寄存器TCONTCONT1中斷標志T1運行標志T0中斷標志T0運行標志INT1中斷標志INT1觸發(fā)方式INT0中斷標志INT0觸發(fā)方式位名稱TF1TR1TF
3、0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H各位含義如下:(1) TCON.7 TF1:定時器1溢出標志位。當定時器1計滿數(shù)產(chǎn)生溢出時,由硬件自動置TF1=1。在中斷允許時,向CPU發(fā)出定時器1的中斷請求,進入中斷服務程序后,由硬件自動清0。在中斷屏蔽時,TF1可作查詢測試用,此時只能由軟件清0。(2) TCON.6 TR1:定時器1運行控制位。由軟件置1或清0來啟動或關閉定時器1。當GATE=1,且為高電平時,TR1置1啟動定時器1;當GATE=0時,TR1置1即可啟動定時器1。(3) TCON.5 TF0:定時器0溢出標志位。其功能及操作情況同TF
4、1。(4) TCON.4 TR0:定時器0運行控制位。其功能及操作情況同TR1。 定時/計數(shù)器工作方式控制寄存器TMODTMOD用于設定定時/計數(shù)器的工作方式低4位用于控制T0,高4位用于控制T1。高4位控制T1低4位控制T0門控位計數(shù)/定時方式選擇工作方式選擇門控位計數(shù)/定時方式選擇工作方式選擇GC / TM1M0GC / TM1M0 M1M0 工作方式選擇位M1M0工作方式功能0 0方式013位計數(shù)器0 1方式116位計數(shù)器1 0方式2兩個8位計數(shù)器,初值自動裝入1 1方式3兩個8位計數(shù)器,僅適用T0 C/T 計數(shù)/定時方式選擇位 C/T=1,計數(shù)工作方式,對外部事件脈沖計數(shù),用作計數(shù)器。
5、 C/T=0,定時工作方式,對片內(nèi)機周脈沖計數(shù),用作定時器。 GATE 門控位 GATE=0,運行只受TCON中運行控制位TR0/TR1的控制。 GATE=1,運行同時受TR0/TR1和外中斷輸入信號的雙重控制。只有當INT0/INT1=1且TR0/TR1=1,T0/T1才能運行。 TMOD字節(jié)地址89H,不能位操作,設置TMOD須用字節(jié)操作指令。(三). 定時/計數(shù)器工作方式 工作方式0 13位計數(shù)器,由TL0低5位和TH0高 8位組成,TL0低5位計數(shù)滿時不向TL0第6位進位,而是向TH0進位,13位計滿溢出,TF0置“1”。最大計數(shù)值213 = 8192?!纠?】用定時器1,方式0實現(xiàn)1
6、 s的延時。 解:因方式0采用13位計數(shù)器,其最大定時時間為:8192×1 ms = 8.192 ms,因此,可選擇定時時間為5ms,再循環(huán)200次。定時時間選定后,再確定計數(shù)值為5000,則定時器1的初值為 X = M -計數(shù)值= 8192 -因13位計數(shù)器中TL1的高3位未用,應填寫0,TH1占高8位,所以,X的實際填寫值應為,即:TH1 = 63H,TL1 = 18H,又因采用方式0定時,故TMOD = 00H。 可編得1 s延時子程序如下: DELAY:MOV R3,#200 ;置5 ms計數(shù)循環(huán)初值 MOV TMOD,#00H ;設定時器1為方式0 MOV TH1,#63H
7、 ;置定時器初值 MOV TL1,#18H SETBTR1 ;啟動T1LP1:JBCTF1,LP2 ;查詢計數(shù)溢出 SJMPLP1 ;未到5 ms繼續(xù)計數(shù)LP2:MOVTH1,#63H ;重新置定時器初值MOVTL1,#18HDJNZR3,LP1 ;未到1 s繼續(xù)循環(huán)RET ;返回主程序 工作方式116位計數(shù)器,最大計數(shù)值為216 = 65536?!纠?】 (1) 要求:信號燈循環(huán)顯示,時間間隔為1 s。 (2) 方法:用定時器方式1編制1 s的延時程序,實現(xiàn)信號燈的控制。 系統(tǒng)采用12 MHz晶振,采用定時器1,方式1定時50ms,用R3做50 ms計數(shù)單元,其源程序可設計如下:ORG 00
8、00H CONT: MOVR2,#07H MOVA,#0FEH NEXT:MOVP1,A ACALLDELAY RLA DJNZR2,NEXT MOV R2,#07H NEXT1:MOVP1,ARRA ACALLDELAY DJNZR2,NEXT1 SJMPCONTDELAY:MOV R3,#14H;置50 ms計數(shù)循環(huán)初值 MOV TMOD,#10H ;設定時器1為方式1 MOV TH1,#3CH;置定時器初值 MOVTL1,#0B0H SETBTR1 ;啟動定時器1LP1:JBCTF1,LP2 ;查詢計數(shù)溢出 SJMPLP1;未到50 ms繼續(xù)計數(shù)LP2:MOVTH1,#3CH ;重新置定
9、時器初值MOVTL1,#0B0HDJNZR3,LP1;未到1 s繼續(xù)循環(huán) RET;返回主程序END 工作方式2 8位計數(shù)器,僅用TL0計數(shù),最大計數(shù)值為28= 256,計滿溢出后,一方面使溢出標志TF0 = 1;另一方面,使原來裝在TH0中的初值裝入TL0。 優(yōu)點:定時初值可自動恢復;缺點:計數(shù)范圍小。 適用于需要重復定時,而定時范圍不大的應用場合?!纠?】試用定時器1,方式2實現(xiàn)例1中1 s的延時。 解:因方式2是8位計數(shù)器,其最大定時時間為:256×1 ms = 256 ms,為實現(xiàn)1 s延時,可選擇定時時間為250 ms,再循環(huán)4000次。定時時間選定后,可確定計數(shù)值為250,
10、則定時器1的初值為:X = M -計數(shù)值=256 - 250 = 6 = 6H。采用定時器1,方式2工作,因此,TMOD =20H。 可編得1 s延時子程序如下:DELAY:MOV R5,#28H;置25 ms計數(shù)循環(huán)初值MOV R6,#64H ;置250 ms計數(shù)循環(huán)初值 MOV TMOD,#20H ;置定時器1為方式2 MOV TH1,#06H ;置定時器初值 MOV TL1,#06H SETBTR1 ;啟動定時器LP1:JBCTF1,LP2 ;查詢計數(shù)溢出 SJMPLP1 ;無溢出則繼續(xù)計數(shù) LP2:DJNZR6,LP1 ;未到25 ms繼續(xù)循環(huán) MOVR6,#64H DJNZ R5,L
11、P1 ;未到1 s繼續(xù)循環(huán) RET 工作方式3 方式3僅適用于T0,T1無方式3。 T0方式3在方式3情況下,T0被拆成二個獨立的8位計數(shù)器TH0、TL0。 TL0使用T0原有的控制寄存器資源:TF0,TR0,GATE,C/T,INT0,組成一個8位的定時/計數(shù)器; TH0借用T1的中斷溢出標志TF1,運行控制開關TR1,只能對片內(nèi)機周脈沖計數(shù),組成另一個8位定時器(不能用作計數(shù)器)。 T0方式3情況下的T1T1由于其TF1、TR1被T0的TH0占用,計數(shù)器溢出時,只能將輸出信號送至串行口,即用作串行口波特率發(fā)生器。【例4】用定時器0。方式3實現(xiàn)1s的延時。解:根據(jù)題意,定時器0中的TH0只能
12、為定時器,定時時間可設為250 ms;TL0設置為計數(shù)器,計數(shù)值可設為200。TH0計滿溢出后,用軟件復位的方法使T0()引腳產(chǎn)生負跳變,TH0每溢出一次,T0引腳便產(chǎn)生一個負跳變,TL0便計數(shù)一次。TL0計滿溢出時,延時時間應為50ms,循環(huán)20次便可得到1 s的延時。 由上述分析可知,TH0計數(shù)初值為 X =(256 - 250)= 6 = 06H TL0 計數(shù)初值為 X =(256 - 200)= 56 = 38H TMOD = 00000111B = 07H 可編得1 s延時子程序如下:DELAY:MOV R3,#14H ;置100 ms計數(shù)循環(huán)初值 MOV TMOD,#07H ;置定
13、時器0為方式3計數(shù) MOVTH0,#06H ;置TH0初值 MOVTL0,#38H ;置TL0初值 SETBTR0 ;啟動TL0 SETBTR1 ;啟動TH0 LP1: JBC TF1,LP2 ;查詢TH0計數(shù)溢出 SJMP LP1 ;未到500 ms繼續(xù)計數(shù)LP2: MOV TH0,#06H ;重置TH0初值 CLR P3.4 ;T0引腳產(chǎn)生負跳變 NOP ;負跳變持續(xù) NOP SETBP3.4 ;T0引腳恢復高電平 JBC TF0,LP3 ;查詢TH0計數(shù)溢出 SJMP LP1 ;100 ms未到繼續(xù)計數(shù)LP3: MOV TL0,#38H ;重置TL0初值 DJNZ R3,LP1 ;未到1
14、 s繼續(xù)循環(huán) RET (四)、定時/計數(shù)器的應用 定時器/計數(shù)器初始化的主要內(nèi)容(1) 選擇工作方式:通過對方式寄存器TMOD進行設置(2) 給定時器賦初值(3) 根據(jù)需要設置中斷控制字(4) 啟動定時器1. 定時器/計數(shù)器初值設定方法(1)根據(jù)定時長短,選擇工作方式(2)計算定時/計數(shù)初值80C51定時/計數(shù)初值計算公式:其中: N與工作方式有關: 方式0時,N=13;方式1時,N=16;方式2、3時,N=8。 機周時間與主振頻率有關:機周時間=12/fosc,fosc=12MHZ時,1機周=1mS; fosc=6MHZ 時,1機周=2mS。 【例】 已知晶振6MHz,要求定時0.5mS,試
15、分別求出T0工作于方式0、方式1、方式2、方式3時的定時初值。解:工作方式0: 213500mS/2mS=8192-250=7942=1F06H,1F06H化成二進制:1F06H=0001 1111 0000 0110B=000 11111000 00110 B其中:低5位00110前添加3位000送入TL0,TL0=000 00110B=06H;高8位11111000B送入TH0TH0=11111000B=F8H。 工作方式1: T0初值 =216-500ms/2ms=65536250=65286=FF06H TH0=FFH;TL0=06H。 工作方式2: T0初值 =28-500ms/2m
16、s=256-250=6 TH0=06H;TL0=06H。 工作方式3: T0方式3時,被拆成兩個8位定時器,定時初值可分別計算,計算方法同方式2。兩個定時初值一個裝入TL0,另一個裝入TH0。因此:TH0=06H;TL0=06H從上例中看到,方式0時計算定時初值比較麻煩,根據(jù)公式計算出數(shù)值后,還要變換一下,容易出錯,不如直接用方式1,且方式0計數(shù)范圍比方式1小,方式0完全可以用方式1代替,方式0與方式1相比,無任何優(yōu)點。 合理選擇定時器/計數(shù)器工作方式 計算定時/計數(shù)器定時初值(按上述公式計算) 編制應用程序 定時/計數(shù)器的初始化 包括定義TMOD、寫入定時初值、設置中斷系統(tǒng)、啟動定時/計數(shù)器
17、運行等。 正確編制定時/計數(shù)器中斷服務程序 注意是否需要重裝定時初值,若需要連續(xù)反復使用原定時時間,且未工作在方式2,則應在中斷服務程序中重裝定時初值?!纠縨S的脈沖方波,已知fosc=12MHZ。解: 計算定時初值 T1初值=28-200ms/1ms=256200=56=38H TH1=38H;TL1=38H 設置TMOD: 0 0 10 0000 B=20H T0控制位,與T1無關 T1方式2 T1定時器 T1啟動與 無關 編制程序如下: ORG0000H ;復位地址LJMPMAIN ;轉主程序ORG001BH ;T1中斷入口地址LJMPIT1 ;轉T1中斷服務程序 ORG0100H ;
18、主程序首地址MAIN: MOVTMOD,#20H ;置T1定時器方式2MOVTL1,#38H ;置定時初值MOVTH1,#38H ;置定時初值備份MOVIP,#00001000B;置T1高優(yōu)先級MOVIE,#0FFH ;全部開中SETBTR1 ;T1運行SJMP$ ;等待T1中斷 ORG 0200H ;T1中斷服務程序首地址IT1: CPL P1.0 ;輸出波形取反首地址RETI ;中斷返回【課堂練習題】 參照以上例題工作方式2,按下列要求分別修改程序: 脈沖方波從P3.0輸出; fosc=6MHz; 脈沖方波脈寬為100ms; 用定時/計數(shù)器T0;【例】已知晶振12MHZ,參閱圖5-15,要
19、求利用定時器,T0使圖中發(fā)光二極管LED進行秒閃爍。 解:發(fā)光二極管進行秒閃爍。即一秒鐘一亮一暗,亮500ms,暗500 ms。晶振12MHz,每機周1ms,T0方式1最大定時只能65ms余。 取T0定時50ms,計數(shù)10次,即可實現(xiàn)500ms定時。 計算定時初值 T0初值 =216-50000ms/1ms =6553650000=15536=3CB0H TH0=3CH;TL0=B0H。 設置TMOD: 0000 0 0 01 B = 01H T0方式1 T0 與 無關 T1控制位 編制程序如下: ORG 0000H ;復位地址LJMP MAIN ;轉主程序ORG 000BH ;T0中斷入口地
20、址LJMP IT0 ;轉T0中斷服務程序ORG 0100H ;主程序首地址MAIN:MOV TMOD,#01H;置T0定時器方式1MOV TH0,#3CH ;置T0初值50mSMOV TL0,#0B0H ;MOV IE,#10000010B;T0開中 MOV R7,#0AH ;置500mS計數(shù)器初值 SETB TR0 ;T0運行SJMP $ ;等待中斷ORG 0200H;T0中斷服務程序首地址MOV TH0,#3CH;重置T0初值50msMOV TL0,#0B0H;DJNZ R7,GORET;判斷500ms到否?CPL P1.7;500ms到,輸出取反MOV R7,#0AH;恢復500ms計數(shù)器初值GORET:RETI;中斷返回【例】用單片機定時器/計數(shù)器設計一個秒表,由P1口連接的LED采用BCD碼顯示,發(fā)光二極管亮表示0,暗表示1。計滿60 s后從頭開始,依次循環(huán)。解:定時器0工
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年中國鉛白市場發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國鎢鐵行業(yè)發(fā)展現(xiàn)狀及前景趨勢分析報告
- 2025-2030年中國轎車懸架彈簧轎行業(yè)發(fā)展狀況及前景趨勢分析報告
- 2025-2030年中國葡萄糖酸鈣市場競爭狀況及投資趨勢分析報告
- 2025-2030年中國色選機市場競爭格局及發(fā)展趨勢分析報告
- 2025-2030年中國紡織品直噴墨水行業(yè)發(fā)展趨勢與十三五規(guī)劃研究報告
- 2025-2030年中國立磨市場運行態(tài)勢及投資戰(zhàn)略研究報告
- 2025-2030年中國硫磺回收市場運行狀況及發(fā)展趨勢預測報告
- 2025-2030年中國石蠟行業(yè)市場運行狀況及發(fā)展策略分析報告
- T-CHAS 20-2-11-2022 醫(yī)療機構藥事管理與藥學服務 第2-11部分:臨床藥學服務 治療藥物監(jiān)測
- 質量部架構圖
- 結構化學-第1章講義課件
- 粉塵防爆安全管理臺賬-全套
- 廣州退休申請表范本
- 管道完整性管理方法及應用
- 傳媒侵權法介紹
- 麥茬花生高產(chǎn)栽培技術
- 玉米制種技術
- 中國旅游資源概述
- 高一下分科文科班第一次主題班會
評論
0/150
提交評論