版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第六章定 時(shí) 器 及 應(yīng) 用,主講:康科鋒,第六章 定時(shí)器及應(yīng)用,在測控系統(tǒng)中,常常需要有實(shí)時(shí)時(shí)鐘和計(jì)數(shù)器,以實(shí)現(xiàn)定時(shí)控制以及對(duì)外界事件進(jìn)行計(jì)數(shù)。MCS-51內(nèi)部的兩個(gè)16位定時(shí)器/計(jì)數(shù)器就具有這兩種功能,可用于定時(shí)控制、延時(shí)、對(duì)外部事件計(jì)數(shù)和檢測等場合。,定時(shí)器概述,定時(shí)器的控制,定時(shí)器的四種模式及應(yīng)用,定時(shí)器的結(jié)構(gòu)和功能,工作寄存器和控制寄存器,模式1、2、3及應(yīng)用,這些寄存器之間是通過內(nèi)部總線和控制邏輯電路連接起來的。,6.1 定時(shí)器概述,6.1 定時(shí)器概述,89C51定時(shí)器的結(jié)構(gòu)如圖6-1 所示。 有兩個(gè)16位的定時(shí)器/計(jì)數(shù)器,即T0和T1,它們實(shí)際上都是16位加1計(jì)數(shù)器。 T0由兩個(gè)
2、8位特殊功能寄存器TH0和TL0構(gòu)成;T1由TH1和TL1構(gòu)成。這些寄存器用于存放定時(shí)和計(jì)數(shù)初值。,0000H FFFFH 0 65535,6.1 定時(shí)器概述, 每個(gè)定時(shí)器都可由軟件設(shè)置為定時(shí)工作方式或計(jì)數(shù)工 作方式及其他靈活多樣的可控功能方式。這些功能由 特殊功能寄存器TMOD和TCON所控制。, TMOD 主要用于選定定時(shí)器的工作方式; TCON主要用于控制定時(shí)器的啟動(dòng)與停止。,6.1 定時(shí)器概述,16位的定時(shí)器/計(jì)數(shù)器的實(shí)質(zhì)上是一個(gè)加1的計(jì)數(shù)器, 其控制電路受軟件控制、切換。計(jì)數(shù)的次數(shù)和時(shí)間之間 是相關(guān)的。,只要計(jì)數(shù)脈沖的間隔相等,計(jì)數(shù)值就代表時(shí)間的流逝,6.1 定時(shí)器概述, 定時(shí)工作方
3、式,當(dāng)定時(shí)器/計(jì)數(shù)器為定時(shí)工作方式時(shí),加1信號(hào)由振蕩器 的12分頻產(chǎn)生,即每過一個(gè)機(jī)器周期,計(jì)數(shù)值增1,直 至計(jì)滿溢出為止。 顯然,定時(shí)器的定時(shí)時(shí)間與系統(tǒng)的振蕩頻率有關(guān)。由于 一個(gè)機(jī)器周期等于12個(gè)振蕩周期,所以計(jì)數(shù)頻率,fcount= 1/12 fosc,6.1 定時(shí)器概述, 定時(shí)工作方式,例:晶振為12MHz ,則計(jì)數(shù)周期為,T=1/(12*106)Hz*1/12 =1微秒 最短的定時(shí)周期,當(dāng)8051采用12MHz晶振時(shí),一個(gè)機(jī)器周期為1s,計(jì)數(shù)頻率為1MHz。,6.1 定時(shí)器概述, 計(jì)數(shù)工作方式,當(dāng)定時(shí)器/計(jì)數(shù)器為計(jì)數(shù)工作方式時(shí),通過引腳T0和T1 對(duì)外部信號(hào)計(jì)數(shù),外部脈沖的下降沿觸發(fā)計(jì)
4、數(shù)。,在每個(gè)機(jī)器周期的 S5P2期間采樣引腳。,采樣過程:,當(dāng)輸入脈沖信號(hào)產(chǎn)生由1至0的下降沿時(shí)定時(shí)器的值加1。,Tcy,Tcy,6.1 定時(shí)器概述, 計(jì)數(shù)工作方式,由于CPU檢測一個(gè)由1到0的跳變需要兩個(gè)機(jī)器周期, 所以計(jì)數(shù)的最高頻率為振蕩頻率的1/24。 為了確保給定電平在變化前至少被采樣一次,外部計(jì)數(shù) 脈沖的高低電平均需保持一個(gè)機(jī)器周期以上。,6.1 定時(shí)器概述,經(jīng)過分析,我們知道單片機(jī)中的定時(shí)器和計(jì)數(shù)器是一個(gè)東西,只不過計(jì)數(shù)器用來記錄外界發(fā)生的事情,而定時(shí)器則是由單片機(jī)提供的一個(gè)非常穩(wěn)定的計(jì)數(shù)源。 定時(shí)器/計(jì)數(shù)器是一種可編程部件,在其開始工作前,CPU必須將一些命令(控制字)寫入定時(shí)器
5、/計(jì)數(shù)器。這個(gè)過程稱為定時(shí)器/計(jì)數(shù)器的初始化。,6.1 定時(shí)器概述,當(dāng)CPU用軟件給定時(shí)器設(shè)置了某種工作方式之后,定時(shí)器就會(huì)按設(shè)定的工作方式獨(dú)立運(yùn)行,不再占用CPU的操作時(shí)間,除非定時(shí)器計(jì)數(shù)溢出,才可能中斷CPU當(dāng)前操作。,每個(gè)定時(shí)器/計(jì)數(shù)器還有4種工作模式。其中模式0-2對(duì)T0和T1是一樣的,模式3對(duì)兩者不同。,6.2 定時(shí)器的控制,定時(shí)器共有兩個(gè)控制字,由軟件寫入TMOD和TCON兩個(gè)8位寄存器,用來設(shè)置T0或T1的操作模式和控制功能。當(dāng)89C51系統(tǒng)復(fù)位時(shí),兩個(gè)寄存器所有位都被清零。,6.2 定時(shí)器的控制,TMOD用于控制T0和T1的工作模式。 TMOD不能位尋址,只能用字節(jié)設(shè)置定時(shí)器的
6、工作模式,低半字節(jié)設(shè)置T0,高半字節(jié)設(shè)置T1。 89C51系統(tǒng)復(fù)位時(shí),TMOD的所有位被清0。,89H,圖6-3 工作模式寄存器TMOD的位定義,6.2 定時(shí)器的控制,定時(shí)器T1,定時(shí)器T0,TMOD (89H),D7 D6 D5 D4 D3 D2 D1 D0,TMOD各位的功能, M1和M0操作模式控制位。 兩位可形成四種編碼,對(duì)應(yīng)于四種模式。見表6-1。,TMOD各位的功能:,6.2 定時(shí)器的控制,D7 D6 D5 D4 D3 D2 D1 D0,定時(shí)器T1,定時(shí)器T0,表6-1 M1,M0控制的四種工作模式,6.2 定時(shí)器的控制,TMOD各位的功能, C/T計(jì)數(shù)器/定時(shí)器方式選擇位。,6.
7、2 定時(shí)器的控制,D7 D6 D5 D4 D3 D2 D1 D0,TMOD各位的功能, GATE門控位。,6.2 定時(shí)器的控制,D7 D6 D5 D4 D3 D2 D1 D0, GATE=0,只要用軟件使TR0(或TR1)置1就可啟動(dòng)定時(shí)器,而不管INT0(或INT1)的電平的高低; GATE=1,只有INT0(或INT1)引腳為高電平且由軟件使TR0(或TR1)置1時(shí),才能啟動(dòng)定時(shí)器工作。,6.2 定時(shí)器的控制,6.2 定時(shí)器的控制,TCON除可字節(jié)尋址外,各位還可位尋址。 89C51系統(tǒng)復(fù)位時(shí),TCON的所有位被清0。 TCON各位的定義格式如圖所示:,TF1,TR1,TF0,TR0,IE
8、1,IE0,IT1,IT0,TCON (88H),8FH 8EH 8DH 8CH 8BH 8AH 89H 88H,TCON各位的功能。,88H,TMOD各位的功能,6.2 定時(shí)器的控制,TF1,TR1,TF0,TR0,IE1,IE0,IT1,IT0,TCON (88H),8FH 8EH 8DH 8CH 8BH 8AH 89H 88H, TF1(TCON.7) T1溢出標(biāo)志位。, 當(dāng)T1溢出時(shí),由硬件自動(dòng)使中斷觸發(fā)器TF1置1, 并CPU申請(qǐng)中斷。 當(dāng)CPU響應(yīng)中斷進(jìn)入中斷服務(wù)程序后,TF1由被硬 件自動(dòng)清0。TF1也可以用軟件清0。, TF0 (TCON.5)T0溢出標(biāo)志位。 其功能和操作情況
9、同TF1。,TMOD各位的功能,6.2 定時(shí)器的控制,TF1,TR1,TF0,TR0,IE1,IE0,IT1,IT0,TCON (88H),8FH 8EH 8DH 8CH 8BH 8AH 89H 88H, TR1(TCON.6) T1運(yùn)行控制位。, 可通過軟件置1(TR1=1)或清0(TR1=0)來啟動(dòng) 或關(guān)閉 T1。 在程序中用指令“SETB TR1”使TR1位置1,定時(shí)器 T1便開始計(jì)數(shù)。, TR0 (TCON.4)T0運(yùn)行控制位。 其功能和操作情況同TR1。,TMOD各位的功能,6.2 定時(shí)器的控制,TF1,TR1,TF0,TR0,IE1,IE0,IT1,IT0,TCON (88H),8
10、FH 8EH 8DH 8CH 8BH 8AH 89H 88H, IE1,IT1,IE0,IT0(TCON.3TCON.0), 外部中斷INT1,INT0請(qǐng)求及請(qǐng)求方式控制位。 前一章已經(jīng)講過。,6.2 定時(shí)器的控制,6.3 定時(shí)器的4種模式及應(yīng)用,由上節(jié)可知,通過對(duì)TMOD中的M1、M0的設(shè)置,可以選擇四種工作方式。也就是每個(gè)定時(shí)器可構(gòu)成4種電路結(jié)構(gòu)模式。,在模式0、1和2,T0和T1的工作方式相同,在模式3,兩個(gè)定時(shí)器的方式不同。下面以T1為例,分述各種工作方式的特點(diǎn)和用法。,6.3 定時(shí)器的4種模式及應(yīng)用,模式0為TL0(5位)、TH0(8位)方式,模式1為TL1(8位)、TH1(8位)方
11、式,其余完全相同。,13位計(jì)數(shù),6.3 定時(shí)器的4種模式及應(yīng)用,(1)模式 1 的邏輯電路結(jié)構(gòu),圖6-7 T0(或T1)模式1結(jié)構(gòu)16位計(jì)數(shù)器,6.3 定時(shí)器的4種模式及應(yīng)用,(1)模式 1 的邏輯電路結(jié)構(gòu),該模式對(duì)應(yīng)的是一個(gè)16位的定時(shí)器/計(jì)數(shù)器。 用于定時(shí)工作方式時(shí),定時(shí)時(shí)間為: t=(216T0初值)振蕩周期12 用于計(jì)數(shù)工作方式時(shí),計(jì)數(shù)長度最大為: 216=65536(個(gè)外部脈沖),例6-1:用定時(shí)器T1產(chǎn)生一個(gè)50Hz的方波,由 P1.1 輸出。使用程序查詢方式,fosc=12MHz。,6.3 定時(shí)器的4種模式及應(yīng)用,(2)模式 1 應(yīng)用舉例(例6-1),解: 方波周期T=1/50=
12、0.02s =20ms 用T1定時(shí)10ms 計(jì)數(shù)初值X為: X=21612101000/12 =65 53610 000=55536=D8F0H,源程序清單: MOV TMOD,#10H ;設(shè)置T1為模式1 SETB TR1 ;啟動(dòng)定時(shí) LOOP: MOV TH1,#0D8H ;送初值 MOV TL1,#0F0H JNB TF1,$ ;查詢定時(shí)時(shí)間到否 CLR TF1 ;產(chǎn)生溢出,清標(biāo)志位 CPL P1.1 ;P1.1取反輸出 SJMP LOOP ;重復(fù)循環(huán),6.3 定時(shí)器的4種模式及應(yīng)用,(2)模式 1 應(yīng)用舉例(例6-4),6.3 定時(shí)器的4種模式及應(yīng)用,(1)模式 2 的邏輯電路結(jié)構(gòu),圖
13、6-7 T0(或T1)模式2結(jié)構(gòu)8位計(jì)數(shù)器,6.3 定時(shí)器的4種模式及應(yīng)用,(1)模式2的邏輯電路結(jié)構(gòu),TL0計(jì)數(shù)溢出時(shí),不僅使溢出中斷標(biāo)志位TF0置1,而且還自動(dòng)把TH0中的內(nèi)容重新裝載到TL0中。 用TL0用作8位計(jì)數(shù)器,TH0用以保存初值。,6.3 定時(shí)器的4種模式及應(yīng)用,(2)模式2的工作特點(diǎn),該模式把TL0(TL1)配置成一個(gè)可以自動(dòng)重裝載的8位定時(shí)器/計(jì)數(shù)器; 在程序初始化時(shí),TL0和TH0由軟件賦予相同的初值; 用于定時(shí)工作方式時(shí),定時(shí)時(shí)間為: t=(28TH0初值)振蕩周期12,6.3 定時(shí)器的4種模式及應(yīng)用,(2)模式2的工作特點(diǎn),用于計(jì)數(shù)工作方式時(shí),計(jì)數(shù)長度最大為:28=2
14、56(個(gè)外部脈沖); 該模式可省去軟件中重裝常數(shù)的語句,并可產(chǎn)生相當(dāng)精確的定時(shí)時(shí)間,適合于作串行口波特率發(fā)生器。,例6-2:利用定時(shí)器T1的模式2對(duì)外部信號(hào)計(jì)數(shù)。 要求設(shè)計(jì)滿100次,將 P1.0端取反。,6.3 定時(shí)器的4種模式及應(yīng)用,解: (1)選擇模式 外部信號(hào)由T1(P3.5)引腳輸入,每發(fā)生一次負(fù)跳變計(jì)數(shù)器加1,每輸入100個(gè)脈沖,計(jì)數(shù)器發(fā)生溢出中斷,中斷服務(wù)程序?qū)1.0取反一次。,6.3 定時(shí)器的4種模式及應(yīng)用,(1)選擇模式 T1計(jì)數(shù)工作方式模式2的模式字為(TMOD)=60H。 T0不用時(shí),TMOD的低4位可任取,但不能進(jìn)入模式 3,一般取0。,(2)計(jì)算T1的計(jì)數(shù)初值,X=
15、 28 100=156D=9CH 因此:TL1的初值為9CH, 重裝初值寄存器TH1=9CH。,(3)程序清單 MAIN: MOV TMOD,#60H ;設(shè)置T1為模式2,外部計(jì)數(shù)方式 MOV TL1,#9CH ;T1計(jì)數(shù)器初值 MOV TH1,#9CH MOV IE,#88H ; 定時(shí)器開中斷 SETB TR1 ;啟動(dòng)T1計(jì)數(shù) HERE:SJMP HERE ;等待中斷 ORG 001BH ;中斷服務(wù)程序入口 CPL P1.0 RETI,6.3 定時(shí)器的4種模式及應(yīng)用,例6-3 :已知89C51單片機(jī)的fOSC=6MHz,請(qǐng)利用 T0和P1.0輸出矩形波。矩形波高電平寬為 50s,低電平為30
16、0 s。,解: (1)輸出及模式的確定,6.3 定時(shí)器的4種模式及應(yīng)用,T0采用定時(shí)工作方式模式2,模式字為( TMOD )= 02H,(2)設(shè)置定時(shí)器初值X,6.3 定時(shí)器的4種模式及應(yīng)用,T0采用模式2作50s定時(shí)的初值:,(28X)12/(6 106) =5010-6 s X=256 5010-6 6 106 /12 =231=E7H,作300s定時(shí)的初值:,(28X)12/(6 106) =30010-6 s X=256 30010-6 6 106 /12 =106=6AH,(3)主程序清單 MOV TMOD, #02H ;上電,轉(zhuǎn)向主程序 L2: CLR P1.0 ;P1.0輸出低電
17、平 CLR TR0 ;關(guān)閉T0 MOV TH0, #6AH ;置入定時(shí)300s初值 MOV TL0, #6AH SETB TR0 ;啟動(dòng)T0,6.3 定時(shí)器的4種模式及應(yīng)用,LOOP1: JBC TF0, L1 ;查詢300s時(shí)間到?到轉(zhuǎn)L1 SJMP LOOP1 ;時(shí)間未到,轉(zhuǎn)LOOP1,繼續(xù)查詢,L1: SETB P1.0 ;P1.0輸出高電平 CLR TR0 ;關(guān)閉T0 MOV TH0, #0E7H ;置入定時(shí)50s初值 MOV TL0, #0E7H SETB TR0 ;啟動(dòng)T0,6.3 定時(shí)器的4種模式及應(yīng)用,LOOP2: JBC TF0, L2 ;查詢50s時(shí)間到?到轉(zhuǎn)L2 SJMP
18、 LOOP2 ;時(shí)間未到,轉(zhuǎn)LOOP2,繼續(xù)查詢,例6-4 :已知89C51單片機(jī)的fOSC=12MHz,采用T1 定時(shí)模式2。編寫由P1.0和P1.1引腳分別 輸出周期為2ms和500s的方波。,解:(1)輸出及模式的確定,6.3 定時(shí)器的4種模式及應(yīng)用,500s,2ms,P1.1,T1采用定時(shí)工作方式模式2,模式字為( TMOD )= 20H,P1.0,(2)設(shè)置定時(shí)器初值X,6.3 定時(shí)器的4種模式及應(yīng)用,T1采用模式2作250s定時(shí)的初值:,(28X)12/(12 106) =25010-6 s X=256 25010-612 106 /12 =6=06H,T1的低8位為06H,高8位為06H,(3)主程序清單 MOV R2, #04H ;R2為計(jì)數(shù)器,計(jì)1ms,初值為4 CLR P1.0 ;P1.0,P1.1輸出低電平 CLR P1.1
最新文檔
- 2025安徽建筑安全員-B證考試題庫附答案
- 貴州財(cái)經(jīng)職業(yè)學(xué)院《材料與施工工藝》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽幼兒師范高等??茖W(xué)?!豆芾韺W(xué)概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年上海市建筑安全員考試題庫及答案
- 2025年河南省建筑安全員考試題庫附答案
- 貴陽信息科技學(xué)院《薪酬與福利》2023-2024學(xué)年第一學(xué)期期末試卷
- 硅湖職業(yè)技術(shù)學(xué)院《食品試驗(yàn)設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽學(xué)院《物理污染控制工程》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025云南省建筑安全員C證考試題庫
- 廣州新華學(xué)院《音樂劇演唱(2)》2023-2024學(xué)年第一學(xué)期期末試卷
- 8年級(jí)上冊(人教版)物理電子教材-初中8~9年級(jí)物理電子課本
- 不動(dòng)產(chǎn)登記申請(qǐng)表
- 2024年中國中鐵十局招聘高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 項(xiàng)目資金管理統(tǒng)籌實(shí)施方案
- 高中英語新課程標(biāo)準(zhǔn)解讀課件
- 國家開放大學(xué)電大《金融市場》教學(xué)考一體化網(wǎng)考形考試題及答案-圖文
- 政治-經(jīng)濟(jì)與社會(huì) 教材探究與分享參考答案高中政治統(tǒng)編版必修二
- 2024年P(guān)URL系列反應(yīng)型皮革用聚氨酯乳液項(xiàng)目合作計(jì)劃書
- GB/T 44328-2024七氟異丁腈
- 湖南省常德市桃源縣市級(jí)名校2024年中考數(shù)學(xué)模試卷含解析
- 山里的夜(2022年浙江金華中考語文試卷記敘文閱讀題及答案)
評(píng)論
0/150
提交評(píng)論