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

下載本文檔

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

文檔簡(jiǎn)介

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

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

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

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

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

6、原理n當(dāng)控制信號(hào)當(dāng)控制信號(hào) 定時(shí)器工作在定時(shí)器工作在定時(shí)方式定時(shí)方式;加;加1計(jì)數(shù)器對(duì)脈沖計(jì)數(shù)器對(duì)脈沖f進(jìn)行計(jì)數(shù),每來(lái)一個(gè)脈沖,計(jì)數(shù)器加進(jìn)行計(jì)數(shù),每來(lái)一個(gè)脈沖,計(jì)數(shù)器加1,直到計(jì)時(shí)器計(jì)滿溢出;,直到計(jì)時(shí)器計(jì)滿溢出; 因?yàn)橐驗(yàn)?,即一個(gè)計(jì)數(shù)脈沖的周期就是一個(gè)機(jī)器周期;計(jì)數(shù),即一個(gè)計(jì)數(shù)脈沖的周期就是一個(gè)機(jī)器周期;計(jì)數(shù)器計(jì)數(shù)的是機(jī)器周期脈沖個(gè)數(shù)。從而實(shí)現(xiàn)定時(shí)。器計(jì)數(shù)的是機(jī)器周期脈沖個(gè)數(shù)。從而實(shí)現(xiàn)定時(shí)。n當(dāng)控制信號(hào)當(dāng)控制信號(hào) 定時(shí)器工作在定時(shí)器工作在計(jì)數(shù)方式計(jì)數(shù)方式;加;加1計(jì)數(shù)器對(duì)來(lái)自輸計(jì)數(shù)器對(duì)來(lái)自輸入引腳入引腳T0(P3.4)和和T1(P3.5)的外信號(hào)脈沖進(jìn)行計(jì)數(shù),每來(lái)一個(gè)的外信號(hào)脈沖進(jìn)行計(jì)數(shù),

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

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

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

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

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

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

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

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

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

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

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

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

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

20、的工作方式定時(shí)器的工作方式方式方式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當(dāng)當(dāng)TL1的低的低5位計(jì)數(shù)溢出時(shí),向位計(jì)數(shù)溢出時(shí),向TH1進(jìn)位。而進(jìn)位。而TH1計(jì)計(jì)數(shù)溢出時(shí),則向中斷標(biāo)志位數(shù)溢出時(shí),則向中斷標(biāo)志位TF1進(jìn)位(即硬件將進(jìn)位(即硬件將TF1置置1),并請(qǐng)求中斷。),并請(qǐng)求中斷。n可通過(guò)查詢可通過(guò)查詢TF1是否置是否置“1”或考察中斷是否發(fā)生來(lái)或考察中斷是否發(fā)

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

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

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

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

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

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

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

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

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

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

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

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

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

34、屏蔽控制位屏蔽控制位 EA = 0 總中斷屏蔽有效總中斷屏蔽有效 EA = 1 總中斷允許有效總中斷允許有效 EA = 1時(shí)時(shí),各中斷源中斷允許,各中斷源中斷允許/屏蔽控制位屏蔽控制位 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、位操作舉例 對(duì)外部對(duì)外部 /INT0 開(kāi)中斷(中斷允許)開(kāi)中斷(中斷允許) 對(duì)外部對(duì)外部 /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ù)位時(shí),系統(tǒng)復(fù)位時(shí),IE = 00H,即均中斷屏蔽,即均中斷屏蔽58b7b6b5b4b3b2b1b0 PS PT1 PX1

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

溫馨提示

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

評(píng)論

0/150

提交評(píng)論