版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、第六章第六章 MCS-51MCS-51單片機的定時器單片機的定時器/ /計數(shù)器計數(shù)器v實現(xiàn)定時常用的三種方法:實現(xiàn)定時常用的三種方法:軟件定時:占用軟件定時:占用CPU時間,效率低。時間,效率低。用用555電路:不可編程。電路:不可編程。可編程芯片:功能強,需要另外擴展??删幊绦酒汗δ軓姡枰硗鈹U展。 單片機內(nèi)部有單片機內(nèi)部有2個個16位的定時位的定時/計數(shù)器:使用計數(shù)器:使用靈活,編程方便。靈活,編程方便。優(yōu)先選用優(yōu)先選用6.1 6.1 定時器定時器/ /計數(shù)器結構計數(shù)器結構一一. .定時器定時器/ /計數(shù)器的結構及工作原理計數(shù)器的結構及工作原理 MCS-51單片機內(nèi)部有兩個單片機內(nèi)部有
2、兩個16位可編程的定時器位可編程的定時器/計數(shù)器,即計數(shù)器,即定時器定時器T0和定時器和定時器T1。每個定時器。每個定時器/計計數(shù)器的基本部件是兩個數(shù)器的基本部件是兩個8位的計數(shù)器位的計數(shù)器(其中其中TH1、TL1是是T1的計數(shù)器,的計數(shù)器,TH0、TL0是是T0的計數(shù)器的計數(shù)器)拼裝拼裝而成。它們是采用而成。它們是采用加加“1”方式工作的。方式工作的。 兩個特殊功能寄存器兩個特殊功能寄存器(TMOD和和TCON)用來對用來對定時器定時器/計數(shù)器的工作方式進行選擇和控制。計數(shù)器的工作方式進行選擇和控制。80518051單片機的定時器單片機的定時器/ /計數(shù)器結構如下圖所示。計數(shù)器結構如下圖所示
3、。內(nèi)部總線工作方式工作方式TH1TL1TH0TL0TCONTMODT1T0微處理器8051單片機定時器單片機定時器/計數(shù)器結構示意圖計數(shù)器結構示意圖u 定時功能定時功能-計數(shù)輸入信號是內(nèi)部時鐘脈沖,其計數(shù)計數(shù)輸入信號是內(nèi)部時鐘脈沖,其計數(shù)脈沖來源于晶振時鐘輸出信號的脈沖來源于晶振時鐘輸出信號的12分頻,即每個分頻,即每個機機器周期器周期使寄存器的值加使寄存器的值加1。定時器可看做是對機器。定時器可看做是對機器周期的計數(shù)器。所以,定時計數(shù)頻率是振蕩頻率的周期的計數(shù)器。所以,定時計數(shù)頻率是振蕩頻率的1/12。計數(shù)功能計數(shù)功能-計數(shù)脈沖來自相應的計數(shù)脈沖來自相應的外部輸入引腳,外部輸入引腳,T0為為
4、P3.4,T1為為P3.5。只要。只要T0或或T1的引腳上有一的引腳上有一個個1到到0的負跳變,相應的計數(shù)器就加的負跳變,相應的計數(shù)器就加1.在在TMOD中,各有一個控制位(中,各有一個控制位(CT),分別用),分別用于控制定時于控制定時/計數(shù)器計數(shù)器T0和和T1工作在工作在定時器定時器方式還是方式還是計數(shù)器計數(shù)器方式。方式。v定時模式,對內(nèi)部定時模式,對內(nèi)部機器周期機器周期計數(shù)計數(shù) 定時時間定時時間 t 計數(shù)值計數(shù)值N x Tcyv計數(shù)模式,對計數(shù)模式,對外部事件脈沖外部事件脈沖計數(shù)計數(shù) 計數(shù)脈沖周期要大于計數(shù)脈沖周期要大于2 TcyvT0和和T1計數(shù)器都計數(shù)器都只能遞增計數(shù),只能遞增計數(shù),
5、當當16位計數(shù)器的位計數(shù)器的計數(shù)值增加到計數(shù)值增加到0FFFFH時,再輸入時,再輸入1個脈沖就會使計個脈沖就會使計數(shù)器的值數(shù)器的值回零回零,并發(fā)生,并發(fā)生溢出信號,溢出信號,置相應的標志位置相應的標志位(TCON中中TF0或或TF1置置1),), 向向CPU發(fā)出中斷請求發(fā)出中斷請求。v設定計數(shù)次數(shù):設定計數(shù)次數(shù):計數(shù)器的計數(shù)量程計數(shù)初值計數(shù)器的計數(shù)量程計數(shù)初值。二二. .定時器計數(shù)器的控制寄存器定時器計數(shù)器的控制寄存器 v與定時器計數(shù)器有關的控制寄存器有:與定時器計數(shù)器有關的控制寄存器有:1. 定時器控制寄存器定時器控制寄存器TCONvTF1:定時器定時器/計數(shù)器計數(shù)器1(T1)的溢出中斷標志
6、位)的溢出中斷標志位。vTF0:定時器:定時器/計數(shù)器計數(shù)器0(T0)的溢出中斷標志位。)的溢出中斷標志位。vTR1:定時器:定時器/計數(shù)器計數(shù)器1的運行控制位。通過的運行控制位。通過置置1或清或清0來啟動或停止來啟動或停止T1的計數(shù)的計數(shù)。vTR0:定時器:定時器/計數(shù)器計數(shù)器0的運行控制位。的運行控制位。v單片機復位后單片機復位后,TCON寄存器的所有位均為寄存器的所有位均為0.2. 工作方式控制寄存器工作方式控制寄存器TMOD v高高4 4位用于定時器位用于定時器1 1,低,低4 4位用于定時器位用于定時器0 0 M1 M1,M0M0:工作模式選擇位。:工作模式選擇位。定時器定時器/ /
7、計數(shù)器四種工作模式選擇如表計數(shù)器四種工作模式選擇如表6-16-1所示。所示。 C/T:定時器方式或計數(shù)器方式選擇位:定時器方式或計數(shù)器方式選擇位 C/T=0時,為定時器方式時,為定時器方式 C/T=1時,為計數(shù)器方式時,為計數(shù)器方式 GATE:門控位:門控位當當GATE=0時,時,TCON寄存器中的寄存器中的TR0或或TR1為為1,則可立即啟動定時器則可立即啟動定時器/計數(shù)器;計數(shù)器;當當GATE=1時,不但要時,不但要TR0或或TR1為為1,且單片機的,且單片機的INT0或或INT1引腳的輸入要為高電平,才能啟動定時引腳的輸入要為高電平,才能啟動定時器器/計數(shù)器。計數(shù)器。三三. .定時器定時
8、器/ /計數(shù)器計數(shù)器0 0或或1 1的工作方式的工作方式1. 方式方式013位方式位方式。由由TL0的的低低5位位和和TH0的的8位位組成。組成。TL0的的5位計數(shù)溢出后,位計數(shù)溢出后,TH0的計數(shù)加的計數(shù)加1,直到全部,直到全部的的13位計數(shù)值為全位計數(shù)值為全1后,下一個計數(shù)脈沖的到達將后,下一個計數(shù)脈沖的到達將使使TF0置位為置位為1,向,向CPU發(fā)出中斷請求,同時把計數(shù)發(fā)出中斷請求,同時把計數(shù)器變?yōu)槿髯優(yōu)槿?”。其定時時間為:其定時時間為:(213-初值)初值)機器周期機器周期2. 方式方式116位方式位方式v16位計數(shù),由位計數(shù),由TL0作為低作為低8位、位、TH0作為高作為高8位
9、位 ;v16位計數(shù),由位計數(shù),由TL1作為低作為低8位、位、TH1作為高作為高8位。位。其定時時間為:其定時時間為:(216-初值)初值)機器周期機器周期3. 3. 方式方式2828位自動裝入時間常數(shù)方式位自動裝入時間常數(shù)方式v TL0作為作為8位內(nèi)部計數(shù)器,位內(nèi)部計數(shù)器,TH0作為重裝初值寄存作為重裝初值寄存器,在器,在TL0計數(shù)溢出置位計數(shù)溢出置位TF0標志的同時,由硬件標志的同時,由硬件控制直接將重裝初值裝入控制直接將重裝初值裝入TL0,開始新一輪的計數(shù),開始新一輪的計數(shù),如此不斷循環(huán)。如此不斷循環(huán)。v方式方式2和方式和方式0、1最大的差別就是最大的差別就是計數(shù)器的初值是計數(shù)器的初值是由
10、硬件控制自動裝入的。由硬件控制自動裝入的。v方式方式0、1一旦計數(shù)溢出,就表示計數(shù)器已回一旦計數(shù)溢出,就表示計數(shù)器已回0,如,如果要按照原先的初值重新計數(shù),就需要通過軟件重果要按照原先的初值重新計數(shù),就需要通過軟件重裝計數(shù)器初值。裝計數(shù)器初值。方式方式2 2適合于用作較精確的脈沖信號發(fā)生器適合于用作較精確的脈沖信號發(fā)生器。4. 4. 方式方式3232個個8 8位方式位方式v僅僅T0可以工作在方式可以工作在方式3,T1處于方式處于方式3時停止計數(shù)。時停止計數(shù)。此時,此時,T0分成分成2個獨立的計數(shù)器個獨立的計數(shù)器TL0和和TH0,前者,前者用原來用原來T0的控制信號(的控制信號(TR0、TF0)
11、,后者用原來),后者用原來T1的控制信號(的控制信號(TR1、TF1)。)。v(1)TH0(1)TH0由由TR1TR1啟動啟動/ /停止,溢出停止,溢出TF1TF1v(2)TL0(2)TL0由由TR0TR0啟動啟動/ /停止,溢出停止,溢出TF0TF0v(3)TH0(3)TH0只能定時,只能定時,TL0TL0可以定時可以定時/ /計數(shù),且都是計數(shù),且都是8 8位。位。1初始化步驟初始化步驟 MCS-51內(nèi)部定時器內(nèi)部定時器/計數(shù)器是可編程的,其工計數(shù)器是可編程的,其工作方式和工作過程均可由作方式和工作過程均可由MCS-51通過程序?qū)λM通過程序?qū)λM行設定和控制。因此,行設定和控制。因此,MC
12、S-51在定時器在定時器/計數(shù)器工計數(shù)器工作前必須先對它進行初始化。初始化步驟為:作前必須先對它進行初始化。初始化步驟為:(1) 根據(jù)題目要求先給根據(jù)題目要求先給定時器方式寄存器定時器方式寄存器TMOD送一送一個方式控制字,以設定定時器個方式控制字,以設定定時器/計數(shù)器的相應工作方計數(shù)器的相應工作方式。式。(2) 根據(jù)實際需要給定時器根據(jù)實際需要給定時器/計數(shù)器選送定時器初值或計數(shù)器選送定時器初值或計數(shù)器初值,以計數(shù)器初值,以確定需要定時的時間和需要計數(shù)的確定需要定時的時間和需要計數(shù)的初值。初值。6.2 6.2 定時器定時器/ /計數(shù)器的初始化計數(shù)器的初始化(3) (3) 根據(jù)需要給中斷允許寄
13、存器根據(jù)需要給中斷允許寄存器IEIE選送中斷控制字和選送中斷控制字和給中斷優(yōu)先級寄存器給中斷優(yōu)先級寄存器IPIP選送中斷優(yōu)先級字,以選送中斷優(yōu)先級字,以開放開放相應中斷和設定中斷優(yōu)先級。(若采用中斷方式)相應中斷和設定中斷優(yōu)先級。(若采用中斷方式)(4) (4) 給定時器控制寄存器給定時器控制寄存器TCONTCON送命令字,以送命令字,以啟動或禁啟動或禁止定時器止定時器/ /計數(shù)器的運行計數(shù)器的運行。 2. 計數(shù)器初值的計算計數(shù)器初值的計算 定時器定時器/計數(shù)器可用軟件隨時隨地啟動和關閉,計數(shù)器可用軟件隨時隨地啟動和關閉,啟動時它就自動加啟動時它就自動加1計數(shù),一直計到滿,即全為計數(shù),一直計到
14、滿,即全為1,若不停止,計數(shù)值從全若不停止,計數(shù)值從全1變?yōu)槿優(yōu)槿?,同時將計數(shù)溢出,同時將計數(shù)溢出位置位置1并向并向CPU發(fā)出定時器溢出中斷申請。對于各發(fā)出定時器溢出中斷申請。對于各種不同的工作模式,最大的定時時間和計數(shù)數(shù)值不種不同的工作模式,最大的定時時間和計數(shù)數(shù)值不同。這里在使用中就會出現(xiàn)兩個問題:同。這里在使用中就會出現(xiàn)兩個問題:一是要產(chǎn)生比定時器最長的定時時間還要短的時一是要產(chǎn)生比定時器最長的定時時間還要短的時間和比計數(shù)器最多的計數(shù)次數(shù)還要少的計數(shù)次數(shù);間和比計數(shù)器最多的計數(shù)次數(shù)還要少的計數(shù)次數(shù); 二是要產(chǎn)生比定時器最長的定時時間還要長的時二是要產(chǎn)生比定時器最長的定時時間還要長的時
15、間和比計數(shù)器最多的計數(shù)次數(shù)還要多的計數(shù)次數(shù)。間和比計數(shù)器最多的計數(shù)次數(shù)還要多的計數(shù)次數(shù)。 如果計數(shù)初值設定為如果計數(shù)初值設定為C C,則計數(shù)器從初值,則計數(shù)器從初值C C開始作加開始作加1 1計數(shù)到計滿為全計數(shù)到計滿為全1 1所需要的計數(shù)值設定為所需要的計數(shù)值設定為D D,由此,由此便可得到如下的計算通式:便可得到如下的計算通式: C C = =M M- -D D 式中,式中,M M為計數(shù)器量程,該值和計數(shù)器工作模式有關。為計數(shù)器量程,該值和計數(shù)器工作模式有關。在在模式模式0 0時,時,M M為為2 21313;在模式;在模式1 1時,時,M M為為2 21616;在模式;在模式2 2和模式和
16、模式3 3時,時,M M為為2 28 8。3 3定時器初值的計算定時器初值的計算 在定時器方式下,計數(shù)器由單片機脈沖經(jīng)在定時器方式下,計數(shù)器由單片機脈沖經(jīng)1212分頻后分頻后計數(shù)。因此,定時器定時時間計數(shù)。因此,定時器定時時間T T的計算公式為的計算公式為式中,式中,Tc為定時器的初始常數(shù)值;為定時器的初始常數(shù)值;T為計數(shù)器從初為計數(shù)器從初值值Tc開始作加開始作加1計數(shù)到計滿為全計數(shù)到計滿為全1所需要的時間;所需要的時間;M為計數(shù)器量程,和定時器的工作模式有關;為計數(shù)器量程,和定時器的工作模式有關;fosc是單片機晶體振蕩器的頻率。是單片機晶體振蕩器的頻率。v在上式中,若設在上式中,若設Tc=
17、0,則定時器定時時間為最大,則定時器定時時間為最大(初值為初值為0,計數(shù)從全,計數(shù)從全0到全到全1,溢出后又為全,溢出后又為全0)。由。由于于M的值和定時器工作模式有關,因此不同工作模的值和定時器工作模式有關,因此不同工作模式下定時器的最大定時時間也不一樣。例如,若設式下定時器的最大定時時間也不一樣。例如,若設單片機主脈沖晶體振蕩器頻率單片機主脈沖晶體振蕩器頻率fosc為為12MHz,則最,則最大定時時間為大定時時間為v模式模式0 0時:時: T Tmaxmax= =2 213131s1s= =8.1928.192msmsv模式模式1 1時:時: T Tmaxmax= =2 21616 1s1
18、s= =65.53665.536msmsv模式模式2 2和和3 3時:時: T Tmaxmax= =2 28 8 1s1s= =0.2560.256msms例例6-5.用定時器用定時器1,方式,方式2實現(xiàn)實現(xiàn)1s的延時。的延時。 【例 6-1】 設定時器 T0 工作在模式 0 時,時鐘振蕩頻率為6 MHz,要求定時時間為 1 ms。 解 將數(shù)據(jù)代入公式得定時器 T0 初值為 612)(cTM s = 1 ms = 1000 s Tc = 213 - 500 = 7692 = 1E0CH 化成二進制數(shù)為 Tc = 1 1110 0000 1100B (213 - Tc) 12 根據(jù)根據(jù)13位定時
19、器位定時器/計數(shù)器特性,先把低計數(shù)器特性,先把低5位位0CH送送TL0,TL0的高三位置零,高的高三位置零,高8位位F0H送至送至TH0??捎孟铝???捎孟铝兄噶顚崿F(xiàn)定時器指令實現(xiàn)定時器T0初始化。初始化。MOV TMOD,#00H ;T0工作于模式工作于模式0,定,定時方式時方式MOV TL0,#0CH ;低;低5位送位送TL0寄存器寄存器MOV TH0,#0F0H ;高;高8位送位送TH0寄存器寄存器同樣,先把低 5 位 10000B 送 TL0,TL0 的高 3 位置零,余下的 8 位 11000 001B 送至 TH0。這樣就得到定時器工作在模式 0 時的初值 C110H,TH0 應裝
20、C1H,TL0 應裝 10H。 若采取模式 1,則有 Tc = 11022316 s = 63 536 = F830H TH0 應裝 F8H;TL0 應裝 30H。 【例 6-3】 設 T1 作定時器,以模式 1 工作,定時時間為 10 ms;T0 作計數(shù)器,工作在模式 2,T0(P3.4)引腳上發(fā)生一次事件(脈沖)即溢出。 解 T1 的時間初值為 (216 - Tc) 2 s = 10 ms Tc = EC78H T0 的計數(shù)初值常數(shù)為 FFH。 v初始化程序:初始化程序:MOV TMOD,#16H ;T1定時模式定時模式1,T0計數(shù)模式計數(shù)模式2MOV TL0,#0FFH ;T0時間常數(shù)送
21、時間常數(shù)送TL0MOV TH0,#0FFH ;T0時間常數(shù)送時間常數(shù)送TH0MOV TL1,#78H ;T1時間常數(shù)時間常數(shù)(低低8位位)送送TL1MOV TH1,#0ECH ;T1時間常數(shù)時間常數(shù)(高高8位位)送送TH1SETB TR0 ;置;置TR0為為1,允許,允許T0啟動計數(shù)啟動計數(shù)SETB TR1 ;置;置TR1為為1,允許,允許T1啟動計啟動計 【例 6-4】 設定時器 T0,工作在模式 1,試編寫一個延時 1 s 的子程序。 解 若主頻頻率為 6 MHz,可求得 T0 的最大定時時間為 Tmax = 216 2 s = 131.072 ms 我們就用定時器獲得 100 ms 的定
22、時時間再加 10 次循環(huán)得到 1 s的延時,可算得 100 ms 定時的定時初值: (216 - Tc) 2 s = 100 ms = 100 000 s Tc = 216 - 50 000 = 15 536 = 3CB0H 例例6-5.用定時器用定時器1,方式,方式2實現(xiàn)實現(xiàn)1s的延時(的延時(12MHZ)。)。解:因方式解:因方式2 2是是8 8位計數(shù)器,其最大定時時間為:位計數(shù)器,其最大定時時間為:256256* *1s=256s1s=256s,為實現(xiàn),為實現(xiàn)1s1s的延時,可選擇定時的延時,可選擇定時時間為時間為250s250s,再循環(huán),再循環(huán)40004000次次。定時時間選定后,。定
23、時時間選定后,可確定計數(shù)值為可確定計數(shù)值為250250,則定時器,則定時器1 1的初值為:的初值為:X=M-X=M-計計數(shù)值數(shù)值=256-250=6=6H=256-250=6=6H。采用。采用定時器定時器1 1,方式,方式2 2工作工作,因此,因此,TMOD=20HTMOD=20H。DELAYDELAY:MOV R7MOV R7,#40#40; ;置置25ms25ms計數(shù)循環(huán)初值計數(shù)循環(huán)初值 MOV R6MOV R6,#100#100; ;置置250s250s計數(shù)循環(huán)初值計數(shù)循環(huán)初值 MOV TMODMOV TMOD,#20H#20H; ;設定時器設定時器1 1為方式為方式2 2 MOV TH
24、1 MOV TH1,#06H#06H; ;置定時器初值置定時器初值 MOV TL1MOV TL1,#06H#06H SETB TR1 SETB TR1; ;啟動啟動T1T1LP1LP1: JBC TF1JBC TF1,LP2LP2 ; ;查詢計數(shù)溢出查詢計數(shù)溢出 SJMP LP1SJMP LP1 ; ;無溢出則繼續(xù)計數(shù)無溢出則繼續(xù)計數(shù)LP2LP2: DJNZ R6DJNZ R6,LP1LP1; ;未到未到25ms25ms繼續(xù)循環(huán)繼續(xù)循環(huán) MOV R6MOV R6,#100#100 DJNZ R7 DJNZ R7,LP1LP1; ;未到未到1s1s繼續(xù)循環(huán)繼續(xù)循環(huán) RETRET; ;返回主程序返回主程序 6.3 定時器定時器/計數(shù)器的應用計數(shù)器的應用v 定時器定時器/計數(shù)器是單片機的重要組成部分,其工作計數(shù)器是單片機的重要組成部分,其工作方式靈活,功能強大,配合中斷使用可減輕方式靈活,功能強大,配合中斷使用可減輕CPU的的負擔,減少外圍電路。本節(jié)通過實例說明定時器負擔,減少外圍電路。本節(jié)通過實例說
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 柴油銷售合同模板
- 2024農(nóng)村土地流轉及發(fā)包合同書
- 2024商鋪租賃合同(奶茶店)
- 2024學校食堂供貨標準合同范本
- 2024年終止合同協(xié)議書解除合同協(xié)議書
- 2024年螺旋包裝機買賣合同
- 資產(chǎn)轉讓報價委托協(xié)議
- 2024貴陽勞動合同范本專業(yè)版范文
- 公司與旅行社合作契約示例
- 國際認證委托協(xié)議書格式
- DZ/T 0462.3-2023 礦產(chǎn)資源“三率”指標要求 第3部分:鐵、錳、鉻、釩、鈦(正式版)
- 備戰(zhàn)2024年高考英語考試易錯點12 名詞性從句(4大陷阱)(解析版)
- 公務員歷史常識100題及一套完整答案
- 信息技術與高中英語教學融合的途徑
- 花籃拉桿式懸挑腳手架.計算書及相關圖紙
- 職業(yè)道德與法律說課稿市公開課一等獎省賽課微課金獎課件
- 《電力建設施工技術規(guī)范 第2部分:鍋爐機組》DLT 5190.2
- 史學概論完整版本
- 供水管網(wǎng)搶修管理課件
- 信訪維穩(wěn)工作培訓
- 全國初中數(shù)學優(yōu)質(zhì)課《平行四邊形的性質(zhì)》課件
評論
0/150
提交評論