版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
5.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)
5.2工作方式
5.3綜合應(yīng)用第5章定時(shí)/計(jì)數(shù)器
主要內(nèi)容:5.1定時(shí)/計(jì)數(shù)器的結(jié)構(gòu)TCONTMOD
基本原理
基本部件是兩個(gè)8位的計(jì)數(shù)器(其中TH1,TL1是T1的計(jì)數(shù)器,TH0,TL0是T0的計(jì)數(shù)器)兩種工作模式:定時(shí)和計(jì)數(shù)通過(guò)TMOD中C/T※位來(lái)控制。定時(shí):其計(jì)數(shù)脈沖來(lái)源于晶振(經(jīng)12分頻后提供)每個(gè)機(jī)器周期使定時(shí)器加1。計(jì)數(shù)方式時(shí):對(duì)外部事件計(jì)數(shù),接相應(yīng)的外部輸入引腳T0(P3.4)或T1(P3.5)。在這種情況下,檢測(cè)到輸入引腳上的電平由高跳變到低時(shí),計(jì)數(shù)器就加1。最高計(jì)數(shù)頻率為晶振的1/24。
1工作方式控制寄存器TMOD
2啟停與中斷控制器TCON字節(jié)地址88H(1)確定工作方式——對(duì)TMOD賦值。若賦值語(yǔ)句為:MOV TMOD #10H(2)預(yù)置定時(shí)或計(jì)數(shù)的初值——直接將初值寫(xiě)入TH0、TL0或TH1、TL1。定時(shí)/計(jì)數(shù)器的初值因工作方式的不同而不同。設(shè)最大值為M,則各種工作方式下M值如下:
方式0:M=213=8192
方式1:M=216=65536
方式2:M=28=256
方式3:定時(shí)器0分為兩個(gè)8位計(jì)數(shù)器,所以?xún)蓚€(gè)定時(shí)器的M值均為256。
因定時(shí)/計(jì)數(shù)器工作的實(shí)質(zhì)是做“加1”計(jì)數(shù),所以,當(dāng)最大計(jì)數(shù)值M值已知時(shí),初值X可計(jì)算如下:
X=M–計(jì)數(shù)值3定時(shí)/計(jì)數(shù)器的初始化定時(shí)器采用方式1定時(shí),M=65536,如要求每50ms溢出一次,采用12MHz晶振,則計(jì)數(shù)周期T=1μs,計(jì)數(shù)值=50000,所以,計(jì)數(shù)初值為:X=65536–50000=15536=3CB0H將3C、B0、分別預(yù)置給TH1、TL1。(3)根據(jù)需要開(kāi)啟定時(shí)/計(jì)數(shù)器中斷——直接對(duì)IE寄存器賦值。(4)啟動(dòng)定時(shí)/計(jì)數(shù)器工作——將TR0或TR1置“1”。
GATE=0時(shí),直接由軟件置位啟動(dòng);
GATE=1時(shí),除軟件置位外,還必須在外中斷引腳處加上相應(yīng)的電平值才能啟動(dòng)。例5-1中因GATE=0,所以直接由軟件置位啟動(dòng),其指令為:
SETB TR15.2工作方式(1)方式0
由THX的8位和TLX的低5位組成13位計(jì)數(shù)器
13位計(jì)數(shù)加1到全“1”,再加1就產(chǎn)生溢出,置TCON的TFX位為1,同時(shí)計(jì)數(shù)器全變?yōu)椤?”定時(shí)/計(jì)數(shù)方式0時(shí)的邏輯電路結(jié)構(gòu)圖解:1)確定工作方式
2)預(yù)置定時(shí)或計(jì)數(shù)的初值
3)編得1s延時(shí)子程序如下:例5.1系統(tǒng)時(shí)鐘頻率12MHZ,用定時(shí)器1,方式0實(shí)現(xiàn)1s的延時(shí)。X的實(shí)際填寫(xiě)值應(yīng)為X=0110001100011000B=6318H即TH1=63H,TL1=18H。則定時(shí)器1的初值X=M–計(jì)數(shù)值=8192–5000=3192=C78H=0110001111000BMOV TMOD,#00HDELAY:MOV R3,#200 ;置5ms計(jì)數(shù)循環(huán)初值
MOV TMOD,#00H ;設(shè)定時(shí)器1為方式0 MOV TH1,#63H ;置定時(shí)器初值
MOV TL1,#18H SETB TR1 ;啟動(dòng)T1LP1: JBC TF1,LP2 ;查詢(xún)計(jì)數(shù)溢出
SJMP LP1 ;未到5ms繼續(xù)計(jì)數(shù)LP2: MOV TH1,#63H ;重新置定時(shí)器初值
MOV TL1,#18H DJNZ R3,LP1 ;未到1s繼續(xù)循環(huán)
RET ;返回主程序(2)方式1
唯一的差別是THX和TLX組成一個(gè)16位計(jì)數(shù)器。
上例中X=65536–50000=15536=3CB0H定時(shí)/計(jì)數(shù)方式1時(shí)的邏輯電路結(jié)構(gòu)圖(3)方式2
方式2是將兩個(gè)8位計(jì)數(shù)器THX和TLX分成獨(dú)立的兩部分,初始常數(shù)自動(dòng)重新裝入設(shè)置初值時(shí)同時(shí)送THX和TLX定時(shí)/計(jì)數(shù)方式2例5.2試用定時(shí)器1,方式2實(shí)現(xiàn)1s延時(shí)。解:因方式2是8位計(jì)數(shù)器,其最大定時(shí)時(shí)間為:256×1μs=256μs,為實(shí)現(xiàn)1s延時(shí),可選擇定時(shí)時(shí)間為250μs,再循環(huán)4000次。定時(shí)時(shí)間選定后,可確定計(jì)數(shù)值為250,則定時(shí)器1的初值為:X=M–計(jì)數(shù)值=256–250=6=6H
采用定時(shí)器1,方式2工作,因此,TMOD=20H。
DELAY: MOV R5,#28H ;置25ms計(jì)數(shù)循環(huán)初值
MOV R6,#64H ;置250μs計(jì)數(shù)循環(huán)初值
MOV TMOD,#20H;置定時(shí)器1為方式2 MOV TH1,#06H ;置定時(shí)器初值
MOV TL1,#06H SETB TR1 ;啟動(dòng)定時(shí)器LP1: JBC TF1,LP2 ;查詢(xún)計(jì)數(shù)溢出
SJMP LP1 ;無(wú)溢出繼續(xù)計(jì)數(shù)LP2: DJNZ R6,LP1 ;未到25ms繼續(xù)循環(huán)
MOV R6,#64H DJNZ R5,LP1 ;未到1s繼續(xù)循環(huán)
RET 可編得1s延時(shí)子程序如下:(4)方式3:只適用于T0,TL0組成完整的8位定時(shí)/計(jì)數(shù)器;TH0只作為定時(shí)器用,借用T1的控制位TR1和TF1;T1還可以設(shè)置為方式0~2,用于任何不需要中斷的場(chǎng)合。TF1TH0(8位)例5.3用定時(shí)器0,方式3實(shí)現(xiàn)1s延時(shí)。解:根據(jù)題意,定時(shí)器0中的TH0只能為定時(shí)器,定時(shí)時(shí)間可設(shè)為250μs;TL0設(shè)置為計(jì)數(shù)器,計(jì)數(shù)值可設(shè)為200。TH0計(jì)滿溢出后,用軟件復(fù)位的方法使T0(P3.4)引腳產(chǎn)生負(fù)跳變,TH0每溢出一次,T0引腳便產(chǎn)生一個(gè)負(fù)跳變,TL0便計(jì)數(shù)一次。TL0計(jì)滿溢出時(shí),延時(shí)時(shí)間應(yīng)為50ms,循環(huán)20次便可得到1s的延時(shí)。由上述分析可知,
TH0計(jì)數(shù)初值為X=(256–250)=6=06H
TL0計(jì)數(shù)初值為X=(256–200)=56=38H
TMOD=00000111B=07H可編得1s延時(shí)子程序如下:DELAY:MOV R3,#14H ;置1000ms計(jì)數(shù)循環(huán)初值
MOV TMOD,#07H ;置定時(shí)器0為方式3計(jì)數(shù)
MOV TH0,#06H ;置TH0初值
MOV TL0,#38H ;置TL0初值
SETB TR0 ;啟動(dòng)TL0 SETB TR1 ;啟動(dòng)TH0LP1: JBC TF1,LP2 ;查詢(xún)TH0計(jì)數(shù)溢出
SJMP LP1 ;未到250μs繼續(xù)循環(huán)LP2: MOV TH0,#06H ;重置TH0初值
CLR P3.4 ;T0引腳產(chǎn)生負(fù)跳變
NOP ;負(fù)跳變持續(xù)
NOP SETB P3.4 ;T0引腳恢復(fù)高電平
JBC TF0,LP3 ;查詢(xún)TL0計(jì)數(shù)溢出
SJMP LP1 ;200次未到繼續(xù)計(jì)數(shù)LP3: MOV TL0,#38H ;重置TL0初值
DJNZ R3,LP1 ;未到1s繼續(xù)循環(huán)
RET
例5.4用單片機(jī)定時(shí)/計(jì)數(shù)器設(shè)計(jì)一個(gè)秒表,由P1口連接的LED采用BCD碼顯示,發(fā)光二極管亮表示0,暗表示1。計(jì)滿60s后從頭開(kāi)始,依次循環(huán)。解:定時(shí)器0工作于定時(shí)方式1,產(chǎn)生1s的定時(shí)。定時(shí)器1工作在方式2,當(dāng)1s時(shí)間到時(shí),由軟件復(fù)位T1(P3.5)腳,產(chǎn)生負(fù)跳變,再由定時(shí)器1進(jìn)行計(jì)數(shù),計(jì)滿60次(1分鐘)溢出,再重新開(kāi)始計(jì)數(shù)。5.3綜合應(yīng)用按上述設(shè)計(jì)思路可知:方式寄存器TMOD的控制字應(yīng)為61H;定時(shí)器1的初值應(yīng)為:256-60=196=0C4H其源程序可設(shè)計(jì)如下:
ORG 0000H MOV TMOD,#61H ;置定時(shí)器0為方式1 定時(shí),置定時(shí)器1為方式2定時(shí)
MOV TH1,#0C4H ;定時(shí)器1置初值
MOV TL1,#0C4H SETB TR0 ;啟動(dòng)定時(shí)器1DISP: MOV A,#00H ;計(jì)數(shù)顯示初始化
MOV P1,ACONT:ACALL DELAY CLR P3.5 ;T1引腳產(chǎn)生負(fù)跳變
NOP NOP SETB P3.5 ;T1引腳恢復(fù)高電平
INC A ;累加器加1 DA A ;將16進(jìn)制數(shù)轉(zhuǎn)換成BCD數(shù)
MOV P1,A ;點(diǎn)亮發(fā)光二極管
JBC TF1,DISP ;查詢(xún)定時(shí)器1計(jì)數(shù)溢出
SJMP CONT ;60s不到繼續(xù)計(jì)數(shù)DELAY:MOV R3,#14H ;置50ms計(jì)數(shù)循環(huán)初值
MOV TH0,#3CH ;置定時(shí)器初值
MOV TL0,#0B0H SETB TR0 ;啟動(dòng)定時(shí)器0LP1: JBC TF0,LP2 ;查詢(xún)計(jì)數(shù)溢出
SJMP LP1 ;未到50ms繼續(xù)計(jì)數(shù)LP2: MOV TH0,#3CH ;重新置定時(shí)器初值
MOV TL0,#0B0H DJNZ R3,LP1 ;未到1s繼續(xù)循環(huán)
RET END思考與練習(xí)1MCS-51單片機(jī)內(nèi)設(shè)有幾個(gè)定時(shí)/計(jì)數(shù)器?它們是由哪些特殊功能寄存器組成?定時(shí)/計(jì)數(shù)器作定時(shí)器用時(shí),其定時(shí)時(shí)間與哪些因素有關(guān)?作計(jì)數(shù)器用時(shí),對(duì)外界計(jì)數(shù)頻率有何限制?已知80C51單片機(jī)系統(tǒng)時(shí)鐘頻率為6MHZ,請(qǐng)利用定時(shí)器T0和P1.2輸出矩形脈沖,其波形如下:
50μs350μs答:設(shè)置T0為方式2定時(shí),定時(shí)50μs,初值X為:
X=28-(6×106×50×10-6)÷12=231=0E7HTH0=TL0=0E7H,TMOD=02H源程序如下:
MOV TMOD, #02H MOV TH0, #0E7H MOV TL0, #0E7H SETB TR0L1: SETB P1.2 MOV R0, #08HDEL: JBC TF0, REP AJMP DELREP: CLR P1.2 DJNZ R0, DEL AJMP L148051單片機(jī)系統(tǒng)時(shí)鐘頻率為12MHZ,請(qǐng)編程使P1.0和P1.1分別輸出周期為2ms和500μs的方波。方法1:選用T0定時(shí),工作于方式3方法2:選用T1定時(shí),工作于方式25、51單片機(jī)定時(shí)器/計(jì)數(shù)器作定時(shí)和計(jì)數(shù)用時(shí),其計(jì)數(shù)脈沖分別由誰(shuí)提供?
6、簡(jiǎn)述如何使用51單片機(jī)內(nèi)部定時(shí)器/計(jì)數(shù)器來(lái)測(cè)量一脈沖信號(hào)的高電平寬度。
7、
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- CCAA - 2021年建筑施工領(lǐng)域?qū)I(yè)練習(xí)題答案及解析 - 詳解版(110題)
- 一般固體廢物綜合利用項(xiàng)目環(huán)評(píng)報(bào)告
- CCAA - 第一篇:審核答案及解析 - 詳解版(163題)
- 老年終末期認(rèn)知評(píng)估工具的標(biāo)準(zhǔn)化培訓(xùn)方案
- 老年終末期患者跌倒風(fēng)險(xiǎn)評(píng)估與干預(yù)策略
- 老年甲狀腺功能異?;颊哂盟幰缽男蕴嵘桨?/a>
- 老年泌尿系感染患者洗浴用品選擇方案
- 用戶數(shù)據(jù)隱私保護(hù)與合規(guī)
- 老年期抑郁焦慮障礙老年期藥物濫用識(shí)別與干預(yù)方案
- 識(shí)別雙相情感障礙早期預(yù)警信號(hào)
- 腫瘤晚期呼吸困難治療
- 車(chē)間電纜整改方案模板(3篇)
- 徐州村務(wù)管理辦法
- 冰芯氣泡古大氣重建-洞察及研究
- 廣東省惠州市2026屆高三上學(xué)期第一次調(diào)研考試 歷史 含答案
- DB37∕T 5031-2015 SMC玻璃鋼檢查井應(yīng)用技術(shù)規(guī)程
- DB50∕T 1604-2024 地質(zhì)災(zāi)害防治邊坡工程結(jié)構(gòu)可靠性設(shè)計(jì)規(guī)范
- 中國(guó)電氣裝備資產(chǎn)管理有限公司招聘筆試題庫(kù)2025
- 糖尿病足的護(hù)理常規(guī)講課件
- JG/T 155-2014電動(dòng)平開(kāi)、推拉圍墻大門(mén)
- 運(yùn)輸居間協(xié)議書(shū)范本
評(píng)論
0/150
提交評(píng)論