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