《單片機原理及工程應(yīng)用》課件-第4章 中斷系統(tǒng)及定時器應(yīng)用( 第2次課)定時器_第1頁
《單片機原理及工程應(yīng)用》課件-第4章 中斷系統(tǒng)及定時器應(yīng)用( 第2次課)定時器_第2頁
《單片機原理及工程應(yīng)用》課件-第4章 中斷系統(tǒng)及定時器應(yīng)用( 第2次課)定時器_第3頁
《單片機原理及工程應(yīng)用》課件-第4章 中斷系統(tǒng)及定時器應(yīng)用( 第2次課)定時器_第4頁
《單片機原理及工程應(yīng)用》課件-第4章 中斷系統(tǒng)及定時器應(yīng)用( 第2次課)定時器_第5頁
已閱讀5頁,還剩16頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

14.2定時器/計數(shù)器

51系列單片機有兩個16位定時器/計數(shù)器,通過對機器周期計數(shù)達到定時的目的,通過對外部事件計數(shù)達到計數(shù)之目的。24.2.1定時器/計數(shù)器的基本原理1.定時器的特點

(1)定時器/計數(shù)器有多種功能,可以是計數(shù)功能也可以是定時功能。

(2)定時器/計數(shù)器的計數(shù)值是可變的,當然計數(shù)的最大值是有限的,這取決于計數(shù)器的位數(shù)。計數(shù)的最大值也就確定了作為定時器時的最大定時范圍。

(3)能夠在到達設(shè)定的定時或計數(shù)值時發(fā)出中斷申請,以便實現(xiàn)定時控制。3定時器/計數(shù)器原理框圖4定時/計數(shù)工作原理

51單片機的定時器/計數(shù)器采用加法計數(shù)方式工作。兩個定時器/計數(shù)器T0和T1的內(nèi)部均有一個16位加法計數(shù)器(TH0,TL0和TH1,TL1),用來完成加1計數(shù)。當加法計數(shù)器產(chǎn)生溢出時,硬件自動產(chǎn)生溢出中斷標志信號,可向CPU申請中斷。由于加法計數(shù)器的初值可以由程序設(shè)定,因此,其計數(shù)/定時范圍就可利用軟件來編程。

計數(shù)方式時,定時器/計數(shù)器對加在T0(P3.4)、T1(P3.5)引腳的脈沖信號進行加1計數(shù),我們可以通過設(shè)置不同的初值來控制計數(shù)次數(shù)。

定時方式時,定時器/計數(shù)器對內(nèi)部機器周期T進行加1計數(shù),因此其計數(shù)最小單位就是1個機器周期。5定時器/計數(shù)器的控制方式1.定時器方式寄存器TMODC/T:功能選擇位,當C/T=1時為計數(shù)功能;當C/T=0時為定時功能。GATE:門控位,用于控制定時器/計數(shù)器的啟動是否受外部中斷請求信號的影響。6工作方式設(shè)置M1M0工作方式功能00方式013位定時/計數(shù)器01方式116位定時/計數(shù)器10方式2具有自動重裝初值的8位定時/計數(shù)器11方式3T0分成兩個8位定時/計數(shù)器T1無方式372.定時器的控制寄存器TCON其功能前面在中斷系統(tǒng)中已經(jīng)介紹過了。請問你還記得它的功能嗎?!哈哈!應(yīng)該記住,因為它很重要!84.2.3定時器/計數(shù)器的工作方式1.工作方式1

將方式寄存器TMOD的方式選擇位M1M0設(shè)置為01B時,定時器/計數(shù)器設(shè)定為方式1,由TH0和TL0(或TH1和TL1)構(gòu)成了16位的定時/計數(shù)器。

9定時器/計數(shù)器0方式1的邏輯結(jié)構(gòu)方式1:計數(shù)長度為16位二進制數(shù),最大計數(shù)值M=216=65536。如果要讓計數(shù)器計數(shù)N次,則事先應(yīng)向計數(shù)器中寫入的計數(shù)初值X為:計數(shù)初值X=最大計數(shù)值M-計數(shù)次數(shù)N=216-N=65536-NM1M0=01B10定時器工作方式C/T=0時為定時器方式,加法計數(shù)器對機器周期T計數(shù),每個機器周期計數(shù)器加1。根據(jù)計數(shù)次數(shù)N便可計算出定時時間,定時時間t由下式確定:定時時間t=N×T=(65536-X)TT為單片機的機器周期X為初值X=65536-t/T

112.工作方式013位定時/計數(shù)器工作方式

計數(shù)初值X=最大計數(shù)值M-計數(shù)次數(shù)N=213-N=8192-N

定時時間t=N×T=(8192-X)T

X=8192-t/T

M1M0=00B123.工作方式28位方波發(fā)生器工作方式(處置自動重裝)計數(shù)初值X=最大計數(shù)值M-計數(shù)次數(shù)N=28-N=256-N定時時間t=N×T=(256-X)T

X=256-t/T

M1M0=10B134.工作方式3

方式3時,定時器T0被分解成兩個獨立的8位計數(shù)器TL0和TH0。其中,TL0占用原定時器T0的控制位和中斷標志位:GATE、TR0、TF0,也占用原定時器0的引腳T0(P3.4)和INT0(P3.2)。TH0占用原T1的控制位TF1和TR1,同時還占用了定時器1的中斷源,其啟動和關(guān)閉僅受TR1置1或清0控制。此時,TH0只能對機器周期進行計數(shù),因此,TH0只能用作簡單的內(nèi)部定時,不能用作對外部脈沖計數(shù),它是定時器0附加的一個8位定時器。M1M0=11B14通常情況下,也只有T1作為串行口波特率發(fā)生器使用時,為了充分利用單片機資源,才將T0設(shè)置為方式3使用。154.2.4定時器/計數(shù)器的應(yīng)用

由于定時器/計數(shù)器的功能是由軟件編程實現(xiàn)的,所以,一般在使用定時器/計數(shù)器前都要對其進行初始化。所謂初始化實際上就是確定相關(guān)寄存器的值。初始化步驟如下:161.確定工作方式——對TMOD賦值。根據(jù)任務(wù)性質(zhì)明確工作方式及類型,從而確定TMOD寄存器的值。如:要求定時器/計數(shù)器T0完成16位定時功能,TMOD的值就應(yīng)為00000001B,用指令

MOVTMOD,#01H;即可完成工作方式的設(shè)定。2.預(yù)置定時器/計數(shù)器的計數(shù)初值——寫入計數(shù)初值依據(jù)以上確定的工作方式和要求的計數(shù)次數(shù),由算式4.1~4.6計算出相應(yīng)的計數(shù)初值。直接將計數(shù)初值寫入TH0、TL0或TH1、TL1。X=2n-t/T=2n-N173.根據(jù)需要開放定時器/計數(shù)器中斷——直接對IE寄存器賦值。4.若有必要設(shè)置IP。5.啟動定時/計數(shù)器工作——將TR0或TR1置“1”。

GATE=0時,直接由軟件置位啟動;GATE=1時,除軟件置位外,還必須在外中斷引腳處加上相應(yīng)的電平值才能啟動。18應(yīng)用舉例:T0工作在方式1計數(shù)計數(shù)值為:06中斷后完成啟動打包機在P1.1輸出一個正脈沖信號.TMOD:00000101BX=65536-06=65530=FFFAHIE=10000010B請你編程實現(xiàn)功能19 ORG0000H LJMPMAIN ORG000BH LJMPT0SUB ORG0040H MAIN: MOVSP,#60H MOVTMOD,#00000101B MOVTH0,#0FFH MOVTL0,#0FAH MOVIE,#10000010B SETBTR0 SJMP$

參考程序20 ORG0100H ;中斷服務(wù)程序 T0SUB: MOVTH0,#0FFH MOVTL0,#0FAH SETBP1

溫馨提示

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

評論

0/150

提交評論