定時器和中斷資料_第1頁
定時器和中斷資料_第2頁
定時器和中斷資料_第3頁
定時器和中斷資料_第4頁
定時器和中斷資料_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1定時器定時器/計數(shù)器及其應(yīng)用計數(shù)器及其應(yīng)用3 定時器定時器/計數(shù)器及其應(yīng)用計數(shù)器及其應(yīng)用n定時器定時器/計數(shù)器的應(yīng)用場合計數(shù)器的應(yīng)用場合: 定時或延時控制、對外部事件的檢測、計定時或延時控制、對外部事件的檢測、計數(shù)等數(shù)等; nMCS-51系列系列8031、8051單片機有單片機有兩個兩個16位位定時器定時器/計數(shù)器(即計數(shù)器(即T0和和T1););n8032、8052單片機有單片機有3個個16位定時器位定時器/計計數(shù)器(即數(shù)器(即T0、 T1和和T2););4定時器定時器/計數(shù)器及其應(yīng)用計數(shù)器及其應(yīng)用n所謂所謂計數(shù)器計數(shù)器就是就是對外部輸入脈沖的計數(shù)對外部輸入脈沖的計數(shù);n所謂所謂定時器定時

2、器也是對脈沖進行計數(shù)完成的,也是對脈沖進行計數(shù)完成的,計數(shù)的是計數(shù)的是MCS-51內(nèi)部產(chǎn)生的標準脈沖內(nèi)部產(chǎn)生的標準脈沖,通,通過過計數(shù)脈沖個數(shù)實現(xiàn)定時計數(shù)脈沖個數(shù)實現(xiàn)定時。n所以,定時器和計數(shù)器本質(zhì)上是一致的,所以,定時器和計數(shù)器本質(zhì)上是一致的,在以后的敘述中將定時器在以后的敘述中將定時器/計數(shù)器計數(shù)器籠統(tǒng)稱為籠統(tǒng)稱為定時器定時器。5定時器的結(jié)構(gòu)及工作原理定時器的結(jié)構(gòu)及工作原理6定時器的結(jié)構(gòu)及工作原理定時器的結(jié)構(gòu)及工作原理n組成:兩個組成:兩個16位的定時器位的定時器T0和和T1,以及他們的工作方式寄存器,以及他們的工作方式寄存器TMOD和控制寄存器和控制寄存器TCON等組成。內(nèi)部通過等組成。

3、內(nèi)部通過總線總線與與CPU相連。相連。n定時器定時器T0和和T1各由兩個各由兩個8位特殊功能寄存器位特殊功能寄存器TH0、TL0、TH1、TL1構(gòu)成。構(gòu)成。n工作方式寄存器工作方式寄存器TMOD:用于設(shè)置定時器的用于設(shè)置定時器的工作模式和工作方式工作模式和工作方式;n控制寄存器控制寄存器TCON:用于用于啟動和停止啟動和停止定時器的計數(shù),并控制定時器定時器的計數(shù),并控制定時器的狀態(tài);的狀態(tài);n單片機復(fù)位時,兩個寄存器的所有位都被清單片機復(fù)位時,兩個寄存器的所有位都被清0。8051定時器定時器內(nèi)部結(jié)構(gòu)框圖內(nèi)部結(jié)構(gòu)框圖7定時器的結(jié)構(gòu)及工作原理定時器的結(jié)構(gòu)及工作原理n兩個兩個可編程可編程的定時器的定

4、時器/計數(shù)器計數(shù)器T1、T0。n每個定時器內(nèi)部結(jié)構(gòu)實際上就是一個每個定時器內(nèi)部結(jié)構(gòu)實際上就是一個可編程的加法計數(shù)器可編程的加法計數(shù)器,由編程來設(shè)置它工作在定時狀態(tài)還是計數(shù)狀態(tài)。由編程來設(shè)置它工作在定時狀態(tài)還是計數(shù)狀態(tài)。兩種工作模式兩種工作模式: (1) 計數(shù)器計數(shù)器工作模式工作模式就是對外部事件進行計數(shù)。就是對外部事件進行計數(shù)。計數(shù)脈沖來自相應(yīng)的外部輸入計數(shù)脈沖來自相應(yīng)的外部輸入引腳引腳T0T0(P3.4)P3.4)或或T1(P3.5)T1(P3.5)。當輸入信號發(fā)生由。當輸入信號發(fā)生由1 1至至0 0的的負跳變負跳變( (下降沿下降沿) )時,時,計數(shù)器(計數(shù)器(TH0TH0,TL0TL0或

5、或TH1TH1,TL1TL1)的值增)的值增1 1。計數(shù)的最高頻率一般為。計數(shù)的最高頻率一般為振蕩頻率的振蕩頻率的1/241/24。Why?(2) 定時器定時器工作模式工作模式也是通過計數(shù)實現(xiàn)的。也是通過計數(shù)實現(xiàn)的。計數(shù)脈沖來自內(nèi)部時鐘脈沖計數(shù)脈沖來自內(nèi)部時鐘脈沖,每個機器周期每個機器周期計數(shù)值增計數(shù)值增1 1,每個機器周期,每個機器周期=12=12個振蕩周期,因此計數(shù)頻率為振蕩頻個振蕩周期,因此計數(shù)頻率為振蕩頻率的率的1/121/12。所以。所以定時時間定時時間= =計數(shù)值計數(shù)值機器周期機器周期。4種工作方式種工作方式 (方式方式0-方式方式3) 。8定時器的結(jié)構(gòu)及工作原理定時器的結(jié)構(gòu)及工作

6、原理n當控制信號當控制信號 定時器工作在定時器工作在定時方式定時方式;加;加1計數(shù)器對脈沖計數(shù)器對脈沖f進行計數(shù),每來一個脈沖,計數(shù)器加進行計數(shù),每來一個脈沖,計數(shù)器加1,直到計時器計滿溢出;,直到計時器計滿溢出; 因為因為 ,即一個計數(shù)脈沖的周期就是一個機器周期;計數(shù),即一個計數(shù)脈沖的周期就是一個機器周期;計數(shù)器計數(shù)的是機器周期脈沖個數(shù)。從而實現(xiàn)定時。器計數(shù)的是機器周期脈沖個數(shù)。從而實現(xiàn)定時。n當控制信號當控制信號 定時器工作在定時器工作在計數(shù)方式計數(shù)方式;加;加1計數(shù)器對來自輸計數(shù)器對來自輸入引腳入引腳T0(P3.4)和和T1(P3.5)的外信號脈沖進行計數(shù),每來一個的外信號脈沖進行計數(shù),

7、每來一個脈沖,計數(shù)器加脈沖,計數(shù)器加1,直到計時器計滿溢出;,直到計時器計滿溢出;Tx THxTFxTLxTRxINTx定時定時計數(shù)計數(shù)0f0/12ff 控制信號控制信號K“1 1”啟動,計數(shù)器運行;啟動,計數(shù)器運行;“0 0”停止,計數(shù)器停止;停止,計數(shù)器停止;定時器定時器/ /計數(shù)器原理框圖計數(shù)器原理框圖加加1 1計數(shù)器計數(shù)器0/12ff1C/T=9n控制信號控制信號K K可以控制計數(shù)器的可以控制計數(shù)器的“啟動啟動”和和“停止停止”, TCON(88H)K = TRx(INTx+GATE)10n振蕩周期:是振蕩脈沖的周期,也成為“拍”,用P表示。就是晶體振蕩器的周期,或外部振蕩脈沖的周期。

8、是MCS-51單片機的最小時序單位。P1P2S1振蕩周期振蕩周期時鐘周期時鐘周期機器周期機器周期機器周期機器周期指令周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P2n時鐘周期:是振蕩源信號經(jīng)二分頻后形成的時鐘脈沖信號,用S表示。每個時鐘周期分成P1、P2兩個節(jié)拍,又被稱為一個狀態(tài)。是MCS-51單片機的最基本的時序單位。n機器周期:通常將完成一個基本操作所需的時間稱為機器周期,由6個狀態(tài)(12拍)組成,所以一個機器周期可以依次表示為S1P1、S2P2S6P1、S6P2。通常算術(shù)邏

9、輯操作發(fā)生在節(jié)拍P1期間,而內(nèi)部寄存器到寄存器的傳送發(fā)生在節(jié)拍P2期間。n指令周期:是指CPU執(zhí)行一條指令所需要的時間。是MCS-51單片機的最大的時序單位,由若干個振蕩周期組成。一個指令周期通常含有14個機器周期,MCS-51典型的指令周期為一個機器周期。 振蕩周期、振蕩周期、時鐘周期時鐘周期、機器周期機器周期和和指令周期指令周期11定時器的結(jié)構(gòu)及工作原理定時器的結(jié)構(gòu)及工作原理n在每個機器周期的在每個機器周期的S5P2S5P2期間采樣檢測引腳輸入電平期間采樣檢測引腳輸入電平。n若前一個機器周期采樣值為若前一個機器周期采樣值為“1 1”,后一個機器周期采樣值,后一個機器周期采樣值為為“0 0”

10、,則計數(shù)器加,則計數(shù)器加1 1。n新的計數(shù)值在檢測到輸入引腳電平發(fā)生新的計數(shù)值在檢測到輸入引腳電平發(fā)生“1 1”到到“0 0”的負的負跳變(下降沿)后,于下一個機器周期的跳變(下降沿)后,于下一個機器周期的S3P1S3P1期間裝入計期間裝入計數(shù)器中數(shù)器中。n由于由于CPUCPU需要兩個機器周期來識別一個需要兩個機器周期來識別一個“1 1”到到“0 0”的跳變的跳變信號,所以最高的計數(shù)頻率為振蕩周期的信號,所以最高的計數(shù)頻率為振蕩周期的1/241/24。P1P2S1振蕩周期振蕩周期狀態(tài)周期狀態(tài)周期機器周期機器周期機器周期機器周期指令周期指令周期XTAL2(OSC)S2S3S4S5S6S1S2S4

11、S5S3S6P1P1P1P1P1P1P1P1P1P1P1P2P2P2P2P2P2P2P2P2P2P212定時器的結(jié)構(gòu)及工作原理定時器的結(jié)構(gòu)及工作原理n定時定時/ /計數(shù)器對輸入信號的要求計數(shù)器對輸入信號的要求1.外部計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的外部計數(shù)脈沖的最高頻率為系統(tǒng)振蕩器頻率的1/24,例如例如選用選用12MHz頻率的晶體,則可輸入頻率的晶體,則可輸入500KHz的外部脈沖。的外部脈沖。2.輸入信號的高、低電平至少要分別保持一個機器周期。輸入信號的高、低電平至少要分別保持一個機器周期。如圖所示,圖中如圖所示,圖中Tcy為機器周期。為機器周期。13n可編程定時器的工作方式、啟動、停

12、止、溢出標可編程定時器的工作方式、啟動、停止、溢出標志、計數(shù)器等都是志、計數(shù)器等都是可編程可編程的的通過設(shè)置寄存器通過設(shè)置寄存器TMOD,TCON,TH0,TL0,TH1和和TL1 實現(xiàn)。實現(xiàn)。n當設(shè)置了定時器的工作方式并啟動定時器工作后,當設(shè)置了定時器的工作方式并啟動定時器工作后,定時器就按被設(shè)定好的工作方式獨立工作,定時器就按被設(shè)定好的工作方式獨立工作,不再不再占用占用CPU,只有在計數(shù)器計滿溢出時才向,只有在計數(shù)器計滿溢出時才向CPU申申請中斷,占用請中斷,占用CPU。n由此可見,定時器是單片機中工作效率高且應(yīng)用由此可見,定時器是單片機中工作效率高且應(yīng)用靈活的部件。靈活的部件。定時器的結(jié)

13、構(gòu)及工作原理定時器的結(jié)構(gòu)及工作原理14定時器的定時器的TMOD和和TCON寄存器寄存器15定時器的定時器的TMOD和和TCON寄存器寄存器n8051單片機定時器主要有幾個特殊功能寄存器組單片機定時器主要有幾個特殊功能寄存器組成:成:TMOD,TCON,TH0,TL0,TH1,TL1。nTMOD:設(shè)置定時器的工作方式;:設(shè)置定時器的工作方式;nTCON:控制定時器的啟動和停止;:控制定時器的啟動和停止;nTH0和和TL0 :存放定時器:存放定時器T0的的初值或計數(shù)結(jié)果初值或計數(shù)結(jié)果; TH0存放高存放高8位,位,TL0 存放低存放低8位;位;nTH1和和TL1 :存放定時器:存放定時器T1的的初

14、值或計數(shù)結(jié)果初值或計數(shù)結(jié)果; TH1存放高存放高8位,位,TL1 存放低存放低8位;位;16工作方式控制寄存器工作方式控制寄存器TMOD8位分為兩組,高位分為兩組,高4位控制位控制T1,低,低4位控制位控制T0。(1) GATE 門控位門控位 0: 以以TRX (X=0,1) 來啟動定時器來啟動定時器/計數(shù)器運行。計數(shù)器運行。1: 用外中斷引腳用外中斷引腳 (INT0*或或INT1*) 上的高電平和上的高電平和TRX來啟來啟動定時器動定時器/計數(shù)器運行。計數(shù)器運行。(2) M1、M0 工作方式選擇位工作方式選擇位 M1 M0 工工 作作 方方 式式 0 0 方式方式0,13位定時器位定時器/計

15、數(shù)器。計數(shù)器。 0 1方式方式1,16位定時器位定時器/計數(shù)器。計數(shù)器。 1 0 方式方式2,8位常數(shù)自動重新裝載位常數(shù)自動重新裝載 1 1 方式方式3,僅適用于,僅適用于T0,T0分成兩個分成兩個8位計數(shù)器,位計數(shù)器,T1停止計數(shù)。停止計數(shù)。(3) C/T* 計數(shù)器模式和定時器模式選擇位計數(shù)器模式和定時器模式選擇位0: 定時器模式。定時器模式。 1: 計數(shù)器模式。計數(shù)器模式。(4) TMOD無位地址,不能位尋址。無位地址,不能位尋址。(5) 復(fù)位時,復(fù)位時,TMOD所有位均為所有位均為“0”。17低低4位與外部中斷有關(guān),后面介紹。高位與外部中斷有關(guān),后面介紹。高4位的功能如下位的功能如下:

16、(1) TF1、TF0 計數(shù)溢出標志位計數(shù)溢出標志位 定時器定時器T0或或T1計數(shù)溢出時,由硬件計數(shù)溢出時,由硬件自動自動將此位將此位置置“1”;TFx可以由程序查詢,也是定時中斷的請求源;可以由程序查詢,也是定時中斷的請求源;(2) TR1、TR0 計數(shù)運行控制位計數(shù)運行控制位 TRx=1: 啟動定時器啟動定時器/計數(shù)器工作計數(shù)器工作 TRx=0: 停止定時器停止定時器/計數(shù)器工作計數(shù)器工作 控制寄存器控制寄存器TCON1819定時定時/ /計數(shù)器的初始化計數(shù)器的初始化MCS-51單片機的定時器單片機的定時器/計數(shù)器是可編程的,但在進行定計數(shù)器是可編程的,但在進行定時或計數(shù)之前要對程序進行時

17、或計數(shù)之前要對程序進行初始化初始化,具體步驟如下:,具體步驟如下:(1)對)對TMOD賦值,以賦值,以確定確定定時器的定時器的工作模式工作模式;(2)置置定時定時/計數(shù)器計數(shù)器初值初值,直接將初值寫入寄存器的,直接將初值寫入寄存器的TH0、TL0或或TH1、TL1;(3)根據(jù)需要,對)根據(jù)需要,對IE置初值,開放定時器中斷;置初值,開放定時器中斷;(4)對)對TCON寄存器中的寄存器中的TR0或或TR1置位置位,啟動定時,啟動定時/計數(shù)計數(shù)器,置位以后,計數(shù)器即按規(guī)定的工作模式和初值進行計器,置位以后,計數(shù)器即按規(guī)定的工作模式和初值進行計數(shù)或開始定時。數(shù)或開始定時。20定時定時/ /計數(shù)器的初

18、始化計數(shù)器的初始化初值計算初值計算: 設(shè)計數(shù)器的最大值為設(shè)計數(shù)器的最大值為M,則置入的初值,則置入的初值X為:為: 計數(shù)方式:計數(shù)方式:X=M-計數(shù)值計數(shù)值 定時方式:由定時方式:由(M-X)T=定時值定時值,得得X=M-定時值定時值/T T為計數(shù)周期,是單片機的機器周期。為計數(shù)周期,是單片機的機器周期。(模式(模式0: M為為213,模式,模式1: M為為216,模式,模式2和和3: M為為28)例如:機器周期為例如:機器周期為1s 1s 時,時, 若工作在模式若工作在模式0 0,則最大定時值為,則最大定時值為:2:213131s =8.192ms1s =8.192ms 若工作在模式若工作在

19、模式1,1,則最大定時值為則最大定時值為: : 2 216161s =65.536ms1s =65.536ms21定時器的工作方式定時器的工作方式22nMCS-51的定時器的定時器T0有有4種工作方式:種工作方式:即:即:方式方式0,方式,方式1,方式,方式2,方式,方式3。nMCS-51的定時器的定時器T1有有3種工作方式:種工作方式:即:即:方式方式0,方式,方式1,方式,方式2。定時器的工作方式定時器的工作方式23M1、M0設(shè)置為設(shè)置為00 ,為,為13位位計數(shù)器,以計數(shù)器,以T1為例,為例,其框圖如下其框圖如下:定時器的工作方式定時器的工作方式方式方式0計數(shù)脈沖輸入加1計數(shù)器24定時器

20、的工作方式定時器的工作方式方式方式0TH1 D12 D11 D10 D9 D8 D7 D6 D5TL1 D4 D3 D2 D1 D0n在這種方式下,在這種方式下,16位寄存器位寄存器TH1和和TL1只用只用13位,位,由由TH1的的8位和位和TL1的低的低5位組成。位組成。TL1的高的高3位不定。位不定。n當當TL1的低的低5位計數(shù)溢出時,向位計數(shù)溢出時,向TH1進位。而進位。而TH1計計數(shù)溢出時,則向中斷標志位數(shù)溢出時,則向中斷標志位TF1進位(即硬件將進位(即硬件將TF1置置1),并請求中斷。),并請求中斷。n可通過查詢可通過查詢TF1是否置是否置“1”或考察中斷是否發(fā)生來或考察中斷是否發(fā)

21、生來判定定時器判定定時器T1的操作完成與否。的操作完成與否。25定時器的工作方式定時器的工作方式方式方式0n當當C/T=0時,為時,為定時定時工作模式,開關(guān)接到振蕩器工作模式,開關(guān)接到振蕩器的的12分頻器輸出上,計數(shù)器對機器周期脈沖計數(shù)。分頻器輸出上,計數(shù)器對機器周期脈沖計數(shù)。其定時時間為:其定時時間為:(213-初值初值)振蕩周期振蕩周期12例如:若晶振頻率為例如:若晶振頻率為12MHz,則最長的定時時間,則最長的定時時間為為(213-0)(1/12)12us=8.191msn當當C/T=1時,為時,為計數(shù)計數(shù)工作模式,開關(guān)與外部引腳工作模式,開關(guān)與外部引腳T1(P3.5)接通,計數(shù)器對來自

22、外部引腳的輸入脈接通,計數(shù)器對來自外部引腳的輸入脈沖計數(shù)。當外部信號發(fā)生負跳變時計數(shù)器加沖計數(shù)。當外部信號發(fā)生負跳變時計數(shù)器加1。26定時器的工作方式定時器的工作方式方式方式0nGATE控制定時器控制定時器Tx(T1或或T0)的條件的條件:(1) 當當GATE=0時,時,“或門或門”輸出恒為輸出恒為1,“與門與門”的輸?shù)妮敵鲂盘柍鲂盘朘由由TRx決定決定(即此時即此時K=TRx),定時器不受,定時器不受INTx輸入電平的影響,由輸入電平的影響,由TRx直接控制定時器的啟動和停止。直接控制定時器的啟動和停止。TRx=1;計數(shù)啟動;計數(shù)啟動;TRx=0;計數(shù)停止;計數(shù)停止;(2) 當當GATE=1

23、時,時, “與門與門”的輸出信號的輸出信號K由由INTx輸入輸入電平和電平和TRx位的狀態(tài)一起決定位的狀態(tài)一起決定(即此時即此時K=TRxINTx),當且僅當當且僅當TRx=1且且INTx=1(高電平高電平)時,時,計數(shù)啟動計數(shù)啟動;否則,計數(shù)停止否則,計數(shù)停止。返回返回27M1、M0=01,為,為16位位的計數(shù)器,除位數(shù)外,其他與方式的計數(shù)器,除位數(shù)外,其他與方式0相同相同。n其定時時間為:其定時時間為:(216-初值初值)振蕩周期振蕩周期12例如:若晶振頻率為例如:若晶振頻率為12MHz,則最長的定時時間為,則最長的定時時間為(216-0)(1/12)12us=65.536ms定時器的工作

24、方式定時器的工作方式方式方式128M1、M0=10 ,為,為自動恢復(fù)初值的自動恢復(fù)初值的8位位計數(shù)器,等效框圖如計數(shù)器,等效框圖如下下: TLx作為作為8位計數(shù)器,位計數(shù)器,THx作為重置初值的緩沖器。作為重置初值的緩沖器。 定時器的工作方式定時器的工作方式方式方式2THx作為常數(shù)緩沖器作為常數(shù)緩沖器,當,當TLx計數(shù)溢出時,在置計數(shù)溢出時,在置“1”溢出標志溢出標志TFx的同時,還的同時,還自動的將自動的將THx中的初值送至中的初值送至TLx,使,使TLx從初值開從初值開始重新計數(shù)。定時器始重新計數(shù)。定時器/計數(shù)器的方式計數(shù)器的方式2工作過程如圖工作過程如圖 (x=0, 1) 。29n優(yōu)點:

25、優(yōu)點:方式方式0 0和方式和方式1 1用于循環(huán)重復(fù)定時或計數(shù)用于循環(huán)重復(fù)定時或計數(shù)時,在時,在每次計數(shù)器擠滿溢出后,計數(shù)器每次計數(shù)器擠滿溢出后,計數(shù)器復(fù)復(fù)0 0。若要進行新一輪的計數(shù),就得重。若要進行新一輪的計數(shù),就得重新裝入計數(shù)初值。這樣一來不僅造成新裝入計數(shù)初值。這樣一來不僅造成編編程麻煩程麻煩,而且,而且影響定時精度影響定時精度。而方式。而方式2 2具有初值自動裝入的功能,避免了這個具有初值自動裝入的功能,避免了這個缺點,缺點,可實現(xiàn)精確的定時可實現(xiàn)精確的定時。n缺點:缺點:只有只有8 8位計數(shù)器,定時時間短、計數(shù)范位計數(shù)器,定時時間短、計數(shù)范圍小。圍小。其定時時間為:其定時時間為: (

26、28-初值初值)振蕩周期振蕩周期12若晶振頻率為若晶振頻率為12MHz,則最長的定時時間為,則最長的定時時間為(28-0)(1/12)12us=0.256ms定時器的工作方式定時器的工作方式方式方式2方式方式2工作過程圖工作過程圖 (x=0, 1) 。30只適用于定時器只適用于定時器/計數(shù)器計數(shù)器T0。T1不能工作在方式不能工作在方式3。如果將如果將T1置為方式置為方式3,則相當于,則相當于TR1=0,停止計數(shù),停止計數(shù) (此時此時T1可用來作串行口波特率產(chǎn)生器可用來作串行口波特率產(chǎn)生器) 。1. 工作方式工作方式3下的下的T0 T0在方式在方式3時被拆成兩個時被拆成兩個獨立的獨立的8位計數(shù)器

27、:位計數(shù)器:TH0和和TL0。n8位計數(shù)器位計數(shù)器TL0使用使用T0的狀態(tài)控制位的狀態(tài)控制位C/T*、GATE、TR0、INT0,它既可以工作在,它既可以工作在定時方式定時方式,也可以工作在,也可以工作在計數(shù)方式計數(shù)方式。n8位定時器位定時器TH0被固定為一個被固定為一個8位定時器位定時器(不能作外部計數(shù)模不能作外部計數(shù)模式式) ,并使用定時器,并使用定時器T1的狀態(tài)控制位的狀態(tài)控制位TR1,同時占用定時器,同時占用定時器T1的中斷請求源的中斷請求源TF1。此時,定時器。此時,定時器TH0的啟動或停止只受的啟動或停止只受TR1控制控制。TR1=1時,啟動時,啟動TH0的計數(shù);的計數(shù); TR1=

28、0時,停止時,停止TH0的計數(shù)的計數(shù)定時器的工作方式定時器的工作方式方式方式331各引腳與各引腳與T0的邏輯關(guān)系如圖所示的邏輯關(guān)系如圖所示: 322. T0工作在方式工作在方式3下下T1的各種工作方式的各種工作方式 注意:當注意:當T0處于方式處于方式3時,時, T1仍可設(shè)置為方式仍可設(shè)置為方式0、方式、方式1和方式和方式2。n當時由于當時由于TR1、TF1和和T1的中斷源都已被定時器的中斷源都已被定時器T0(中的中的TH0)占占用,所以定時器用,所以定時器T1 僅有控制位僅有控制位C/T來決定其工作在定時方式或來決定其工作在定時方式或計數(shù)方式。計數(shù)方式。n當計數(shù)器計滿溢出時,不能置位當計數(shù)器

29、計滿溢出時,不能置位“TF1”,而只能將輸出送往串,而只能將輸出送往串口。所以,此時定時器口。所以,此時定時器T1一般用作串口的波特率發(fā)生器,或不需一般用作串口的波特率發(fā)生器,或不需要中斷的場合。要中斷的場合。(1) T1工作在方式工作在方式033(2) T1工作在方式工作在方式1 (3) T1工作在方式工作在方式234定時器定時器/計數(shù)器及其應(yīng)用計數(shù)器及其應(yīng)用定時器的編程和應(yīng)用定時器的編程和應(yīng)用35定時器的編程和應(yīng)用定時器的編程和應(yīng)用n編程說明編程說明MCS-51單片機的定時器是可編程的,但在進行定時或計數(shù)之前要對程單片機的定時器是可編程的,但在進行定時或計數(shù)之前要對程序進行序進行初始化初始

30、化,具體步驟如下:,具體步驟如下:(1)確定工作方式字:對)確定工作方式字:對TMOD寄存器正確賦值;寄存器正確賦值;(2)確定定時初值:計算初值,直接將初值寫入寄存器的)確定定時初值:計算初值,直接將初值寫入寄存器的TH0、TL0或或TH1、TL1;初值計算初值計算: 設(shè)計數(shù)器的最大值為設(shè)計數(shù)器的最大值為M,則置入的初值,則置入的初值X為:為: 計數(shù)方式:計數(shù)方式:X=M-計數(shù)值計數(shù)值 定時方式:由定時方式:由(M-X)T=定時值定時值,得得X=M-定時值定時值/T T為計數(shù)周期,是單片機的機器周期。為計數(shù)周期,是單片機的機器周期。(模式(模式0 M為為213,模式,模式1 M為為216,模

31、式,模式2和和3 M為為28)(3)根據(jù)需要,對)根據(jù)需要,對IE置初值,開放定時器中斷;置初值,開放定時器中斷;(4)啟動定時)啟動定時/計數(shù)器,對計數(shù)器,對TCON寄存器中的寄存器中的TR0或或TR1置位,置位以置位,置位以后,計數(shù)器即按規(guī)定的工作模式和初值進行計數(shù)或開始定時。后,計數(shù)器即按規(guī)定的工作模式和初值進行計數(shù)或開始定時。中斷及其應(yīng)用中斷及其應(yīng)用375.1 中斷的概念中斷的概念 執(zhí)行主執(zhí)行主程序程序主程序主程序繼續(xù)執(zhí)行繼續(xù)執(zhí)行主程序主程序斷點斷點中斷中斷請求請求中斷響中斷響應(yīng)應(yīng)執(zhí)行執(zhí)行中斷中斷處理處理程序程序中斷返回中斷返回定義:當定義:當CPU正在執(zhí)行程正在執(zhí)行程序時序時, 外部

32、發(fā)生了某一隨外部發(fā)生了某一隨機事件請求機事件請求CPU迅速處迅速處理。理。CPU暫時中止執(zhí)行暫時中止執(zhí)行的程序的程序, 轉(zhuǎn)去處理所發(fā)生轉(zhuǎn)去處理所發(fā)生的事件,中斷處理完畢的事件,中斷處理完畢,再回到原來被中止的斷再回到原來被中止的斷點繼續(xù)執(zhí)行原程序,這點繼續(xù)執(zhí)行原程序,這個過程叫中斷。個過程叫中斷。用途:中斷常用于用途:中斷常用于I/O處理,處理,故障處理。故障處理。38394041 MCS-51中斷系統(tǒng)的結(jié)構(gòu)中斷系統(tǒng)的結(jié)構(gòu) 42 中斷請求源中斷請求源MCS-51中斷系統(tǒng)有中斷系統(tǒng)有5個中斷請求源:個中斷請求源: /INT0-外部中斷外部中斷0請求,低電平有效。通過請求,低電平有效。通過P3.2

33、引腳引腳輸入。輸入。 /INT1 -外部中斷外部中斷1請求,低電平有效。通過請求,低電平有效。通過P3.3引腳引腳輸入。輸入。 T0 -定時器定時器/計數(shù)器計數(shù)器0溢出中斷請求。溢出中斷請求。 T1 -定時器定時器/計數(shù)器計數(shù)器1溢出中斷請求。溢出中斷請求。 TX/RX -串行口中斷請求。當串行口完成一幀數(shù)據(jù)的串行口中斷請求。當串行口完成一幀數(shù)據(jù)的發(fā)送或接收時,便請求中斷。發(fā)送或接收時,便請求中斷。4344454647484950TI RI 99H98H5152535455 中斷控制中斷控制中斷允許寄存器中斷允許寄存器IE 56IE 中的位含義中的位含義 全部中斷源中斷允許全部中斷源中斷允許/

34、屏蔽控制位屏蔽控制位 EA = 0 總中斷屏蔽有效總中斷屏蔽有效 EA = 1 總中斷允許有效總中斷允許有效 EA = 1時時,各中斷源中斷允許,各中斷源中斷允許/屏蔽控制位屏蔽控制位 EX0(EX1)= 0,/INT0 (/INT1)中斷屏蔽)中斷屏蔽 EX0(EX1)= 1,/INT0 (/INT1)中斷允許)中斷允許 ET0(ET1)= 0,T0 (T1)中斷屏蔽)中斷屏蔽 ET0(ET1)= 1,T0 (T1)中斷允許)中斷允許 ES = 0,串行口中斷屏蔽,串行口中斷屏蔽 ES = 1,串行口中斷允許,串行口中斷允許EAEX0ET0EX1ET1ES7 057 IE 中的位操作舉例中的

35、位操作舉例 對外部對外部 /INT0 開中斷(中斷允許)開中斷(中斷允許) 對外部對外部 /INT1 關(guān)中斷(中斷屏蔽)關(guān)中斷(中斷屏蔽) 字節(jié)操作:字節(jié)操作:MOV IE,#1XXXXXX1B MOV 0A8H,#1XXXXXX1B 位操作:位操作: SETB EA SETB EX0SETB 0AFH SETB 0A8H 字節(jié)操作:字節(jié)操作:MOV IE,#XXXXXXX0B MOV IE,#0XXXXXXXB 位操作:位操作: CLR EX0 CLR EA注注: 系統(tǒng)復(fù)位時,系統(tǒng)復(fù)位時,IE = 00H,即均中斷屏蔽,即均中斷屏蔽58b7b6b5b4b3b2b1b0 PS PT1 PX1

36、PT0 PX0 BFHBEHBDHBCHBBHBAHB9HB8H位位符號符號位地址位地址 IP 的字節(jié)地址的字節(jié)地址 B8H IP 的位地址的位地址 B8H BFH IP 的控制位的控制位 PX0、PX1 PT0、PT1 PS 中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP 59IP 中的位含義中的位含義 中斷源與位的關(guān)系中斷源與位的關(guān)系 PX0 /INT0 中斷優(yōu)先級控制位中斷優(yōu)先級控制位 PX1 /INT1 中斷優(yōu)先級控制位中斷優(yōu)先級控制位 PT0 T0 中斷優(yōu)先級控制位中斷優(yōu)先級控制位 PT1 T1 中斷優(yōu)先級控制位中斷優(yōu)先級控制位 PS 串口中斷優(yōu)先級控制位串口中斷優(yōu)先級控制位 優(yōu)先級判別優(yōu)先級判別 位置位置 1 高級別中斷高級別中斷 位清位清 0 低級別中斷低級別中斷60 高優(yōu)先級中斷可以中斷低優(yōu)先級中斷。高優(yōu)先級中斷可以中斷低優(yōu)先級中斷。 同級中斷

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論