第六章定時計數(shù)器_第1頁
第六章定時計數(shù)器_第2頁
第六章定時計數(shù)器_第3頁
第六章定時計數(shù)器_第4頁
第六章定時計數(shù)器_第5頁
已閱讀5頁,還剩15頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第六章定時計數(shù)器第1頁,課件共20頁,創(chuàng)作于2023年2月第六章定時/計數(shù)器定時/計數(shù)器結(jié)構(gòu)與原理6.1定時/計數(shù)器的控制6.2定時器的工作方式6.3定時器應(yīng)用舉例6.4定時/計數(shù)器T26.5WDT監(jiān)視定時器6.6第2頁,課件共20頁,創(chuàng)作于2023年2月80C51的定時/計數(shù)器

實現(xiàn)定時功能,比較方便的辦法是利用單片機內(nèi)部的定時/計數(shù)器。也可以采用下面三種方法:軟件定時采用時基電路定時采用可編程芯片定時軟件定時不占用硬件資源,但占用了CPU時間,降低了CPU的利用率。例如采用555電路,外接必要的元器件(電阻和電容),即可構(gòu)成硬件定時電路。但在硬件連接好以后,定時值與定時范圍不能由軟件進行控制和修改,即不可編程。這種定時芯片的定時值及定時范圍很容易用軟件來確定和修改,此種芯片定時功能強,使用靈活。在單片機的定時/計數(shù)器不夠用時,可以考慮進行擴展。第3頁,課件共20頁,創(chuàng)作于2023年2月6.1定時/計數(shù)器的結(jié)構(gòu)和工作原理

一、定時/計數(shù)器的結(jié)構(gòu)定時/計數(shù)器的實質(zhì)是加1計數(shù)器(16位),由高8位和低8位兩個寄存器組成。TMOD是定時/計數(shù)器的工作方式寄存器,確定工作方式和功能;TCON是控制寄存器,控制T0、T1的啟動和停止及設(shè)置溢出標志。

第4頁,課件共20頁,創(chuàng)作于2023年2月二、定時/計數(shù)器的工作原理

加1計數(shù)器輸入的計數(shù)脈沖有兩個來源:1、由系統(tǒng)時鐘振蕩器輸出脈沖經(jīng)12分頻后送來;2、T0或T1引腳輸入的外部脈沖源。每來一個脈沖則計數(shù)器加1,當(dāng)加到計數(shù)器為全1時,再輸入一個脈沖就使計數(shù)器回零,且計數(shù)器的溢出使TCON中TF0或TF1置1,向CPU發(fā)出中斷請求(定時/計數(shù)器中斷允許時)。如果定時/計數(shù)器工作于定時模式,則表示定時時間已到;如果工作于計數(shù)模式,則表示計數(shù)值已滿。

因此,由溢出時計數(shù)器的值減去計數(shù)初值才是加1計數(shù)器的計數(shù)值。

第5頁,課件共20頁,創(chuàng)作于2023年2月設(shè)置為定時器模式:加1計數(shù)器是對內(nèi)部機器周期計數(shù)(1個機器周期等于12個振蕩周期,即計數(shù)頻率為晶振頻率的1/12)。計數(shù)值N乘以機器周期Tc就是定時時間t

。設(shè)置為計數(shù)器模式:外部事件計數(shù)脈沖由T0或T1引腳輸入到計數(shù)器。在每個機器周期的S5P2期間采樣T0、T1引腳電平。當(dāng)某周期采樣到一高電平輸入,而下一周期又采樣到一低電平時,則計數(shù)器加1,更新的計數(shù)值在下一個機器周期的S3P1期間裝入計數(shù)器。由于檢測一個從1到0的下降沿需要2個機器周期,因此要求被采樣的電平至少要維持一個機器周期。當(dāng)晶振頻率為12MHz時,最高計數(shù)頻率不超過1/2MHz,即計數(shù)脈沖的周期要大于2

s。

第6頁,課件共20頁,創(chuàng)作于2023年2月

6.2定時/計數(shù)器的控制80C51單片機定時/計數(shù)器的工作由兩個特殊功能寄存器控制。TMOD用于設(shè)置其工作方式;TCON用于控制其啟動和中斷申請。一、工作方式寄存器TMOD工作方式寄存器TMOD用于設(shè)置定時/計數(shù)器的工作方式,低四位用于T0,高四位用于T1。其格式如下:第7頁,課件共20頁,創(chuàng)作于2023年2月GATE:門控位。GATE=0時,只要用軟件使TCON中的TR0或TR1為1,就可以啟動定時/計數(shù)器工作;GATA=1時,要用軟件使TR0或TR1為1,同時外部中斷引腳或也為高電平時,才能啟動定時/計數(shù)器工作。即此時定時器的啟動條件,加上了或引腳為高電平這一條件。:定時/計數(shù)模式選擇位。=0為定時模式;=1為計數(shù)模式。M1、M0:工作方式設(shè)置位。定時/計數(shù)器有四種工作方式,由M1、M0進行設(shè)置。第8頁,課件共20頁,創(chuàng)作于2023年2月

二、控制寄存器TCON

TCON的低4位用于控制外部中斷,已在前面介紹。TCON的高4位用于控制定時/計數(shù)器的啟動和中斷申請。其格式如下:TF1(TCON.7):T1溢出中斷請求標志位。T1計數(shù)溢出時由硬件自動置TF1為1。CPU響應(yīng)中斷后TF1由硬件自動清0。T1工作時,CPU可隨時查詢TF1的狀態(tài)。TF1也可以用軟件置1或清0,同硬件置1或清0的效果一樣。TR1(TCON.6):T1運行控制位。TR1置1時,T1開始工作;TR1置0時,T1停止工作。TR1由軟件置1或清0。所以,用軟件可控制定時/計數(shù)器的啟動與停止。TF0(TCON.5):T0溢出中斷請求標志位,其功能與TF1類同。TR0(TCON.4):T0運行控制位,其功能與TR1類同。第9頁,課件共20頁,創(chuàng)作于2023年2月

6.3定時/計數(shù)器的工作方式

一、方式0

方式0為13位計數(shù),由TL0的低5位(高3位未用)和TH0的8位組成。TL0的低5位溢出時向TH0進位,TH0溢出時,置位TCON中的TF0標志,向CPU發(fā)出中斷請求。第10頁,課件共20頁,創(chuàng)作于2023年2月定時器模式時有:N=t/Tc計數(shù)初值計算的公式為:定時器的初值還可以采用計數(shù)個數(shù)直接取補法獲得。計數(shù)模式時,計數(shù)脈沖是T0引腳上的外部脈沖。門控位GATE具有特殊的作用。當(dāng)GATE=0時,經(jīng)反相后使或門輸出為1,此時僅由TR0控制與門的開啟,與門輸出1時,控制開關(guān)接通,計數(shù)開始;當(dāng)GATE=1時,由外中斷引腳信號控制或門的輸出,此時控制與門的開啟由外中斷引腳信號和TR0共同控制。當(dāng)TR0=1時,外中斷引腳信號引腳的高電平啟動計數(shù),外中斷引腳信號引腳的低電平停止計數(shù)。這種方式常用來測量外中斷引腳上正脈沖的寬度。

第11頁,課件共20頁,創(chuàng)作于2023年2月

二、方式1方式1的計數(shù)位數(shù)是16位,由TL0作為低8位、TH0作為高8位,組成了16位加1計數(shù)器。計數(shù)個數(shù)與計數(shù)初值的關(guān)系為:

第12頁,課件共20頁,創(chuàng)作于2023年2月

三、方式2方式2為自動重裝初值的8位計數(shù)方式。

工作方式2特別適合于用作較精確的脈沖信號發(fā)生器。

計數(shù)個數(shù)與計數(shù)初值的關(guān)系為:

第13頁,課件共20頁,創(chuàng)作于2023年2月

四、方式3方式3只適用于定時/計數(shù)器T0,定時器T1處于方式3時相當(dāng)于TR1=0,停止計數(shù)。

工作方式3將T0分成為兩個獨立的8位計數(shù)器TL0和TH0

。

第14頁,課件共20頁,創(chuàng)作于2023年2月

定時/計數(shù)器用于外部中斷擴展

擴展方法:將定時/計數(shù)器設(shè)置為計數(shù)器方式,計數(shù)初值設(shè)定為滿程,將待擴展的外部中斷源接到定時/計數(shù)器的外部計數(shù)引腳。從該引腳輸入一個下降沿信號,計數(shù)器加1后便產(chǎn)生定時/計數(shù)器溢出中斷。例如,利用T0擴展一個外部中斷源。將T0設(shè)置為計數(shù)器方式,按方式2工作,TH0、TL0的初值均為0FFH,T0允許中斷,CPU開放中斷。其初始化程序如下:MOVTMOD,#06H;置T0為計數(shù)器方式2MOVTL0,#0FFH;置計數(shù)初值MOVTH0,#0FFHSETBTR0;啟動T0工作SETBEA;CPU開中斷SETBET0;允許T0中斷

第15頁,課件共20頁,創(chuàng)作于2023年2月6.4定時/計數(shù)器應(yīng)用舉例

初始化程序應(yīng)完成如下工作:對TMOD賦值,以確定T0和T1的工作方式。計算初值,并將其寫入TH0、TL0或TH1、TL1。中斷方式時,則對IE賦值,開放中斷。TR0或TR1置位,啟動定時/計數(shù)器定時或計數(shù)。第16頁,課件共20頁,創(chuàng)作于2023年2月

例利用定時/計數(shù)器T0的方式1,產(chǎn)生10ms的定時,并使P1.0引腳上輸出周期為20ms的方波,采用中斷方式,設(shè)系統(tǒng)時鐘頻率為12MHz。解:1、計算計數(shù)初值X:由于晶振為12MHz,所以機器周期Tc為1

s。所以:N=t/Tc=10×1000/1=10000X=65536-10000=55536=D8F0H即應(yīng)將D8H送入TH0中,F(xiàn)0H送入TL0中2、求T0的方式控制字TMOD:M1M0=01,GATE=0,C/T=0,方式控制字為01H;第17頁,課件共20頁,創(chuàng)作于2023年2月

軟件查詢方式:

ORG0000HLJMPMAIN;跳轉(zhuǎn)到主程序ORG0100HMAIN:MOVTMOD,#01H;置T0工作于方式1MOVTH0,#0D8H;裝入計數(shù)初值MOVTL0,#0F0HSETBTR0;啟動T0HERE:JNBTF0,HERE;等待中斷CLRTF0CPLP1.0;P1.0取反輸出MOVTH0,#0D8H;重新裝入計數(shù)值MOVTL0,#0F0HSJMPHERE;中斷返回END硬件定時器采用軟件查詢方式同樣占用了CPU,與軟件定時程序相比效率并沒有提高。怎么辦?第18頁,課件共20頁,創(chuàng)作于2023年2月

ORG0000HLJMPMAIN;跳轉(zhuǎn)到主程序ORG000BH;T0的中斷入口地址LJMPDVT0;轉(zhuǎn)向中斷服務(wù)程序ORG0100HMAIN:MOVTMOD,#01H;置T0工作于方式1MOVTH0,#0D8H;裝入計數(shù)初值MOVTL0,#0F0HSETBET0;T0開中斷SETBEA;CPU開中斷SETBTR0;啟動T0SJMP$;等待中斷DVT0:CPLP1.0;P1.0取反輸出MOVTH0,#0D8H;重新裝入計數(shù)值MOVTL0,#0F0HRETI;中斷返回END第19頁,課件共20頁,創(chuàng)作于2023年2月6.4定時器的應(yīng)用例5:利用T0門控位測試引腳上出現(xiàn)的正脈沖寬度。已知晶振頻率12MHz,將所測得值高位存入片內(nèi)71H單元,低位存入片內(nèi)72H單元。思路:1、利用門控位,控制T0計數(shù)

2、一定要確保能捕捉到正脈沖的上升沿。

3、被測脈沖的寬度應(yīng)小于65536個機器周期。MOVTMOD,#0000,1001B

溫馨提示

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

評論

0/150

提交評論