




已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1 第五章1單片機的中斷系統(tǒng) 第一節(jié)中斷的基本概念第二節(jié)mcs 51單片機中斷系統(tǒng)第三節(jié)中斷系統(tǒng)的應用 2 第一節(jié)中斷的基本概念 1 數據傳送方式程序控制方式無條件傳送方式 輸入輸出操作完全取決于程序的安排 而不管外設的狀態(tài) 程序查詢方式 先查詢外設的當前狀態(tài) 獲得端口信息 i o操作完全由cpu控制 缺點 浪費cpu時間 效率低 中斷傳送方式cpu不必定時查詢接口狀態(tài) 接口在數據發(fā)送或接收數據準備好后通知cpu cpu通過執(zhí)行一個中斷服務程序來完成數據傳送 接口沒有準備好時 cpu繼續(xù)執(zhí)行主程序 提高cpu工作效率 dma directmemoryaccess 直接存儲器存取方式i o設備在dma接口控制下直接把成塊信息送到主存儲器 或從主存儲器取出成塊信息送給i o設備 中間不經cpu參與 比中斷 查詢方式更加提高了cpu的利用率 3 第一節(jié)中斷的基本概念 2 中斷概念 cpu在正常運行程序時 由于cpu以外某一事件的發(fā)生 引起cpu暫停正在運行的程序 而轉到為該事件的發(fā)生預先安排好的服務程序中去執(zhí)行 4 3 中斷源 可由硬件或軟件引起 引起中斷的事件 msc 51具有多個中斷源 51子系列有5個中斷源 2個外部中斷 2個定時中斷和1個串行中斷 a 外中斷 外部信號引起 共2個 即 外部中斷 0 中斷請求信號由引腳int0 p3 2 引入 外部中斷 1 中斷請求信號由引腳int1 p3 3 引入 外部中斷請求有兩種信號形式 低電平觸發(fā)方式和負跳脈沖觸發(fā)方式 負跳脈沖觸發(fā)方式 負跳信號有效 即cpu在連續(xù)兩個周期對引入端intx采樣 如果前周期為高電平 后一周期為低電平 則為有效的負跳脈沖觸發(fā)方式的外中斷申請 低電平觸發(fā)方式 低電平有效 只要cpu在每機器周期s5p2期間從引入端intx采樣到低電平 就進入外中斷 第一節(jié)中斷的基本概念 5 b 定時器 計數器中斷 內部計數器計數溢出 溢出標志位tfx作為單片機接受中斷請求標志 信號來源 內部 定時 和外部 計數 芯片內部有兩個定時器 計數器 tf0 tf1 發(fā)生計數溢出就可以達到申請中斷請求 c 串行中斷 串行數據傳送 發(fā)送和接收 的需要而設置 串行口接收或發(fā)送 ti ri 完一組串行數據時 就可以產生一個中斷請求 第一節(jié)中斷的基本概念 6 中斷源入口地址 7 ie 中斷允許控制寄存器 tcon 定時控制寄存器 scon 串行口控制寄存器 ip 中斷優(yōu)先級控制寄存器 第二節(jié)mcs 51單片機的中斷系統(tǒng) 與中斷控制有關的控制寄存器有四個 8 1 中斷允許控制寄存器ie用戶軟件設置寄存器地址為a8h 2 ex0 exl 外部中斷允許控制位 int0 int1 ex0 exl 0禁止外中斷ex0 exl l允許外中斷 1 ea 中斷允許總控制位 ea 0中斷總禁止 禁止所有中斷 即不響應任何中斷請求 ea 1中斷總允許 總允許后中斷的禁止或允許由各中斷源的中斷允許控制位進行設置 通過設置相關寄存器 達到控制中斷工作的目的 一 中斷控制寄存器 9 4 es 串行中斷允許控制位es 0禁止串行中斷es 1允許串行中斷 結論 mcs 51通過中斷允許控制寄存器對中斷的允許實行兩級控制 以ea位作為總控制位 以各中斷源的中斷允許位作為分控制位 mcs 51單片機復位后 ie 00h 因此中斷系統(tǒng)處于禁止狀態(tài) 單片機在中斷響應后不會自動關閉中斷 因此在轉中斷服務程序后 應使用有關指令禁止中斷 即以軟件方式關閉中斷 3 et0 etl 定時 計數中斷允許控制位 t0 t1 et0 etl 0禁止定時 或計數 中斷et0 etl 1允許定時 或計數 中斷 10 1 ie0 ie1 外部中斷請求標志 硬件自動設置cpu采樣到intx端有效的中斷請求后 iex位由硬件自動置 1 在中斷響應期間 要轉向中斷服務程序時 由硬件自動清零 2 定時器控制寄存器tcon寄存器地址為88h 11 2 定時器控制寄存器tcon寄存器地址為88h 4 tr0 tr1 定時器啟動標志位 12 3 串行口控制寄存器scon 只有兩位與中斷有關 寄存器地址為98h 1 ti 串行口發(fā)送中斷標志位 當cpu將一個數據寫入發(fā)送緩沖器時 就啟動發(fā)送 當最后一個數據位發(fā)送完后 ti由硬件自動置位 向cpu發(fā)中斷申請 進行中斷服務程序時 ti要由軟件清0 軟件查詢時 ti可作為狀態(tài)位使用 2 ri 串行口接收中斷標志位 cpu接收數據時 當接收到最后一個數據位后 ri由硬件自動置位 并向cpu發(fā)中斷申請 進行中斷服務程序時 ri要由軟件清0 軟件查詢時 ri可作為狀態(tài)位使用 13 4 中斷優(yōu)先級控制寄存器ip用戶軟件設置寄存器地址為b8h px0 外部中斷0優(yōu)先級設定位pxl 外部中斷l(xiāng)優(yōu)先級設定位pt0 定時中斷0優(yōu)先級設定位ptl 定時中斷l(xiāng)優(yōu)先級設定位ps 串行中斷優(yōu)先級設定位對應位置1 優(yōu)先級為高 置0 優(yōu)先級為低 14 5 中斷優(yōu)先級控制原則和控制邏輯具有兩級優(yōu)先級 其中斷優(yōu)先級的控制原則是 1 低優(yōu)先級中斷請求不能打斷高優(yōu)先級的中斷服務 但高優(yōu)先級中斷可以中斷低優(yōu)先級的中斷服務 從而實現(xiàn)中斷嵌套 2 如果一個中斷請求已被響應 則同級的其他中斷服務將被禁止 即同級不能嵌套 3 如果同級的多個中斷請求同時出現(xiàn) 則按cpu查詢次序確定哪個中斷請求被響應 其查詢次序為 外部中斷0 定時中斷0 外部中斷1 定時中斷1 串行中斷 15 中斷嵌套流程圖 中斷優(yōu)先級 當多個中斷源請求中斷服務 那么cpu響應這些中斷就有一個先后順序 稱之為中斷優(yōu)先級 優(yōu)先級高 則cpu先響應 優(yōu)先級低 則cpu不影響高級中斷 平級 平級 16 8051的中斷系統(tǒng) 17 6 中斷初始化和中斷控制寄存器狀態(tài)邏輯設置 用戶通過tcon scon ie和ip四個控制寄存器來使用中斷系統(tǒng) 這四個控制寄存器都是既可進行字節(jié)尋址又可進行位尋址的 因此對位狀態(tài)的設置既可以使用字節(jié)操作指令又可以使用位操作指令 字節(jié)操作指令 movie 81h ea es et1 ex1 et0 ex0位操作指令 setbeasetbex0 對中斷的使用是在程序初始化時設置的 如果不包括優(yōu)先級控制 外中斷初始化共有3項內容 中斷總允許 外中斷允許和中斷方式設定 定時中斷則只有兩項內容 沒有中斷方式控制 18 二 中斷響應過程 中斷響應 在滿足cpu中斷響應條件后 cpu對中斷源中斷請求的回答 1 中斷響應基本條件 來中斷 開中斷 a 有中斷源發(fā)出中斷申請 中斷采樣s5p2 中斷查詢s6 中斷采樣 采樣主要針對外中斷請求信號進行 對芯片引腳 int0和 int1進行采樣 電平方式或是脈沖方式 中斷查詢 由cpu測試tcon和scon中各標志位的狀態(tài) 以確定有沒有中斷請求發(fā)生以及是哪一個中斷請求 中斷請求是隨機發(fā)生 要求cpu不停地重復進行查詢 b 中斷總允許位ea 1c 各個中斷源相應的允許位置1 即es et1 ex1 et0 ex0 19 中斷響應可能會被阻止或被延遲 中斷響應是有條件的 并不是查詢到的所有中斷請求都能被立即響應 當存在下列情況之一時 中斷響應被封鎖 a cpu正處在為一個同級或高級的中斷服務中 b 查詢中斷請求的機器周期不是當前指令的最后一個機器周期 即當前指令完成前 不會響應任何中斷請求 c 當前指令是返回指令 ret retl 或訪問ie ip的指令 mcs 5l中斷系統(tǒng)規(guī)定 在執(zhí)行完這些指令之后 還應再繼續(xù)執(zhí)行一條指令 然后才能響應中斷 以上三個條件稱為中斷封鎖條件 20 3 中斷響應過程 如果滿足中斷響應條件且不存在中斷封鎖情況 則cpu進入中斷響應周期 完成以下工作 a 將響應的優(yōu)先級狀態(tài)觸發(fā)器置1 b 由硬件清除相應的中斷請求標志位 tfx iex 但串行中斷標志位必須手動清除 c 執(zhí)行一條由硬件生成的長調用指令lcall 其格式為lcalladdrl6 這里的addrl6就是程序存儲器中相應中斷區(qū)的入口地址 該指令將自動把斷點地址 當前pc值 壓入堆棧保護起來 然后將對應的中斷入口地址裝入pc 使程序轉向該中斷入口地址 去執(zhí)行中斷服務程序 注意 中斷服務程序入口地址僅間隔8個字節(jié) 因此通常在這些入口地址處存放一條無條件轉移指令 以控制程序轉到用戶安排好的中斷服務程序地址去執(zhí)行 21 4 中斷響應時間 從中斷請求產生到cpu轉到相應的中斷服務程序的入口地址所需的時間 1 基本響應時間 3個機器周期 1 查詢中斷標志 1個機器周期 2 轉去執(zhí)行中斷服務程序 2個機器周期 2 額外的處理時間 0 5個機器周期 reti指令 2個機器周期 mul或div指令 4個機器周期 b 最長響應時間為8個機器周期查詢中斷標志位時 剛好開始執(zhí)行 ret retl 或訪問ie ip的指令 最長需要2個機器周期 單片機要求必須再繼續(xù)執(zhí)行一條指令 然后才能響應中斷 若再執(zhí)行的最長是4個機器周期的指令 mulab 再加上執(zhí)行l(wèi)call的2個機器周期 總共是8個機器周期 a mcs 51單片機所需最短響應時間為3個機器周期 中斷請求標志位請求占1個機器周期 每個機器周期的s5p2期間查詢中斷標志位 若此時恰好是正在執(zhí)行指令的最后一個機器周期 中斷立即會在該機器周期結束后被響應 硬件自動產生lcall指令 耗費2個機器周期 因此總共3個機器周期 22 結論 一般的中斷響應時間都是3 8個機器周期 但是如果出現(xiàn)同級或是高級中斷正在響應或是服務中 則響應時間無法計算 一般應用中 中斷響應時間無需計算 只有在精確定時的應用場合 才需要計入中斷響應時間 保證定時的精確 23 三中斷服務程序中斷都是在運行主程序時發(fā)生的 是主程序的隨機事件 是否允許發(fā)生以及如何發(fā)生 都應該在主程序中預先設置 這就是中斷初始化 中斷服務程序 從入口地址開始執(zhí)行一直到返回指令reti為止 需注意的問題 2 開中斷和關中斷a 在中斷處理程序中 關中斷 禁止響應其他一切中斷 無中斷嵌套b 要保持中斷嵌套 就要分別在現(xiàn)場保護和現(xiàn)場恢復前后 加上關中斷和開中斷 避免現(xiàn)場被破壞 1 現(xiàn)場保護和現(xiàn)場恢復所謂現(xiàn)場 指中斷時刻 單片機存儲單元中的數據或狀態(tài) 一定是主程序和中斷程序都用到的且不能被修改的存儲單元 現(xiàn)場保護 位于中斷處理程序首部 push操作數現(xiàn)場恢復 位于中斷處理程序尾部 pop操作數 24 org0000hljmpmainorg0013hljmpexint1org0050hexint1 clrea 關中斷pushaccpushpsw 現(xiàn)場保護setbea 開中斷中斷服務程序clrea 關中斷poppswpopacc 現(xiàn)場恢復setbea 開中斷reti 中斷返回org0100hmain 25 3 中斷返回中斷處理程序后最后一條指令必須是中斷返回指令reti 執(zhí)行該指令時 a 將 優(yōu)先級狀態(tài)觸發(fā)器 復位為0 b 從堆棧棧頂彈出斷點地址 裝入pc 從而返回主程序 org0000hljmpmainorg0050hmain lcallsub sjmp sub reti 能正確運行嗎 org0000hljmpmainorg0003hljmpsubmain sjmp sub ret 能正確運行嗎 26 中斷服務程序與子程序調用的區(qū)別 27 四 中斷請求的撤消 中斷響應后 tcon和scon中的中斷請求標志應該及時清除 否則就意味著中斷請求繼續(xù)存在 處理不當 會造成中斷的重復查詢和響應 因此就存在一個中斷請求的撤消的問題 負脈沖方式外部中斷請求的撤消 兩項內容 a 外中斷標志位iex清 0 中斷響應后 硬件自動把標志位iex清 0 b 外中斷請求信號的撤消 對于脈沖方式 脈沖信號過后就消失 因此 負脈沖方式外部中斷請求的撤消是自動的 定時中斷請求的撤消 一項內容 定時溢出標志位tfx清 0 中斷響應后 硬件自動把標志位tfx清 0 即定時中斷請求的撤消是自動的 28 串行中斷軟件撤消 一項內容 標志位清 0 中斷響應后 需要先分別測試ti和ri的狀態(tài) 只有一個串行中斷入口地址 判斷完是接收操作還是發(fā)送操作后 再軟件清 0 低電平方式外部中斷請求的撤消 電平方式外部中斷 中斷標志的撤消是自動的 但中斷請求信號的低電平可能繼續(xù)存在 在以后的機器周期采樣時 又會把清 0 的iex標志位置 1 因此其中斷請求撤消也分為兩項內容 a 外中斷標志位iex清 0 中斷響應后 硬件自動把標志位iex清 0 b 外中斷請求信號的撤消 把中斷信號引腳從低電平強制改為高 為此需要增加硬件電路和軟件程序 29 第三節(jié)中斷系統(tǒng)的應用 中斷控制就是對4個與中斷有關的專用寄存器tcon scon ie和ip進行管理和控制 管理和控制的項目有 1 cpu中斷的開放與關閉 2 某中斷源中斷請求的允許與禁止 3 各中斷源優(yōu)先級別的設定 4 外部中斷請求的觸發(fā)方式 中斷管理與控制程序一般包含在主程序當中 在中斷響應過程中 斷點的保護是由硬件電路來實現(xiàn)的 用戶在編寫中斷服務程序時 主要需考慮現(xiàn)場的保護與恢復 當存在中斷嵌套時 在保護和恢復現(xiàn)場前要關中斷 在保護和恢復現(xiàn)場后要根據需要開中斷 30 中斷服務程序的一般格式 clrea 關中斷pushpsw pusha 保護現(xiàn)場 setbea 開中斷 中斷服務程序 clrea 關中斷 popa 恢復現(xiàn)場poppsw setbea 開中斷reti 返回 31 例 硬件電路如圖 通過8051單片機的p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- DR影像診斷培訓
- 文化遺產保護與利用項目2025年資金申請項目政策支持力度評估報告
- 學前兒童社會教育實施綱要
- 墻體字體手繪培訓課件
- 自助感恩教育體系構建與實踐路徑
- 阻生牙拔除并發(fā)癥處理
- Excel基礎操作培訓
- 幼兒園教師師德培訓
- 職場員工基礎培訓
- 坐骨結節(jié)腫瘤影像診斷分析
- dzl213型鍋爐低硫煙煤煙氣袋式除塵濕式脫硫系統(tǒng)設計
- SOP標準作業(yè)指導書excel模板
- 《公路橋涵養(yǎng)護規(guī)范》(5120-2021)【可編輯】
- 新人教版一年級數學下冊期末考試卷(附答案)
- 人教版三年級語文上冊期末試卷及答案【完整】
- ptfe膜雨棚施工方案
- 人工智能倫理規(guī)則
- 米亞羅-孟屯河谷風景名勝區(qū)旅游基礎設施建設項目環(huán)評報告
- 婦產科護理學教材(課后思考題參考答案)
- 二年級數學無紙化監(jiān)測試題
- 沖突管理與溝通技巧
評論
0/150
提交評論