《單片機技術與應用》教案8項目3任務1-外部中斷的使用_第1頁
《單片機技術與應用》教案8項目3任務1-外部中斷的使用_第2頁
《單片機技術與應用》教案8項目3任務1-外部中斷的使用_第3頁
《單片機技術與應用》教案8項目3任務1-外部中斷的使用_第4頁
《單片機技術與應用》教案8項目3任務1-外部中斷的使用_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

PAGEPAGE1教案學習領域項目3抽獎器設計學習情境任務1外部中斷的使用序號8課型理實一體化課時2教具學具電教設施pc機;keil以及proteus軟件;任務書(供學生用);課件教學目標知識目標①掌握單片機中斷的概念②掌握單片機中斷的硬件結構③掌握單片機中斷的初始化操作能力目標①能夠通過Keil和Proteus軟件的初步使用,提高觀察和分析能力②能夠中斷實現LED燈的亮滅,培養邏輯思維能力③能夠編制按鍵狀態機程序,提高分析和解決問題的能力情感目標①能夠透過實驗現象歸納事物本質②培養學生對本專業的職業認同感③培養學生科學探索的興趣、嚴謹扎實的工作作風和團結協作精神教學重難點重點①掌握單片機中斷的硬件結構②掌握中斷的初始化操作難點①掌握中斷的使用②單片機中斷的初始化操作學法教法實驗探究、任務引領法、討論法、張貼法、頭腦風暴法、演示法教學內容更新、補充、刪節參考資料課后體會學生在任務的驅動下,利用仿真電路自主探究電路規律,結合教師對相關知識點的講授,達到對所學知識的掌握。這個思路帶來了很好的教學效果,但增加的實驗部分會使得教學時數稍顯緊張,這一點還需日后改進。教與學互動設計教師活動內容學生活動內容一、組織教學(2分鐘)1.首先清點學生出勤情況,填寫考勤記錄。2.檢查學生工作服、帽、鞋等是否符合安全要求。3.宣布今天的實習內容、技術要求、工時、勞動紀律等。4.強調生產實習安全注意事項。5.學生分組分上機、實習工位。6.發放任務書、自評和互評表以及白紙到每組的學生手中。二、布置任務(3分鐘)下達任務,單片機具有實時處理能力,能對外界發生的事件進行及時處理,就是依靠它的中斷系統實現的。中斷系統是計算機的重要組成部分。本任務要求利用按鍵模擬外部中斷0,當外部中斷0有中斷請求時,CPU響應該中斷請求,中斷程序使P1.0引腳所接的LED點亮,再一次按下則熄滅,如圖三、資訊計劃(25分鐘)一、中斷系統1.中斷的基本概念CPU暫時中止其正在執行的程序,轉去執行請求中斷的那個外設或事件的服務程序,等處理完畢后再返回執行原來中止的程序,這一過程叫做中斷。圖3-2中斷概念示意圖圖3-3中斷過程示意圖(1)為什么要使用中斷中斷解決了快速主機與慢速I/O設備的數據傳送,還具有如下優點:分時操作。CPU可以分時為多個I/O設備服務,提高了計算機的利用率;實時響應。CPU能夠及時處理應用系統的隨機事件,系統的實時性大大增強;可靠性高。CPU具有處理設備故障及掉電等突發性事件能力,從而使系統可靠性提高。(2)中斷源及其優先級中斷源是指能發出中斷請求,引起中斷的裝置或事件。一個單片機系統通常有多個中斷源,而單片機CPU在某一時刻只能響應一個中斷源的中斷請求,當多個中斷源同時向CPU發出中斷請求時,則必須按照“優先級別”進行排隊,CPU首先選定其中中斷級別最高的中斷源為其服務,然后按由高到低的排隊順序逐一服務,完畢后返回斷點地址,繼續執行主程序。這就是“中斷優先級”的概念。單片機系統中有一個專門用來管理中斷源的機構,它就是中斷控制寄存器,我們可以通過對其編程來設置中斷源的優先級別以及是否允許某個中斷源的中斷請求等。中斷過程是在硬件的基礎上再配以相應的軟件而實現的,不同的計算機,其硬件結構和軟件指令是不完全相同的,中斷系統也是不同的。AT89C51中斷系統的結構示意圖如圖3-4所示。圖3-4AT89C51中斷系統結構示意圖與中斷系統有關的寄存器有4個,分別是中斷源寄存器TCON和SCON、中斷允許控制寄存器IE和中斷優先級控制寄存器IP。中斷源有5個,分別為外部中斷0請求/INT0、外部中斷1請求/INT1 、定時器0溢出中斷請求TF0、定時器1溢出中斷請求1和串行口中斷請求RI和TI。5個中斷源的排列順序由中斷優先級控制寄存器IP和順序查詢邏輯電路共同決定,5個中斷源對應5個固定的中斷入口地址。2.中斷標志與中斷控制相關寄存器(1)定時器控制寄存器TCONTCON為8位特殊功能寄存器,其結構、位名稱、位地址及其功能如表3-1所示。表3-1TCON的結構、位名稱、位地址位D7D6D5D4D3D2D1D0TCONTF1TR1TF0TR0IE1IT1IE0IT0位地址8FH8EH8DH8CH8BH8AH89H88H定時中斷、外中斷請求控制寄存器TCON字節地址88H,位地址8FH~88H,與中斷請求有關的各位含義如下:IT0:INT0的觸發方式控制位。若IT=0,電平觸發,低電平有效。若IT=1,下降沿觸發,P3.2引腳出現負跳變有效。IE0:外部中斷0的中斷請求標志若IE=0,無中斷請求。若IE=1,有中斷請求。IT1:INT1的觸發方式控制位。IE1:外部中斷1的中斷請求標志。TF0:定時/計數器(T0)溢出中斷請求標志。計數器計滿產生溢出,由硬件置位,TF0=1有中斷請求,否則TF0=0(硬件會自動清0,也可由軟件清0)。TF1:定時/計數器(T1)溢出中斷請求標志。若TF1=0,無中斷請求;若TF1=1,有中斷請求。(2)串行口控制寄存器SCONSCON為8位特殊功能寄存器,其結構、位名稱、位地址及其功能如表3-2所示。表3-2SCON的結構、位名稱、位地址位D7D6D5D4D3D2D1D0SCONTIRI位地址99H98串行口控制寄存器SCON字節地址98H,位地址9FH~98H,與中斷請求有關的各位含義如下:TI:為串行口發送中斷標志位,位地址為99H。在串行口發送完一組數據時,TI由硬件自動置位(TI=1),請求中斷,當CPU響應中斷進入中斷服務程序后,TI狀態不能被硬件自動清除,而必須在中斷程序中由軟件來清除。RI:為串行口接收中斷標志位,位地址為98H。在串行口接收完一組串行數據時,RI由硬件自動置位(RI=1),請求中斷,當CPU響應中斷進入中斷服務程序后,也必須由軟件來清除RI標志。(3)中斷允許控制寄存器IEAT89C51設有專門的開中斷和關中斷指令,中斷的開放和關閉是通過中斷允許寄存器IE各位的狀態進行兩級控制的。所謂兩級控制是指所有中斷允許的總控制位和各中斷源允許的單獨控制位,每位狀態靠軟件來設定。中斷允許控制寄存器IE各位的定義及其功能等如表3-3所示。表3-3IE的結構、位名稱、位地址位D7D6D5D4D3D2D1D0IEEAESET1EX1ET0EX0位地址AFHACHABHAAHA9HA8HEX0:INT0中斷允許位.EX0=1,允許INT0中斷EX0=0,禁止INT0中斷.ET0:T0的溢出中斷允許位.ET0=1,允許T0中斷ET0=0,禁止T0中斷EX1:INT1中斷允許位。EX1=1,允許INT1中斷EX1=0,禁止INT1中斷ET1:T1的溢出中斷允許位ET1=1,允許T1中斷ET1=0,禁止T1中斷ES:串行中斷允許位ES=1,允許串行中斷ES=0,禁止串行中斷EA:中斷開放標志位EA=1,CPU開放中斷EA=0,CPU屏蔽所有的中斷(4)中斷優先級寄存器IPIP為8位特殊功能寄存器,其結構、位名稱、位地址及其功能如表3-4所示。表3-4IP的結構、位名稱、位地址位D7D6D5D4D3D2D1D0IPPSPT1PX1PT0PX0位地址BCHBBHBAHB9HB8HIP字節地址B8H,位地址BFH~BCH,與中斷請求有關的各位含義如下:PX0:外部中斷0中斷優先級控制位PX0=1,外部中斷0定義為高優先級中斷PX0=0,外部中斷0定義為低優先級中斷PT0:定時器T0中斷優先級控制位PT0=1,定時器T0定義為高優先級中斷PT0=0,定時器T0定義為低優先級中斷PX1:外部中斷1中斷優先級控制位PX1=1,外部中斷1定義為高優先級中斷PX1=0,外部中斷1定義為低優先級中斷PT1:定時器T1中斷優先級控制位PT1=1,定時器T1定義為高優先級中斷PT1=0,定時器T1定義為低優先級中斷PS:串行口中斷優先級控制位PS=1,串行口中斷定義為高優先級中斷PS=0,串行口中斷定義為低優先級中斷如果同樣優先級的請求同時接收到,則內部對中斷源的查詢次序決定先接受哪一個請求,表3-5列出了同級中斷源的內部查詢順序。表3-5中斷源的入口地址和中斷優先級中斷源入口地址外部中斷00003H最高最低T0溢出中斷000BH外部中斷10013HT1溢出中斷001BH串行口中斷0023H中斷優先級三條原則:同時收到幾個中斷時,響應優先級別最高的;中斷過程不能被同級、低優先級所中斷;低優先級中斷服務,能被高優先級中斷四、計劃實施(50分鐘)在proteus中繪制如下電路圖:然后在keil中新建工程,錄入下面程序,并生成.hex文件。程序代碼如下:#include"reg51.h"#defineucharunsignedchar#defineuintunsignedintsbitLED=P1^0;voiddelayms(uintt)//延時程序{uinti,j;for(i=0;i<t;i++)for(j=0;j<120;j++);}voidint0_init()//外部中斷0初始化程序{EA=1;//開CPU總中斷EX0=1;//允許外部中斷0中斷IT0=1;//設置下降沿觸發while(1);//原地踏步,等待中斷產生}voidint0()interrupt0//外部中斷0的中斷服務程序名字取為int0{LED=~LED; //進入中斷,就對P1.0引腳電平取反}voidmain()//主程序{ int0_init(); //調用外部中斷0初始化子程序}進階提高:中斷程序的編寫,也可以用查詢方式來實現。讓CPU老是去查詢外部中斷有沒有,執行if(IE0==1)到底為真還是為假,便可以知道有沒有外部中斷0事件產生。下面給出本任務對應的查詢程序:#include"reg51.h"#defineucharunsignedchar//包含單片機寄存器的頭文件#defineuintunsignedint//宏定義,定義uint為無符號整型sbitLED=P1^0;//P1.0引腳定義為LEDvoidmain(){while(1){EA=1;//開放中斷EX0=1;//允許外部中斷IT0=1;//外部中斷0為邊沿觸發方式if(IE0==1){//IE0=則產生了外部中斷0請求 LED=~LED;//上

溫馨提示

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

評論

0/150

提交評論