《單片機(jī)應(yīng)用課件三 (2)》由會(huì)員分享,可在線閱讀,更多相關(guān)《單片機(jī)應(yīng)用課件三 (2)(43頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、,任務(wù)一:數(shù)字電子鐘的設(shè)計(jì)(,LED,數(shù)碼顯示),二級(jí)標(biāo)題,三級(jí)標(biāo)題,四級(jí)標(biāo)題,廣東機(jī)電職業(yè)技術(shù)學(xué)院,,第六章 中斷的應(yīng)用,廣東機(jī)電職業(yè)技術(shù)學(xué)院,-,單片機(jī)應(yīng)用,智能電子教研室,張永亮,1,、,中斷概述,第六章、中斷的應(yīng)用,CPU,在處理某一事件,A,時(shí),發(fā)生了另一事件,B,請(qǐng)求,CPU,迅速去處理(中斷發(fā)生);,CPU,暫時(shí)中斷當(dāng)前的工作,轉(zhuǎn)去處理事件,B,(中斷響應(yīng)和中斷服務(wù));,待,CPU,將事件,B,處理完畢后,再回到原來(lái)事件,A,被中斷的地方繼續(xù)處理事件,A,(中斷返回),這一過(guò)程稱為中斷。,MCS-51,單片機(jī)的中斷系統(tǒng)結(jié)構(gòu),執(zhí)行主程序,主程序,繼續(xù)執(zhí)行主程序,斷點(diǎn),中斷請(qǐng)求,中斷
2、響應(yīng),執(zhí)行中斷處理程序,中斷返回,1,、,中斷概述,2,、采用中斷控制方式的優(yōu)點(diǎn),(,1,)可以提高,CPU,的工作效率,(,2,)可以提高實(shí)時(shí)數(shù)據(jù)的處理時(shí)效,3,、中斷源,(,1,)外部設(shè)備中斷源,(,2,)控制對(duì)象中斷源,(,3,)故障中斷,(,4,)定時(shí)脈沖中斷源,中斷源是指引起中斷的設(shè)備、部件或事件。通常,中斷源有以下幾種:,4,、中斷優(yōu)先級(jí)與中斷嵌套,中斷優(yōu)先級(jí),:一個(gè),CPU,總會(huì)有若干中斷源,但在同一瞬間,,CPU,只能響應(yīng)其中的一個(gè)中斷請(qǐng)求,為了避免在同一瞬間若干個(gè)中斷源請(qǐng)求中斷而帶來(lái)的混亂,必須給每個(gè)中斷源的中斷請(qǐng)求設(shè)定一個(gè)中斷優(yōu)先級(jí),,CPU,先響應(yīng)中斷優(yōu)先級(jí)高的中斷請(qǐng)求。
3、,中斷嵌套:,在某一瞬間,,CPU,因響應(yīng)某一中斷源的中斷請(qǐng)求而正在執(zhí)行它的中斷服務(wù)程序時(shí),若有中斷優(yōu)先級(jí)更高的中斷源提出中斷請(qǐng)求,那它可以把正在執(zhí)行的中斷服務(wù)程序停下來(lái),轉(zhuǎn)而響應(yīng)和處理中斷優(yōu)先權(quán)更高中斷源的中斷請(qǐng)求,等到處理完后再轉(zhuǎn)回來(lái)繼續(xù)執(zhí)行原來(lái)的中斷服務(wù)程序,這就是中斷嵌套。,5,、,MCS-51,單片機(jī)中斷系統(tǒng),5,個(gè)中斷源,(,8052,有,6,個(gè)),,,2,個(gè)優(yōu)先級(jí),可實(shí)現(xiàn)二級(jí)中斷嵌套。,(,1,)外部中斷,INT0,、,INT1,輸入輸出設(shè)備的中斷請(qǐng)求,系統(tǒng)故障的中斷請(qǐng)求等都可以作為外部中斷源,從引腳,INT0,或,INT1,輸入。外部中斷請(qǐng)求,INT0,、,INT1,有,電平觸
4、發(fā),及,邊沿觸發(fā),兩種。,(,2,)定時(shí)器計(jì)數(shù)器,0,、,l,溢出中斷,定時(shí)器計(jì)數(shù)器計(jì)數(shù)溢出時(shí),由硬件分別置,TF0=,“,1,”,或,TF1=,“,1,”,,向,CPU,申請(qǐng)中斷。,CPU,響應(yīng)中斷轉(zhuǎn)入中斷服務(wù)程序時(shí),由硬件自動(dòng)清除,TFO,或,TF1,。,(,3,)串行口中斷,串行口中斷由單片機(jī)內(nèi)部串行口中斷源產(chǎn)生。串行口中斷分為單行口發(fā)送中斷和串行口接收中斷兩種。在串行口進(jìn)行發(fā)送接收數(shù)據(jù)時(shí),每當(dāng)發(fā)送接收完一組數(shù)據(jù),使串行口控制寄存器,SCON,中的,RI=,“,1,”,或,TI=,“,1,”,,并向,CPU,發(fā)出串行口中斷請(qǐng)求。,5,、,MCS-51,單片機(jī)中斷系統(tǒng),1,)中斷請(qǐng)求,1,
5、)中斷請(qǐng)求,IT0,(,TCON.0,),外部中斷,0,觸發(fā)方式控制位。,當(dāng),IT0=0,時(shí),為電平觸發(fā)方式。,當(dāng),IT0=1,時(shí),為邊沿觸發(fā)方式(下降沿有效)。,IE0,(,TCON.1,),外部中斷,0,中斷請(qǐng)求標(biāo)志位。,IT1,(,TCON.2,),外部中斷,1,觸發(fā)方式控制位。,IE1,(,TCON.3,),外部中斷,1,中斷請(qǐng)求標(biāo)志位。,TF0,(,TCON.5,),定時(shí),/,計(jì)數(shù)器,T0,溢出中斷請(qǐng)求標(biāo)志位。,TF1,(,TCON.7,),定時(shí),/,計(jì)數(shù)器,T1,溢出中斷請(qǐng)求標(biāo)志位。,TCON,的中斷標(biāo)志,(,1,)中斷允許控制,MCS-51,單片機(jī)有,5,個(gè)(,8052,有,6,
6、個(gè))中斷源,為了使每個(gè)中斷源都能獨(dú)立地被允許或禁止,以便用戶能靈活使用,CPU,內(nèi)部在每個(gè)中斷信號(hào)的通道中設(shè)置了一個(gè),中斷允許觸發(fā)器,IE,(,0A8H,),它控制,CPU,能否響應(yīng)中斷。只有對(duì)應(yīng)的中斷允許觸發(fā)器被使能(置“,1”,),相應(yīng)的中斷才能得到相應(yīng)。,2,)中斷控制,EA,ES,ET1,EX1,ET0,EX0,(MSB),(LSB),中斷允許控制寄存器,IE,(,0A8H,),2,)中斷控制,EX0(IE.0),,,外部中斷,0,允許位;,ET0(IE.1),,,定時(shí),/,計(jì)數(shù)器,T0,中斷允許位;,EX1(IE.2),,,外部中斷,0,允許位;,ET1(IE.3),,,定時(shí),/,計(jì)
7、數(shù)器,T1,中斷允許位;,ES,(,IE.4),,,串行口中斷允許位;,EA(IE.7),,,CPU,中斷允許(總允許)位。,(,2,)中斷優(yōu)先級(jí)控制,MCS-51,單片機(jī)有,5,個(gè)(,8052,有,6,個(gè))中斷源,兩個(gè)中斷優(yōu)先級(jí),即可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套。每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器,IP,中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的,。,2,)中斷控制,中斷優(yōu)先級(jí)控制寄存器,IP,(,0B8H,),PS,PT1,PX1,PT0,PX0,(MSB),(LSB),2,)中斷控制,PX0,(,IP.0,),外部中斷,0,優(yōu)先級(jí)設(shè)定位;,PT0,(,IP.1,),定時(shí),/,計(jì)數(shù)器,T0,優(yōu)先級(jí)設(shè)定位;
8、,PX1,(,IP.2,),外部中斷,0,優(yōu)先級(jí)設(shè)定位;,PT1,(,IP.3,),定時(shí),/,計(jì)數(shù)器,T1,優(yōu)先級(jí)設(shè)定位;,PS,(,IP.4,),串行口優(yōu)先級(jí)設(shè)定位;,PT2,(IP.5),,定時(shí),/,計(jì)數(shù)器,T2,優(yōu)先級(jí)設(shè)定位。,同一級(jí)中的,5,個(gè)中斷源的優(yōu)先順序是:,/INT0,中斷,T0,溢出中斷,/INT1,中斷,T1,溢出中斷,串口中斷,高,低,2,)中斷控制,(,3,)中斷源優(yōu)先順序,3,)中斷響應(yīng),中斷源有中斷請(qǐng)求;,此中斷源的中斷允許位為,1,;,CPU,開(kāi)中斷(即,EA=1,)。,響應(yīng)條件,當(dāng)上述條件同時(shí)滿足時(shí),響應(yīng)中斷。,CPU,正在處理同級(jí)或高優(yōu)先級(jí)中斷;,當(dāng)前查詢的機(jī)
9、器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期。即在完成所,執(zhí)行指令前,不會(huì)響應(yīng)中斷,從而保證指令在執(zhí)行過(guò)程中不被打斷;,正在執(zhí)行的指令為,RET,、,RETI,或任何訪問(wèn),IE,或,IP,寄存器的指令。即只有,在這些指令后面至少再執(zhí)行一條指令時(shí)才能接受中斷請(qǐng)求。,遇以下任一條件,硬件將受阻,不產(chǎn)生,LCALL,指令:,CPU,執(zhí)行程序過(guò)程中,在,每個(gè)機(jī)器周期的,S5P2,期間,,中斷系統(tǒng)對(duì)各個(gè)中斷源進(jìn)行采樣。這些采樣值在下一個(gè)機(jī)器周期內(nèi)按優(yōu)先級(jí)和內(nèi)部順序被依次查詢。,如果某個(gè)中斷標(biāo)志在上一個(gè)機(jī)器周期的,S5P2,時(shí)被置成了,1,,那么它將于現(xiàn)在的查詢周期中及時(shí)被發(fā)現(xiàn)。接著,CPU,便執(zhí)行一條由中斷系
10、統(tǒng)提供的硬件,LCALL,指令,轉(zhuǎn)向被稱作中斷向量的特定地址單元,進(jìn)入相應(yīng)的,中斷服務(wù)程序,。,3,)中斷響應(yīng),中斷服務(wù)的進(jìn)入,五個(gè)中斷源:,入口地址,外部中斷,0,(,/INT0,),0003H,T0,溢出中斷,000BH,外部中斷,1,(,/INT1,),0013H,T1,溢出中斷,001BH,串口中斷,0023H,中斷服務(wù)程序入口地址,中斷服務(wù)入口地址,3,)中斷響應(yīng),將相應(yīng)的優(yōu)先級(jí)狀態(tài)觸發(fā)器置,1,(以阻斷后來(lái)的同級(jí)或低級(jí),的中斷請(qǐng)求)。,執(zhí)行一條硬件,LCALL,指令,即把程序計(jì)數(shù)器,PC,的內(nèi)容壓入堆,棧保存,再將相應(yīng)的中斷服務(wù)程序的入口地址送入,PC,。,執(zhí)行中斷服務(wù)程序。,中斷
11、響應(yīng)過(guò)程,中斷響應(yīng)過(guò)程的前兩步是由中斷系統(tǒng)內(nèi)部自動(dòng)完成的,而中斷服務(wù)程序則要由用戶編寫(xiě)程序來(lái)完成。,3,)中斷響應(yīng),RETI,指令的具體功能是:,將中斷響應(yīng)時(shí)壓入堆棧保存的斷點(diǎn)地址從棧頂彈出送回,PC,,,CPU,從原來(lái)中斷的地方繼續(xù)執(zhí)行程序;,將相應(yīng)中斷優(yōu)先級(jí)狀態(tài)觸發(fā)器清,0,,通知中斷系統(tǒng),中斷服,務(wù)程序已執(zhí)行完畢。,注意,不能用,RET,指令代替,RETI,指令。在中斷服務(wù)程序中,PUSH,指令與,POP,指令必須成對(duì)使用,否則不能正確返回?cái)帱c(diǎn) 。,4,)中斷返回,5,、,C51,中斷程序設(shè)計(jì),void,函數(shù)名,(),interrupt,n,using,m,n,是中斷號(hào);,using m
12、,選項(xiàng)用于實(shí)現(xiàn)工作寄存器組的切換;,m,是中斷服務(wù)子程序中選用的工作寄存器組號(hào),(0-3),。,中斷號(hào),中斷源,入口地址,0,外中斷,0,0003H,1,定時(shí),/,計(jì)數(shù)器,0,000BH,2,外中斷,1,0013H,3,定時(shí),/,計(jì)數(shù)器,1,001BH,4,串行口中斷,0023H,void,函數(shù)名,()interrupt n using m,例如:,/*,外部中斷,0,初始化程序*,/,void,Ex0Init(),IT0,=1;,/,邊沿觸發(fā)方式,EA,=1;,/,開(kāi)中斷,EX0,=1;,/,開(kāi)外部中斷,0,/*,外部中斷,0,中斷服務(wù)程序*,/,void,Ex0Srv(,void,),in
13、terrupt,0,using,0,5,、,C51,中斷程序設(shè)計(jì),(,1,)中斷函數(shù)不能進(jìn)行參數(shù)傳遞。,(,2,)中斷函數(shù)沒(méi)有返回值,應(yīng)定義為,void,型。,(,3,)禁止對(duì)中斷函數(shù)的直接調(diào)用。,(,4,)如果中斷函數(shù)調(diào)用了其他函數(shù),被調(diào)函數(shù)與中斷函數(shù),使用相同的寄存器組。,(,5,)中斷函數(shù)最好寫(xiě)在程序尾部。,編寫(xiě)中斷函數(shù)要點(diǎn),5,、,C51,中斷程序設(shè)計(jì),計(jì)數(shù)器(外部中斷),工學(xué)結(jié)合任務(wù)四:,廣東機(jī)電職業(yè)技術(shù)學(xué)院,-,單片機(jī)應(yīng)用,目的和意義,1,掌握計(jì)數(shù)器的工作原理。,2,、掌握單片機(jī)外部中斷概念,外部中斷原理、工作方式。,3,掌握,C51,編寫(xiě)中斷程序。,4,掌握,PROTEUS,仿真
14、,燒寫(xiě)器的使用,硬件電路設(shè)計(jì)、,焊接、裝配,培養(yǎng)學(xué)生利用單片機(jī)技術(shù)解決生活,中的實(shí)際問(wèn)題的能力。,一、任務(wù)描述,1,、設(shè)計(jì)一個(gè)按鍵計(jì)數(shù)器,利用單片機(jī),外部中斷,這進(jìn)行加、減計(jì)數(shù)。,2,、利用,Keil,C,軟件編寫(xiě)主函數(shù)、外部,中斷,C,程序代碼。,3,、可采用數(shù)碼管顯示,也可用液晶顯,示計(jì)數(shù)值。,4,、加減計(jì)數(shù)每,10,次,,LED,亮燈提示。,二、任務(wù)分析,1,、任務(wù)所需硬件知識(shí),單片機(jī)最小系統(tǒng)(晶振,復(fù)位電路),中斷接口、工作方式,數(shù)碼管工作原理,顯示電路設(shè)計(jì),字符型,LCD,原理、,接口電路設(shè)計(jì),2,、任務(wù)所需軟件知識(shí),單片機(jī),C,語(yǔ)言數(shù)據(jù)類型,結(jié)構(gòu),中斷等程序設(shè)計(jì),3,、任務(wù)所需環(huán)境
15、,安裝操作系統(tǒng)的微機(jī),1,臺(tái)、單片機(jī)集成開(kāi)發(fā)環(huán)境,keil,C2.0,、軟,硬件開(kāi)發(fā)平臺(tái),proteus,6.9,、單片機(jī)下載軟件,STC_ISP_V3.3,、,單片機(jī)實(shí)驗(yàn)板、下載線。,項(xiàng)目實(shí)施過(guò)程,理實(shí)一體化模式,提,出,項(xiàng),目,和,任,務(wù),學(xué),生,思,考,老,師,指,點(diǎn),規(guī),劃,學(xué),習(xí),內(nèi),容,程,序,設(shè),計(jì),安,裝,與,調(diào),試,單,片,機(jī),基,礎(chǔ),知,識(shí),系統(tǒng)設(shè)計(jì)規(guī)劃,二、任務(wù)分析,要求會(huì)使用,Keil,C,開(kāi)發(fā)環(huán)境,要求文件夾命名規(guī)范,要求工程項(xiàng)目命名規(guī)范,要求文件名命名規(guī)范,要求程序是否功能齊全,要求仿真軟件達(dá)到設(shè)計(jì)要求,要求硬件電路滿足設(shè)計(jì)要求,要求產(chǎn)品設(shè)計(jì)文檔充分,二、任務(wù)分析,
16、程序設(shè)計(jì)要求,1,、進(jìn)行功能分析,工作框架搭建,工作分工。,2,、使用軟硬件開(kāi)發(fā)平臺(tái),proteus,7.4,進(jìn)行電路仿真。設(shè)計(jì)要點(diǎn):新建電路圖設(shè)計(jì)文件,查找元器件,放置元器件,布局布線,修改元器件屬性,進(jìn)行仿真單片機(jī)程序。,3,、使用單片機(jī)集成開(kāi)發(fā)環(huán)境,keil,C2.0,。要點(diǎn):,C,程序構(gòu)成,關(guān)鍵詞,運(yùn)算符與表達(dá)式,數(shù)據(jù)結(jié)構(gòu),結(jié)構(gòu)化語(yǔ)句。,4,、使用單片機(jī)下載軟件,STC_ISP_V3.3,,通過(guò)串口或,USB,將單片機(jī)程序下載到單片機(jī)芯片中進(jìn)行調(diào)試。,5,、完善單片機(jī)產(chǎn)品硬件電路,進(jìn)行合適的電容、電阻、芯片、傳感器、顯示器件等進(jìn)行焊接,通電運(yùn)行后觀察硬件電路是否滿足要求。,6,、完成實(shí)驗(yàn)文檔編寫(xiě),包括:題目、作者、摘要、關(guān)鍵詞,緒論,硬件電路,軟件流程、代碼,數(shù)據(jù)分析。,任務(wù)實(shí)施步驟,三、任務(wù)設(shè)計(jì),1,)驅(qū)動(dòng)硬件分析,.,此電路核心件是,MCS-51,單片機(jī)(,AT89C51,)。,2.,包括時(shí)鐘電路、復(fù)位電路及輸出電路。,3.,用,P2,口作輸出口,驅(qū)動(dòng),LED,。,4,、加,1,鍵和減,1,鍵分別接接外部中斷,0,和,1,。,三、任務(wù)設(shè)計(jì),1,、,LED,計(jì)數(shù)器的設(shè)計(jì),硬件