版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、1定時/2定時方法概述定時計數(shù)器結(jié)構(gòu)和工作原理定時計數(shù)器的控制寄存器 定時器的四種工作方式 定時器的應(yīng)用3一、定時方法概述軟件定時:軟件定時靠執(zhí)行一個循環(huán)程序以進行時間延遲。特點是時間精確,且不需要外加硬件電路。但軟件定時要占用cpu開銷,因此軟件定時的時間不宜太長。 采用時基電路定時:特點是(定時功能全部由硬件電路完成)不占cpu時間,但需通過改變電路的元件參數(shù)來調(diào)節(jié)定時時間,在使用上不夠靈活方便。采用可編程芯片定時:這種定時方法是通過對系統(tǒng)時鐘脈沖的計數(shù)來實現(xiàn)的。計數(shù)值通過程序設(shè)定,改變計數(shù)值,也就改變了定時時間,使用起來既靈活有方便。 結(jié)論:mcs-51單片機把定時電路集成在芯片中,稱之
2、為定時器/計數(shù)器。 8051型單片機有兩個定時/計數(shù)器,分別稱為定時器/計數(shù)器0和定時器/計數(shù)器1。 4二、定時計數(shù)器結(jié)構(gòu)和工作原理定時器方式寄存器主要用于設(shè)定定時器的工作方式定時器控制寄存器主要用于控制定時器的啟動與停止,并保存t0、t1的溢出和中斷標(biāo)志定時器0定時器15定時/計數(shù)器的結(jié)構(gòu)框圖16位的定時器/計數(shù)器實質(zhì)上是一個加l計數(shù)器,可實現(xiàn)定時定時和計數(shù)計數(shù)兩種功能,其功能由軟件控制和切換。定時器屬硬件定時和計數(shù),是單片機中效率高而且工作靈活的部件。6n定時器/計數(shù)器的定時功能定時功能。l計數(shù)器的加1信號由振蕩器的12分頻信號產(chǎn)生,即每過一個機器周期,計數(shù)器加1,直至計滿溢出。l定時器的
3、定時時間與系統(tǒng)的時鐘頻率有關(guān)。因一個機器周期等于12個時鐘周期,所以計數(shù)頻率應(yīng)為系統(tǒng)時鐘頻率的十二分之一。如果晶振頻率為12mhz,則機器周期為1s。通過改變定時器的定時初值,并適當(dāng)選擇定時器的長度(8位、13位或16位),可以調(diào)整定時時間。 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ù)選擇計數(shù)選
5、擇0 0:定時器:定時器1 1:計數(shù)器:計數(shù)器門控位三、定時計數(shù)器的控制寄存器9gate:門控制位,用于控制定時器的啟動是否受外部中斷源信號的影響。gate=0時,與外部中斷無關(guān), 由tcon寄存器中的trx位控制啟動。gate=1時,由控制位trx和引腳 共同控制啟動,只有在沒有外部中斷請求信號的情況下(即外部中斷引腳 =1時),才允許定時器啟動。 intxintx102、定時控制寄存器(tcon)當(dāng)定時器1計滿溢出時,由硬件自動使tf0置1,并申請中斷。對該標(biāo)志位有兩種處理方法,一種是以中斷方式工作,即tf0置1并申請中斷,響應(yīng)中斷后,執(zhí)行中斷服務(wù)程序,并由硬件自動使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:禁止中斷響應(yīng):禁止中斷響應(yīng)中斷允許總控制
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) 預(yù)置的初值:預(yù)置的初值:x= 2x= 21313-n-n定時工作方式定時工作方式: :定
8、時時間的計算公式為:定時時間的計算公式為: t=t=(2 21313計數(shù)初值)計數(shù)初值)晶振周期晶振周期1212?如晶振頻率為如晶振頻率為6mhz/12mhz6mhz/12mhz,求最小定時時,求最小定時時間和最小定時時間間和最小定時時間 機器周期機器周期預(yù)置的初值:預(yù)置的初值:13212tx 晶振周期16【例】 單片機晶振頻率為12mhz,若產(chǎn)生1ms定時,采用方式0,試計算初值x。x=1110000000011000b=e018h所以(th)=e0h,(tl)=18h。解:預(yù)置的初值: 1313362212121 10 s 8192-12 10 hz12 7192d 1c18h 00011
9、100000 11000bttx晶振頻率晶振周期15141312111098/43210thtl172、工作方式1(16位計數(shù)器)1616位計數(shù)器位計數(shù)器18 計數(shù)工作方式計數(shù)工作方式: : 最大的計數(shù)值為最大的計數(shù)值為6553665536(2 21616) 預(yù)置的初值:預(yù)置的初值:x= 2x= 21616-n-n定時工作方式定時工作方式: :定時時間的計算公式為:定時時間的計算公式為: t=t=(2 21616計數(shù)初值)計數(shù)初值)晶振周期晶振周期1212?如晶振頻率為如晶振頻率為6mhz/12mhz6mhz/12mhz,求最小定時時,求最小定時時間和最小定時時間間和最小定時時間 預(yù)置的初值:
10、預(yù)置的初值:x= 2x= 21616-t/(-t/(晶振周期晶振周期12)12)19【例】 單片機晶振頻率為12mhz,若產(chǎn)生1ms定時,采用方式1,試計算初值x。所以(th)=fch,(tl)=18h。解:預(yù)置的初值: 1616362212121 10 s 6553612 10 hz12 64536d fc18h 11111100 00011000bttx晶振頻率晶振周期1514131211109876543210thtl20【例】【例】已知晶振頻率已知晶振頻率fosc=12mhzfosc=12mhz,使用定時器,使用定時器0 0以工作方式以工作方式1 1,在,在p1.0p1.0輸出輸出周期
11、為周期為2ms2ms的連續(xù)正方波脈沖。試編寫相關(guān)程序。的連續(xù)正方波脈沖。試編寫相關(guān)程序。 解:解:計算初值計算初值:th0=fc hth0=fc h,tl0=18 htl0=18 h。 org 0000horg 0000h ljmp main ljmp main ;跳轉(zhuǎn)到主程序;跳轉(zhuǎn)到主程序 org 000bh org 000bh ;t0t0的中斷入口地址的中斷入口地址 ljmp dvt0 ljmp dvt0 ;轉(zhuǎn)向中斷服務(wù)程序;轉(zhuǎn)向中斷服務(wù)程序 org 0100horg 0100h main main:mov sp,#60h ;mov sp,#60h ;設(shè)堆棧指針設(shè)堆棧指針 mov mov
12、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開中斷開中斷 /中斷設(shè)置中斷設(shè)置 setb ea setb ea ;cpucpu開中斷開中斷 setb tr0 setb tr0 ;啟動;啟動t0 /t0 /啟動定時器啟動定時器 sjmp $ sjmp $ ;等待中斷;等待中斷 dvt0dvt0:cpl p1.0 cpl p1.
13、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 ;跳轉(zhuǎn)到主程序;跳轉(zhuǎn)到主程序 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標(biāo)志,如為標(biāo)志,如為1 1,說明,說明t0t0溢出,溢出, ;則往下執(zhí)行;則往下執(zhí)行 clr tf0clr tf0 ;清除;清除tf0tf0中斷標(biāo)志位中斷標(biāo)志位 clr tr0 clr tr0 ;t0t0溢出,關(guān)閉定時器溢出,關(guān)閉定時器 cpl p1.0 cpl p1.0 ;p1.0p1.0狀態(tài)取反狀態(tài)取反
15、sjmp loopsjmp loop end end 223、工作方式2(自動裝載初值的8位計數(shù)器)注:注:適用于需要重復(fù)定時或計數(shù)的場合。適用于需要重復(fù)定時或計數(shù)的場合。 定時精度比較高,但定時時間較短。定時精度比較高,但定時時間較短。用作定時或計數(shù)時的加1計數(shù)器用作賦值(保存初值)。23例、已知晶振頻率例、已知晶振頻率fosc=6mhzfosc=6mhz,要求使用定時器,要求使用定時器0 0以工作方式以工作方式2 2產(chǎn)生產(chǎn)生100100s s定時,在定時,在p1.0p1.0輸出周期為輸出周期為200200s s的連續(xù)正方波脈沖。試編寫的連續(xù)正方波脈沖。試編寫相關(guān)程序。相關(guān)程序。 解:解:計
16、算初值計算初值:8866221212100 10 s 2566 10 hz12 206d0ceh11001110bttx 晶振頻率晶振周期 mov tmod mov tmod,#02h#02h ;設(shè)置定時器;設(shè)置定時器0 0為工作方式為工作方式2 2 mov th0 mov th0,#0ceh #0ceh ;設(shè)置計數(shù)初值;設(shè)置計數(shù)初值 movmov,tl0tl0,#0ceh#0ceh setb tr0 setb tr0;啟動定時;啟動定時looploop:jbc tf0jbc tf0,loop1loop1;查詢計數(shù)溢出;查詢計數(shù)溢出 ajmp loopajmp looploop1loop1:c
17、pl p1.0cpl p1.0;輸出方波,初值自動裝入;輸出方波,初值自動裝入 ajmp loopajmp loop24例例6-3 6-3 當(dāng)當(dāng)t0t0(p3.4p3.4)引腳上發(fā)生負(fù)跳變時,從)引腳上發(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ā)生一次負(fù)跳變時,次負(fù)跳變時,t0t0加加1 1且溢出
18、,溢出標(biāo)志且溢出,溢出標(biāo)志tf0tf0置置“1”1”,發(fā)中斷請求。在進,發(fā)中斷請求。在進入入t0t0中斷程序后,啟動中斷程序后,啟動t1t1。t1t1定義為方式定義為方式2 2定時定時。在。在t0t0腳發(fā)生一次負(fù)跳變后,啟動腳發(fā)生一次負(fù)跳變后,啟動t1t1每每500500 s s產(chǎn)生產(chǎn)生一次中斷,在中斷服務(wù)程序中對一次中斷,在中斷服務(wù)程序中對p1.0p1.0求反,使求反,使p1.0p1.0產(chǎn)生周期產(chǎn)生周期1ms1ms的方波。的方波。25(2 2)計算)計算t1t1初值初值設(shè)設(shè)t1t1的初值為的初值為x x: 則則 (2(28 8-x)-x)2 21010-6-6=5=51010-4-4 x=2
19、 x=28 8-250=6=06h-250=6=06h(3 3)程序設(shè)計)程序設(shè)計 org 0000horg 0000h reset: ljmp main reset: ljmp main ;復(fù)位入口轉(zhuǎn)主程序;復(fù)位入口轉(zhuǎn)主程序 org 000bhorg 000bh ljmp it0p ljmp it0p ;轉(zhuǎn);轉(zhuǎn)t0t0中斷服務(wù)程序中斷服務(wù)程序 org 001bhorg 001bh ljmp it1p ljmp it1p ;轉(zhuǎn);轉(zhuǎn)t1t1中斷服務(wù)程序中斷服務(wù)程序 org 0100horg 0100h main: mov sp,#60hmain: mov sp,#60h acall pt0m2
20、; acall pt0m2 ;調(diào)用對調(diào)用對t0t0、t1t1初始化子程序初始化子程序 looploop: mov cmov c,f0f0 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 mov
21、 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中斷服務(wù)程序,停止中斷服務(wù)程序,停止t0t0計數(shù)計數(shù) setb f0 ;setb f0 ;建
22、立建立t0t0產(chǎn)生中斷的標(biāo)志產(chǎn)生中斷的標(biāo)志retireti it1p: cpl p1.0 it1p: cpl p1.0 ;t1t1中斷服務(wù),中斷服務(wù),p1.0p1.0位取反位取反 retireti end end274 4、工作方式、工作方式3 3為什么定時為什么定時/ /計數(shù)器計數(shù)器t1t1無工作方式無工作方式3 3?兩個獨立的計數(shù)器兩個獨立的計數(shù)器注:當(dāng)注:當(dāng)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例:假設(shè)某mcs-51應(yīng)用系統(tǒng)的兩個外中斷源已被占用,設(shè)置t1工作在方式2,作波特率發(fā)生器用?,F(xiàn)要求增加一個外部中斷源,并控制p1.0引腳輸出一個5khz的方波。設(shè)系統(tǒng)時鐘為12mhz。29(1 1)選擇工作方式)選擇工作方式 tl0tl0為方式為方式3 3計數(shù)計數(shù),把,把t0t0引腳(引腳(p3.4p3.4)作附加的外中斷輸入端,)作附加的外中斷輸入端,tl0tl0初值設(shè)為初值設(shè)為0ffh0ffh,當(dāng)檢測到,當(dāng)檢測到t0t0引腳電平出現(xiàn)
24、負(fù)跳變時,引腳電平出現(xiàn)負(fù)跳變時,tl0tl0溢出,申請中斷,這相當(dāng)于跳沿觸發(fā)的外部中斷源。溢出,申請中斷,這相當(dāng)于跳沿觸發(fā)的外部中斷源。 th0th0為為8 8位方式位方式3 3定時定時,控制,控制p1.0p1.0輸出輸出5khz5khz的方波信號。的方波信號。30(2)初值計算 tl0的初值設(shè)為0ffh。 5khz的方波的周期為200s,th0的定時時間為100s。th0初值x計算如下: (28-x)210-6=110-4 x=28-100=156=9ch(3)程序設(shè)計 31 org 0000horg 0000h ljmp main ljmp main org 000bh org 000bh
25、 ;t0t0中斷入口中斷入口 ljmp tl0intljmp tl0int;跳;跳t0t0中斷服務(wù)程序中斷服務(wù)程序 org 001bh org 001bh ;在;在t0t0方式方式3 3時,時,th0th0占用占用t1t1的中斷的中斷 ljmp th0intljmp th0int;跳;跳th0th0中斷服務(wù)程序中斷服務(wù)程序 org 0100horg 0100hmainmain: mov tmod,#27h mov tmod,#27h ;t0t0方式方式3 3計數(shù),計數(shù),t1t1方式方式2 2定時作串定時作串 行口波特率發(fā)生器行口波特率發(fā)生器 mov tl0,#0ffh mov tl0,#0ff
26、h ;置;置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、服務(wù)程序中斷服務(wù)程序,tl0,tl0重新裝入初值重新裝入初值 setb tr1 ;setb tr1 ;啟動啟動th0th0定時定時 retiretith0int: mov th0,#9ch ;th0th0int: mov th0,#9ch ;th0中斷服務(wù)程序。中斷服務(wù)程序。th0th0重新裝入初值重新裝入初值 cpl p1.0cpl p1.0 reti reti33初始化程序應(yīng)完成如下工作:對tmod賦值,以確定t0和t1的工作方式。計算初值,并將其寫入th0、tl0或th1、tl1。中斷方式時,則對ie賦值,開放中斷。使tr0或tr1置位,啟動定時/計數(shù)器定時或計數(shù)。小結(jié):34五、定時器的
28、應(yīng)用1、門控制位gate的應(yīng)用測量脈沖寬度gate=0時,與外部中斷無關(guān), 由tcon寄存器中的trx位控制啟動。gate=1時,由控制位trx和引腳 共同控制啟動,只有在沒有外部中斷請求信號的情況下(即外部中斷引腳 =1時),才允許定時器啟動。 intxintx35org 0000hreset: ajmp main ;復(fù)位入口轉(zhuǎn)主程序 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ū)轉(zhuǎn)換成顯示的代碼 loop3: lcall dir ;調(diào)用顯示子程序dir顯示t1計數(shù)值 ajmp loop3 ; 362、實時時鐘的設(shè)計實時時鐘實現(xiàn)的基本思想實時時鐘實現(xiàn)的基本思想: :如何獲得如何獲得1 1秒的定時秒的定時? ?可把定時時間定為可把定時時間定為100ms100ms,采用中斷方式進行溢出次數(shù)的累計,計滿,采用中斷方式進行溢出次數(shù)的累計,計滿1010次,
30、即得到秒計時。次,即得到秒計時。如何保存秒、分、時?如何保存秒、分、時?片內(nèi)片內(nèi)ramram中規(guī)定中規(guī)定3 3個單元作為秒、分、時單元,具體安排如下:個單元作為秒、分、時單元,具體安排如下: 42h42h:“秒秒”單元單元 ;41h41h:“分分”單元;單元;40h40h:“時時”單元單元如何實現(xiàn)從秒到分,從分到時?如何實現(xiàn)從秒到分,從分到時?從秒到分,從分到時是通過軟件累加并進行比較的方法來實現(xiàn)的。從秒到分,從分到時是通過軟件累加并進行比較的方法來實現(xiàn)的。37時鐘主程序流程時鐘主程序流程中斷服務(wù)程序流程中斷服務(wù)程序流程38例:將定時器t0擴展為外部中斷源。解解:將定時器t0設(shè)定為方式2(自動
31、恢復(fù)計數(shù)初值),th0和tf0的初值均設(shè)置為ffh,允許t0中斷,cpu開放中斷,源程序如下:movtmod,#06h mov th0,#0ffhmovtl0,#0ffhsetbtr0setbet0setbea t0引腳每輸入一個負(fù)跳變,tf0都會置1,向cpu請求中斷 t0t0腳相當(dāng)于邊沿觸發(fā)的外部中斷源輸入線。腳相當(dāng)于邊沿觸發(fā)的外部中斷源輸入線。3、作為外部中斷源39本章小結(jié)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位確定。當(dāng)定時器/計數(shù)器工作在定時功能時,通過對單片機內(nèi)部的時鐘脈沖計數(shù)來實現(xiàn)可編程定時;當(dāng)定時器/計數(shù)器工作在計數(shù)功能時,通過對單片機外部的脈沖計數(shù)來實現(xiàn)可編程計數(shù)。 40n當(dāng)定時器/計數(shù)器的加1計數(shù)器計滿溢出時, 溢出標(biāo)志位tf1(tf0)由硬件自動置1,對該標(biāo)志位有兩種處理方法。一種是以中斷方
33、式工作,即tf1(tf0)置1并申請中斷,響應(yīng)中斷后,執(zhí)行中斷服務(wù)程序,并由硬件自動使tf1(tf0)清0;另一種以查詢方式工作,即通過查詢該位是否為1來判斷是否溢出,tf1(tf0)置1后必須用軟件使tf1清0。n定時器/計數(shù)器的初始化實際上就是對定時器/計數(shù)器進行編程,以實現(xiàn)設(shè)計者所要求的控制功能。這通過對tmod、th0(th1)、tl0(tl1)、ie、tcon專用寄存器中相關(guān)位的設(shè)置來實現(xiàn),其中ie、tcon專用寄存器可進行位尋址。 41選擇題:選擇題:1 1定時定時/ /計數(shù)器計數(shù)器t0t0在在gate = 1gate = 1時運行的條件有(時運行的條件有( )。)。a ap3.2
34、 = 1 b.p3.2 = 1 b.設(shè)置好定時初值設(shè)置好定時初值 c.tr0=1 d.t0c.tr0=1 d.t0開啟中開啟中2 2對定時器對定時器 0 0 進行關(guān)中斷操作,需要復(fù)位中斷允許控制寄存器的:進行關(guān)中斷操作,需要復(fù)位中斷允許控制寄存器的: (a) ea (a) ea 和和 et0et0 (b) ea (b) ea 和和 ex0 ex0 (c) ea (c) ea 和和 et1et1 (d) ea (d) ea 和和 ex1ex13 3在下列寄存器中,與定時器在下列寄存器中,與定時器 / / 計數(shù)器控制無關(guān)的是:計數(shù)器控制無關(guān)的是: (a) tcon(a) tcon (b) scon (b) scon (c) ie(c) ie (d) tmod (d) tmod 4 4 與定時工作方式與定時工作方式 0 0 和和 1 1 相比較,定時工作方式相比較,定時工作方式 2 2 不具備的特點是:不具備的
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024銅棒工業(yè)應(yīng)用技術(shù)培訓(xùn)合同模板3篇
- 二零二五版汽車維修后舊件買賣合同3篇
- 2025年度海上船舶船員勞務(wù)派遣服務(wù)勞動合同3篇
- 邛崍專業(yè)保潔合同范本
- 2025年度高端建筑材料采購合同質(zhì)量保障與驗收3篇
- 2024瀝青混凝土路面工程
- 2025年度智能草花種苗購銷合同模板3篇
- 2025年度咖啡館餐廳承包管理合同3篇
- 2024物業(yè)清潔與綠化服務(wù)合同詳細(xì)
- 2024版行政崗位勞動合同樣本
- 2025年度版權(quán)授權(quán)協(xié)議:游戲角色形象設(shè)計與授權(quán)使用3篇
- 2024年08月云南省農(nóng)村信用社秋季校園招考750名工作人員筆試歷年參考題庫附帶答案詳解
- 防詐騙安全知識培訓(xùn)課件
- 心肺復(fù)蘇課件2024
- 2024年股東股權(quán)繼承轉(zhuǎn)讓協(xié)議3篇
- 2024-2025學(xué)年江蘇省南京市高二上冊期末數(shù)學(xué)檢測試卷(含解析)
- 四川省名校2025屆高三第二次模擬考試英語試卷含解析
- 《城鎮(zhèn)燃?xì)忸I(lǐng)域重大隱患判定指導(dǎo)手冊》專題培訓(xùn)
- 湖南財政經(jīng)濟學(xué)院專升本管理學(xué)真題
- 考研有機化學(xué)重點
- 全國身份證前六位、區(qū)號、郵編-編碼大全
評論
0/150
提交評論