浙江工業(yè)大學《單片機原理及應用》課件 第5章 AT89s51的定時器計數(shù)器_第1頁
浙江工業(yè)大學《單片機原理及應用》課件 第5章 AT89s51的定時器計數(shù)器_第2頁
浙江工業(yè)大學《單片機原理及應用》課件 第5章 AT89s51的定時器計數(shù)器_第3頁
浙江工業(yè)大學《單片機原理及應用》課件 第5章 AT89s51的定時器計數(shù)器_第4頁
浙江工業(yè)大學《單片機原理及應用》課件 第5章 AT89s51的定時器計數(shù)器_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第5章AT89S51的定時器/計數(shù)器講課思路:結構,功能,有關SFR工作方式,工作模式選擇應用舉例2個:T1(P3.5)、T0(P3.4)。2種工作模式:(1)定時器工作模式對單片機振蕩頻率的12分頻進行計數(shù),每經過1個機器周期,計數(shù)器加1??删_定時(2)計數(shù)器工作模式計數(shù)脈沖來自T0,T1引腳,計數(shù)脈沖發(fā)生負跳變時,計數(shù)器加15.1定時器/計數(shù)器的結構TMOD:用于選擇T0、T1的工作模式和工作方式。TCON:控制T0、T1的啟動和停止計數(shù)2、工作方式控制寄存器TMOD

不可位尋址(1)GATE——門控位

0:以TRX(X=0,1)來啟動定時器/計數(shù)器運行。

1:以TRx=1和外中斷引腳(

)上的高電平來啟動定時器/計數(shù)器運行。(2)——定時器/計數(shù)器選擇 =0,定時器=1,計數(shù)器(3)M1、M0——工作方式選擇位

M1M0工作方式

00 方式0,13位定時器/計數(shù)器。01 方式1,16位定時器/計數(shù)器。10 方式2,8位自動重新裝載11 方式3,僅適用于T0,T0分成兩個8 位計數(shù)器,T1停止計數(shù)。

2、定時器/計數(shù)器控制寄存器TCON(1)TF1、TF0——計數(shù)溢出標志位

(2)TR1、TR0——計數(shù)運行控制位

1:啟動定時器/計數(shù)器工作

0:停止定時器/計數(shù)器工作

計數(shù)溢出,硬件置1

CPU查詢方式,軟件清0CPU中斷方式,硬件清05.2定時器/計數(shù)器的4種工作方式

方式0從圖理解:C/T*位,GATE門控位,TR1啟動計數(shù)位,TF1位等方式1方式2自動重裝載,用戶不必重裝初值方式3只適用于T0TL0作8位定時器/計數(shù)器TH0作8位定時器TH0占用了T1的TF1,TR1獨立5.3T0工作在方式3下T1的各種工作方式

T0處于方式3時,是2個獨立的8位計數(shù)器,TH0占用了T1的TR1和TF1。此時,T1可定為方式0、方式1和方式2,作為串行口的波特率發(fā)生器,或不需要中斷的場合。(1)T0在方式3下,T1工作在方式0(2)T0在方式3下,T1工作在方式1

(3)T0在方式3下,T1工作在方式2

總結:T0工作在方式3下,控制T1的只有2個條件:C/T*和M1M085.4定時器/計數(shù)器對輸入信號的要求

工作在計數(shù)器模式時,計數(shù)脈沖來自∵∴T0(P3.4)或T1(P3.5)引腳確認1次負跳變要花2個機器周期(24個振蕩周期)外部計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24,且輸入信號的高、低電平至少要保持一個機器周期。圖中Tcy為機器周期外部計數(shù)脈沖例:fosc=6MHz,f外max=fosc=12MHz,,f外max=250kHz500KHz5.5應用舉例

各種工作方式最長可定時時間的計算?若fosc=6MHz,可計算出:方式016.384ms一般不用方式1131.072ms方式2512us最長可定時若fosc=12MHz??例1

假設系統(tǒng)時鐘頻率采用6MHz,要在P1.0上輸出一個周期為2ms的方波,如圖所示。1、分析:用T0實現(xiàn)定時器,每隔1ms計數(shù)溢出1次,中斷一次,在中斷服務程序中對P1.0取反。用方式1。2、計算初值

設初值為X,則有: (216-X)×2×10-6=1×10-3X=65036=FE0CH所以,T0的初值為:

TH0=0FEHTL0=0CH3、程序如下:中斷方式:

ORG0000H AJMPMAIN

ORG000BH AJMPT0INT ORG0100HMAIN:MOVSP,#60H

MOVTMOD,#01H

MOVTL0,#0CH

MOVTH0,#0FEH SETBTR0 SETBEA SETBET0

HERE: AJMPHERETOINT:MOVTL0,#0CH

MOVTH0,#0FEH CPLP1.0

RETI初始化查詢方式:

. . . . . . .loop: MOVTL0,#0CH

MOVTH0,#0FEH SETBTR0 loop1: JNBTF0,loop1

CLRTF0 CPLP1.0 SJMPloop別忘別忘

例2:

fosc=6MHz,編寫定時器T0產生1秒定時的程序。1、分析:方式1,100ms×10(次中斷)=1s B作中斷次數(shù)計數(shù)器,在中斷服務程序中判斷 (B)=?10,若=10,定時到,關T02、計算初值

(216-X)×2×10-6=100×10-3

得:X=3CB0H

TH0=3CHTL0=0B0H3、程序如下: ORG0000H LJMPMAIN ORG000BH LJMPT0INT ORG1000HMAIN:MOVSP,#60H

MOVB,#0AH

MOVTMOD,#01H

MOVTL0,#0B0H

MOVTH0,#3CH SETBTR0 SETBET0 SETBEAHERE:SJMPHERE

T0INT:MOVTL0,#0B0H

MOVTH0,#3CH

DJNZB,LOOP

CLRTR0LOOP:RETI例3:當T0(P3.4)引腳上發(fā)生負跳變時,從P1.0引腳上輸出一個周期為1ms的方波,如圖所示。(系統(tǒng)時鐘為6MHz)1、分析:T0為方式1計數(shù),初值0FFFFH,即外部計數(shù)輸入端T0(P3.4)發(fā)生一次負跳變時,T0溢出,TF0=1,T0中斷。在T0中斷程序中,用戶標志F0=1,表示T0引腳已接收負跳變。T1定義為方式2定時。當F0=1后,開啟T1定時,500us產生一次中斷,初值(28-X)×2×10-6=500×10-6X=06H2、程序如下: ORG0000H LJMPMAIN

ORG000BH

LJMPT0INT ORG001BH LJMPT1INT

ORG0100HMAIN:MOVSP,#60H ACALLT0T1INI

LOOP:MOVC,F0 JNCLOOP

SETBTR1 SETBET1

HERE:AJMPHERE

;T0T1INI為T0,T1初始化子程序;T1中斷在T0發(fā)生負跳變后才開啟

;初始化子程序T0T1INT:MOVTMOD,#25H

;T1為方式2定時,T0為方式1計數(shù)

MOVTL0,#0FFH

MOVTH0,#0FFH SETBTR0 SETBET0

MOVTL1,#06H

MOVTH1,#06H CLRF0

SETBEA

RETT0INT:CLRTR0

;T0中斷程序 SETBF0

RETIT1INT:CPLP1.0 ;T1中斷程序,初值不用重裝 RETI例4:

利用T1的方式2對外部信號計數(shù),要求每計滿100個數(shù),將P1.0取反。

解:初值 X=28-100=156=9CH程序如下:

ORG0000H LJMPMAIN

ORG001BH CPLP1.0 RETI ORG0100HMAIN: MOVTMOD,#60H MOVTL0,#9CH MOVTH0,#9CH SETBTR1 SETBEA SETBET1HERE: AJMPHERE例5

門控制位GATE的應用—測量正脈沖寬度當GATE=1;TR1=1時,引腳INT1*(P3.3)上的高電平來啟動計數(shù)初值設為0,則計數(shù)停止時(即時)THxTLx的值反應正脈沖的寬度(機器周期數(shù)表示)。測量正脈沖寬度程序:

ORG0000H AJMPMAIN

ORG0100HMAIN:MOVSP,#60H

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論