Interrupt單片機(jī)中斷系統(tǒng).ppt_第1頁(yè)
Interrupt單片機(jī)中斷系統(tǒng).ppt_第2頁(yè)
Interrupt單片機(jī)中斷系統(tǒng).ppt_第3頁(yè)
Interrupt單片機(jī)中斷系統(tǒng).ppt_第4頁(yè)
Interrupt單片機(jī)中斷系統(tǒng).ppt_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

2020 2 9 1 中斷系統(tǒng) 2020 2 9 2 中斷系統(tǒng)有什么用 中斷系統(tǒng)怎樣構(gòu)成 如何工作 2020 2 9 3 80C51的中斷系統(tǒng) 80C51的中斷系統(tǒng)結(jié)構(gòu) 一 中斷的概念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ò)程稱為中斷 2020 2 9 4 生活中的中斷了解幾個(gè)概念 中斷源 中斷標(biāo)志 中斷優(yōu)先級(jí)別 某宅男正在游戲 座機(jī)響了 接電話 與朋友聊天 繼續(xù)游戲 2020 2 9 5 某宅男正在游戲 座機(jī)響了 接電話 繼續(xù)聊天 繼續(xù)游戲 水開(kāi)了 跑向廚房 關(guān)煤氣 灌開(kāi)水 2020 2 9 6 某宅男正在游戲 座機(jī)響了 女朋友電話 接電話 繼續(xù)聊天 繼續(xù)游戲 水開(kāi)了 不重要 跑向廚房 關(guān)煤氣 灌開(kāi)水 2020 2 9 7 MCS 51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu) 執(zhí)行主程序 主程序 繼續(xù)執(zhí)行主程序 斷點(diǎn) 中斷請(qǐng)求 中斷響應(yīng) 執(zhí)行中斷處理程序 中斷返回 2020 2 9 8 引起CPU中斷的根源 稱為中斷源 中斷源向CPU提出的中斷請(qǐng)求 CPU暫時(shí)中斷原來(lái)的事務(wù)A 轉(zhuǎn)去處理事件B 對(duì)事件B處理完畢后 再回到原來(lái)被中斷的地方 即斷點(diǎn) 稱為中斷返回 實(shí)現(xiàn)上述中斷功能的部件稱為中斷系統(tǒng) 中斷機(jī)構(gòu) 與調(diào)用子程序有區(qū)別嗎 2020 2 9 9 隨著計(jì)算機(jī)技術(shù)的應(yīng)用 人們發(fā)現(xiàn)中斷技術(shù)不僅解決了快速主機(jī)與慢速I(mǎi) O設(shè)備的數(shù)據(jù)傳送問(wèn)題 而且還具有如下優(yōu)點(diǎn) 分時(shí)操作 CPU可以分時(shí)為多個(gè)I O設(shè)備服務(wù) 提高了計(jì)算機(jī)的利用率 實(shí)時(shí)響應(yīng) CPU能夠及時(shí)處理應(yīng)用系統(tǒng)的隨機(jī)事件 系統(tǒng)的實(shí)時(shí)性大大增強(qiáng) 可靠性高 CPU具有處理設(shè)備故障及掉電等突發(fā)性事件能力 從而使系統(tǒng)可靠性提高 2020 2 9 10 二 80C51中斷系統(tǒng)的結(jié)構(gòu)80C51的中斷系統(tǒng)有5個(gè)中斷源 8052有6個(gè) 2個(gè)優(yōu)先級(jí) 可實(shí)現(xiàn)二級(jí)中斷嵌套 2020 2 9 11 5 1 280C51的中斷源一 中斷源 2020 2 9 12 1 INT0 P3 2 可由IT0 TCON 0 選擇其為低電平有效還是下降沿有效 當(dāng)CPU檢測(cè)到P3 2引腳上出現(xiàn)有效的中斷信號(hào)時(shí) 中斷標(biāo)志IE0 TCON 1 置1 向CPU申請(qǐng)中斷 2020 2 9 13 2 INT1 P3 3 可由IT1 TCON 2 選擇其為低1電平有效還是下降沿有效 當(dāng)CPU檢測(cè)到P3 3引腳上出現(xiàn)有效的中斷信號(hào)時(shí) 中斷標(biāo)志IE1 TCON 3 置1 向CPU申請(qǐng)中斷 2020 2 9 14 3 TF0 TCON 5 片內(nèi)定時(shí) 計(jì)數(shù)器T0溢出中斷請(qǐng)求標(biāo)志 當(dāng)定時(shí) 計(jì)數(shù)器T0發(fā)生溢出時(shí) 置位TF0 并向CPU申請(qǐng)中斷 2020 2 9 15 4 TF1 TCON 7 片內(nèi)定時(shí) 計(jì)數(shù)器T1溢出中斷請(qǐng)求標(biāo)志 當(dāng)定時(shí) 計(jì)數(shù)器T1發(fā)生溢出時(shí) 置位TF1 并向CPU申請(qǐng)中斷 2020 2 9 16 5 RI SCON 0 或TI SCON 1 串行口中斷請(qǐng)求標(biāo)志 當(dāng)串行口接收完一幀串行數(shù)據(jù)時(shí)置位RI或當(dāng)串行口發(fā)送完一幀串行數(shù)據(jù)時(shí)置位TI 向CPU申請(qǐng)中斷 2020 2 9 17 二 中斷請(qǐng)求標(biāo)志1 TCON的中斷標(biāo)志 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)志位 2020 2 9 18 2 SCON的中斷標(biāo)志 RI SCON 0 串行口接收中斷標(biāo)志位 當(dāng)允許串行口接收數(shù)據(jù)時(shí) 每接收完一個(gè)串行幀 由硬件置位RI 同樣 RI必須由軟件清除 TI SCON 1 串行口發(fā)送中斷標(biāo)志位 當(dāng)CPU將一個(gè)發(fā)送數(shù)據(jù)寫(xiě)入串行口發(fā)送緩沖器時(shí) 就啟動(dòng)了發(fā)送過(guò)程 每發(fā)送完一個(gè)串行幀 由硬件置位TI CPU響應(yīng)中斷時(shí) 不能自動(dòng)清除TI TI必須由軟件清除 2020 2 9 19 一 中斷允許控制CPU對(duì)中斷系統(tǒng)所有中斷以及某個(gè)中斷源的開(kāi)放和屏蔽是由中斷允許寄存器IE控制的 5 1 380C51中斷的控制 EX0 IE 0 外部中斷0允許位 ET0 IE 1 定時(shí) 計(jì)數(shù)器T0中斷允許位 EX1 IE 2 外部中斷0允許位 ET1 IE 3 定時(shí) 計(jì)數(shù)器T1中斷允許位 ES IE 4 串行口中斷允許位 EA IE 7 CPU中斷允許 總允許 位 2020 2 9 20 二 中斷優(yōu)先級(jí)控制80C51單片機(jī)有兩個(gè)中斷優(yōu)先級(jí) 即可實(shí)現(xiàn)二級(jí)中斷服務(wù)嵌套 每個(gè)中斷源的中斷優(yōu)先級(jí)都是由中斷優(yōu)先級(jí)寄存器IP中的相應(yīng)位的狀態(tài)來(lái)規(guī)定的 PX0 IP 0 外部中斷0優(yōu)先級(jí)設(shè)定位 PT0 IP 1 定時(shí) 計(jì)數(shù)器T0優(yōu)先級(jí)設(shè)定位 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è)定位 2020 2 9 21 同一優(yōu)先級(jí)中的中斷申請(qǐng)不止一個(gè)時(shí) 則有中斷優(yōu)先權(quán)排隊(duì)問(wèn)題 同一優(yōu)先級(jí)的中斷優(yōu)先權(quán)排隊(duì) 由中斷系統(tǒng)硬件確定的自然優(yōu)先級(jí)形成 其排列如所示 2020 2 9 22 80C51單片機(jī)的中斷優(yōu)先級(jí)有三條原則 CPU同時(shí)接收到幾個(gè)中斷時(shí) 首先響應(yīng)優(yōu)先級(jí)別最高的中斷請(qǐng)求 正在進(jìn)行的中斷過(guò)程不能被新的同級(jí)或低優(yōu)先級(jí)的中斷請(qǐng)求所中斷 正在進(jìn)行的低優(yōu)先級(jí)中斷服務(wù) 能被高優(yōu)先級(jí)中斷請(qǐng)求所中斷 2020 2 9 23 5 280C51單片機(jī)中斷處理過(guò)程 一 中斷響應(yīng)條件中斷源有中斷請(qǐng)求 此中斷源的中斷允許位為1 CPU開(kāi)中斷 即EA 1 同時(shí)滿足時(shí) CPU才有可能響應(yīng)中斷 5 2 1中斷響應(yīng)條件和時(shí)間 2020 2 9 24 中斷服務(wù)的進(jìn)入 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í)行一條由中斷系統(tǒng)提供的硬件LCALL指令 轉(zhuǎn)向被稱作中斷向量的特定地址單元 進(jìn)入相應(yīng)的中斷服務(wù)程序 2020 2 9 25 遇以下任一條件 硬件將受阻 不產(chǎn)生LCALL指令 CPU正在處理同級(jí)或高優(yōu)先級(jí)中斷 當(dāng)前查詢的機(jī)器周期不是所執(zhí)行指令的最后一個(gè)機(jī)器周期 即在完成所執(zhí)行指令前 不會(huì)響應(yīng)中斷 從而保證指令在執(zhí)行過(guò)程中不被打斷 正在執(zhí)行的指令為RET RETI或任何訪問(wèn)IE或IP寄存器的指令 即只有在這些指令后面至少再執(zhí)行一條指令時(shí)才能接受中斷請(qǐng)求 若由于上述條件的阻礙中斷未能得到響應(yīng) 當(dāng)條件消失時(shí)該中斷標(biāo)志卻已不再有效 那么該中斷將不被響應(yīng) 就是說(shuō) 中斷標(biāo)志曾經(jīng)有效 但未獲響應(yīng) 查詢過(guò)程在下個(gè)機(jī)器周期將重新進(jìn)行 2020 2 9 26 執(zhí)行一條硬件LCALL指令 即把程序計(jì)數(shù)器PC的內(nèi)容壓入堆棧保存 再將相應(yīng)的中斷服務(wù)程序的入口地址送入PC 執(zhí)行中斷服務(wù)程序 5 2 2中斷響應(yīng)過(guò)程 中斷響應(yīng)過(guò)程的前一步是由中斷系統(tǒng)內(nèi)部自動(dòng)完成的 而中斷服務(wù)程序則要由用戶編寫(xiě)程序來(lái)完成 2020 2 9 27 5 2 3中斷返回 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) 2020 2 9 28 應(yīng)用舉例例1 利用定時(shí) 計(jì)數(shù)器T0的方式1 產(chǎn)生10ms的定時(shí) 并使P1 0引腳上輸出周期為20ms的方波 采用中斷方式 設(shè)系統(tǒng)時(shí)鐘頻率為12MHz 計(jì)算計(jì)數(shù)初值X 由于晶振為12MHz 所以機(jī)器周期Tcy為1 s 所以 N t Tcy 10 10 3 1 10 6 10000X 65536 10000 55536 D8F0H即應(yīng)將D8H送入TH0中 F0H送入TL0中 2020 2 9 29 ORG0000HLJMPMAIN 跳轉(zhuǎn)到主程序ORG000BH T0的中斷入口地址LJMPDVT0 轉(zhuǎn)向中斷服務(wù)程序ORG0100HMAIN MOVTMOD 01H 置T0工作于方式1MOVTH0 0D8H 裝入計(jì)數(shù)初值MOVTL0 0F0HSETBET0 T0開(kāi)中斷SETBEA CPU開(kāi)中斷SETBTR0 啟動(dòng)T0SJMP 等待中斷DVT0 CPLP1 0 P1 0取反輸出MOVTH0 0D8H 重新裝入計(jì)數(shù)值MOVTL0 0F0HRETI 中斷返回END 2020 2 9 30 練習(xí) 選擇T1方式2用于定時(shí) 在P1 1輸出周期為1ms的方波 晶振f 6MHz 使用中斷方式 計(jì)算初值 X 6D 06H TH1 06H TL1 06H 2020 2 9 31 例3 時(shí)鐘頻率為12MHz 編程實(shí)現(xiàn) P1 1引腳上輸出周期為1s 占空比為20 的脈沖信號(hào) 分析 程序 ORG0000HLJMPMAINORG000BHLJMPT0INTORG0030HMAIN MOVSP 60HMOVR7 0 MOVTMOD 01HMOVTH0 D8HMOVTL0 F0HSETBEASETBET0SETBTR0SJMP 2020 2 9 32 例2 試編程 使P1 7口相連的發(fā)光二極管按照一外部脈沖的節(jié)奏閃爍 電路圖在P106 ORG0000HLJMP

溫馨提示

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

評(píng)論

0/150

提交評(píng)論