第6章89C51的定時器、計數(shù)器_第1頁
第6章89C51的定時器、計數(shù)器_第2頁
第6章89C51的定時器、計數(shù)器_第3頁
第6章89C51的定時器、計數(shù)器_第4頁
第6章89C51的定時器、計數(shù)器_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1定時/計數(shù)器2定時方法概述定時計數(shù)器結構和工作原理定時計數(shù)器的控制寄存器 定時器的四種工作方式 定時器的應用3一、定時方法概述軟件定時:軟件定時靠執(zhí)行一個循環(huán)程序以進行時間延遲。特點是時間精確,且不需要外加硬件電路。但軟件定時要占用CPU開銷,因此軟件定時的時間不宜太長。 采用時基電路定時:特點是(定時功能全部由硬件電路完成)不占CPU時間,但需通過改變電路的元件參數(shù)來調節(jié)定時時間,在使用上不夠靈活方便。采用可編程芯片定時:這種定時方法是通過對系統(tǒng)時鐘脈沖的計數(shù)來實現(xiàn)的。計數(shù)值通過程序設定,改變計數(shù)值,也就改變了定時時間,使用起來既靈活有方便。 結論:MCS-51單片機把定時電路集成在芯片中

2、,稱之為定時器/計數(shù)器。 8051型單片機有兩個定時/計數(shù)器,分別稱為定時器/計數(shù)器0和定時器/計數(shù)器1。 4二、定時計數(shù)器結構和工作原理定時器方式寄存器主要用于設定定時器的工作方式定時器控制寄存器主要用于控制定時器的啟動與停止,并保存T0、T1的溢出和中斷標志定時器0定時器15定時/計數(shù)器的結構框圖16位的定時器/計數(shù)器實質上是一個加l計數(shù)器,可實現(xiàn)定時定時和計數(shù)計數(shù)兩種功能,其功能由軟件控制和切換。定時器屬硬件定時和計數(shù),是單片機中效率高而且工作靈活的部件。6n定時器/計數(shù)器的定時功能定時功能。l計數(shù)器的加1信號由振蕩器的12分頻信號產(chǎn)生,即每過一個機器周期,計數(shù)器加1,直至計滿溢出。l定

3、時器的定時時間與系統(tǒng)的時鐘頻率有關。因一個機器周期等于12個時鐘周期,所以計數(shù)頻率應為系統(tǒng)時鐘頻率的十二分之一。如果晶振頻率為12MHz,則機器周期為1s。通過改變定時器的定時初值,并適當選擇定時器的長度(8位、13位或16位),可以調整定時時間。 7n定時器/計數(shù)器的計數(shù)功能。l通過外部計數(shù)輸入引腳T0(P3.4)和T1(P3.5)對外部信號計數(shù),外部脈沖的下降沿將觸發(fā)計數(shù)。計數(shù)器在每個機器周期的S5P2期間采樣引腳輸入電平,若一個機器周期S5P2期間采樣值為1,下一個機器周期S5P2期間采樣值為0,則計數(shù)器加1,再下一個機器周期S3P1期間,新的計數(shù)值裝入計數(shù)器。l因檢測一個由1至0的跳變

4、需要兩個機器周期,故外部信號的最高計數(shù)頻率為時鐘頻率的二十四分之一。如果晶振頻率為12MHz,則最高計數(shù)頻率為0.5MHz。雖然對外部輸入信號的占空比無特殊要求,但為了確保給定電平在變化前至少被采樣一次,外部計數(shù)脈沖的高電平與低電平保持時間均需在一個機器周期以上。 81、工作方式寄存器TMODM0M1C/T0GATE0M0M1C/ T1GATE1TMOD字節(jié)字節(jié)地址地址89H D7 D6 D5 D4 D3 D2 D1 D0控制控制T0T0控制控制T1T1方式選擇方式選擇0000:方式:方式0 00101:方式:方式1 11010:方式:方式2 21111:方式:方式3 3定時定時/ /計數(shù)選擇

5、計數(shù)選擇0 0:定時器:定時器1 1:計數(shù)器:計數(shù)器門控位三、定時計數(shù)器的控制寄存器9GATE:門控制位,用于控制定時器的啟動是否受外部中斷源信號的影響。GATE=0時,與外部中斷無關, 由TCON寄存器中的TRx位控制啟動。GATE=1時,由控制位TRx和引腳 共同控制啟動,只有在沒有外部中斷請求信號的情況下(即外部中斷引腳 =1時),才允許定時器啟動。 INTxINTx102、定時控制寄存器(TCON)當定時器1計滿溢出時,由硬件自動使TF0置1,并申請中斷。對該標志位有兩種處理方法,一種是以中斷方式工作,即TF0置1并申請中斷,響應中斷后,執(zhí)行中斷服務程序,并由硬件自動使TF0清0;另一

6、種以查詢方式工作,即通過查詢該位是否為1來判斷是否溢出,TF0置1后必須用軟件使TF0清0。GATE=0時,用軟件使TR0置1即啟動定時器1,若用軟件使TR0清0則停止定時器1。GATE=1時,用軟件使TR1置1的同時外部中斷INT0的引腳輸入高電平才能啟動定時器0。113、中斷允許控制寄存器EX0ET0EX1ET1ESET2EAIE字節(jié)字節(jié)地址地址A8HA8H D7 D6 D5 D4 D3 D2 D1 D0定時定時/ /計數(shù)器計數(shù)器1 1中中斷允許控制位斷允許控制位定時定時/ /計數(shù)器計數(shù)器0 0中中斷允許控制位斷允許控制位0 0:允許中斷:允許中斷1 1:禁止中斷響應:禁止中斷響應中斷允許

7、總控制位中斷允許總控制位124、中斷優(yōu)先級寄存器IP(字節(jié)地址B8H)13四、定時計數(shù)器的四種工作方式定時器定時器T0T0、T1T1的工作方式的工作方式141、工作方式0(13位計數(shù)器)TR1=1TR1=1啟動計數(shù)啟動計數(shù)GATE0=0GATE0=0時:時:GATE0=1GATE0=1時:時: TR1=1TR1=1且且INT1=1INT1=1啟動計數(shù)啟動計數(shù)啟??刂贫〞r計數(shù)選擇定時計數(shù)選擇1313位計數(shù)器位計數(shù)器15 計數(shù)工作方式計數(shù)工作方式: : 最大的計數(shù)值為最大的計數(shù)值為81928192(2 21313) 預置的初值:預置的初值:X= 2X= 21313-N-N定時工作方式定時工作方式:

8、 :定時時間的計算公式為:定時時間的計算公式為: T=T=(2 21313計數(shù)初值)計數(shù)初值)晶振周期晶振周期1212?如晶振頻率為如晶振頻率為6MHZ/12MHZ6MHZ/12MHZ,求最小定時時,求最小定時時間和最小定時時間間和最小定時時間 機器周期機器周期預置的初值:預置的初值:13212TX 晶振周期16【例】 單片機晶振頻率為12MHz,若產(chǎn)生1ms定時,采用方式0,試計算初值X。X=1110000000011000B=E018H所以(TH)=E0H,(TL)=18H。解:預置的初值: 1313362212121 10 s 8192-12 10 Hz12 7192D 1C18H 00

9、011100000 11000BTTX晶振頻率晶振周期15141312111098/43210THTL172、工作方式1(16位計數(shù)器)1616位計數(shù)器位計數(shù)器18 計數(shù)工作方式計數(shù)工作方式: : 最大的計數(shù)值為最大的計數(shù)值為6553665536(2 21616) 預置的初值:預置的初值:X= 2X= 21616-N-N定時工作方式定時工作方式: :定時時間的計算公式為:定時時間的計算公式為: T=T=(2 21616計數(shù)初值)計數(shù)初值)晶振周期晶振周期1212?如晶振頻率為如晶振頻率為6MHZ/12MHZ6MHZ/12MHZ,求最小定時時,求最小定時時間和最小定時時間間和最小定時時間 預置的

10、初值:預置的初值:X= 2X= 21616-T/(-T/(晶振周期晶振周期12)12)19【例】 單片機晶振頻率為12MHz,若產(chǎn)生1ms定時,采用方式1,試計算初值X。所以(TH)=FCH,(TL)=18H。解:預置的初值: 1616362212121 10 s 6553612 10 Hz12 64536D FC18H 11111100 00011000BTTX晶振頻率晶振周期1514131211109876543210THTL20【例【例】已知晶振頻率已知晶振頻率foscfosc=12MHz=12MHz,使用定時器,使用定時器0 0以工作方式以工作方式1 1,在,在P1.0P1.0輸出輸出

11、周期為周期為2ms2ms的連續(xù)正方波脈沖。試編寫相關程序。的連續(xù)正方波脈沖。試編寫相關程序。 解:解:計算初值計算初值:TH0=FC HTH0=FC H,TL0=18 HTL0=18 H。 ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ;跳轉到主程序;跳轉到主程序 ORG 000BH ORG 000BH ;T0T0的中斷入口地址的中斷入口地址 LJMP DVT0 LJMP DVT0 ;轉向中斷服務程序;轉向中斷服務程序 ORG 0100HORG 0100H MAIN MAIN:MOV SP,#60H ;MOV SP,#60H ;設堆棧指針設堆棧指針 MOV MO

12、V TMODTMOD,#01H #01H ;置;置T0T0工作于方式工作于方式1 /1 /初始化初始化TMODTMOD MOV TH0 MOV TH0,#0FCH #0FCH ;裝入計數(shù)初值裝入計數(shù)初值 /裝入初值裝入初值 MOV TL0MOV TL0,#018H #018H SETB ET0 SETB ET0 ;T0T0開中斷開中斷 /中斷設置中斷設置 SETB EA SETB EA ;CPUCPU開中斷開中斷 SETB TR0 SETB TR0 ;啟動;啟動T0 /T0 /啟動定時器啟動定時器 SJMP $ SJMP $ ;等待中斷;等待中斷 DVT0DVT0:CPL P1.0 CPL P

13、1.0 ;P1.0P1.0取反輸出取反輸出 MOV TH0MOV TH0,#0FCH #0FCH ;重新裝入計數(shù)值重新裝入計數(shù)值 MOV TL0MOV TL0,#018H #018H RETI RETI ;中斷返回;中斷返回 ENDEND21查詢方式:查詢方式: ORG 0000H ORG 0000H LJMP MAIN LJMP MAIN ;跳轉到主程序;跳轉到主程序 ORG 0100HORG 0100H MAIN MAIN:MOV MOV TMODTMOD,#01H #01H ;置;置T0T0工作于方式工作于方式1 /1 /初始化初始化TMODTMOD LOOP: MOV TH0 LOOP

14、: MOV TH0,#0FCH #0FCH ;裝入計數(shù)初值裝入計數(shù)初值 /裝入初值裝入初值 MOV TL0MOV TL0,#018H #018H SETB TR0 SETB TR0 ;啟動;啟動T0 /T0 /啟動定時器啟動定時器 JNB TF0JNB TF0,$ $ ;查詢;查詢TF0TF0標志,如為標志,如為1 1,說明,說明T0T0溢出,溢出, ;則往下執(zhí)行;則往下執(zhí)行 CLR TF0CLR TF0 ;清除;清除TF0TF0中斷標志位中斷標志位 CLR TR0 CLR TR0 ;T0T0溢出,關閉定時器溢出,關閉定時器 CPL P1.0 CPL P1.0 ;P1.0P1.0狀態(tài)取反狀態(tài)取

15、反 SJMP LOOPSJMP LOOP END END 223、工作方式2(自動裝載初值的8位計數(shù)器)注:注:適用于需要重復定時或計數(shù)的場合。適用于需要重復定時或計數(shù)的場合。 定時精度比較高,但定時時間較短。定時精度比較高,但定時時間較短。用作定時或計數(shù)時的加1計數(shù)器用作賦值(保存初值)。23例、已知晶振頻率例、已知晶振頻率foscfosc=6MHz=6MHz,要求使用定時器,要求使用定時器0 0以工作方式以工作方式2 2產(chǎn)生產(chǎn)生100100s s定時,在定時,在P1.0P1.0輸出周期為輸出周期為200200s s的連續(xù)正方波脈沖。試編寫的連續(xù)正方波脈沖。試編寫相關程序。相關程序。 解:解

16、:計算初值計算初值:8866221212100 10 s 2566 10 Hz12 206D0CEH11001110BTTX 晶振頻率晶振周期 MOV TMOD MOV TMOD,#02H#02H ;設置定時器;設置定時器0 0為工作方式為工作方式2 2 MOV TH0 MOV TH0,#0CEH #0CEH ;設置計數(shù)初值;設置計數(shù)初值 MOVMOV,TL0TL0,#0CEH#0CEH SETB TR0 SETB TR0;啟動定時;啟動定時LOOPLOOP:JBC TF0JBC TF0,LOOP1LOOP1;查詢計數(shù)溢出;查詢計數(shù)溢出 AJMP LOOPAJMP LOOPLOOP1LOOP1

17、:CPL P1.0CPL P1.0;輸出方波,初值自動裝入;輸出方波,初值自動裝入 AJMP LOOPAJMP LOOP24例例6-3 6-3 當當T0T0(P3.4P3.4)引腳上發(fā)生負跳變時,從)引腳上發(fā)生負跳變時,從P1.0P1.0引腳上輸出一個引腳上輸出一個周期為周期為1ms1ms的方波的方波, ,如圖所示。(系統(tǒng)時鐘為如圖所示。(系統(tǒng)時鐘為6MHz6MHz)(1 1)工作方式選擇)工作方式選擇T0T0為方式為方式1 1計數(shù)計數(shù),初值,初值 0FFFFH0FFFFH,即外部計數(shù)輸入端,即外部計數(shù)輸入端T0T0(P3.4P3.4)發(fā)生一)發(fā)生一次負跳變時,次負跳變時,T0T0加加1 1且

18、溢出,溢出標志且溢出,溢出標志TF0TF0置置“1”1”,發(fā)中斷請求。在進,發(fā)中斷請求。在進入入T0T0中斷程序后,啟動中斷程序后,啟動T1T1。T1T1定義為方式定義為方式2 2定時定時。在。在T0T0腳發(fā)生一次負跳變后,啟動腳發(fā)生一次負跳變后,啟動T1T1每每500500 s s產(chǎn)生產(chǎn)生一次中斷,在中斷服務程序中對一次中斷,在中斷服務程序中對P1.0P1.0求反,使求反,使P1.0P1.0產(chǎn)生周期產(chǎn)生周期1ms1ms的方波。的方波。25(2 2)計算)計算T1T1初值初值設設T1T1的初值為的初值為X X: 則則 (2(28 8-X)-X)2 21010-6-6=5=51010-4-4 X

19、=2 X=28 8-250=6=06H-250=6=06H(3 3)程序設計)程序設計 ORG 0000HORG 0000H RESET: LJMP MAIN RESET: LJMP MAIN ;復位入口轉主程序;復位入口轉主程序 ORG 000BHORG 000BH LJMP IT0P LJMP IT0P ;轉;轉T0T0中斷服務程序中斷服務程序 ORG 001BHORG 001BH LJMP IT1P LJMP IT1P ;轉;轉T1T1中斷服務程序中斷服務程序 ORG 0100HORG 0100H MAIN: MOV SP,#60HMAIN: MOV SP,#60H ACALL PT0M

20、2 ; ACALL PT0M2 ;調用對調用對T0T0、T1T1初始化子程序初始化子程序 LOOPLOOP: MOV CMOV C,F(xiàn)0F0 JNC LOOP JNC LOOP ;T0T0沒有產(chǎn)生中斷,等待沒有產(chǎn)生中斷,等待T0T0中斷中斷 SETB ET1 SETB ET1 ;允許;允許T1T1中斷中斷 SETB TR1 SETB TR1 ;啟動;啟動T1T1 SJMP $ SJMP $ 26PT0M2PT0M2:MOV TMOD,#25H MOV TMOD,#25H ;初始化,;初始化,T1T1為方式為方式2 2定時,定時,T0T0為方式為方式1 1計數(shù)計數(shù) MOV TL0,#0FFH M

21、OV TL0,#0FFH ;T0T0置初值置初值 MOV TH0,#0FFHMOV TH0,#0FFH SETB ET0 SETB ET0 ;允許;允許T0T0中斷中斷 MOV TL1,#06H MOV TL1,#06H ;T1T1置初值置初值 MOV TH1,#06HMOV TH1,#06H CLR F0 CLR F0 SETB EA ; SETB EA ;開中斷開中斷 SETB TR0SETB TR0 ;啟動;啟動T0T0 RET RETIT0P: CLR TR0 IT0P: CLR TR0 ;T0T0中斷服務程序,停止中斷服務程序,停止T0T0計數(shù)計數(shù) SETB F0 ;SETB F0

22、;建立建立T0T0產(chǎn)生中斷的標志產(chǎn)生中斷的標志RETIRETI IT1P: CPL P1.0 IT1P: CPL P1.0 ;T1T1中斷服務,中斷服務,P1.0P1.0位取反位取反 RETIRETI END END274 4、工作方式、工作方式3 3為什么定時為什么定時/ /計數(shù)器計數(shù)器T1T1無工作方式無工作方式3 3?兩個獨立的計數(shù)器兩個獨立的計數(shù)器注:當注:當T1用作串行口的波特率發(fā)生器時,用作串行口的波特率發(fā)生器時,T0才工作在方式才工作在方式3。TH0TH0被固定為被固定為1 1個獨立個獨立的的8 8位定時器(無外位定時器(無外部計數(shù)功能),并使部計數(shù)功能),并使用用T1T1的資源

23、(的資源(TR1TR1、TF1TF1)TL0TL0使用使用T0T0的資源的資源(TR0TR0、TF0TF0、INT0INT0、GATEGATE、G/TG/T)28例:假設某MCS-51應用系統(tǒng)的兩個外中斷源已被占用,設置T1工作在方式2,作波特率發(fā)生器用?,F(xiàn)要求增加一個外部中斷源,并控制P1.0引腳輸出一個5kHz的方波。設系統(tǒng)時鐘為12MHz。29(1 1)選擇工作方式)選擇工作方式 TL0TL0為方式為方式3 3計數(shù)計數(shù),把,把T0T0引腳(引腳(P3.4P3.4)作附加的外中斷輸入端,)作附加的外中斷輸入端,TL0TL0初值設為初值設為0FFH0FFH,當檢測到,當檢測到T0T0引腳電平

24、出現(xiàn)負跳變時,引腳電平出現(xiàn)負跳變時,TL0TL0溢出,申請中斷,這相當于跳沿觸發(fā)的外部中斷源。溢出,申請中斷,這相當于跳沿觸發(fā)的外部中斷源。 TH0TH0為為8 8位方式位方式3 3定時定時,控制,控制P1.0P1.0輸出輸出5kHz5kHz的方波信號。的方波信號。30(2)初值計算 TL0的初值設為0FFH。 5kHz的方波的周期為200s,TH0的定時時間為100s。TH0初值X計算如下: (28-X)210-6=110-4 X=28-100=156=9CH(3)程序設計 31 ORG 0000HORG 0000H LJMP MAIN LJMP MAIN ORG 000BH ORG 000

25、BH ;T0T0中斷入口中斷入口 LJMP TL0INTLJMP TL0INT;跳;跳T0T0中斷服務程序中斷服務程序 ORG 001BH ORG 001BH ;在;在T0T0方式方式3 3時,時,TH0TH0占用占用T1T1的中斷的中斷 LJMP TH0INTLJMP TH0INT;跳;跳TH0TH0中斷服務程序中斷服務程序 ORG 0100HORG 0100HMAINMAIN: MOV TMOD,#27H MOV TMOD,#27H ;T0T0方式方式3 3計數(shù),計數(shù),T1T1方式方式2 2定時作串定時作串 行口波特率發(fā)生器行口波特率發(fā)生器 MOV TL0,#0FFH MOV TL0,#0

26、FFH ;置;置TL0TL0初值初值 MOV TH0,#9CHMOV TH0,#9CH ;置;置TH0TH0初值初值 MOV TL1,#dataL MOV TL1,#dataL ;datadata為波特率常數(shù)為波特率常數(shù) MOV TH1,#dataHMOV TH1,#dataH32 MOV TCON,#15HMOV TCON,#15H;啟動;啟動T0 T0 或用或用SETB TR0SETB TR0 MOV IE,#9FH MOV IE,#9FH ;允許所有中斷;允許所有中斷 SJMP $SJMP $TL0INTTL0INT:MOV TL0,#0FFH MOV TL0,#0FFH ;TL0TL0

27、中斷服務程序中斷服務程序,TL0,TL0重新裝入初值重新裝入初值 SETB TR1 ;SETB TR1 ;啟動啟動TH0TH0定時定時 RETIRETITH0INT: MOV TH0,#9CH ;TH0TH0INT: MOV TH0,#9CH ;TH0中斷服務程序。中斷服務程序。TH0TH0重新裝入初值重新裝入初值 CPL P1.0CPL P1.0 RETI RETI33初始化程序應完成如下工作:對TMOD賦值,以確定T0和T1的工作方式。計算初值,并將其寫入TH0、TL0或TH1、TL1。中斷方式時,則對IE賦值,開放中斷。使TR0或TR1置位,啟動定時/計數(shù)器定時或計數(shù)。小結:34五、定時

28、器的應用1、門控制位GATE的應用測量脈沖寬度GATE=0時,與外部中斷無關, 由TCON寄存器中的TRx位控制啟動。GATE=1時,由控制位TRx和引腳 共同控制啟動,只有在沒有外部中斷請求信號的情況下(即外部中斷引腳 =1時),才允許定時器啟動。 INTxINTx35ORG 0000HRESET: AJMP MAIN ;復位入口轉主程序 ORG 0100H MAIN: MOV SP,#60H MOV TMOD,#90H ;T1為方式1定時控制字 MOV TL1,#00H MOV TH1,#00HLOOP0: JB P3.3,LOOP0;INT1高,則循環(huán) SETB TR1 ;如INT1為低

29、,啟動T1LOOP1: JNB P3.3,LOOP1;INT1低,則循環(huán)LOOP2: JB P3.3,LOOP2 ;INT1高,則循環(huán)CLR TR1 ;停止T1計數(shù) MOV A,TL1 ;T1計數(shù)值送A將A中的T1計數(shù)值送顯示緩沖區(qū)轉換成顯示的代碼 LOOP3: LCALL DIR ;調用顯示子程序DIR顯示T1計數(shù)值 AJMP LOOP3 ; 362、實時時鐘的設計實時時鐘實現(xiàn)的基本思想實時時鐘實現(xiàn)的基本思想: :如何獲得如何獲得1 1秒的定時秒的定時? ?可把定時時間定為可把定時時間定為100ms100ms,采用中斷方式進行溢出次數(shù)的累計,計滿,采用中斷方式進行溢出次數(shù)的累計,計滿1010

30、次,次,即得到秒計時。即得到秒計時。如何保存秒、分、時?如何保存秒、分、時?片內片內RAMRAM中規(guī)定中規(guī)定3 3個單元作為秒、分、時單元,具體安排如下:個單元作為秒、分、時單元,具體安排如下: 42H42H:“秒秒”單元單元 ;41H41H:“分分”單元;單元;40H40H:“時時”單元單元如何實現(xiàn)從秒到分,從分到時?如何實現(xiàn)從秒到分,從分到時?從秒到分,從分到時是通過軟件累加并進行比較的方法來實現(xiàn)的。從秒到分,從分到時是通過軟件累加并進行比較的方法來實現(xiàn)的。37時鐘主程序流程時鐘主程序流程中斷服務程序流程中斷服務程序流程38例:將定時器T0擴展為外部中斷源。解解:將定時器T0設定為方式2(

31、自動恢復計數(shù)初值),TH0和TF0的初值均設置為FFH,允許T0中斷,CPU開放中斷,源程序如下:MOVTMOD,#06H MOV TH0,#0FFHMOVTL0,#0FFHSETBTR0SETBET0SETBEA T0引腳每輸入一個負跳變,TF0都會置1,向CPU請求中斷 T0T0腳相當于邊沿觸發(fā)的外部中斷源輸入線。腳相當于邊沿觸發(fā)的外部中斷源輸入線。3、作為外部中斷源39本章小結n8051單片機共有兩個可編程的定時器/計數(shù)器,分別稱為定時器0和定時器1,它們都是16位加1計數(shù)器。定時器/計數(shù)器的工作方式、定時時間、計數(shù)值和啟停控制由程序來確定。n定時器/計數(shù)器有四種工作方式,工作方式由定時

32、器方式寄存器TMOD中的M1、M0位確定。方式0是13位計數(shù)器,方式1是16位計數(shù)器,方式2是自動重裝初值8位計數(shù)器;方式3時,定時器0被分為兩個獨立的8位計數(shù)器,定時器1是無中斷的計數(shù)器,此時定時器1一般用作串行口波特率發(fā)生器。n定時器/計數(shù)器有定時和計數(shù)兩種功能,由定時器方式寄存器TMOD中的C/T位確定。當定時器/計數(shù)器工作在定時功能時,通過對單片機內部的時鐘脈沖計數(shù)來實現(xiàn)可編程定時;當定時器/計數(shù)器工作在計數(shù)功能時,通過對單片機外部的脈沖計數(shù)來實現(xiàn)可編程計數(shù)。 40n當定時器/計數(shù)器的加1計數(shù)器計滿溢出時, 溢出標志位TF1(TF0)由硬件自動置1,對該標志位有兩種處理方法。一種是以中

33、斷方式工作,即TF1(TF0)置1并申請中斷,響應中斷后,執(zhí)行中斷服務程序,并由硬件自動使TF1(TF0)清0;另一種以查詢方式工作,即通過查詢該位是否為1來判斷是否溢出,TF1(TF0)置1后必須用軟件使TF1清0。n定時器/計數(shù)器的初始化實際上就是對定時器/計數(shù)器進行編程,以實現(xiàn)設計者所要求的控制功能。這通過對TMOD、TH0(TH1)、TL0(TL1)、IE、TCON專用寄存器中相關位的設置來實現(xiàn),其中IE、TCON專用寄存器可進行位尋址。 41選擇題:選擇題:1 1定時定時/ /計數(shù)器計數(shù)器T0T0在在GATE = 1GATE = 1時運行的條件有(時運行的條件有( )。)。A AP3

34、.2 = 1 B.P3.2 = 1 B.設置好定時初值設置好定時初值 C.TR0=1 D.T0C.TR0=1 D.T0開啟中開啟中2 2對定時器對定時器 0 0 進行關中斷操作,需要復位中斷允許控制寄存器的:進行關中斷操作,需要復位中斷允許控制寄存器的: (A) EA (A) EA 和和 ET0 (B) EA ET0 (B) EA 和和 EX0 EX0 (C) EA (C) EA 和和 ET1 (D) EA ET1 (D) EA 和和 EX1EX13 3在下列寄存器中,與定時器在下列寄存器中,與定時器 / / 計數(shù)器控制無關的是:計數(shù)器控制無關的是: (A) TCON (B) SCON (A) TCON (B) SCON (C) IE (D) TMOD (C) IE (D) TMOD 4 4 與定時工作方式與定時工作方式 0 0 和和 1 1 相比較,定時工作方式相比較,定時工作方式 2 2 不具備的特點是:不具備的

溫馨提示

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

評論

0/150

提交評論