




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2023/1/1516.380C51單片機(jī)的定時(shí)/計(jì)數(shù)器結(jié)構(gòu)基本型:T0,定時(shí)、計(jì)數(shù)。
T1,定時(shí)、計(jì)數(shù)、串口波特率發(fā)生器。增強(qiáng)型:增加了T2。見(jiàn)6.4節(jié)。6.3.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)和工作原理TH1、TL1TH0、TL0TCONTMOD2023/1/152工作原理---實(shí)質(zhì)是16位加1計(jì)數(shù)器定時(shí)器模式時(shí),對(duì)內(nèi)部機(jī)器周期計(jì)數(shù)。定時(shí)時(shí)間=計(jì)數(shù)值*機(jī)器周期計(jì)數(shù)器模式時(shí),是對(duì)外部脈沖計(jì)數(shù)。脈沖由T0(P3.4)或T1(P3.5)引腳輸入。
注意:(若計(jì)數(shù)值為N,計(jì)數(shù)初值為X)溢出信號(hào)使TF0或TF1置1,并發(fā)出中斷請(qǐng)求,16位時(shí)有:
X=65536-N12MHz晶振時(shí),計(jì)數(shù)頻率低于0.5MHz
2023/1/1536.3.2定時(shí)/計(jì)數(shù)器的控制工作方式寄存器TMOD
76543210TMODGATEC/TM1M0GATEC/TM1M0字節(jié)地址:89HGATE:門控位。GATE=0時(shí),只要TRx為1,就可啟動(dòng)計(jì)數(shù)器工作;GATA=1時(shí),定時(shí)器的啟動(dòng)還要加上INTx引腳為高電平這一條件。
C/T:模式選擇位。清0為定時(shí)模式,置1為計(jì)數(shù)方式。M1M0:工作方式設(shè)置位??稍O(shè)置四種工作方式(見(jiàn)下頁(yè))。2023/1/154M1M0工作方式說(shuō)明00方式013位定時(shí)/計(jì)數(shù)器01方式116位定時(shí)/計(jì)數(shù)器10方式28位自動(dòng)重裝定時(shí)/計(jì)數(shù)器11方式3T0分成兩個(gè)獨(dú)立的8位定時(shí)/計(jì)數(shù)器;T1此方式停止計(jì)數(shù)注意:TMOD不能進(jìn)行位尋址
2023/1/155控制寄存器TCON
76543210TCONTF1TR1TF0TR0字節(jié)地址:88HTFx:Tx溢出標(biāo)志位。響應(yīng)中斷后TFx有硬件自動(dòng)清0。用軟件設(shè)置TFx可產(chǎn)生同硬件置1或清0同樣的效果。TRx:Tx運(yùn)行控制位。置1時(shí)開(kāi)始工作;清0時(shí)停止工作。TRx要由軟件置1或清0(即啟動(dòng)與停止要由軟件控制)。2023/1/1566.3.3定時(shí)/計(jì)數(shù)器的工作方式T0有方式0、1、2、3;T1有方式0、1、2。以T0為例說(shuō)明。方式0:13位方式
2023/1/157
C/T=1時(shí),則為計(jì)數(shù)模式,有:
X=213-N=8192-NC/T=0時(shí),則為定時(shí)模式,有:
X=213-N=8192-N,N=t/Tcy【例5-3】若計(jì)數(shù)個(gè)數(shù)N為2,求計(jì)數(shù)初值。公式法計(jì)算:X=8192-2=8190=1FFEH求補(bǔ)法計(jì)算:對(duì)0000000000010B取反加1為:
1111111111110B(1FFEH)初值計(jì)算:公式法
求補(bǔ)法:X=對(duì)N求補(bǔ)2023/1/158門控位作用當(dāng)GATE=0時(shí)僅由TR0控制與門的開(kāi)啟。與門輸出1時(shí),控制開(kāi)關(guān)接通,計(jì)數(shù)開(kāi)始;當(dāng)GATE=1時(shí)與門的開(kāi)啟由INT0和TR0共同控制。這種方式可以用來(lái)測(cè)量INT0引腳上正脈沖的寬度。
注意:方式0的計(jì)數(shù)初值高8位和低5位確定麻煩
,實(shí)際應(yīng)用中常由16位的方式1取代。2023/1/159方式1:16位方式
X=216-N=65536-N計(jì)數(shù)范圍:1~65536
計(jì)數(shù)初值要分成2個(gè)字節(jié)分別送入TH0、TL02023/1/1510【例6-4】若要求定時(shí)器T0工作于方式1,定時(shí)時(shí)間為1ms,當(dāng)晶振為6MHz時(shí),求送入TH0和TL0的計(jì)數(shù)初值各為多少?應(yīng)怎樣送入TH0和TL0?由于晶振為6MHz,所以機(jī)器周期Tcy為2μS,因此:N=t/Tcy=1×10-3/2×10-6=500X=216-N=65536-500=65036=FE0CH也可以利用以下2條語(yǔ)句完成:
TH0=(65536-500)/256;
商為計(jì)數(shù)初值的高字節(jié)
TL0=(65536-500)%256;余數(shù)為計(jì)數(shù)初值的低字節(jié)分別將FEH送入TH0中,0CH送入TL0中即可。2023/1/1511方式2:8位自動(dòng)重裝方式
X=28-N=256-N計(jì)數(shù)范圍:1~256
特別適合與脈沖信號(hào)發(fā)生器2023/1/1512方式3:(僅T0有此方式,T1的方式3將停止計(jì)數(shù))
TL0進(jìn)行8位定時(shí)/計(jì)數(shù)
TH0進(jìn)行8位定時(shí)(T1方式2時(shí),可出借TR1、TF1)2023/1/15136.3.4定時(shí)/計(jì)數(shù)器應(yīng)用舉例初始化程序應(yīng)完成:對(duì)TMOD賦值,以確定T0和T1的工作方式;求初值,并寫入TH0、TL0或TH1、TL1;中斷方式時(shí),要對(duì)IE賦值,開(kāi)放中斷;使TR0或TR1置位,啟動(dòng)定時(shí)/計(jì)數(shù)器工作。2023/1/1514計(jì)數(shù)應(yīng)用【例6-3】有一包裝流水線,產(chǎn)品每計(jì)數(shù)24瓶時(shí)發(fā)出一個(gè)包裝控制信號(hào)。試編寫程序完成這一計(jì)數(shù)任務(wù)。用T0完成計(jì)數(shù),用P1.0發(fā)出控制信號(hào)。確定方式字:T0在計(jì)數(shù)的方式2時(shí):M1M0=10,GATE=0,C/T=1方式控制字為06H
求計(jì)數(shù)初值X:N=24X=256-24=232=E8H應(yīng)將E8H送入TH0和TL0中2023/1/1515while(1){
if(Flag==1){Flag=0;P37=0;P0=SegCode[Counter];DelayMs(20);P37=1; }}主程序(部分)
中斷服務(wù)程序
voidC0Isr()interrupt1{Flag=1;Counter++;
if(Counter==13)Counter=0;}2023/1/1516定時(shí)應(yīng)用定時(shí)時(shí)間較小時(shí)(小于70ms)。晶振為11.0592MHz時(shí),Tcy為1.085μS。可直接采用方式1完成定時(shí)任務(wù)。
【例6-4】利用定時(shí)/計(jì)數(shù)器T0的方式1,產(chǎn)生10ms的定時(shí),并使P2.7引腳上輸出周期為20ms的方波,采用中斷方式,設(shè)系統(tǒng)的晶振頻率為11.0592MHz。確定方式字:T0在定時(shí)的方式1時(shí):M1M0=01,GATE=0,C/T=0方式控制字為01H
求計(jì)數(shù)初值X:Tcy為1.085μSN=10ms/1.085μS=9216X=65536-9216=DC00H應(yīng)將DC送TH0,00H送TL0
2023/1/1517voidmain(void){TMOD=0x01;TL0=0xDC;TH0=0x00;IE=0x82;TR0=1;while(1); }主程序
中斷服務(wù)程序
voidT0Isr()interrupt1{P27=~P27;TL0=0xDC;TH0=0x00;}2023/1/1518定時(shí)時(shí)間較大時(shí)(大于70ms)。實(shí)現(xiàn)方法:一是采用1個(gè)定時(shí)器定時(shí)一定的間隔(如20ms),然后用軟件進(jìn)行計(jì)數(shù);二是采用2個(gè)定時(shí)器級(jí)聯(lián),其中一個(gè)定時(shí)器用來(lái)產(chǎn)生周期信號(hào)(如20ms為周期),然后將該信號(hào)送入另一個(gè)計(jì)數(shù)器的外部脈沖輸入端進(jìn)行脈沖計(jì)數(shù)。
【例6-5】編寫程序,實(shí)現(xiàn)用定時(shí)/計(jì)數(shù)器T0定時(shí),使P2.7引腳輸出周期為1s的方波。設(shè)系統(tǒng)的晶振頻率為11.0592MHz。確定方式字:T0在定時(shí)的方式1時(shí):M1M0=01,GATE=0,C/T=0方式控制字為01H
求計(jì)數(shù)初值X:Tcy為1μSN=20ms/12/11.0592=18432X=65536-18432=B800H應(yīng)將B8送TH0,00H送TL0
采用定時(shí)20ms,然后再計(jì)數(shù)25次的方法實(shí)現(xiàn)2023/1/1519voidmain(void){TMOD=0x01; TL0=0x00;TH0=0xB8;IE=0x82;TR0=1;while(1); }voidT0Isr()interrupt1{staticucharCounter;Counter++;
if(Counter==25){P27=~P27;Counter=0; } TL0=0x00;TH0=0xB8;}主程序
中斷服務(wù)程序
2023/1/1520門控位的應(yīng)用【例6-6】測(cè)量INT0引腳上出現(xiàn)的正脈沖寬度,并將結(jié)果(以機(jī)器周期的形式)存放在30H和31H兩個(gè)單元中。將T0設(shè)置為方式1的定時(shí)方式,且GATE=1,計(jì)數(shù)器初值為0,將TR0置1。INT0引腳上出現(xiàn)高電平時(shí),加1計(jì)數(shù)器開(kāi)始對(duì)機(jī)器周期計(jì)數(shù)。INT0引腳上信號(hào)變?yōu)榈碗娖綍r(shí),停止計(jì)數(shù)然后讀出TH0、TL0的值
單定時(shí)器產(chǎn)生多定時(shí)間隔(略)2023/1/1521while(1){TMOD=0x09;TL0=0;TH0=0;while(P32);TR0=1;while(!P32);while(P32);TR0=0;Low=TL0;High=TH0;}
主程序(部分)
6.480C52的定時(shí)/計(jì)數(shù)器T2T2矢量地址002BH;T2還增加了16位自動(dòng)重裝、捕獲及加減計(jì)數(shù)方式;1.0為計(jì)數(shù)輸入(T2),還可輸出脈沖;P1.1(EXT2)有捕獲/重裝方式觸發(fā)和檢測(cè)功能。6.4.1T2的相關(guān)控制寄存器工作方式寄存器T2MOD
76543210T2MODT2OEDCEN字節(jié)地址:C9HT2OE:輸出允許位。為1時(shí),允許定時(shí)時(shí)鐘從P1.0輸出。DCEN:計(jì)數(shù)方向控制使能位。為1時(shí),計(jì)數(shù)方向與P1.1有關(guān),P1.1為1時(shí),為減計(jì)數(shù),P1.1為0時(shí),為加計(jì)數(shù)??刂萍拇嫫鱐2CONTF2:溢出標(biāo)志位。不自動(dòng)清0(與TF0和TF1不同)。EXF2:T2外部中斷標(biāo)志位。在捕捉和自動(dòng)重裝方式下,當(dāng)EXEN2=1時(shí),在T2EX引腳發(fā)生負(fù)跳變會(huì)使EXF2置位(軟件清0)。RCLK:串行口接收時(shí)鐘選擇。TCLK:串行口發(fā)送時(shí)鐘選擇。EXEN2:外部觸發(fā)使能位。TR2:T2的運(yùn)行控制位。C/T2:T2的定時(shí)或計(jì)數(shù)功能選擇位。CP/RL2:捕捉或重裝選擇位。6.4.2T2的工作方式
捕捉方式EXEN2=1時(shí),捕捉方式。在引腳T2EX(P1.1)發(fā)生有效負(fù)跳變時(shí),會(huì)把TH2和TL2的內(nèi)容鎖入捕捉寄存器RCAP2H和RCAP2L中。并使EXF2置位,向CPU申請(qǐng)中斷。
自動(dòng)重裝方式
DCEN=0時(shí),向上計(jì)數(shù)EXEN2=0時(shí),計(jì)數(shù)溢出使RCAP2H和RCAP2L的值重裝到TH2和TL2中,并使TF2置位,向CPU申請(qǐng)中斷。EXEN2=1時(shí),T2EX(P1.1)引腳負(fù)跳變會(huì)使RCAP2H和RCAP2L的值重裝到TH2和TL2中,并使EXF2置位,并向CPU申請(qǐng)中斷。
DCEN=1
時(shí),計(jì)數(shù)方向可選的計(jì)數(shù)重裝當(dāng)P1.1=0時(shí),減計(jì)數(shù),當(dāng)TH2和TL2與RCAP2H和RCAP2L的值對(duì)應(yīng)相等時(shí),計(jì)數(shù)器溢出,并將FFH加載到TH2和TL2。當(dāng)P
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 貝雷梁施工方案
- 回轉(zhuǎn)清污機(jī)維護(hù)施工方案
- 貼墻移門施工方案
- 錨桿土釘支護(hù)施工方案
- 地下室內(nèi)水泥地面施工方案
- 河閃渡烏江特大橋施工方案
- 小學(xué)英語(yǔ)家長(zhǎng)會(huì)發(fā)言稿
- 幽默的代表發(fā)言稿
- 反邪教 發(fā)言稿
- 大理石電視墻地面施工方案
- 新版現(xiàn)代西班牙語(yǔ)學(xué)生用書第一冊(cè)課后習(xí)題答案
- 科技成果查新檢索基本情況表
- 新媒體藝術(shù)設(shè)計(jì)交互融合元宇宙
- 家長(zhǎng)會(huì)課件:七年級(jí)家長(zhǎng)會(huì)優(yōu)質(zhì)課件
- 《AutoCAD 中文版實(shí)例教程(AutoCAD 2020) (微課版)(第 2 版)》課件 馬連志 第1、2章 AutoCAD 2020 中文版入門、繪圖設(shè)置
- 小學(xué)一年級(jí)硬筆書法入門班教學(xué)課件
- 社會(huì)工作-心理學(xué)視角下的校園欺凌認(rèn)知與對(duì)策研究論文
- 面神經(jīng)炎臨床路徑
- 月光奏鳴曲全面版
- 2022年湖北省中小學(xué)教師高級(jí)職稱專業(yè)水平能力測(cè)試模擬題
- 數(shù)控車床操作培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論