單片機內部電路_第1頁
單片機內部電路_第2頁
單片機內部電路_第3頁
單片機內部電路_第4頁
單片機內部電路_第5頁
已閱讀5頁,還剩18頁未讀, 繼續免費閱讀

下載本文檔

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

文檔簡介

1、中斷、優先級、中斷服務、嵌套等。4.1 4.2 4.3 CPU與外設交換信息通常有如下三種形式: 程序控制傳送方式:無條件傳送和查詢方式傳送 中斷方式 直接存貯器存取(DMA)方式。TCON 定時/計數器 控制RegSCON 串行口 控制Reg.IE 中斷 允許Reg.IP 中斷 優先級Reg. 5個中斷源有兩個中斷優先級(可由編程確定優先級高低),可以實現中斷服務程序嵌套。1. 中斷源片內(3):T0、T1(定時/計數器溢出中斷) 串口(收/發)中斷片外(2):可屏蔽 (接P3.2 和 P3.3)0INT1INT5個2. 中斷管理與控制SFR 均可位尋址 具有“位址名”見P.30 表2-5。

2、 :定時/計數器控制寄存器,管理4個中斷源。(“1”) 當T0、T1加1計數導致溢出時,由硬件自動 使TFi 置“1”,向向CPU申請中斷申請中斷。 當CPU響應中斷后,被硬件自動清0。也可 由軟件清0。TR0TR1TCON(88H)0 INTi為低電平時置位IEi,表示INTi向CPU申請中斷1 INTi為 時置位IEi,表示INTi向CPU申請中斷外部中斷 請求類型(觸發方式)控制位。外部中斷 請求類型(觸發方式)控制位。INT1INT0INT1INT1INT0INT0 對INT0、INT1的中斷申請,當為邊沿觸發方式時,若CPU響應中斷,則 IEi 被自動清0;而電平觸發方式則不然,必須

3、在引腳外加硬件(如D觸發器)使其撤銷外部中斷請求。 對外中斷INT0、INT1波形的要求 下降沿有效 要求寬度大于一個機器周期(12T) 低電平有效 要求低電平保持到進入中斷服務程 序,而在中斷返回之前必須撤消。:串口控制寄存器RITISCON(98H) 當串口發送(或接收)一幀串行數據后,由內部硬件置中斷標中斷標志志 TI (或 RI )為“1”。 EX0ET0EX1ET1ESEAIE(A8H)ET1、ET0定時/計數器溢出中斷允許位1 允許0 禁止ES串行中斷允許位 1 允許串行中斷0 禁止串行中斷EA中斷總總允許位1 CPU開放中斷 0 CPU屏蔽所有中斷EX1、EX0外部中斷1、0允許

4、位1 允許0 禁止1:高優先級,:高優先級,0:低優先級:低優先級 P118. 例:假設允許片內定時器/計數器中斷,禁止其它中斷。試根據假設條件設置IE的相應值。 用字節操作指令 MOV IE , #8AH 或 MOV A8H , #8AH 用位操作指令 SETB ET0 ;定時/計數器0允許中斷 SETB ET1 ;定時/計數器1允許中斷 SETB EA ;CPU開中斷PX0PT0PX1PT1PSIP(B8H)5個中斷源()89C51復位時,IP的低5位全部清零,將所有中斷源設置為低優先級中斷。例:希望順序 TF0、TF1 IE0、IE1 串,則可定義: 1 1 0 0 0 ()要改變優先級

5、,可設置IP寄存器中的相應值。原順序()5個源在同一級時的優先權,由CPU內部登記排隊的序號決定。 INT0 T0 INT1 T1 串口 IE0 TF0 IE1 TF1 RI+TI 高 低高級原順序低級 開中斷(CPU,源) 優先級排隊 執行完當前指令才響應(若是RETI或訪問IE、IP的指令時,需執行完其后的一條指令才響應)1. 中斷響應條件2. 中斷響應過程: 保護斷點(當前 PC 進堆棧) 清“中斷請求標志”(TI、RI等由軟件清0的除外) 轉中斷服務子程序(子程序入口地址 PC) 各“中斷源”對應的“入口”固定。 見p122 表5-1 “入口”間隔小。一般,放不下一個中斷服務子程 序,

6、故實際其中放跳轉指令。例: ORG0000HAJMP MA;轉主程序ORG000BH;轉T0中斷服務子程序AJMP L0:MA: :L0: 當CPU正在執行一個同級或高一級的中斷服務程序時,中斷申請不能得到響應。3中斷優先級與中斷嵌套 若希望中斷嵌套,可設置各中斷源為不同優先級。由于CPU響應中斷時,并不主動關中斷響應中斷時,并不主動關中斷,因而可實現中斷嵌套。 若要在執行當前中斷程序時禁止更高優先級中斷,可以在中斷服務程序開頭用軟件關閉CPU,或禁止某中斷源中斷,在中斷返回前再開放中斷。 2. ( 例)4外部中斷響應時間 約38個機器周期1. 利用定時器(外部計數輸入引腳)擴展外部中斷源 將

7、計數器置成FFH,外中斷源接至T0 或 T1, 下降沿到來時申請中斷,轉中斷服務。當任一外部中斷源高電平申請中斷,則INT0引腳電平變低,究竟是哪一個外設申請中斷,可通過程序查詢獲知。0003H AJMP INT0:0013H AJMP INT1:INT0: PUSH PSW PUSH A JB P1.0,IR0 JB P1.1,IR1 JB P1.2,IR2 JB P1.3,IR3 :EXIT: POP A POP PSW RETIIR0: 裝置1的中斷服務程序AJMP EXITIR1: 裝置裝置1裝置裝置2裝置裝置3裝置裝置4+5VINT0INT1P1.3P1.2P1.1P1.089C51

8、 例1. P.126 例- P.128 例5-4,自看。中服少于8個字節,可從規定的中斷服務入口地址開始。程序大于8個字節,在相應的入口處寫一條跳轉指令。 1. 主程序 主程序起始地址0030H以后開始。 主程序初始化內容 以中斷為例:上電復位后,TCON、SCON、IE、IP全為0, 應初始化開放中斷、置優先級等。2. 中斷服務程序中斷服務程序起始地址 例2. 微打接口 片內(30H)(3FH)字符串送微打打印8031 將1個字節送微型打印機DATA8位數據D0D7STBBUSYACK忙信號輸出線數據選通輸入線有效時,將數據送入打印機。應答輸出線數據存入打印機緩存后發出 ORG0000HLJ

9、MP MN ;轉主ORG0003HLJMP PRN ;轉中服ORG0200H MN:MOV SP,#60H MOV R0,#30H ;串首MOV R7,#16 ;個數 SETB IT0 ;INT0觸發方式 SETB EX0 ;INT0開中斷 SETB EA ;CPU開中斷 (開始時BUSY0,第一個字符不能在中斷中送)P0WRP2.7INT0(P3.2)DBSTBBUSYACK用WR、P2.7產生STB信號用ACK或BUSY 申請中斷。MOV DPTR,#7FFFH ;微打地址MOV A,R0MOVX DPTR,A;第一個字符送微打DEC R7INC R0;為下一個字符準備SJMP $;等待中

10、斷ORG 0300HPRN: MOV A,R0;送一個字符MOVX DPTR,AINC R0DJNZ R7,L1;全送完?CLR EX0;關中斷L1:RETIORG 0000HLJMP MNORG 0200HMN:MOV R0,#30H MOV R7,#16 MOV DPTR,#7FFFHL1: JB P3.2, L1 ; 查詢查詢 BUSY(為高為高,等待等待) MOV A, R0 MOVX DPTR, A INC R0 DJNZ R7, L1;送完? SJMP $;停;送一數 例3. 利用8031的外部中斷,可以實現單步操作.消抖動電路INT080315V1K程序:ORG0000HLJMP

11、 MNORG0003HLJMP STEPMN:CLRIT0;0電平中斷SETB EA;CPU開中斷SETB PX0;INT0優先級最高*1SETB EX0*2NOP;INT0平時為低電平,則在此中斷執行過程:執行執行執行 執行*1時,已來中斷,執行完*2后,進入中斷。停在*3停在*4停在*3停在*4 來中斷,執行完*5后再執行后才響應。 MOV A,#03H ADDA,#5H MOV P1,A SJMP $STEP: *3JNBP3.2,$ ;P3.2為低時,原地等待*4 JBP3.2,$ ;P3.2為高時,原地等待*5 RETI ;P3.2又為低時,中斷服務結束,返回;待調程序段 ORG 0000H AJMP MAIN ORG 0003H AJMP INSER ORG 0030HMAIN: SETB EX0 SETB IT0 SETB EAHERE: SJMP HERE ORG 0200HINSER: MOV A, #0F0H MOV P1,A MOV A, P1 SWAP A MOV P1,A RETI END返回返回例例5-3 采用中斷邊沿觸發方式,采用中斷邊沿觸發方式, 中斷時完成一次讀中斷時完成一次讀/寫操作。寫操作。S1在1時,INT0為“1”;S1在2時,INT0為“0”;INT0121IR0IR1IR7外中斷E2012

溫馨提示

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

評論

0/150

提交評論