第五章MCS-51單片機(jī)中斷系統(tǒng)與定時計數(shù)器_第1頁
第五章MCS-51單片機(jī)中斷系統(tǒng)與定時計數(shù)器_第2頁
第五章MCS-51單片機(jī)中斷系統(tǒng)與定時計數(shù)器_第3頁
第五章MCS-51單片機(jī)中斷系統(tǒng)與定時計數(shù)器_第4頁
第五章MCS-51單片機(jī)中斷系統(tǒng)與定時計數(shù)器_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1單片機(jī)原理及應(yīng)用單片機(jī)原理及應(yīng)用1、中斷的基本概念,中斷系統(tǒng)結(jié)構(gòu),中斷響應(yīng)過程,、中斷的基本概念,中斷系統(tǒng)結(jié)構(gòu),中斷響應(yīng)過程,中斷初始化程序及中斷服務(wù)程序的編寫;中斷初始化程序及中斷服務(wù)程序的編寫; 2、定時、定時/計數(shù)器結(jié)構(gòu)和工作原理,定時計數(shù)器結(jié)構(gòu)和工作原理,定時/計數(shù)器初始計數(shù)器初始化編程。化編程。5.1 中斷系統(tǒng)中斷系統(tǒng)5.2 定時定時/計數(shù)器計數(shù)器25.1 中斷系統(tǒng)中斷系統(tǒng)35.1 中斷系統(tǒng)中斷系統(tǒng)一、中斷的基本概念一、中斷的基本概念同學(xué)提問教師講課教師答疑教師講課中斷示意圖1、日常生活中斷的例子、日常生活中斷的例子教師講課教師講課過程過程中,同學(xué)遇有疑問,中,同學(xué)遇有疑問,隨時向

2、老師隨時向老師提問提問,教師終止當(dāng)前的講教師終止當(dāng)前的講課,課,解答解答學(xué)生疑問學(xué)生疑問后再后再繼續(xù)之前的講繼續(xù)之前的講課課。4中斷申請主程序中斷服務(wù)程序返回中斷示意圖2、計算機(jī)的中斷概念、計算機(jī)的中斷概念中斷中斷是指由于某種隨機(jī)事件的是指由于某種隨機(jī)事件的發(fā)生,計算機(jī)暫?,F(xiàn)行程序的運(yùn)發(fā)生,計算機(jī)暫?,F(xiàn)行程序的運(yùn)行,轉(zhuǎn)去執(zhí)行另一程序,以處理行,轉(zhuǎn)去執(zhí)行另一程序,以處理發(fā)生的事件,處理完畢后又自動發(fā)生的事件,處理完畢后又自動返回原來的程序繼續(xù)運(yùn)行。返回原來的程序繼續(xù)運(yùn)行。 能引起中斷的事件稱為能引起中斷的事件稱為中斷源中斷源。 CPU現(xiàn)行運(yùn)行的程序稱為現(xiàn)行運(yùn)行的程序稱為主程主程序序。 處理隨機(jī)事

3、件的程序稱為處理隨機(jī)事件的程序稱為中斷中斷服務(wù)子程序服務(wù)子程序。53、中斷技術(shù)的優(yōu)點、中斷技術(shù)的優(yōu)點 1)分時操作分時操作。CPU可以分時為多個可以分時為多個I/O設(shè)備服務(wù),設(shè)備服務(wù),提高了計算機(jī)的利用率;提高了計算機(jī)的利用率;2)實時響應(yīng)實時響應(yīng)。CPU能夠及時處理應(yīng)用系統(tǒng)的隨機(jī)事能夠及時處理應(yīng)用系統(tǒng)的隨機(jī)事件,系統(tǒng)的實時性大大增強(qiáng);件,系統(tǒng)的實時性大大增強(qiáng); 3)可靠性高可靠性高。CPU具有處理設(shè)備故障及掉電等突發(fā)具有處理設(shè)備故障及掉電等突發(fā)性事件的能力,從而使系統(tǒng)可靠性提高。性事件的能力,從而使系統(tǒng)可靠性提高。6二、二、MCS-51的中斷系統(tǒng)的中斷系統(tǒng)1)中斷請求信號中斷請求信號的產(chǎn)生的

4、產(chǎn)生 ( 中斷源如何申請中斷?中斷源如何申請中斷?)2)CPU如何響應(yīng)如何響應(yīng)?(如何知道有中斷請求?是否有求如何知道有中斷請求?是否有求必應(yīng)?響應(yīng)后的處理過程?必應(yīng)?響應(yīng)后的處理過程?)3)中斷)中斷優(yōu)先權(quán)優(yōu)先權(quán)問題;問題; 4)中斷的)中斷的具體服務(wù)具體服務(wù); 5)中斷服務(wù)完畢,如何)中斷服務(wù)完畢,如何返回返回原程序。原程序。中斷系統(tǒng)應(yīng)解決如下問題:中斷系統(tǒng)應(yīng)解決如下問題:7二、二、MCS-51的中斷系統(tǒng)的中斷系統(tǒng)80C51的中斷系統(tǒng)有的中斷系統(tǒng)有5個中斷源個中斷源,2個優(yōu)先級個優(yōu)先級,可,可實現(xiàn)實現(xiàn)二級中斷嵌套二級中斷嵌套 ,其結(jié)構(gòu)如下圖所示。,其結(jié)構(gòu)如下圖所示。 IE0TCONSCON

5、INT0 IT0=0 IT0=1INT1 IT1=0 IT1=1TF0 IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然優(yōu)先級自然優(yōu)先級矢量矢量地址地址高級中斷請求高級中斷請求自然優(yōu)先級自然優(yōu)先級矢量矢量地址地址低級中斷請求低級中斷請求PX0PT0PX1PT1PSIEIP中斷標(biāo)志位中斷源允許總允許中斷優(yōu)先級81、中斷源、中斷源1)INT0(P3.2)??捎???捎蒊T0(TCON.0)選擇其為低電選擇其為低電平有效還是下降沿有效。當(dāng)平有效還是下降沿有效。當(dāng)CPU檢測到檢測到P3.2引腳上引腳上出現(xiàn)有效的中斷信號時,中斷標(biāo)志出現(xiàn)有效的中斷信號時,中斷標(biāo)志IE0(TCON

6、.1)置置1,向,向CPU申請中斷。申請中斷。2)INT1(P3.3)??捎???捎蒊T1(TCON.2)選擇其為低電選擇其為低電平有效還是下降沿有效。當(dāng)平有效還是下降沿有效。當(dāng)CPU檢測到檢測到P3.3引腳上引腳上出現(xiàn)有效的中斷信號時,中斷標(biāo)志出現(xiàn)有效的中斷信號時,中斷標(biāo)志IE1(TCON.3)置置1,向,向CPU申請中斷。申請中斷。 5個中斷源包含個中斷源包含2個外部中斷個外部中斷和和3個內(nèi)部中斷個內(nèi)部中斷。2個外部中斷個外部中斷91、中斷源、中斷源3)TF0(TCON.5),),片片內(nèi)定時內(nèi)定時/計數(shù)器計數(shù)器T0溢出溢出中斷請求標(biāo)中斷請求標(biāo)志。當(dāng)定時志。當(dāng)定時/計數(shù)器計數(shù)器T0發(fā)生溢出時,

7、置位發(fā)生溢出時,置位TF0,并向,并向CPU申請中斷。申請中斷。4)TF1(TCON.7),),片片內(nèi)定時內(nèi)定時/計數(shù)器計數(shù)器T1溢出溢出中斷請求標(biāo)中斷請求標(biāo)志。當(dāng)定時志。當(dāng)定時/計數(shù)器計數(shù)器T1發(fā)生溢出時,置位發(fā)生溢出時,置位TF1,并向,并向CPU申請中斷。申請中斷。 5)RI(SCON.0)或或TI(SCON.1),串行口中斷請求串行口中斷請求標(biāo)標(biāo)志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時置位志。當(dāng)串行口接收完一幀串行數(shù)據(jù)時置位RI或當(dāng)串行口或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時置位發(fā)送完一幀串行數(shù)據(jù)時置位TI,向,向CPU申請中斷。申請中斷。 3個內(nèi)部中斷個內(nèi)部中斷102、中斷請求標(biāo)志、中斷請求標(biāo)志IT

8、0:外部中斷:外部中斷0觸發(fā)方式控制位。觸發(fā)方式控制位。 當(dāng)當(dāng)IT0=0時,為時,為電平觸發(fā)電平觸發(fā)方式。方式。 當(dāng)當(dāng)IT0=1時,為時,為邊沿觸發(fā)邊沿觸發(fā)方式(下降沿有效)。方式(下降沿有效)。 IE0:外部中斷:外部中斷0中斷請求標(biāo)志位。中斷請求標(biāo)志位。 IT1:外部中斷:外部中斷1觸發(fā)方式控制位。觸發(fā)方式控制位。 IE1:外部中斷:外部中斷1中斷請求標(biāo)志位。中斷請求標(biāo)志位。 TF0:定時:定時/計數(shù)器計數(shù)器T0溢出中斷請求標(biāo)志位。溢出中斷請求標(biāo)志位。 TF1:定時:定時/計數(shù)器計數(shù)器T1溢出中斷請求標(biāo)志位。溢出中斷請求標(biāo)志位。 1)TCON的中斷標(biāo)志的中斷標(biāo)志TCON(88H)TF1TR

9、1TF0TR0IE1IT1IE0IT011若外部中斷定義為電平觸發(fā)方式:若外部中斷定義為電平觸發(fā)方式:中斷標(biāo)志位中斷標(biāo)志位的狀態(tài)隨的狀態(tài)隨CPU在每個機(jī)器周期采樣到的外部中斷在每個機(jī)器周期采樣到的外部中斷輸入引腳的電平變化而變化,這樣能提高輸入引腳的電平變化而變化,這樣能提高CPU對對外部中斷請求的響應(yīng)速度。但外部中斷源外部中斷請求的響應(yīng)速度。但外部中斷源若有請求若有請求,必須把必須把有效的低電平保持到請求獲得響應(yīng)時為止有效的低電平保持到請求獲得響應(yīng)時為止,不然就會漏掉;而在不然就會漏掉;而在中斷服務(wù)程序結(jié)束之前中斷服務(wù)程序結(jié)束之前,中斷,中斷源又源又必須撤消其有效的低電平必須撤消其有效的低電

10、平,否則中斷返回之后,否則中斷返回之后將再次產(chǎn)生中斷。將再次產(chǎn)生中斷。12若外部中斷定義為邊沿觸發(fā)方式:若外部中斷定義為邊沿觸發(fā)方式:在相繼連續(xù)在相繼連續(xù)的兩次采樣中,一個周期采樣到外部中斷輸入為高的兩次采樣中,一個周期采樣到外部中斷輸入為高電平,下一個周期采樣到為低電平,則在電平,下一個周期采樣到為低電平,則在IE0或或IE1中將鎖存一個邏輯中將鎖存一個邏輯1。即便是。即便是CPU暫時不能響應(yīng)暫時不能響應(yīng),中斷申請標(biāo)志也不會丟失中斷申請標(biāo)志也不會丟失,直到,直到CPU響應(yīng)此中斷響應(yīng)此中斷時才清零。這樣,為保證下降沿能被可靠地采樣到,時才清零。這樣,為保證下降沿能被可靠地采樣到,外中斷引腳上的

11、外中斷引腳上的高低電平高低電平(負(fù)脈沖的寬度)均(負(fù)脈沖的寬度)均至少至少要保持一個機(jī)器周期要保持一個機(jī)器周期(若晶振為(若晶振為12MHz時,為時,為1微微秒)。秒)。 132、中斷請求標(biāo)志、中斷請求標(biāo)志RI:串行口:串行口接收中斷接收中斷標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)標(biāo)志位。當(dāng)允許串行口接收數(shù)據(jù)時,每接收完一個串行幀,由硬件置位時,每接收完一個串行幀,由硬件置位RI。RI必必須由軟件清除須由軟件清除。 TI:串行口:串行口發(fā)送中斷發(fā)送中斷標(biāo)志位。當(dāng)標(biāo)志位。當(dāng)CPU將一個發(fā)送數(shù)據(jù)寫將一個發(fā)送數(shù)據(jù)寫入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)入串行口發(fā)送緩沖器時,就啟動了發(fā)送過程。每發(fā)送完一個串

12、行幀,由硬件置位送完一個串行幀,由硬件置位TI。CPU響應(yīng)中斷響應(yīng)中斷時,不能自動清除時,不能自動清除TI,TI必須由軟件清除必須由軟件清除。 2)SCON的中斷標(biāo)志的中斷標(biāo)志SCON(98H)TIRI143、中斷的控制、中斷的控制EX0:外部中斷:外部中斷0允許位;允許位; ET0:定時:定時/計數(shù)器計數(shù)器T0中斷允許位;中斷允許位; EX1:外部中斷:外部中斷0允許位;允許位; ET1:定時:定時/計數(shù)器計數(shù)器T1中斷允許位;中斷允許位; ES:串行口中斷允許位;:串行口中斷允許位; EA :CPU中斷允許(總允許)位。中斷允許(總允許)位。1)中斷允許控制)中斷允許控制IE(A8H)EA

13、ESET1EX1ET0EX0CPU對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽對中斷系統(tǒng)所有中斷以及某個中斷源的開放和屏蔽是由是由中斷允許寄存器中斷允許寄存器IE控制的??刂频?。153、中斷的控制、中斷的控制PX0:外部中斷:外部中斷0優(yōu)先級設(shè)置位;優(yōu)先級設(shè)置位; PT0:定時:定時/計數(shù)器計數(shù)器T0優(yōu)先級設(shè)置位;優(yōu)先級設(shè)置位; PX1:外部中斷:外部中斷0優(yōu)先級設(shè)置位;優(yōu)先級設(shè)置位; PT1:定時:定時/計數(shù)器計數(shù)器T1優(yōu)先級設(shè)置位;優(yōu)先級設(shè)置位; PS:串行口優(yōu)先級設(shè)置位。:串行口優(yōu)先級設(shè)置位。2)中斷優(yōu)先級控制)中斷優(yōu)先級控制IP(B8H)PSPT1PX1PT0PX08051單片機(jī)有兩個

14、中斷優(yōu)先級,可實現(xiàn)二級中斷服務(wù)嵌單片機(jī)有兩個中斷優(yōu)先級,可實現(xiàn)二級中斷服務(wù)嵌套,由套,由中斷優(yōu)先級寄存器中斷優(yōu)先級寄存器IP中的相應(yīng)位的狀態(tài)來規(guī)定每個中中的相應(yīng)位的狀態(tài)來規(guī)定每個中斷源的優(yōu)先級斷源的優(yōu)先級 。16同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)同一優(yōu)先級中的中斷申請不止一個時,則有中斷優(yōu)先權(quán)排隊問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊,由中斷先權(quán)排隊問題。同一優(yōu)先級的中斷優(yōu)先權(quán)排隊,由中斷系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:系統(tǒng)硬件確定的自然優(yōu)先級形成,其排列如所示:CPU主主程程序序INT0INT1T0T1串口IE0TF0IE1TF1TISI中斷源中斷源中斷標(biāo)志位中斷標(biāo)志位中斷入

15、口地址中斷入口地址0023H000BH0003H0013H001BH自然優(yōu)先級自然優(yōu)先級高低17CPU同時接收到幾個中斷時,首先響應(yīng)優(yōu)先級別同時接收到幾個中斷時,首先響應(yīng)優(yōu)先級別最高的中斷請求。最高的中斷請求。 正在進(jìn)行的中斷過程不能被新的同級或低優(yōu)先級的正在進(jìn)行的中斷過程不能被新的同級或低優(yōu)先級的中斷請求所中斷。中斷請求所中斷。正在進(jìn)行的低優(yōu)先級中斷服務(wù),能被高優(yōu)先級中斷正在進(jìn)行的低優(yōu)先級中斷服務(wù),能被高優(yōu)先級中斷請求所中斷。請求所中斷。 MCS-51單片機(jī)的中斷優(yōu)先級有單片機(jī)的中斷優(yōu)先級有三條原則三條原則:18三、中斷處理過程三、中斷處理過程1、中斷響應(yīng)的條件、中斷響應(yīng)的條件 中斷源有中斷

16、請求;中斷源有中斷請求; 此中斷源的中斷允許位為此中斷源的中斷允許位為1; CPU開中斷(即開中斷(即EA=1)。)。同時滿足時,同時滿足時,CPU才有可能響應(yīng)中斷。才有可能響應(yīng)中斷。CPU執(zhí)行程序過程中,在每個機(jī)器周期的執(zhí)行程序過程中,在每個機(jī)器周期的S5P2期間,中期間,中斷系統(tǒng)對各個中斷源進(jìn)行斷系統(tǒng)對各個中斷源進(jìn)行采樣采樣。這些采樣值在下一個機(jī)器周。這些采樣值在下一個機(jī)器周期內(nèi)按期內(nèi)按優(yōu)先級優(yōu)先級和和內(nèi)部順序內(nèi)部順序被依次查詢。被依次查詢。 如果某個中斷標(biāo)志在上一個機(jī)器周期的如果某個中斷標(biāo)志在上一個機(jī)器周期的S5P2時被置成了時被置成了1,那么它將于現(xiàn)在的查詢周期中及時被發(fā)現(xiàn)。接著,那么

17、它將于現(xiàn)在的查詢周期中及時被發(fā)現(xiàn)。接著CPU便便執(zhí)行一條由中斷系統(tǒng)提供的硬件執(zhí)行一條由中斷系統(tǒng)提供的硬件LCALL指令,轉(zhuǎn)向被稱作指令,轉(zhuǎn)向被稱作中中斷向量斷向量的特定地址單元,進(jìn)入相應(yīng)的的特定地址單元,進(jìn)入相應(yīng)的中斷服務(wù)程序中斷服務(wù)程序。 19若由于上述條件的阻礙中斷未能得到響若由于上述條件的阻礙中斷未能得到響應(yīng),當(dāng)條件消失時該中斷標(biāo)志卻已不再有效,應(yīng),當(dāng)條件消失時該中斷標(biāo)志卻已不再有效,那么該中斷將不被響應(yīng)。那么該中斷將不被響應(yīng)。遇以下任一條件,硬件將受阻,不產(chǎn)生遇以下任一條件,硬件將受阻,不產(chǎn)生LCALL指令:指令: CPU正在處理正在處理同級同級或或高優(yōu)先級高優(yōu)先級中斷;中斷; 當(dāng)前查

18、詢的機(jī)器周期不是所執(zhí)行指令的最后一個機(jī)器當(dāng)前查詢的機(jī)器周期不是所執(zhí)行指令的最后一個機(jī)器周期,即在周期,即在完成所執(zhí)行指令前完成所執(zhí)行指令前,不會響應(yīng)中斷不會響應(yīng)中斷; 正在執(zhí)行的指令為正在執(zhí)行的指令為RET、RETI或任何訪問或任何訪問IE或或IP寄存寄存器的指令,即只有在這些指令后面至少再執(zhí)行一條指器的指令,即只有在這些指令后面至少再執(zhí)行一條指令時才能接受中斷請求。令時才能接受中斷請求。202、中斷響應(yīng)時間、中斷響應(yīng)時間 S1M1S2 S3 S4 S5 S6 S1M2S2 S3 S4 S5 S6 S1M3S2 S3 S4 S5 S6 S1M4S2 S3 S4 S5 S6 S1M5S2 S3

19、S4 S5 S6中斷中斷有效有效標(biāo)志標(biāo)志鎖存鎖存標(biāo)志查詢標(biāo)志查詢保護(hù)斷點,長調(diào)用至入口保護(hù)斷點,長調(diào)用至入口中斷服務(wù)中斷服務(wù)某中斷的響應(yīng)時序圖:某中斷的響應(yīng)時序圖: 若若M1周期的周期的S5P2前某中斷生效,在前某中斷生效,在S5P2期間其中斷期間其中斷請求被鎖存到相應(yīng)的標(biāo)志位中去;請求被鎖存到相應(yīng)的標(biāo)志位中去;M2恰逢指令的最恰逢指令的最后一個機(jī)器周期,且該指令不是后一個機(jī)器周期,且該指令不是RETI或訪問或訪問IE、IP的的指令。于是,指令。于是,M3和和M4便可以執(zhí)行硬件便可以執(zhí)行硬件LCALL指令,指令,M5周期將進(jìn)入了中斷服務(wù)程序;周期將進(jìn)入了中斷服務(wù)程序; 80C51的中斷響應(yīng)時間

20、(從標(biāo)志置的中斷響應(yīng)時間(從標(biāo)志置1到進(jìn)入相應(yīng)的中到進(jìn)入相應(yīng)的中斷服務(wù)),至少要斷服務(wù)),至少要3個完整的機(jī)器周期;個完整的機(jī)器周期;213、中斷響應(yīng)過程、中斷響應(yīng)過程v將相應(yīng)的將相應(yīng)的優(yōu)先級狀態(tài)觸發(fā)器優(yōu)先級狀態(tài)觸發(fā)器置置1(以阻斷后來的同(以阻斷后來的同級或低級的中斷請求)。級或低級的中斷請求)。 v執(zhí)行一條執(zhí)行一條硬件硬件LCALL指令,即把程序計數(shù)器指令,即把程序計數(shù)器PC的的內(nèi)容內(nèi)容壓入堆棧壓入堆棧保存,再將相應(yīng)的中斷服務(wù)程序的保存,再將相應(yīng)的中斷服務(wù)程序的入口地址入口地址送入送入PC。 v執(zhí)行執(zhí)行中斷服務(wù)中斷服務(wù)程序。程序。 中斷響應(yīng)過程的前兩步是由中斷系統(tǒng)內(nèi)部自動中斷響應(yīng)過程的前兩

21、步是由中斷系統(tǒng)內(nèi)部自動完成的,而中斷服務(wù)程序則要由用戶編寫程序來完成的,而中斷服務(wù)程序則要由用戶編寫程序來完成。完成。 224、中斷返回、中斷返回RETI指令的具體功能是:指令的具體功能是: v將中斷響應(yīng)時壓入堆棧保存的將中斷響應(yīng)時壓入堆棧保存的斷點地址斷點地址從棧頂彈出從棧頂彈出送回送回PC,CPU從原來中斷的地方從原來中斷的地方繼續(xù)執(zhí)行繼續(xù)執(zhí)行程序;程序; v將相應(yīng)中斷優(yōu)先級狀態(tài)觸發(fā)器將相應(yīng)中斷優(yōu)先級狀態(tài)觸發(fā)器清清0,通知中斷系統(tǒng),通知中斷系統(tǒng),中斷服務(wù)程序已中斷服務(wù)程序已執(zhí)行完畢執(zhí)行完畢。不能用不能用RET指令代替指令代替RETI指令。在中斷指令。在中斷服務(wù)程序中服務(wù)程序中PUSH指令與

22、指令與POP指令必須指令必須成對使成對使用用,否則不能正確返回斷點,否則不能正確返回斷點 。23四、應(yīng)用四、應(yīng)用1、主程序部分、主程序部分 1)給堆棧指針)給堆棧指針SP賦值,賦值,設(shè)置設(shè)置一個深度適宜的一個深度適宜的堆棧堆棧; 2)如為外部中斷,)如為外部中斷,定義觸發(fā)方式定義觸發(fā)方式;3)根據(jù)需要給)根據(jù)需要給IP賦值,賦值,定義中斷優(yōu)先級定義中斷優(yōu)先級; 4)給)給IE賦值,賦值,開放中斷開放中斷,即置位,即置位EA和其它需要的和其它需要的中斷允許位;中斷允許位; 5)安排好)安排好等待中斷過程等待中斷過程中主程序應(yīng)做的操作。中主程序應(yīng)做的操作。具體設(shè)計過程:具體設(shè)計過程:(包括(包括主

23、程序主程序和和中斷服務(wù)程序中斷服務(wù)程序的設(shè)計步驟)的設(shè)計步驟)242、中斷服務(wù)程序部分、中斷服務(wù)程序部分 1)在相應(yīng)的)在相應(yīng)的中斷入口中斷入口地址單元設(shè)置一條地址單元設(shè)置一條跳轉(zhuǎn)跳轉(zhuǎn)指令,使程序轉(zhuǎn)移到中斷服務(wù)程序的指令,使程序轉(zhuǎn)移到中斷服務(wù)程序的實際實際入口處入口處; 2)根據(jù)需要)根據(jù)需要保護(hù)現(xiàn)場保護(hù)現(xiàn)場; 3)若為電平觸發(fā)的外部中斷,應(yīng)有)若為電平觸發(fā)的外部中斷,應(yīng)有中斷信號中斷信號撤除撤除操作;操作;4)安排)安排中斷服務(wù)中斷服務(wù)所做的操作;所做的操作; 5)恢復(fù)現(xiàn)場恢復(fù)現(xiàn)場; 6)中斷返回中斷返回。25SETB IT0 ; SETB PX0 ;SETB EA ; SETB EX0 ;

24、 若規(guī)定外部中斷若規(guī)定外部中斷0為電平觸發(fā)方式,高優(yōu)先級,試寫為電平觸發(fā)方式,高優(yōu)先級,試寫出有關(guān)的初始化程序。出有關(guān)的初始化程序。解:解: 1) 設(shè)觸發(fā)方式設(shè)觸發(fā)方式 2) 設(shè)優(yōu)先級設(shè)優(yōu)先級 3) 開中斷開中斷用位操作指令用位操作指令2、應(yīng)用舉例、應(yīng)用舉例用字節(jié)操作指令用字節(jié)操作指令MOV TCON,#01H MOV IP,#01HORL IE,#81H26ORG 0000 H ;LJMP MAIN ;主程序轉(zhuǎn)至主程序轉(zhuǎn)至MAIN處處 ORG 0013H ; LJMP INT ;中斷服務(wù)程序轉(zhuǎn)至中斷服務(wù)程序轉(zhuǎn)至INT處處 ORG 0030H MAIN:MOV SP, #6FH SETB IT

25、1 ;邊沿觸發(fā)邊沿觸發(fā) CLR PX1 ;設(shè)為低優(yōu)先級設(shè)為低優(yōu)先級 SETB EA ;開總中斷開總中斷 SETB EX1 ;允許外中斷允許外中斷1中斷中斷 MOV B, #01H ;設(shè)設(shè)B的初值的初值 HALT:SJMP HALT ;暫停等待中斷暫停等待中斷 INT: MOV A, B ;AB RL A ; 左環(huán)移一位左環(huán)移一位 MOV B, A ;回送回送 RETI ; 中斷返回中斷返回 若規(guī)定外部中斷若規(guī)定外部中斷1為邊沿觸發(fā)方式,低優(yōu)先級,在中為邊沿觸發(fā)方式,低優(yōu)先級,在中斷服務(wù)程序中將寄存器斷服務(wù)程序中將寄存器B的內(nèi)容左環(huán)移一位,的內(nèi)容左環(huán)移一位,B的初值設(shè)的初值設(shè)為為01H。試編寫主

26、程序與中斷服務(wù)程序。試編寫主程序與中斷服務(wù)程序。解:解:275.2 定時定時/計數(shù)器計數(shù)器28定時器T0TH0TL0定時器T1TH1TL1工作方式工作方式啟動啟動工作方式工作方式控制寄存器方式寄存器溢出溢出溢出溢出啟動啟動中斷中斷內(nèi)部總線內(nèi)部總線T1(P3.5)T0(P3.4)一、結(jié)構(gòu)及原理一、結(jié)構(gòu)及原理1、結(jié)構(gòu)、結(jié)構(gòu)29一、結(jié)構(gòu)及原理一、結(jié)構(gòu)及原理2、工作原理(、工作原理(T0為例)為例)1)方式選擇部分:)方式選擇部分:選擇不同的計數(shù)脈沖選擇不同的計數(shù)脈沖2)計數(shù)部分:)計數(shù)部分:對脈沖進(jìn)行加一計數(shù)對脈沖進(jìn)行加一計數(shù)3)控制啟停部分:)控制啟停部分:控制計數(shù)啟動控制計數(shù)啟動/停止停止定時方

27、式:定時方式:對內(nèi)部機(jī)器周期計數(shù)對內(nèi)部機(jī)器周期計數(shù)計數(shù)方式:計數(shù)方式:對外部引腳對外部引腳P3.4輸入脈沖計數(shù)輸入脈沖計數(shù)TL0(低(低8位)位) + TH0(高(高8位)位) TF0(溢出位)(溢出位)TR0(啟動位)(啟動位) = 130二、方式和控制寄存器二、方式和控制寄存器1、TMOD方式寄存器方式寄存器T1 T0TMOD(89H)GATEC/TM1M0GATEC/TM1M0GATE:門控位:門控位M1M0:工作方式設(shè)置位:工作方式設(shè)置位GATE0時,只要用軟件使時,只要用軟件使TCON中的中的TR0或或TR1為為1,就,就可以啟動定時可以啟動定時/計數(shù)器工作;計數(shù)器工作;GATA1時

28、,要用軟件使時,要用軟件使TR0或或TR1為為1,同時外部中斷引,同時外部中斷引腳或也為高電平時,才能啟動定時腳或也為高電平時,才能啟動定時/計數(shù)器工作。計數(shù)器工作。 定時定時/計數(shù)器有四種工作方式,由計數(shù)器有四種工作方式,由M1M0進(jìn)行設(shè)置。進(jìn)行設(shè)置。C/T :定時定時/計數(shù)模式選擇位計數(shù)模式選擇位C/T0為定時模式;為定時模式; C/T = 1為計數(shù)模式。為計數(shù)模式。 31二、方式和控制寄存器二、方式和控制寄存器2、TCON控制寄存器控制寄存器TCON(88H)TF1TR1TF0TR0IE1IT1IE0IT0TR1(TR0):):T1(T0)運(yùn)行控制位)運(yùn)行控制位TF1(TF0):):T1

29、(T0)溢出中斷請求標(biāo)志位)溢出中斷請求標(biāo)志位32三、定時三、定時/計數(shù)器的工作方式(計數(shù)器的工作方式(T0為例)為例)1、方式、方式0(13位)位)振蕩器12定時方式定時方式計數(shù)方式計數(shù)方式T0(P3.4)TL0低5位TH08位TF0&1TR0GATEINT0(P3.2)1C/T=0C/T=1控制控制計數(shù)范圍:計數(shù)范圍:1 213(8192)33三、定時三、定時/計數(shù)器的工作方式(計數(shù)器的工作方式(T0為例)為例)2、方式、方式1(16位)位)振蕩器12定時方式定時方式計數(shù)方式計數(shù)方式T0(P3.4)TL08位TH08位TF0&1TR0GATEINT0(P3.2)1C/T=0

30、C/T=1控制控制計數(shù)范圍:計數(shù)范圍:1 216(65536)34三、定時三、定時/計數(shù)器的工作方式(計數(shù)器的工作方式(T0為例)為例)3、方式、方式2(8位重裝)位重裝)振蕩器12定時方式定時方式計數(shù)方式計數(shù)方式T0(P3.4)TF0&1TR0GATEINT0(P3.2)1C/T=0C/T=1控制控制TL08位TH08位重裝初值控制重裝初值控制計數(shù)范圍:計數(shù)范圍:1 28(256)35三、定時三、定時/計數(shù)器的工作方式(計數(shù)器的工作方式(T0為例)為例)4、方式、方式3(8位,只位,只T0有)有)振蕩器12定時方式定時方式計數(shù)方式計數(shù)方式T0(P3.4)TF0&1TR0GAT

31、EINT0(P3.2)1C/T=0C/T=1控制控制TL08位計數(shù)范圍:計數(shù)范圍:1 28(256)振蕩器12定時方式定時方式TF1TH08位TR1控制控制T1為波特率發(fā)生器為波特率發(fā)生器,可工作在方式可工作在方式0、1、2;T0被拆成兩個被拆成兩個8位定時位定時/計數(shù)器,借用計數(shù)器,借用T1的觸發(fā)位和溢出標(biāo)志。的觸發(fā)位和溢出標(biāo)志。36四、應(yīng)用四、應(yīng)用1、初始化編程、初始化編程1) 確定并設(shè)置工作方式確定并設(shè)置工作方式對對TMOD賦值賦值 原則:計數(shù)值原則:計數(shù)值最大計數(shù)值最大計數(shù)值 例:例:設(shè)機(jī)器周期為設(shè)機(jī)器周期為1us,則,則 延時延時100us:延時:延時100us100次計數(shù)次計數(shù)各種

32、方式均可(常為各種方式均可(常為1、2) 延時延時50ms:延時:延時50ms50000次計數(shù)次計數(shù)方式方式1適合適合2) 確定并預(yù)置初值確定并預(yù)置初值TH0(TH1)、TL0(TL1)賦值賦值3) 按需要開定時按需要開定時/計數(shù)器中斷計數(shù)器中斷直接對直接對IE賦值賦值4) 啟動定時啟動定時/計數(shù)器工作計數(shù)器工作將將TR0或或TR1置置“1” 定時時間:開始計數(shù)定時時間:開始計數(shù)溢出溢出定時方式:定時方式:C=M-X=M-t/T計數(shù)方式:計數(shù)方式:C=M-X37 設(shè)單片機(jī)系統(tǒng)的晶振頻率為設(shè)單片機(jī)系統(tǒng)的晶振頻率為12MHz,現(xiàn)用,現(xiàn)用T0實現(xiàn)實現(xiàn)5ms的延時,試編寫初始化程序。的延時,試編寫初始化程序。解:解:C=M-X=65536-5000=60536=0EC78HTH0=0ECH, TL0=78H機(jī)器周期機(jī)器周期 T=121/12=1us計數(shù)值計數(shù)值 X=t/T=5ms/1us=5000(可選方式(可選方式0或或1)TMOD=0 0 0 0 0 0 0 1 B=01H(方式(方式1)T1 T0GATE C/T M1 M02、應(yīng)用舉例、應(yīng)用舉例38 設(shè)單片機(jī)系統(tǒng)的晶振頻率為設(shè)單片機(jī)系統(tǒng)的晶振頻率為12MHz,編程實現(xiàn),編程實現(xiàn)P1.0輸出周期為輸出周期為400us的方波。的方波。機(jī)器周期機(jī)器周期 T=121/12=1us計數(shù)值計數(shù)值 X=t/T=200us

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論