![C單片機(jī)的中斷與定時_第1頁](http://file4.renrendoc.com/view/a65a5e6e51b0926f0544708e63957e12/a65a5e6e51b0926f0544708e63957e121.gif)
![C單片機(jī)的中斷與定時_第2頁](http://file4.renrendoc.com/view/a65a5e6e51b0926f0544708e63957e12/a65a5e6e51b0926f0544708e63957e122.gif)
![C單片機(jī)的中斷與定時_第3頁](http://file4.renrendoc.com/view/a65a5e6e51b0926f0544708e63957e12/a65a5e6e51b0926f0544708e63957e123.gif)
![C單片機(jī)的中斷與定時_第4頁](http://file4.renrendoc.com/view/a65a5e6e51b0926f0544708e63957e12/a65a5e6e51b0926f0544708e63957e124.gif)
![C單片機(jī)的中斷與定時_第5頁](http://file4.renrendoc.com/view/a65a5e6e51b0926f0544708e63957e12/a65a5e6e51b0926f0544708e63957e125.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章80C51單片機(jī)的中斷與定時教學(xué)基本要求:
(1)了解單片機(jī)系統(tǒng)有關(guān)中斷的概念;(2)了解單片機(jī)定時器/計數(shù)器的功能;(3)熟悉與中斷控制有關(guān)的控制寄存器的功能及用法;(4)熟悉與定時/計數(shù)控制有關(guān)的控制寄存器功能及用法;(5)掌握單片機(jī)中斷系統(tǒng)的應(yīng)用方法;(6)掌握單片機(jī)定時器/計數(shù)器的應(yīng)用方法;教學(xué)重點(diǎn):(1)單片機(jī)中斷系統(tǒng)的中斷服務(wù)流程;(2)單片機(jī)定時器/計數(shù)器的工作方式0、2;教學(xué)難點(diǎn):
(1)中斷采樣、中斷查詢、中斷響應(yīng)、中斷撤消某人看書——某人正在處理一件事A電話鈴響——出現(xiàn)另一件須立即解決的事B暫停看書——中止A 書中作記號——記錄斷點(diǎn),便于接續(xù)電話談話——處理B 繼續(xù)看書——繼續(xù)A的工作 保護(hù)斷點(diǎn)中斷響應(yīng)中斷請求中斷返回1.中斷的概念
(1)現(xiàn)實生活中的中斷:5.1中斷概述
中斷原因:
一個人不可能同時完成兩項任務(wù)。
單片機(jī)只有一個CPU,一旦面臨多任務(wù),它也會中斷嗎?先接電話,然后再繼續(xù)看書,這樣效率最高?。?)單片機(jī)中的中斷CPU在處理某一事件A時,發(fā)生了另一事件B請求CPU迅速去處理(中斷發(fā)生或中斷請求);CPU暫時中斷當(dāng)前的工作,轉(zhuǎn)去處理事件B(中斷響應(yīng)和中斷服務(wù));待CPU將事件B處理完畢后,再回到原來事件A被中斷的地方繼續(xù)處理事件A(中斷返回)。中斷請求→中斷響應(yīng)→中斷服務(wù)→中斷返回中斷過程事件B的處理過程事件A事件B什么是中斷?當(dāng)中央處理器CPU正在處理某件事情的時候,外界發(fā)生了緊急事件請求,要求CPU暫停當(dāng)前的工作,轉(zhuǎn)而去處理這個緊急事件。處理完畢后,再回到原來被暫停的地方,繼續(xù)原來的工作,這樣的過程稱為中斷。
2.中斷嵌套即指在中斷過程中又發(fā)生了新中斷的現(xiàn)象。
3.中斷源向CPU發(fā)出中斷請求的來源。
4.中斷請求或中斷申請中斷源要求CPU為其服務(wù)的請求。
5.中斷查詢指CPU通過測試中斷控制寄存器中各標(biāo)志位的狀態(tài),以確定有沒有中斷請求發(fā)生以及是哪一個中斷源提出中斷請求的過程。
6.中斷響應(yīng)即指CPU對中斷源提出的中斷請求的接受,發(fā)生在中斷查詢之后。
7.中斷處理或中斷服務(wù)中斷處理就是執(zhí)行中斷服務(wù)程序。
8.中斷返回中斷返回是指CPU在執(zhí)行完中斷服務(wù)程序后,返回原來暫停的地方(斷點(diǎn)),繼續(xù)執(zhí)行原來程序的過程。5.2.1中斷源與中斷向量
80C51單片機(jī)共有5個中斷源,即外部中斷2個、定時中斷2個和串行中斷1個。(1)外中斷(a)由外部信號引起,共有2個中斷源,即外部中斷“0”和外部中斷“1”。由/INT0(P3.2)和/INT1(P3.3)引入。
(b)外中斷的兩種信號觸發(fā)方式(通過有關(guān)控制位定義)電平方式:低電平有效脈沖方式:脈沖下降沿有效,高低電平狀態(tài)都應(yīng)至少維持一個機(jī)器周期。5.280C51單片機(jī)的中斷系統(tǒng)(2)定時中斷定時中斷是為滿足定時或計數(shù)的需要設(shè)置的。80C51單片機(jī)共有2個定時器/計數(shù)器中斷源,即T0和T1。定時器/計數(shù)器內(nèi)部的計數(shù)結(jié)構(gòu)對脈沖信號進(jìn)行計數(shù),當(dāng)計數(shù)結(jié)構(gòu)發(fā)生計數(shù)溢出時,即表明定時時間到或計數(shù)值已滿,此時就以計數(shù)溢出信號作為中斷請求信號,向CPU申請中斷,同時置位一個溢出標(biāo)志位,作為向單片機(jī)提出中斷請求的標(biāo)志。定時器/計數(shù)器作為定時功能使用時,計數(shù)結(jié)構(gòu)需要的計數(shù)脈沖信號來自單片機(jī)內(nèi)部。定時器/計數(shù)器作為計數(shù)功能使用時,計數(shù)結(jié)構(gòu)需要的計數(shù)脈沖信號來自單片機(jī)外部,由T0(P3.4)、T1(P3.5)引入。(3)串行中斷串行中斷是為串行數(shù)據(jù)傳送的需要設(shè)置的。每當(dāng)串行口接收或發(fā)送完一組串行數(shù)據(jù)時,就產(chǎn)生中斷請求信號向CPU申請中斷。2、中斷向量:中斷服務(wù)程序的入口地址80C51單片機(jī)的中斷向量列表外部中斷00003H定時/計數(shù)器0000BH
外部中斷10013H定時/計數(shù)器0001BH
串行發(fā)送中斷0023H串行接收中斷0023H5.2.2中斷控制
所謂中斷控制就是指單片機(jī)提供給用戶使用的中斷控制的手段,用戶可通過設(shè)置中斷控制寄存器的狀態(tài)位來使用中斷系統(tǒng)。中斷控制的本質(zhì)就是利用指令對中斷控制寄存器進(jìn)行操作。
80C51具有4個相關(guān)的控制寄存器:TCON,IE,IP,SCON。(1)定時器控制寄存器(TCON)
TCON的功能:用于保存外部中斷請求以及定時器/計數(shù)器的計數(shù)溢出信號。TCON的字節(jié)地址:88H;位地址:8FH~88H。
TCON的內(nèi)容及格式如下:位地址8FH8EH8DH8CH8BH8AH89H88H位符號TF1TR1TF0TR0IE1IT1IE0IT0與中斷控制有關(guān)的控制位共有6位:(a)IE0、IE1:外中斷請求標(biāo)志位
CPU采樣/INT0,/INT1端,如出現(xiàn)有效中斷請求信號,則由硬件電路對該位自動置1。在中斷響應(yīng)后,由硬件電路對該位自動清0。
(b)IT0、IT1:外中斷請求觸發(fā)方式控制位
IT0(IT1)=1,脈沖方式(后沿負(fù)跳有效);
IT0(IT1)=0,電平方式(低電平有效);
由軟件置1或清0,即人工編程。例:SETBIT0;或CLRIT0;(C)TF0、TF1:計數(shù)溢出標(biāo)志位當(dāng)計數(shù)結(jié)構(gòu)產(chǎn)生溢出時,由硬件電路對該位自動置1;當(dāng)轉(zhuǎn)向中斷服務(wù)時,再由硬件電路對該位自動清0。計數(shù)溢出標(biāo)志位的使用有兩種情況:
1)采用中斷方式時,作中斷請求標(biāo)志位使用;
2)采用查詢方式時,作查詢狀態(tài)位來使用,必須利用軟件對該位清0。(2)串行口控制寄存器(SCON)
SCON的功能:用于串行數(shù)據(jù)通信的控制。
SCON的字節(jié)地址:98H;位地址:9FH~98H。
SCON的內(nèi)容及格式如下:位地址9FH9EH9DH9CH9BH9AH99H98H位符號SM0SM1SM2RENTB8RB8TIRI與中斷控制有關(guān)的控制位共有2位:(a)TI:串行口發(fā)送中斷請求標(biāo)志位
發(fā)送完一幀串行數(shù)據(jù)后,由硬件電路對該位自動置1,在轉(zhuǎn)向中斷服務(wù)程序后,用軟件對該位清0。(b)RI:串行口接收中斷請求標(biāo)志位
接收完一幀數(shù)據(jù)后,由硬件電路對該位自動置1,在轉(zhuǎn)向中斷服務(wù)程序后,用軟件對該位清0。
TI、RI標(biāo)志位的使用有兩種情況:
1)采用中斷方式時,作中斷請求標(biāo)志位使用;
2)采用查詢方式時,作查詢狀態(tài)位來使用;無論采用何種方式,都必須利用軟件對該位清0。(3)中斷允許控制寄存器(IE)
IE的功能:中斷系統(tǒng)的開關(guān)。
IE的字節(jié)地址:0A8H;位地址:0AFH~0A8H。
IE的內(nèi)容及格式如下:位地址AFHAEHADHACHABHAAHA9HA8H位符號EA//ESET1EX1ET0EX0
與中斷控制有關(guān)的控制位共有6位:(a)EA:中斷允許總控制位
EA=0:中斷總禁止;
EA=1:中斷總允許;(b)EX0、EX1:外部中斷允許控制位
EX0、EX1=0:禁止外中斷;
EX0、EX1=1:允許外中斷;(c)ET0、ET1:定時器/計數(shù)器中斷允許控制位
ET0、ET1=0,禁止定時(或計數(shù))中斷;
ET0、ET1=1,允許定時(或計數(shù))中斷;(d)ES:串行中斷允許控制位
ES=0,禁止串行中斷;
ES=1,允許串行中斷;
注意:
1)80C51單片機(jī)復(fù)位后(IE)=00H,即中斷系統(tǒng)處于禁止?fàn)顟B(tài);
2)單片機(jī)在中斷響應(yīng)后不會自動關(guān)閉中斷,需使用有關(guān)指令(將EA復(fù)位)禁止中斷,即以軟件方式關(guān)閉中斷。(4)中斷優(yōu)先級控制寄存器(IP)
IP的功能:決定各中斷源的優(yōu)先權(quán)。
IP的字節(jié)地址:0B8H;位地址:0BFH~0B8H。
IP的內(nèi)容及格式如下:位地址BFHBEHBDHBCHBBHBAHB9HB8H位符號///PSPT1PX1PT0PX0與中斷控制有關(guān)的控制位共有5位:(a)PX0:外部中斷0優(yōu)先級設(shè)定位;(b)PT0:定時中斷0優(yōu)先級設(shè)定位;(c)PX1:外部中斷1優(yōu)先級設(shè)定位;(d)PT1:定時中斷1優(yōu)先級設(shè)定位;(e)PS:串行中斷優(yōu)先級設(shè)定位;
為0的位優(yōu)先級為低,為1的優(yōu)先級為高。5.2.3中斷優(yōu)先級控制中斷優(yōu)先級是為中斷嵌套服務(wù)的。80C51單片機(jī)具有兩級優(yōu)先級,因此它具備兩級中斷服務(wù)嵌套的功能,其中斷優(yōu)先級的控制原則是:(a)低優(yōu)先級中斷請求不能打斷高優(yōu)先級的中斷服務(wù),但高優(yōu)先級中斷請求可以打斷低優(yōu)先級的中斷服務(wù),實現(xiàn)中斷嵌套。(b)如一個中斷請求已被響應(yīng),則同級的其它中斷響應(yīng)將被禁止。即同級不能嵌套。(c)如果同級的多個中斷請求同時出現(xiàn),則按CPU查詢次序確定那個中斷請求被響應(yīng)。CPU查詢次序:
外部中斷0→定時中斷0→外部中斷1→定時中斷1→串行中斷中斷優(yōu)先級控制,除了中斷優(yōu)先級控制寄存器之外,還有兩個不可尋址的優(yōu)先級狀態(tài)觸發(fā)器:一個用于指示某一高優(yōu)先級中斷正在進(jìn)行服務(wù),從而屏蔽其它高優(yōu)先級中斷;另一個用于指示某一低優(yōu)先級中斷正在進(jìn)行服務(wù),從而屏蔽其它低優(yōu)先級中斷,但不能屏蔽高優(yōu)先級的中斷。中斷初始化與中斷控制寄存器狀態(tài)設(shè)置
80C51單片機(jī)的中斷系統(tǒng)在使用之前,必須在單片機(jī)的應(yīng)用程序初始化部分進(jìn)行設(shè)置,具體情況如下:(a)外部中斷:中斷總允許、外中斷允許、中斷觸發(fā)方式設(shè)定(b)定時中斷:中斷總允許、定時中斷允許;(c)串行中斷:中斷總允許、串行中斷允許。
80C51單片機(jī)中斷系統(tǒng)的4個控制寄存器既可以進(jìn)行字節(jié)尋址,又可進(jìn)行位尋址,對位狀態(tài)的設(shè)置,既可以使用字節(jié)操作指令,又可以使用位操作指令。例:設(shè)要開放外中斷0,則可以使用以下指令:
MOVIE,#81H;或SETBEA;SETBEX0;
80C51單片機(jī)中斷系統(tǒng)內(nèi)部結(jié)構(gòu)圖5.2.4中斷響應(yīng)過程中斷響應(yīng)過程發(fā)生在中斷查詢之后,包括中斷響應(yīng)、中斷處理、中斷返回三個階段。因此,必須首先研究中斷查詢。所謂中斷查詢就是指CPU通過測試TCON和SCON中各標(biāo)志位的狀態(tài),以確定有沒有中斷請求發(fā)生以及是哪一個中斷源提出中斷請求的過程。
中斷請求標(biāo)志位的置位方式由于單片機(jī)中斷類型的不同而存在差異。(a)對于外中斷,必須通過采樣的方法把外中斷請求信號鎖定在TCON的相應(yīng)標(biāo)志位中;(b)對于定時中斷和串行中斷,可以通過硬件電路直接置位的方法將TCON和SCON中各自的中斷請求標(biāo)志位置“1”。(1)中斷采樣(針對外中斷)中斷請求采樣:即如何識別外部中斷請求信號并把它鎖定在TCON的相應(yīng)標(biāo)志位中。
采樣時刻:在每個機(jī)器周期的S5P2(第5狀態(tài),第2節(jié)拍)時刻,對/INT0(P3.2)和/INT1(P3.3)引腳進(jìn)行。對于電平方式的外中斷請求,采樣為高→IE0(IE1)→0,為低→IE0(IE1)→1;對于脈沖方式外中斷請求,采樣先高后低→IE0(IE1)→1;否則IE0(IE1)→0。
(2)中斷查詢
中斷查詢:CPU對中斷請求標(biāo)志位的查詢來獲悉有無中斷請求發(fā)生以及是哪一個中斷源提出中斷請求;
查詢次序:按優(yōu)先級順序進(jìn)行;查詢時刻:每個機(jī)器周期的最后一個狀態(tài)S6,一旦查到有中斷請求發(fā)生,接著就從相臨的下一個機(jī)器周期的S1狀態(tài)開始進(jìn)行中斷響應(yīng)。(3)中斷響應(yīng)中斷響應(yīng)的主要內(nèi)容:由硬件電路自動生成一條長調(diào)用指令LCAALaddr16(即程序存儲器中相應(yīng)中斷區(qū)的入口地址),生成LCALL指令后,就由CPU執(zhí)行,從而轉(zhuǎn)移到真正的中斷服務(wù)程序。
中斷響應(yīng)是有條件的,并不是查詢到的所有中斷請求都能被立即響應(yīng),當(dāng)存在下列情況之一時,中斷響應(yīng)被封鎖:(a)CPU正處在為一個同級或高級的中斷服務(wù)中;(b)查詢中斷請求的機(jī)器周期不是當(dāng)前指令的最后一個機(jī)器周期;(c)當(dāng)前指令是返回指令(RET,RETI)或訪問IE,IP指令。
80C51單片機(jī)對中斷查詢結(jié)果不作記憶,當(dāng)有新的查詢結(jié)果出現(xiàn)時,因為以上原因而被拖延的查詢結(jié)果將不復(fù)存在,其中斷請求也就不能再被響應(yīng)了。
中斷響應(yīng)的條件:(a)有中斷源發(fā)出有效的中斷請求信號;(b)EA=1,即CPU開總中斷;(c)申請中斷的中斷源的中斷允許位為1,即沒有屏蔽;(d)中斷響應(yīng)沒有被封鎖。(4)中斷響應(yīng)時間即指從查詢中斷請求標(biāo)志位到轉(zhuǎn)向中斷區(qū)入口地址所需的機(jī)器周期數(shù)。最短響應(yīng)時間:3個機(jī)器周期(1個查詢機(jī)器周期和2個LCALL指令機(jī)器周期);最長響應(yīng)時間:8個機(jī)器周期(2+4+2)。一般的中斷響應(yīng)時間在3~8個機(jī)器周期之間。(5)中斷處理即執(zhí)行中斷服務(wù)程序的過程。(6)中斷返回指CPU在執(zhí)行完中斷服務(wù)程序后,返回原來暫停的地方(斷點(diǎn)),繼續(xù)執(zhí)行原來程序的過程。中斷請求的撤消問題中斷響應(yīng)后,TCON或SCON中的中斷請求標(biāo)志應(yīng)及時清除,否則就意味著中斷請求依然存在,弄不好就會造成中斷的重復(fù)查詢和響應(yīng),因此,必須在中斷響應(yīng)后及時清除中斷請求信號(即將中斷請求標(biāo)志位清0)。(1)定時中斷請求的撤消定時中斷的中斷請求是由硬件電路自動撤消的(即硬件電路自動把標(biāo)志位(TF0或TF1)清0),無需用戶干預(yù)。(2)脈沖方式外部中斷請求的撤消外部中斷請求的撤消包括兩項內(nèi)容:(a)中斷標(biāo)志位的清0;(b)外部中斷請求信號的撤消;對于脈沖方式的外部中斷請求,其標(biāo)志位(IE0或IE1)的清0是由硬件電路自動完成的;由于中斷請求信號是脈沖信號,因此,中斷請求信號也是自動撤消的。(3)電平方式外部中斷請求的撤消對于電平方式的外部中斷請求,其標(biāo)志位(IE0或IE1)的清0是由硬件電路自動完成的;由于中斷請求信號是低電平信號,因此,必須借助外電路將其拉高,否則,在以后的機(jī)器周期采樣時又會將標(biāo)志位(IE0或IE1)置“1”,造成重復(fù)中斷響應(yīng)。(4)串行中斷軟件撤消串行中斷的標(biāo)志位TI,RI,硬件電路不會將其自動清0,因為在中斷響應(yīng)后,還需測試TI,RI的狀態(tài),以判定是接收還是發(fā)送操作,然后才能清除。應(yīng)使用軟件方法進(jìn)行,加在中斷服務(wù)程序中。結(jié)合硬件電路,只需在中斷服務(wù)程序中增加兩條指令就可在P1.0口線上產(chǎn)生一個負(fù)脈沖,將中斷請求低電平信號撤消:
ORLP1,#01H;P1.0輸出高電平
ANLP1,#0FEH;P1.0輸出低電平5.2.5中斷服務(wù)程序
中斷服務(wù)流程(1)現(xiàn)場保護(hù)和現(xiàn)場恢復(fù)
現(xiàn)場保護(hù):為了使中斷服務(wù)程序的執(zhí)行不破壞CPU中寄存器或存儲單元的原有內(nèi)容,以免在中斷返回后影響主程序的運(yùn)行,須把CPU中有關(guān)寄存器或存儲單元的內(nèi)容推入堆棧中保護(hù)起來。這個過程稱現(xiàn)場保護(hù)。
現(xiàn)場恢復(fù):中斷服務(wù)結(jié)束后,在返回主程序前,把保存的現(xiàn)場內(nèi)容從堆棧中彈出,以恢復(fù)寄存器或存儲單元的原有內(nèi)容?,F(xiàn)場保護(hù)和現(xiàn)場恢復(fù)利用PUSH、POP指令實現(xiàn),現(xiàn)場保護(hù)一定要位于中斷處理程序前面,而現(xiàn)場恢復(fù)一定要位于中斷處理程序后面。(2)開中斷和關(guān)中斷
開中斷即中斷允許,關(guān)中斷即中斷屏蔽。在現(xiàn)場保護(hù)和現(xiàn)場恢復(fù)的過程中,即使有更高級的中斷請求,也不允許中斷嵌套。通過CLR和SETB指令復(fù)位、置位控制IE寄存器的相關(guān)位。(3)中斷處理(4)中斷返回
利用RETI指令把程序運(yùn)行從中斷服務(wù)程序轉(zhuǎn)回到被中斷的主程序上去,這條指令位于中斷服務(wù)程序的最后一條指令。
RETI指令執(zhí)行時,首先將響應(yīng)中斷時置位的優(yōu)先級觸發(fā)器復(fù)位,然后將斷點(diǎn)地址從堆棧中彈出送PC,接著CPU從斷點(diǎn)處重新執(zhí)行被中斷的主程序。例題分析返回返回返回80C51單片機(jī)中斷系統(tǒng)內(nèi)部結(jié)構(gòu)圖返回返回例1用中斷實現(xiàn)如下功能:將30H—60H單元的內(nèi)容送微型打印機(jī)打印。P1.0P1.1P1.2P1.3STBACKBUSY89C51D6D0D1D2D3D4D5P1.4P1.5P1.6P1.7微型打印機(jī)D7P2.0P3.2
ORG0000HLJMPMAINORG0003HLJMPAINT0MAIN:MOVSP,#60HSETBEASETBEX0SETBIT0MOVR0,#30HMOVP1,@R0SETBP2.0CLRP2.0SJMP$AINT0:INCR0MOVP1,@R0SETBP2.0CLRP2.0CJNER0,#60H,AINT00CLREX0AINT00:RETI例2用中斷實現(xiàn)如下功能:2個開關(guān)K1和K2,1個數(shù)碼管,當(dāng)K1按下時數(shù)碼管加1,K2按下時數(shù)碼管減1。P1.0P1.1P1.2P1.389C51P1.4P1.5P1.6P1.7COMabcdefg共陰極LEDK1K2P3.2P3.3+5VAINT0:INCR7CJNER7,#10,AINT01MOVR7,#0AINT01:RETIBINT1:DECR7CJNER7,#0FFH,BINT11MOVR7,#9BINT11:RETITAB:DB
3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH
ORG0000HLJMPMAINORG0003HLJMPAINT0ORG0013HLJMPBINT1MAIN:MOVSP,#60HMOVIE,#85HSETBIT0SETBIT1MOVR7,#0UP:MOVA,R7MOVDPTR,#TABMOVCA,@A+DPTRMOVP1,A
SJMPUP5.380C51單片機(jī)的定時器/計數(shù)器定時方法概述(1)軟件定時(a)依靠執(zhí)行一個循環(huán)程序以進(jìn)行時間延遲;(b)定時精確,無須增加硬件電路,但占有CPU資源。(2)硬件定時
硬件電路完成,不占有CPU資源,定時時間長,使用不靈活。(3)可編程定時器定時
通過對系統(tǒng)時鐘脈沖的計數(shù)來實現(xiàn),使用靈活、方便。
80C51單片機(jī)有兩個定時器/計數(shù)器(T0,T1),均為十六位加法計數(shù)結(jié)構(gòu),分別由TH0,TL0,TH1,TL1兩個8位計數(shù)器組成。80C51單片機(jī)定時器/計數(shù)器邏輯結(jié)構(gòu)圖。
80C51單片機(jī)的定時器/計數(shù)器具有定時和計數(shù)功能:1.計數(shù)功能(a)所謂計數(shù):指對外部事件進(jìn)行計數(shù),外部事件的發(fā)生以輸入脈沖表示,因此,計數(shù)功能的實質(zhì)是對外來脈沖進(jìn)行計數(shù)。(b)計數(shù)輸入端:T0(P3.4)、T1(P3.5)。(c)有效計數(shù)脈沖:外部輸入的脈沖在下降沿有效,計數(shù)器加1。(d)計數(shù)采樣時刻:每個機(jī)器周期的S5P2(共要2個周期)。(e)計數(shù)時刻:計數(shù)采樣時刻的下一個機(jī)器周期的S3P1。5.3.1定時器/計數(shù)器的計數(shù)和定時功能
2.定時功能
定時功能也是通過計數(shù)器的計數(shù)來實現(xiàn)的。計數(shù)脈沖來自內(nèi)部,每個機(jī)器周期產(chǎn)生一個計數(shù)脈沖,即每個機(jī)器周期計數(shù)器加1,計數(shù)頻率為1/12fosc。5.3.2用于定時器/計數(shù)器的控制寄存器定時器/計數(shù)器的控制寄存器有3個:TCON、TMOD、IE。(1)定時器控制寄存器(TCON)
TCON的功能:用于保存外部中斷請求以及定時器/計數(shù)器的計數(shù)溢出信號。
TCON的字節(jié)地址:88H;位地址:8FH~88H。
TCON的內(nèi)容及格式如下:位地址8FH8EH8DH8CH8BH8AH89H88H位符號TF1TR1TF0TR0IE1IT1IE0IT0與定時有關(guān)的控制位共有4位:(a)TF0、TF1:計數(shù)溢出標(biāo)志位當(dāng)計數(shù)結(jié)構(gòu)產(chǎn)生溢出時,由硬件電路對該位自動置1;當(dāng)轉(zhuǎn)向中斷服務(wù)時,再由硬件電路對該位自動清0。計數(shù)溢出標(biāo)志位的使用有兩種情況:
1)采用中斷方式時,作中斷請求標(biāo)志位使用;
2)采用查詢方式時,作查詢狀態(tài)位來使用,必須利用軟件對該位清0。(b)TR0、TR1:定時器運(yùn)行控制位
TR0、TR1=0,停止T/C工作;
TR0、TR1=1,啟動T/C工作。該位根據(jù)需要以軟件方法置1或清0。
(2)工作方式控制寄存器(TMOD)
TMOD的功能:用于設(shè)定兩個定時器/計數(shù)器的工作方式。
TMOD的字節(jié)地址:89H,應(yīng)采用字節(jié)傳送指令設(shè)置其內(nèi)容。
TMOD的內(nèi)容及格式如下:位序B7B6B5B4B3B2B1B0位符號GATEC/TM1M0GATEC/TM1M0與定時有關(guān)的控制位共有8位,分兩組:(a)GATE:門控位
GATE=0,以運(yùn)行控制位TR0、TR1啟動T/C;
GATE=1,以外中斷請求信號(/INT1,/INT0)啟動T/C。(b)C/T:定時方式或計數(shù)方式選擇位
C/T=0,定時工作方式;
C/T=1,計數(shù)工作方式。(c)M1M0:工作方式選擇位
M1M0=00方式0M1M0=01方式1M1M0=10方式2
M1M0=11方式3
(3)中斷允許寄存器(IE)
IE的功能:中斷系統(tǒng)的開關(guān)。
IE的字節(jié)地址:0A8H;位地址:0AFH~0A8H。
IE的內(nèi)容及格式如下:位地址AFHAEHADHACHABHAAHA9HA8H位符號EA//ESET1EX1ET0EX0與定時有關(guān)的控制位共有3位:(a)EA:中斷允許總控制位
EA=0:中斷總禁止;
EA=1:中斷總允許;(b)ET0、ET1:定時器/計數(shù)器中斷允許控制位
ET0、ET1=0,禁止定時(或計數(shù))中斷;
ET0、ET1=1,允許定時(或計數(shù))中斷;5.3.3定時工作方式0(1)電路邏輯結(jié)構(gòu)
方式0是13位計數(shù)結(jié)構(gòu)的工作方式,其計數(shù)器由TH全部8位和TL的低5位構(gòu)成,TL的高3位不用。
(2)定時和計數(shù)應(yīng)用
(a)在方式0下,作計數(shù)功能時,計數(shù)值范圍1~8192(213),計數(shù)可從0~8191開始。
(b)在方式0下,作定時功能時,定時時間計算公式:(213-計數(shù)初值)×晶振周期×12
或(213-計數(shù)初值)×機(jī)器周期。
注意:1)T/C是可編程的,TH,TL可以按字節(jié)尋址。例:MOVTL0,#Data;
MOVTH0,#Data;
TL0,TH0中的初值可通過指令預(yù)置。
2)計數(shù)脈沖→TL5位→TH8位→TF
假設(shè)fosc=6MHz,則最長、最短定時時間分別為2μs、16384μs例:假設(shè)單片機(jī)fosc=6MHz,使用定時器1以方式0產(chǎn)生周期為500μs的等寬正方波連續(xù)脈沖,由P1.0輸出,以查詢方式完成。解:1)計算計數(shù)初值利用定時器/計數(shù)器1的定時功能,定時時間250μs。假設(shè)待求的計數(shù)初值為X:則:(213-X)×2×10-6S=250×10-6S
得:X=8067(十進(jìn)制),1111110000011(二進(jìn)制),十六進(jìn)制表示:高8位0FCH送TH1,低5位03H送TL1。
2)TMOD寄存器初始化位序B7B6B5B4B3B2B1B0位符號GATEC/TM1M0GATEC/TM1M000000000根據(jù)以上分析,TMOD寄存器應(yīng)初始化位00H。
3)由T/C1的TCON中TR1位控制其啟動,停止:
TR1=1啟動,TR1=0停止;
4)程序設(shè)計:
ORG1000HMAIN:MOVTMOD,#00H;T/C1方式0MOVTH1,#0FCH;設(shè)計數(shù)初值
MOVTL1,#03H;
MOVIE,#00H;禁止中斷
SETBTR1;啟動定時器
LOOP:JNBTF1,LOOP;查詢計數(shù)溢出否
MOVTH1,#0FCH;重置計數(shù)初值
MOVTL1,#03H;
CLRTF1;清計數(shù)溢出標(biāo)志
CPLP1.0;輸出取反
AJMPLOOP;重復(fù)循環(huán)
END思考題:1)如采用中斷方式,如何編程?
2)如P1.0輸出的不是方波,而是矩形波(高電平100μs,低電平200μs),其它條件不變,如何編程?5.3.4定時工作方式1(1)電路邏輯結(jié)構(gòu)
方式1是16位計數(shù)結(jié)構(gòu)的工作方式,由TH全部8位和TL全部8位構(gòu)成。88(2)定時和計數(shù)應(yīng)用
(a)在方式1下,作計數(shù)功能時,計數(shù)值范圍1~65536(216),計數(shù)可從0~65535開始。
(b)在方式1下,作定時功能時,定時時間計算公式:(216-計數(shù)初值)×晶振周期×12
或(216-計數(shù)初值)×機(jī)器周期。
注意:1)T/C是可編程的,TH,TL可以按字節(jié)尋址。例:MOVTL0,#Data;
MOVTH0,#Data;
TL0,TH0中的初值可通過指令預(yù)置。
2)計數(shù)脈沖→TL8位→TH8位→TF
假設(shè)fosc=6MHz,則最長、最短定時時間分別為2μs、131ms。例:假設(shè)單片機(jī)fosc=6MHz,使用定時器1以方式1產(chǎn)生周期為500μs的等寬正方波連續(xù)脈沖,由P1.0輸出,以中斷方式完成。解:1)計算計數(shù)初值利用定時器/計數(shù)器1的定時功能,定時時間250μs。假設(shè)待求的計數(shù)初值為X:則:(216-X)×2×10-6S=250×10-6S
得:X=65410(十進(jìn)制),十六進(jìn)制表示:高8位0FFH送TH1,低8位83H送TL1。
2)TMOD寄存器初始化位序B7B6B5B4B3B2B1B0位符號GATEC/TM1M0GATEC/TM1M000010000根據(jù)以上分析,TMOD寄存器應(yīng)初始化為10H。
3)由T/C1的TCON中TR1位控制其啟動,停止:
TR1=1啟動,TR1=0停止;
4)程序設(shè)計:
ORG1000H;主程序
MAIN:MOVTMOD,#10H;T/C1方式1MOVTH1,#0FFH;設(shè)計數(shù)初值
MOVTL1,#83H;
SETBEA;開總中斷
SETBET1;T/C1允許中斷
LOOP:SETBTR1;啟動定時器
HERE:SJMP$;等待中斷中斷服務(wù)程序
ORG2000H;
LOOP1:MOVTH1,#0FFH;重置計數(shù)初值
MOVTL1,#83H;
CPLP1.0;輸出取反
RETI;中斷返回
END5.3.5定時工作方式2(1)電路邏輯結(jié)構(gòu)
方式2是自動重新加載計數(shù)初值工作方式,以TL作計數(shù)器,以TH作預(yù)置寄存器,初始化時把計數(shù)初值分別裝入TL和TH中。當(dāng)計數(shù)溢出后,由預(yù)置寄存器TH以硬件方法自動給計數(shù)器TL重新加載初值。(2)循環(huán)定時和循環(huán)計數(shù)應(yīng)用
(a)在方式2下,作計數(shù)功能時,計數(shù)值范圍1~256(28),計數(shù)可從0~255開始。
(b)在方式2下,作定時功能時,定時時間計算公式:(28-計數(shù)初值)×晶振周期×12
或(28-計數(shù)初值)×機(jī)器周期。
注意:1)T/C是可編程的,TH,TL可以按字節(jié)尋址。例:MOVTL0,#Data;
MOVTH0,#Data;
TL0,TH0中的初值可通過指令預(yù)置。
2)計數(shù)脈沖→TL8位→TF
假設(shè)fosc=6MHz,則最長、最短定時時間分別為2μs、512μs。例:假設(shè)單片機(jī)fosc=6MHz,使用T/C0以方式2產(chǎn)生100μs定時,在P1.0輸出周期為200μs的連續(xù)方波脈沖。解:1)計算計數(shù)初值利用定時器/計數(shù)器0的定時功能,定時時間100μs。假設(shè)待求的計數(shù)初值為X:則:(28-X)×2×10-6S=100×10-6S
得:X=206(十進(jìn)制),十六進(jìn)制表示:0CEH送TH0,0CEH送TL0。
2)TMOD寄存器初始化位序B7B6B5B4B3B2B1B0位符號GATEC/TM1M0GATEC/TM1M000000010根據(jù)以上分析,TMOD寄存器應(yīng)初始化為02H。
3)由T/C0的TCON中TR0位控制其啟動,停止:
TR0=1啟動,TR0=0停止;
4)程序設(shè)計(查詢方式)
ORG1000H;主程序
MAIN:MOVTMOD,#02H;T/C0方式2MOVTH0,#0CEH;設(shè)計數(shù)初值
MOVTL0,#0CEH;
MOVIE,#00H;禁止中斷
SETBTR0;啟動定時
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年二手房購買合同例文(4篇)
- 2025年產(chǎn)品銷售代理合同參考樣本(三篇)
- 2025年個人房屋抵押借款服務(wù)合同(2篇)
- 2025年二手房購房正規(guī)合同(2篇)
- 2025年二手車分期付款合同(2篇)
- 2025年九年級思想品德上學(xué)期工作總結(jié)樣本(三篇)
- 2025年五年級數(shù)學(xué)教研組總結(jié)(2篇)
- 2025年臨時工合同簡單版(2篇)
- 健身連鎖股權(quán)轉(zhuǎn)讓居間協(xié)議
- 汽車內(nèi)飾運(yùn)輸協(xié)議模板
- 2025年上半年東莞望牛墩鎮(zhèn)事業(yè)單位招考(10人)易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年礦山開采承包合同實施細(xì)則4篇
- 2025年度茶葉品牌加盟店加盟合同及售后服務(wù)協(xié)議
- 氧氣、乙炔工安全操作規(guī)程(3篇)
- 建筑廢棄混凝土處置和再生建材利用措施計劃
- 集裝箱知識培訓(xùn)課件
- 某縣城區(qū)地下綜合管廊建設(shè)工程項目可行性實施報告
- 《架空輸電線路導(dǎo)線舞動風(fēng)偏故障告警系統(tǒng)技術(shù)導(dǎo)則》
- 2024年計算機(jī)二級WPS考試題庫
- 廣東省廣州黃埔區(qū)2023-2024學(xué)年八年級上學(xué)期期末數(shù)學(xué)試卷(含答案)
- 法理學(xué)課件馬工程
評論
0/150
提交評論