單片機(jī)學(xué)習(xí)第六章課件_第1頁
單片機(jī)學(xué)習(xí)第六章課件_第2頁
單片機(jī)學(xué)習(xí)第六章課件_第3頁
單片機(jī)學(xué)習(xí)第六章課件_第4頁
單片機(jī)學(xué)習(xí)第六章課件_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第六章單片機(jī)的定時/計數(shù)器12個16位定時器/計數(shù)器——(52系列有3個16位Timer)定時器:對片內(nèi)機(jī)器時鐘(周期方波)進(jìn)行計數(shù)計數(shù)器:對Tx引腳輸入的負(fù)脈沖進(jìn)行計數(shù)與Timer工作有關(guān)的特殊功能寄存器:TCON和TMOD2Timer的2個特殊功能寄存器(TCON,TMOD)TF1TR1TF0TR0IE1IT1IE0IT0定時器控制寄存器TCON(88H)TFx:Timer0/1計數(shù)溢出標(biāo)志位。=1計數(shù)溢出;=0計數(shù)未滿TFx標(biāo)志位可用于申請中斷或供CPU查詢。在進(jìn)入中斷服務(wù)程序時會自動清零;但在查詢方式時必須軟件清零。TRx:Timer0/1運行控制位。=1啟動計數(shù);=0停止計數(shù)3GATEC/TM1M0GATEC/TM1M0定時器方式寄存器TMOD(89H)T1T0M1,M0:工作方式定義位(定義4種方式):C/T:計數(shù)器/定時器選擇位=1外部事件計數(shù)器。對Tx引腳的負(fù)脈沖計數(shù);=0片內(nèi)時鐘定時器。對機(jī)器周期脈沖計數(shù)定時00:13位Timer——用它無益,不要記它!01:16位Timer——經(jīng)常用到10:可自動重裝的8位Timer——經(jīng)常用到11:T0分為2個8位Timer;T1此時不工作——因為沒有帶來甚麼好處,幾乎無用5GATEC/TM1M0GATEC/TM1M0T1T0GATE門控位:Timer可由軟件與硬件兩者控制

GATE=0——普通用法Timer的啟/停由軟件對TRx位寫“1”/“0”控制定時器方式寄存器TMOD(續(xù))(89H)

GATE=1——門控用法Timer的啟/停由軟件對TRx位寫“1”/“0”和在INTx引腳上出現(xiàn)的信號的高/低共同控制6定時器結(jié)構(gòu)與工作方式工作方式1:——16位的定時/計數(shù)器振蕩器12THxTLx(8位)(8位)TFx申請中斷Tx端TRx位GATE位INTx端≥1&C/T=0C/T=1控制=1開關(guān)接通或門與門7定時器(方式1)應(yīng)用程序舉例:分析:已知fosc

=6MHz則:(振蕩周期)1Tc=1/6MHz(機(jī)器周期)1Tm=12Tc=12/6MHz=2S粗略地說:Tmin2S16位定時器最大數(shù)值為:216=65536=0FFFFH+1故選擇方式1工作可以得到:Tmax=655362=131072S=131.072mS例1:若晶振頻率為6MHz,計算單片機(jī)的最小與最大定時時間:9分析:已知fosc

=6MHz則:(機(jī)器周期)1Tm=12Tc=12/6MHz=2S100mS÷2S=5000016位定時器最大數(shù)值為:216=65536(=0FFFFH+1)故選擇方式1工作可以滿足要求。計算初值:65536-50000=15536=3CB0H例2:要求對T0產(chǎn)生100mS定時進(jìn)行初始化。(晶振=6MHz)定時器(方式1)應(yīng)用程序舉例:10GATEC/TM1M0GATEC/TM1M0定時器方式寄存器TMOD由分析得知:T0選擇方式1,初值=3CB0H

XXXX0001初始化:MOVTMOD,#01H;選T0方式1MOVTH0,#3CH;賦初值高8位MOVTL0,#0B0H;賦初值低8位SETBTR0;啟動T0定時若需要定時器0產(chǎn)生中斷還應(yīng)當(dāng)寫如下語句:SETBET0;開T0中斷允許SETBEA;開總中斷允許以及相應(yīng)的中斷服務(wù)程序。11?THx/TLx賦相同初值在TLx計數(shù)達(dá)到0FFH再加“1”時,TL0將溢出,進(jìn)位位直接進(jìn)入“TFx”去申請中斷,同時打開三態(tài)門,使THx中的值自動重裝(Copy)進(jìn)TLx工作方式2的編程:?TMOD寄存器選方式:寫“M1,M0”=10b選中方式2?其他用法與各種方式1完全相同13分析:fosc

=6MHz1機(jī)器周期=2S1KHz方波周期=1mS半個方波周期=500S500uS÷2uS=250若選擇方式2工作,8位定時器最大數(shù)值為:28=256=0FFH+1可以滿足要求。計算初值:256-250=6例3從P1.0腳輸出頻率=1KHz方波。設(shè):晶振=6MHz。利用T1定時中斷。Th:半周期T:周期定時器(方式2)應(yīng)用程序舉例:14ORG0000HAJMPMAINORG001BH;T1的中斷矢量CPLP1.0;中斷服務(wù):P1.0取非RETI;中斷返回MAIN:MOVTMOD,#20HMOVTH1,#6MOVTL1,#6SETBET1SETBEASETBTR1HERE:AJMPHERE;原地等待中斷END初始化;選T1方式2;賦重裝值;賦初值;開T1中斷;開總中斷;啟動T115振蕩器12TL0(8位)TF0申請中斷T0端TR0位GATE位INT0端≥1&C/T=0C/T=1控制=1開關(guān)接通或門與門TH0(8位)TF1申請中斷TR1位控制=1Timer工作方式3結(jié)構(gòu):?T0成為雙8位Timer?T1不再有Timer功能?TF1,TR1出借給TH017長定時舉例(設(shè)晶振=6MHz,要定時1秒):ORG0000H;AJMPMAINORG001BHAJMPTINT;見下一頁MAIN:MOVTMOD,#10H;選T1方式1MOVTH1,#3CH;賦初值3CB0H=15536(只能定100mS)MOVTL1,#0B0HMOV30H,#10;軟件計數(shù)單元30H初值=10CLRF0;芯片復(fù)位時已經(jīng)是“0”,此句可有可無SETBET1;開T1中斷SETBEA;開總中斷SETBTR1;啟動T1HERE:JBCF0,TIMEUP;原地等待“1秒到”的標(biāo)志F0AJMPHERETIMEUP:(dosomething);定時1秒到了以后要做的事情AJMPHERE中斷服務(wù)在主程序中18長定時舉例(續(xù)):ORG0000HAJMPMAINORG001BHAJMPTINTMAIN:…TINT:DJNZ30H,RTN;若中斷不到10次就返回

SETBF0;已經(jīng)中斷夠10次了“置1”標(biāo)志位MOV30H,#10;為下一個1秒定時做準(zhǔn)備RTN:MOVTH1,#3CH;再賦定時100mS的初值3CB0H MOVTL1,#0B0HRETI;中斷返回END19長定時舉例(續(xù)):ORG0000HAJMPMAINORG001BHAJMPTINTMAIN:…TINT:DJNZ30H,RTN;若中斷不到10次就返回 MOV30H,#10;為下一個1秒定時做準(zhǔn)備(dosomething);定時1秒到了以后要做的事情)RTN:MOVTH1,#3CH;再賦初值 MOVTL1,#0B0HRETI;中斷返回END中斷服務(wù)21定時器小結(jié):(2個16位加法計數(shù)器)?運行/停止由TRx位控制,(當(dāng)GATE=1時:由TRx位和Tx引腳上的信

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論