版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第第6 6章章 定時計數(shù)器定時計數(shù)器第第6 6章章 目錄目錄n6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 16.1.1 定時計數(shù)器的結(jié)構(gòu)及功能6.1.2 定時計數(shù)器0和1的控制和狀態(tài)寄存器n6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式 6.2.1 模式06.2.2 模式1 6.2.3 模式2 6.2.4 模式3 n6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用6.3.1 定時計數(shù)器模式0的應(yīng)用 6.3.2 定時計數(shù)器模式1的應(yīng)用6.3.3 定時計數(shù)器模式2的應(yīng)用 6.3.4 定時計數(shù)器門控位GATE的應(yīng)用 6.3.5 運行中讀定時計數(shù)器6.1 6.1 定時計數(shù)器定
2、時計數(shù)器0 0和和1 1n6.1.1 6.1.1 定時計數(shù)器的結(jié)構(gòu)及功能定時計數(shù)器的結(jié)構(gòu)及功能1、定時計數(shù)器的結(jié)構(gòu)定時計數(shù)器的結(jié)構(gòu)如圖6-1所示,定時計數(shù)器T0、T1是兩個16位的定時計數(shù)器,其中T0由TH0和TL0構(gòu)成,T1由TH1和TL1構(gòu)成。TMOD(定時模式控制寄存器)用于選擇各定時計數(shù)器的功能和工作模式。TCON(定時控制寄存器)用于控制定時計數(shù)器T0、T1啟動和停止計數(shù),同時可顯示定時時間是否到或計數(shù)值是否已滿等狀態(tài)。 T0、T1、TMOD、TCON屬于特殊功能寄存器,系統(tǒng)復(fù)位時,四個特殊功能寄存器的所有位都被清零。6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.1
3、6.1.1 定時計數(shù)器的結(jié)構(gòu)及功能定時計數(shù)器的結(jié)構(gòu)及功能1、定時計數(shù)器的結(jié)構(gòu)定時計數(shù)器T0和T1本質(zhì)上都是加1計數(shù)器,每輸入一個脈沖,計數(shù)器加1,當(dāng)加到計數(shù)器為全1時,再輸入一個脈沖,就表示定時值到或計數(shù)值滿,從而發(fā)生溢出,CPU會自動對TCON中的相關(guān)位置1,編程入員可采用查詢模式或中斷模式處理相應(yīng)的事件。6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.1 6.1.1 定時計數(shù)器的結(jié)構(gòu)及功能定時計數(shù)器的結(jié)構(gòu)及功能2、T0和T1的功能選擇T0和T1都具有定時和計數(shù)兩種功能。在TMOD中,有一個控制位(C/ ),分別用于選擇T0和T1是工作在定時器模式還是計數(shù)器模式。圖6-1 定時
4、/計數(shù)器的結(jié)構(gòu) T6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.1 6.1.1 定時計數(shù)器的結(jié)構(gòu)及功能定時計數(shù)器的結(jié)構(gòu)及功能2、T0和T1的功能選擇(1).計數(shù)功能 選擇計數(shù)器模式時,單片機對P3.4或P3.5的外部引腳信號進(jìn)行采樣并計數(shù),計數(shù)脈沖從引腳T0(P3.4)或T1(P3.5)輸入。當(dāng)輸入信號發(fā)生由1至0的負(fù)跳變時,計數(shù)器(TH0,TL0或TH1,TL1)的值增1。 每個機器周期的S5P2期間,CPU對輸入的外部脈沖信號進(jìn)行采樣。如在第一個周期中采樣值為1,而在下一個周期中采樣值為0,則在緊跟著的再下一個周期的S3P1期間,計數(shù)值就增1。6.1 6.1 定時計數(shù)器定時
5、計數(shù)器0 0和和1 1n6.1.1 6.1.1 定時計數(shù)器的結(jié)構(gòu)及功能定時計數(shù)器的結(jié)構(gòu)及功能2、T0和T1的功能選擇(1).計數(shù)功能 由于確認(rèn)一次外部信號的跳變最短需要2個機器周期,即24個振蕩器周期。因此外部輸入計數(shù)脈沖的最高頻率應(yīng)為振蕩器頻率的124。對外部輸入信號的占空比并沒有什么限制,但為了確保某一給定的電平在變化之前至少被采樣一次,則這一電平至少要保持一個機器周期。 故對輸入信號的基本要求如圖6-2所示,圖中,Tcy為機器周期。 圖6-2 對輸入信號的基本要求 Tcy Tcy 6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.1 6.1.1 定時計數(shù)器的結(jié)構(gòu)及功能定時計數(shù)
6、器的結(jié)構(gòu)及功能2、T0和T1的功能選擇(2). 定時功能 T0、T1的定時功能也是通過計數(shù)實現(xiàn)的。 選擇定時器模式時,計數(shù)脈沖來自于單片機內(nèi)部時鐘脈沖,每個機器周期使計數(shù)器的值增1。 1個機器周期等于12個振蕩器周期,故計數(shù)速率為振蕩器頻率的112。當(dāng)系統(tǒng)晶振頻率時,計數(shù)速率為1MHz,即每1s計數(shù)器加1。 計數(shù)值乘以單片機的機器周期就是定時時間。6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.2 6.1.2 定時計數(shù)器定時計數(shù)器0 0和和1 1的控制和狀態(tài)寄存器的控制和狀態(tài)寄存器 特殊功能寄存器TMOD和TCON分別是定時計數(shù)器T0和T1的模式選擇和狀態(tài)控制寄存器,用于確定各定
7、時計數(shù)器的工作模式和功能等。1、模式控制寄存器TMODTMOD寄存器的單元地址是89H,不能位尋址,只能用字節(jié)傳送指令設(shè)置其內(nèi)容。TMOD用于確定T0和T1的功能及4種工作模式的選擇。其中低4位用于控制T0,高4位用于控制T1。其格式如下:(MSB) (LSB) GATE C/_T M1 M0 GATE C/_T M1 M0 6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.2 6.1.2 定時計數(shù)器定時計數(shù)器0 0和和1 1的控制和狀態(tài)寄存器的控制和狀態(tài)寄存器 1、模式控制寄存器TMOD(1).GATE位:門控位當(dāng)GATE=0時,則只要TR0和TR1置1,定時計數(shù)器就被選通,而不
8、管 或 的電平是高還是低。當(dāng)GATE=1時,只有或引腳為高電平且TR0或TR1置1時,相應(yīng)的定時計數(shù)器才被選通工作,這種特性可以用于測量在 (X0或1)端出現(xiàn)的正脈沖的寬度。(2). C 位:定時計數(shù)功能選擇位當(dāng)C =0時,設(shè)置為定時器模式,計數(shù)器采樣的是內(nèi)部時鐘脈沖,每一個機器周期加1。 當(dāng)C =1時,設(shè)置為計數(shù)器模式,計數(shù)器采樣的是外部引腳信號,即T0(P34)或T1(P35)端的外部脈沖。 T T TINT0INT1INTX6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.2 6.1.2 定時計數(shù)器定時計數(shù)器0 0和和1 1的控制和狀態(tài)寄存器的控制和狀態(tài)寄存器 1、模式控制寄
9、存器TMOD(3). M1、M0位:工作模式選擇位2位可形成4種編碼,對應(yīng)于4種工作模式,如表6-1所示。 表6-1 M1、M0工作模式選擇M1 M0功能描述0 0模式 0,TLX 中低 5 位與 THX 中的 8 位構(gòu)成13 位計數(shù)器。計滿溢出時,13 位計數(shù)器回零。0 1模式 1,TLX 與 THX構(gòu)成 16 位計數(shù)器。計滿溢出時,16 位計數(shù)器回零。1 0模式 2, 8 位自動重裝載的定時計數(shù)器,每當(dāng)計數(shù)器 TLX 溢出時, THX 中的內(nèi)容重新裝載到TLX。1 1模式 3,對定時器0,分成2 個 8 位計數(shù)器,對于定時器1,停止計數(shù)。M1 M0功能描述0 0模式 0,TLX 中低 5
10、位與 THX 中的 8 位構(gòu)成13 位計數(shù)器。計滿溢出時,13 位計數(shù)器回零。0 1模式 1,TLX 與 THX構(gòu)成 16 位計數(shù)器。計滿溢出時,16 位計數(shù)器回零。1 0模式 2, 8 位自動重裝載的定時計數(shù)器,每當(dāng)計數(shù)器 TLX 溢出時, THX 中的內(nèi)容重新裝載到TLX。1 1模式 3,對定時器0,分成2 個 8 位計數(shù)器,對于定時器1,停止計數(shù)。6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.2 6.1.2 定時計數(shù)器定時計數(shù)器0 0和和1 1的控制和狀態(tài)寄存器的控制和狀態(tài)寄存器 2、控制寄存器TCON控制寄存器TCON字節(jié)地址為88H,位地址為88H8FH,TCON用來
11、控制T0和T1的啟、停,并給出相應(yīng)的狀態(tài),其格式如下:(1). TF1、TF0位:溢出標(biāo)志位當(dāng)定時計數(shù)器溢出時,由硬件自動置1。使用查詢模式時,此位做狀態(tài)位供查詢,查詢有效后需由軟件清零;使用中斷模式時,此位做中斷申請標(biāo)志位,進(jìn)入中斷服務(wù)子程序后被硬件自動清零。 (MSB) (LSB) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.2 6.1.2 定時計數(shù)器定時計數(shù)器0 0和和1 1的控制和狀態(tài)寄存器的控制和狀態(tài)寄存器 2、控制寄存器TCON(2). TR1、TR0位:計數(shù)運行控制位當(dāng)TR1位(或TR0位)1時,啟
12、動定時/計數(shù)器工作的必要條件。當(dāng)TR1位(或TR0位)0時,停止定時/計數(shù)器工作。6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.2 6.1.2 定時計數(shù)器定時計數(shù)器0 0和和1 1的控制和狀態(tài)寄存器的控制和狀態(tài)寄存器 3、定時計數(shù)器的初始化 80C51系列單片機的定時計數(shù)器是可編程的,因此,在進(jìn)行定時或計數(shù)之前也要用程序進(jìn)行初始化。初始化一般應(yīng)包括以下四個步驟: 對TMOD寄存器賦值,以確定定時器的功能及工作模式選擇; 置定時計數(shù)器初值,直接將初值寫入寄存器的TH0、TL0或TH1、TL1;根據(jù)需要,對寄存器IE置初值,開放定時器中斷(中斷模式采用,查詢模式該步省略); 對TC
13、ON寄存器中的TR0或TR1置位,啟動定時計數(shù)器。TR0或TR1置位以后,計數(shù)器即按規(guī)定的工作模式和初值進(jìn)行計數(shù)或開始定時。6.1 6.1 定時計數(shù)器定時計數(shù)器0 0和和1 1n6.1.2 6.1.2 定時計數(shù)器定時計數(shù)器0 0和和1 1的控制和狀態(tài)寄存器的控制和狀態(tài)寄存器 3、定時計數(shù)器的初始化 設(shè)計數(shù)器的最大值為M(在不同的工作模式中,M可以為213=8192,216=65536或28=256)則置入的初值X可這樣來計算。 計數(shù)模式時: X=M-計數(shù)值 定時模式時 :(M-X)Tcy=定時值 X=M-定時值/Tcy當(dāng)機器周期為1s時,工作在模式0時,最大定值為2131s=8.192 ms。
14、若工作在模式1,則最大定時值2161s=65.536ms。 6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式 T0 T0和和T1T1除了可以選擇定時器或計數(shù)器功能外,每個定時計數(shù)除了可以選擇定時器或計數(shù)器功能外,每個定時計數(shù)器還有器還有4 4種工作模式,其中,前種工作模式,其中,前3 3種模式對兩者都是一樣的,而種模式對兩者都是一樣的,而模式模式3 3對兩者是不同的。對兩者是不同的。6.2.1 模式06.2.2 模式1 6.2.3 模式2 6.2.4 模式3 6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式n6.2.1 6.2.1 模式模式0 0當(dāng)M1M0為
15、00時,則T0或T1便工作在模式0。圖6-3表示了T1在模式0下的邏輯圖,對T0也適用。 模式0為13位計數(shù)器,由TL1的低5位和TH1的8位構(gòu)成,TL1中的高3位棄之未用。CT=1=1 CT=0=0 1INT引引腳腳 & & 0 0 圖9- 2 0 0 圖9- 2 振振蕩蕩器器 1212 GATEGATE P P3 3. .5 5 引引腳腳 CPCP T TH1H1 (高高 8 8 位位) TMODTMOD M0M0 M1M1 C/TC/T 1 TFTF1 1 TRTR1 1 中中斷斷 控控制制 A A B B T TCONCON K K TLTL1 1 (低低 5 5 位位) 圖6-3 定
16、時/計數(shù)器0、1工作模式0(13位計數(shù)器)6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式n6.2.1 6.2.1 模式模式0 0 當(dāng)C =0時,多路開關(guān)接通內(nèi)部振蕩器的12分頻輸出,此時13位計數(shù)器就是對機器周期進(jìn)行計數(shù),這就是所謂定時器工作模式; 當(dāng)C =1時,多路開關(guān)接通計數(shù)引腳P3.5,外部計數(shù)脈沖由P3.5輸入。當(dāng)計數(shù)脈沖發(fā)生負(fù)跳變時,計數(shù)器加1,這就是所謂計數(shù)工作模式。 不管是哪種工作模式,當(dāng)TL1的低5位計數(shù)溢出時,向TH1進(jìn)位,而全部13位計數(shù)器溢出時,使計數(shù)器回零,并使溢出標(biāo)志TF1置1,向CPU發(fā)中斷請求。 T T6.2 T06.2 T0和和T1T1的的4
17、 4種工作模式種工作模式n6.2.1 6.2.1 模式模式0 0 由圖中也可以看出門控位GATE的作用。 當(dāng)GATE=0時,經(jīng)反相后使或門輸出為1,此時僅由TR1控制與門的開啟。當(dāng)TR1=1時,與門輸出為1,控制開關(guān)閉合,啟動計數(shù)器工作;當(dāng)TR1=0時,控制開關(guān)斷開,停止計數(shù)器工作。 當(dāng)GATE=1時,則由 控制或門的輸出,此時與門的開啟由 和TR1共同控制。當(dāng)TR1=1時,外部中斷 直接控制定時計數(shù)器的啟動和停止,即 由0變?yōu)?電平時,啟動計數(shù),當(dāng) 由1變?yōu)?電平時, 停止計數(shù)。這樣情況常用來測量在 端出現(xiàn)的正脈沖的寬度。 INT1 INT1 INT1 INT1 INT1 INT16.2 T
18、06.2 T0和和T1T1的的4 4種工作模式種工作模式n6.2.2 6.2.2 模式模式1 1模式1的邏輯電路和工作情況與模式0幾乎完全相同,唯一的差別是:在模式1中,定時器TH0和TL0組合成一個16位定時計數(shù)器,即TL0中的高3位也參與計數(shù)。圖6-4表示了T0在模式1下的邏輯圖,對T1也適用。 0 0 圖9- 2 0 0 圖9- 2 振振蕩蕩器器 1212 GATEGATE CPCP T TH0H0 (高高 8 8 位位) TMODTMOD M0M0 M1M1 C/TC/T 1 & & TFTF0 0 TR0TR0 中中斷斷 控控制制 A A T TCONCON K K TLTL0 0
19、(低低 8 8 位位) 0INT引引腳腳 B B P P3 3. .4 4 引引腳腳 CT=0=0 CT=1=1 圖6-4 定時/計數(shù)器0、1工作模式0(16位計數(shù)器)6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式n6.2.3 6.2.3 模式模式2 2l模式0和模式1的最大特點是計數(shù)溢出后,計數(shù)器歸0。l模式2是一個可以自動重新裝載初值的8位計數(shù)器。其將16位的T1分解成2個8位的寄存器,其中TL1做8位加1計數(shù)器,TH1做8位初值寄存器,TH1的初值由軟件設(shè)置。當(dāng)裝入初值和啟動定時計數(shù)器工作后,TL1按8位加1計數(shù)器工作,TL1計數(shù)溢出時,不僅使溢出標(biāo)志TF1置1,而且
20、還自動把TH1中的初值重裝載到TL1中,重裝載后TH1的內(nèi)容不變。圖6-5 定時/計數(shù)器0、1工作模式2邏輯電路圖 0 0 圖9- 2 1 1 圖9- 2 振振蕩蕩器器 1212 GATEGATE CPCP TLTL1 1 (8 8 位位) TMODTMOD M0M0 M1M1 C/TC/T 1 & & TFTF1 1 TRTR1 1 中中斷斷 控控制制 A A T TCONCON K K THTH1 1 (8 8 位位) 自自動動重重置置設(shè)設(shè)定定值值 CT=1=1 CT=0=0 P P3 3. .5 5 引引腳腳 B B 1INT引引腳腳 6.2 T06.2 T0和和T1T1的的4 4種工作
21、模式種工作模式n6.2.3 6.2.3 模式模式2 2 模式2對定時控制特別有用。 例如,當(dāng)希望利用定時器每隔250s產(chǎn)生一個定時控制脈沖,則可以采用12 MHz的振蕩器(其一個機器周期為1s),則只要THX的初值設(shè)為6,并使C =0,即可完成250s定時。模式2還特別適合于把定時計數(shù)器作為串行口波特率發(fā)生器使用。 T6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式n6.2.46.2.4模式模式3 3 模式3是為了增加一個附加的8位定時/計數(shù)器而設(shè)置的。定時計數(shù)器0和1工作在模式3時情況大不相同。對應(yīng)T1,設(shè)置為模式3,將使它停止計數(shù)并保持原有的計數(shù)值,其作用如同使TR1=0
22、。1、工作在模式3下的T0對于T0,工作在模式3時,它將把16位計數(shù)器分成兩個互相獨立的8位計數(shù)器TL0和TH0,如圖6-6所示。它的操作情況與模式0和模式1類似,既可以按計數(shù)模式工作,也可以按定時模式工作。而TH0被規(guī)定只可用做定時器,即只對機器周期計數(shù),它借用了T1的控制位TR1和TF1。因此,TH0的啟、停受TR1控制,TH0的溢出將置位TF1,這時的TH0占用了T1的中斷。6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式n6.2.46.2.4模式模式3 3 1 1 圖9- 2 1 1 圖9- 2 振振蕩蕩器器 1212 GATEGATE CPCP CPCP TH0TH
23、0 (8 8 位位) T TL L0 0 (8 8 位位) TMODTMOD M0M0 M1M1 C/TC/T 1 & & TR1TR1 TF1TF1 TF0TF0 TR0TR0 中中斷斷 中中斷斷 控控制制 控控制制 A A B B T TCONCON K K K K 圖 6-6 定時/計數(shù)器 0、1 工作模式 3 邏輯電路圖 0INT引引腳腳 CT =0=0 CT =1=1 P P3 3. .4 4 引引腳腳 圖6-6 定時/計數(shù)器0、1工作模式3邏輯電路圖6.2 T06.2 T0和和T1T1的的4 4種工作模式種工作模式n6.2.46.2.4模式模式3 3 2、T0工作在模式3時 T1的
24、各種工作模式一般情況下,當(dāng)T1工作在串行口的波特率發(fā)生器時,T0才工作在模式3。T0處于工作模式3時,T1可定為模式0、模式1、模式2,用來作串行口的波特率發(fā)生器或不需要中斷的場合。6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用 在定時在定時/ /計數(shù)器的計數(shù)器的4 4種工作模式中,模式種工作模式中,模式0 0與模式與模式1 1基本相同,只基本相同,只是計數(shù)器的計數(shù)位數(shù)不同。模式是計數(shù)器的計數(shù)位數(shù)不同。模式0 0為為1313位計數(shù)器,模式位計數(shù)器,模式1 1為為1616位位計數(shù)器。由于模式計數(shù)器。由于模式0 0是為兼容當(dāng)時是為兼容當(dāng)時MCS-48MCS-48系列而設(shè),且其計數(shù)系列而設(shè),且其計
25、數(shù)初值計算復(fù)雜,所以在實際應(yīng)用中,一般不用模式初值計算復(fù)雜,所以在實際應(yīng)用中,一般不用模式0 0,而采用模,而采用模式式1 1。 定時器是單片機應(yīng)用系統(tǒng)中的重要組成部件,其工作模式的靈定時器是單片機應(yīng)用系統(tǒng)中的重要組成部件,其工作模式的靈活應(yīng)用對提高編程技巧、減輕活應(yīng)用對提高編程技巧、減輕CPUCPU負(fù)擔(dān)和簡化外圍電路有很大負(fù)擔(dān)和簡化外圍電路有很大益處。本節(jié)將通過應(yīng)用實例,說明定時器的使用方法,在此暫益處。本節(jié)將通過應(yīng)用實例,說明定時器的使用方法,在此暫不使用中斷模式。不使用中斷模式。6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.16.3.1定時計數(shù)器模式定時計數(shù)器模式O O的應(yīng)用
26、的應(yīng)用模式0是一種13位的定時/計數(shù)器的工作模式,由THX和TLX組成的16位計數(shù)器中TLX的高3位沒有被使用。 l【例6-1】 試?yán)肨0產(chǎn)生周期為1ms、寬度為一個機器周期的負(fù)脈沖串,并由P1.0送出,假定系統(tǒng)晶振為12MHz。l解:由于系統(tǒng)晶振為12MHz,因此一般定時時間小于8ms才可能采用13位模式,但是一般情況下人們?nèi)匀粫x用模式1,為了內(nèi)容的全面我們這里仍安排了模式0的例題。由于系統(tǒng)晶振為12 MHz,則1個機器周期為1s。若計數(shù)器的初值為X,則要求: (213-X)10-6=110-3 故X=7192=1110000011000B,其中高8位應(yīng)賦給TH0,低5位應(yīng)賦給TL0的低
27、五位,TL0的高三位補0。所以TH0的初值為0EOH,TL0的初值為18H。6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.16.3.1定時計數(shù)器模式定時計數(shù)器模式O O的應(yīng)用的應(yīng)用若采用查詢模式,則編程如下: MOV TMOD,#00H ;設(shè)置定時器0模式0 MOV TH0,#0EOH ;設(shè)置計數(shù)初值 MOV TL0,#18H SETB TR0 ;啟動定時器0T0INT:JNB TF0,T0INT CLR TF0 ;查詢方式溢出后,首先清標(biāo)志位,為下一次溢出作準(zhǔn)備 CLR P1.0 ;1個機器周期的負(fù)脈沖 SETB P1.0 MOV TH0,#0E0H ;用軟件重新裝載TH0和TL
28、0 MOV TL0,#18H SJMP T0INT l一般情況下,CPU要完成大量的其他任務(wù),而1ms產(chǎn)生一個脈沖,其間CPU有足夠的時間處理大量的其他事情。所以,在這種情況下,更宜采用中斷模式,而不宜采用查詢模式。6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.2 6.3.2 定時計數(shù)器模式定時計數(shù)器模式1 1的應(yīng)用的應(yīng)用 模式1與模式0基本相同,只是模式1改用了16位計數(shù)器。 當(dāng)要求定時周期較長,13位計數(shù)器不夠用時,可改用16位計數(shù)器。 1、定時時間短(系統(tǒng)晶振頻率為12MHZ時,定時時間小于65ms)單片機晶振為12MHZ時,一個機器周期為1s。在四種工作模式中,模式1具有最
29、大的定時能力,大約為65ms。當(dāng)定時要求小于65ms時,可以直接采用模式1完成定時任務(wù)。6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.2 6.3.2 定時計數(shù)器模式定時計數(shù)器模式1 1的應(yīng)用的應(yīng)用 1、定時時間短l 【例6-2】利用T0模式1產(chǎn)生一個50 Hz的方波,由P1.0輸出。假設(shè)系統(tǒng)采用12 MHz晶振。l 解:50HZ的方波周期為20ms,高低電平各持續(xù)10ms。則計數(shù)器初值X可由下式算得: (216-X)10-6=2501 Tcy Tcy 圖6-2 對輸入信號的基本要求6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.2 6.3.2 定時計數(shù)器模式定時計數(shù)器模式
30、1 1的應(yīng)用的應(yīng)用 l因而,X=55536=0D8FOH。l若采用查詢模式,則編程如下: MOV TMOD,#01H ;設(shè)置定時器0模式1 SETB TR0 LOOP: MOV TH0,#0D8H MOV TL0,#0F0H JNB TF0,$ CLR TF0 CPL P1.0 SJMP LOOP l 注意:TMOD不是可位尋址的,因此不能用SETB或CLR命令對TMOD進(jìn)行按位操作,否則匯編時將出錯。 6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.2 6.3.2 定時計數(shù)器模式定時計數(shù)器模式1 1的應(yīng)用的應(yīng)用 2、定時時間長(系統(tǒng)晶振頻率為12MHZ時,定時時間大于65ms)當(dāng)定
31、時要求較長時,可以采用兩種方法實現(xiàn):一是采用1個定時器定時一定的時間間隔(如20ms),然后用軟件進(jìn)行計數(shù)(在主程序或中斷服務(wù)程序中均可);二是采用2個定時器級連,其中一個定時器產(chǎn)生周期信號(如20ms為一個周期),然后將該信號送入另一個計數(shù)器的外部脈沖輸入端進(jìn)行脈沖計數(shù),以獲得所需要的時間。6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.2 6.3.2 定時計數(shù)器模式定時計數(shù)器模式1 1的應(yīng)用的應(yīng)用 2、定時時間長l 【例6-3】試編寫程序,實現(xiàn)用定時計數(shù)器T0定時,使P1.7引腳輸出周期為1s的方波。設(shè)系統(tǒng)的晶振頻率為12 MHz。l 解:采用方式1定時20 ms,然后再計數(shù)25
32、次的方法實現(xiàn),定時時間到啟動T0中斷。(1)T0工作在定時模式1時,控制字TMOD配置: GATE=0,C =0,M1M0=01,則取模式控制字為01H。(2)計算計數(shù)初值X: 晶振為12 MHz,所以機器周期Tcy為1s。 即:應(yīng)將4EH送入TH0中,20H送入TL0中。 T 20000101/1020/ t63cyTN HENX2044553620000655362166.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.2 6.3.2 定時計數(shù)器模式定時計數(shù)器模式1 1的應(yīng)用的應(yīng)用 2、定時時間長(3)實現(xiàn)程序如下: ORG 0000H AJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 0
33、00BH ;T0的中斷入口地址 LJMP FBT0 ORG 0030HMAIN:M0V TMOD,#01H ;設(shè)T0工作于定時方式,模式1 MOV TH0,#4EH ;裝入循環(huán)計數(shù)初值 MOV TL0,#20H ;首次計數(shù)值 MOV R7,#25 ;計數(shù)25次 SETB ET0 ;T0開中斷 SETB EA ;CPU開中斷 SETB TR0 ;啟動T06.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用 SJMP $ ;等待中斷 ORG 0200HFBT0:DJNZ R7,JXDS ;計數(shù)次數(shù)未到,繼續(xù)定時 MOV R7,#25 ;計數(shù)次數(shù)到,重新裝入計數(shù)初值 CPL P1.7JXDS: MOV
34、TH0,#4EH MOV TL0,#20H SETB TR0 RETI ENDn6 6.3.3.3.3定時計數(shù)器模式定時計數(shù)器模式2 2的應(yīng)用的應(yīng)用模式2是自動重裝載模式。在這種模式下,計數(shù)初值只需設(shè)置一次,以后不再需要用軟件重新設(shè)置。 l【例6-4】有一包裝流水線,產(chǎn)品每計數(shù)24瓶時,用P1.0發(fā)出兩機器周期以上的高電平啟動包裝機工作。試編寫程序完成這一計數(shù)任務(wù)。綠點表示瓶子經(jīng)過傳感器時,傳感器輸出低電平給T0引腳80C51P1.0T0包裝機包裝機2322322332332342342352352362362372372382382392392402402412412422422432432
35、44244245245246246247247248248249249250250251251252252253253254254255255TF0=0 0 1 123223223323323423423523523623623723723823823923924024024124124224224324324424424524524624624724724824824924925025025125125225225325325425425525523223223323323423423523523623623723723823823923924024024124124224224324324
36、42442452452462462472472482482492492502502512512522522532532542542552551 11 1232232TL0=TH0=2322326.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用請點擊圖開始演示動畫n6 6.3.3.3.3定時計數(shù)器模式定時計數(shù)器模式2 2的應(yīng)用的應(yīng)用l 解:本題才用T0工作于模式2完成計數(shù)。 (1)T0工作在計數(shù)模式2時,控制字TMOD配置: GATE=0,C/ =1,M1M0=10,模式控制字為06H。(2)求計數(shù)初值X: N=24 X=28-N=256-24=232=0E8H 即:應(yīng)將0E8H送入TH0和TL0
37、中。(3)實現(xiàn)程序如下: ORG 0000H LJMP MAIN ;跳轉(zhuǎn)到主程序 ORG 000BH ;T0的中斷入口地址 LJMP JST0 ;轉(zhuǎn)向中斷服務(wù)程序 ORG 0100H T6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6 6.3.3.3.3定時計數(shù)器模式定時計數(shù)器模式2 2的應(yīng)用的應(yīng)用 MAIN:MOV TMOD,#06H ;置T0工作于計數(shù)模式2 MOV TH0,#0E8H ;裝入計數(shù)初值 MOV TL0,#0E8H SETB ET0 ;T0開中斷 SETB EA ;CPU開中斷 SETB TR0 ;啟動T0 SJMP $ ;等待中斷 ORG 0200H JST0:SETB P1.0 NOP NOP CLR P1.0 RETI END6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用n6.3.4 6.3.4 定時計數(shù)器門控位定時計數(shù)器門控位GATEGATE的應(yīng)用的應(yīng)用一般情況下,設(shè)置門控位GATE=0,使定時計數(shù)器的運行只受TRX位的控制;當(dāng)GATE=1時,定時計數(shù)器的運行將同時受TRX位和 引腳電平的控制。在TRX=1時,若 =1,則啟動計數(shù);若 =0時,則停止計數(shù)。這一特點可極為方便地用于測試外部輸入脈沖的寬度。6.3 6.3 定時計數(shù)器的應(yīng)用定時計數(shù)器的應(yīng)用INTXINTXINTXn6.3.4 6.3.4 定時計數(shù)器門控位定時計
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 氣瓶基礎(chǔ)知識培訓(xùn)課件
- 不收租金的辦公場地租賃合同2024版B版
- 專業(yè)化消防器材銷售與購買協(xié)議范本版B版
- 專業(yè)化煤炭加工2024協(xié)議樣本版B版
- 2024棄土資源化利用項目技術(shù)開發(fā)與轉(zhuǎn)讓協(xié)議合同3篇
- 上海某公司股權(quán)轉(zhuǎn)讓專項合同版
- 2024年高品質(zhì)裝修房屋轉(zhuǎn)讓及裝修材料采購合同3篇
- 2025年度食品級儲藏室租賃及質(zhì)量控制合同3篇
- 泳池衛(wèi)生知識培訓(xùn)課件
- 化工行業(yè)保安工作總結(jié)
- 2024-2025學(xué)年北師大版數(shù)學(xué)七年級上冊期末練習(xí)卷
- 2025年大學(xué)華西醫(yī)院運營管理部招考聘用3人管理單位筆試遴選500模擬題附帶答案詳解
- 2025年放射科工作計劃
- 【8地RJ期末】安徽省合肥市肥西縣2023-2024學(xué)年八年級上學(xué)期期末考試地理試題(含解析)
- 醫(yī)院醫(yī)用耗材SPD服務(wù)項目投標(biāo)方案
- (自考)經(jīng)濟(jì)學(xué)原理中級(政經(jīng))課件 第二章 商品和貨幣
- ×××老舊小區(qū)改造工程施工組織設(shè)計(全面)
- 建筑展望與未來發(fā)展趨勢
- “互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽計劃書一等獎
- 水土保持方案投標(biāo)文件技術(shù)部分
- GB/T 3324-2024木家具通用技術(shù)條件
評論
0/150
提交評論