版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第5章單片機(jī)的中斷系統(tǒng)5.1中斷的概念5.2中斷控制系統(tǒng)5.3中斷處理過程5.4中斷編程及應(yīng)用
與上對比,單片機(jī)中也有同樣的問題。CPU正在執(zhí)行原程序,突然,被意外事情打斷,轉(zhuǎn)去執(zhí)行新程序。CPU執(zhí)行新程序結(jié)束后,又回到原程序中繼續(xù)執(zhí)行。這樣的過程就叫中斷。舉例:某同學(xué)(乙方)正在教室寫作業(yè),忽然被人(甲方)叫出去,回來后,繼續(xù)寫作業(yè)。這就是生活中中斷的例子。1、什么叫中斷?5.1中斷的概念日常生活的中斷現(xiàn)象舉例某人正在看報電話鈴響了去接電話繼續(xù)接電話繼續(xù)看報跑向廚房關(guān)煤氣、灌開水水開了2、80C51單片機(jī)的中斷系統(tǒng)結(jié)構(gòu)執(zhí)行主程序主程序繼續(xù)執(zhí)行主程序斷點(diǎn)中斷請求中斷響應(yīng)執(zhí)行中斷處理程序中斷返回日常生活中的中斷與單片機(jī)中斷的比較:
某同學(xué) 單片機(jī)過程說明正在看書 執(zhí)行主程序有人找出去 中斷信號
中斷請求暫??磿?/p>
暫停執(zhí)行主程序中斷響應(yīng)書中作記號當(dāng)前PC入棧
保護(hù)斷點(diǎn)出去做事 執(zhí)行中斷程序
中斷服務(wù)回來繼續(xù)看 返回主程序
中斷返回實(shí)例1單片機(jī)開關(guān)狀態(tài)檢測要求:若有按鍵壓下→D1狀態(tài)反轉(zhuǎn)。常規(guī)辦法中斷辦法運(yùn)行效果問題:1、主函數(shù)中沒有調(diào)用中斷函數(shù),為何能自動執(zhí)行?2、主函數(shù)中的變量賦值語句的作用?3、這種程序結(jié)構(gòu)的意義?答案:1、當(dāng)P3.2端口有脈沖下降沿出現(xiàn)時系統(tǒng)自動調(diào)用該中斷函數(shù);2、實(shí)現(xiàn)中斷功能的管理命令;3、可實(shí)現(xiàn)多任務(wù)實(shí)時操作功能。中斷是指在突發(fā)事件到來時先中止當(dāng)前正在進(jìn)行的工作,轉(zhuǎn)而去處理突發(fā)事件。待處理完成后,再返回到原先被中止的工作處,繼續(xù)進(jìn)行隨后的工作。中斷函數(shù)與一般函數(shù)的區(qū)別:一般函數(shù)的返回?cái)帱c(diǎn)是已知的,而中斷函數(shù)的返回?cái)帱c(diǎn)是隨機(jī)的。引起突發(fā)事件的來源稱為中斷源中斷源要求服務(wù)的請求稱為中斷請求對中斷請求提供的服務(wù)稱為中斷服務(wù)中斷管理系統(tǒng)處理事件的過程稱為中斷響應(yīng)過程中斷技術(shù)的關(guān)鍵問題:1、哪些事件可以作為51單片機(jī)的中斷源?2、CPU怎樣知道有突發(fā)事件發(fā)生了?3、CPU怎樣處理中斷過程(允許或禁止中斷、響應(yīng)順序)?5.2中斷控制系統(tǒng)1、中斷源(哪些信號可以引起單片機(jī)中斷?)中斷源數(shù)量和種類越多,MCU處理突發(fā)事件的能力就越強(qiáng)。80C51單片機(jī)共有5種中斷源。中斷源名稱中斷引起原因/INT0外部中斷0P3.2引腳低電平或下降沿信號T0定時器0中斷定時/計(jì)數(shù)器0計(jì)數(shù)回0溢出/INT1外部中斷1P3.3引腳低電平或下降沿信號T1定時器1中斷定時/計(jì)數(shù)器1計(jì)數(shù)回0溢出TI/RI串行口中斷一幀串行數(shù)據(jù)被發(fā)送出去后一幀串行數(shù)據(jù)被接收進(jìn)來后(本章)(第六章)(本章)(第六章)(第七章)每個中斷源都有一個位于ROM內(nèi)的中斷程序入口地址——中斷向量或中斷矢量。每個中斷源都有一個中斷號。C51中不必考慮中斷向量,但要使用中斷號(見后)匯編程序中的中斷向量實(shí)例C程序中斷函數(shù)的中斷號系統(tǒng)為每個中斷源設(shè)立了中斷請求標(biāo)志;中斷請求標(biāo)志由中斷源硬件置1或清0;在每個機(jī)器周期的S6期間,CPU會自動查看中斷請求標(biāo)志,也可采用軟件方式查看該標(biāo)志;中斷響應(yīng)時間至少需要3個機(jī)器周期。2、中斷請求標(biāo)志(單片機(jī)如何知道中斷信號出現(xiàn)了?)中斷源名稱中斷引起原因中斷請求標(biāo)志/INT0外部中斷0P3.2引腳低電平或下降沿信號IE0=1T0定時器0中斷定時/計(jì)數(shù)器0計(jì)數(shù)回0溢出TF0=1/INT1外部中斷1P3.3引腳低電平或下降沿信號IE1=1T1定時器1中斷定時/計(jì)數(shù)器1計(jì)數(shù)回0溢出TF1=1TI/RI串行口中斷一幀串行數(shù)據(jù)被發(fā)送出去后一幀串行數(shù)據(jù)被接收進(jìn)來后TI=1RI=1各標(biāo)志位為1時向CPU申請中斷。
以上6個中斷請求標(biāo)志位分別分布在TCON、SCON兩個寄存器中。IT0IE0IT1IE1TR0TF0TR1TF1①外部中斷信號0標(biāo)志位,IE0——TCON^1②外部中斷信號1標(biāo)志位,IE1——TCON^31有中斷請求0無中斷請求IE0(IE1)=
TCON定時器控制寄存器(88H)IT0IE0IT1IE1TR0TF0TR1TF1③定時/計(jì)數(shù)器0溢出,TF0
——TCON^5④定時/計(jì)數(shù)器1溢出,TF1
——TCON^71有中斷請求0無中斷請求TF0(TF1)=TCON定時器控制寄存器(88H)SCON
RI
TIRB8TB8RENSM2SM1SM0⑤一幀串口數(shù)據(jù)發(fā)送完成,TI——SCON^1
一幀串口數(shù)據(jù)接收完成,RI——SCON^0SCON,串行口控制寄存器,98H1有中斷請求0無中斷請求TI(RI)=3、CPU怎樣管理中斷處理過程?系統(tǒng)為每個中斷源設(shè)立了中斷允許標(biāo)志。當(dāng)該標(biāo)志為1時,可自動執(zhí)行相應(yīng)中斷函數(shù),否則不予響應(yīng)。中斷允許標(biāo)志可在程序中由軟件修改;系統(tǒng)為每個中斷源設(shè)立了中斷優(yōu)先級標(biāo)志。當(dāng)該標(biāo)志為1時,可優(yōu)先執(zhí)行相應(yīng)中斷函數(shù),否則按請求先后順序響應(yīng)。中斷優(yōu)先級標(biāo)志可在程序中由軟件修改;系統(tǒng)為外部中斷源設(shè)立了中斷觸發(fā)方式標(biāo)志,可據(jù)此指定相應(yīng)信號類型。(1)中斷允許標(biāo)志IEEX0ET0EX1ET1ES——EA①中斷總允許標(biāo)志,EA
——IE^7②串口中斷允許標(biāo)志,ES——IE^4③定時中斷1允許標(biāo)志,ET1——IE^3④外部中斷1允許標(biāo)志,EX1——IE^2⑤定時中斷0允許標(biāo)志,ET0——IE^1⑥外部中斷0允許標(biāo)志,EX0——IE^0IE,中斷允許寄存器,A8H(2)中斷優(yōu)先級為什么要有中斷優(yōu)先級?CPU同一時間只能響應(yīng)一個中斷請求。若同時來了兩個或兩個以上中斷請求,就必須有先有后。?。。?/p>
為此將5個中斷源分成高級、低級兩個級別,高級優(yōu)先,由IP控制。IPPX0PT0PX1PT1
PS———=1=高級優(yōu)先級=0=低級優(yōu)先級①串口中斷優(yōu)先級標(biāo)志,PS——IP^4②定時中斷1優(yōu)先級標(biāo)志,PT1——IP^3③外部中斷1優(yōu)先級標(biāo)志,PX1——IP^2④定時中斷0優(yōu)先級標(biāo)志,PT0——IP^1⑤外部中斷0優(yōu)先級標(biāo)志,PX0——IP^0優(yōu)先級原則:1)高級中斷請求可以打斷正在執(zhí)行的低級中斷;2)同級或低級中斷請求不能打斷正在執(zhí)行的中斷;3)同級中斷源同時提出請求時按自然優(yōu)先級響應(yīng):
INT0→T0→INT1→T1→TI/RI4)單片機(jī)復(fù)位時,IP各位都被置0,所有中斷源為低級中斷(3)中斷觸發(fā)方式TCONIT0IT1IT1(IT0)=0,低電平觸發(fā)。IT1(IT0)=1,下降沿觸發(fā)。①外部中斷0觸發(fā)方式標(biāo)志,IT0
——TCON^0②外部中斷1觸發(fā)方式標(biāo)志,IT1
——TCON^2TCON,定時器控制寄存器,88H中斷標(biāo)志匯總中斷源名稱中斷請求標(biāo)志中斷允許標(biāo)志中斷優(yōu)先標(biāo)志中斷觸發(fā)方式標(biāo)志中斷編號
INT0IE0EX0PX0IT00T0TF0ET0PT01INT1IE1EX1PX1IT12T1TF1ET1PT13TI/RITI/RIESPS4中斷特殊功能寄存器匯總
IE0TCONSCONINT0
IT0=0
IT0=1INT1
IT1=0
IT1=1TF0
IE1TF1T0T1TIRITXDRXDESET0EX0EX1ET1EA自然優(yōu)先級矢量地址高級中斷請求自然優(yōu)先級矢量地址低級中斷請求PX0PT0PX1PT1PSIEIP中斷標(biāo)志位中斷源允許總允許中斷優(yōu)先級中斷信號的傳送是分別沿著5條水平路徑由左向右進(jìn)行的。中斷系統(tǒng)的組成(影響中斷的因素?)課后思考題1、CPU處理中斷的過程?2、MCS51分別有幾個中斷源,入口地址分別是?3、中斷控制有哪幾個寄存器?4、中斷有幾個優(yōu)先級,能理解如何設(shè)置.1、中斷響應(yīng)條件中斷源有中斷請求;此中斷源的中斷允許位為1;
CPU開中斷(即EA=1)。以上三條同時滿足時,CPU才有可能響應(yīng)中斷。5.3中斷的編程及應(yīng)用使用中斷,程序員需要做什么?
你想使用的中斷是哪個?選擇相應(yīng)的中斷號;打開你選擇的中斷和總中斷;你所希望的觸發(fā)條件是什么?(針對外部中斷)你希望在中斷之后干什么?以外部中斷0為例:主程序中需要有以下代碼:EA=1;//打開總中斷開關(guān)EX0=1;//開外部中斷0IT0=0/1;//設(shè)置外部中斷的觸發(fā)方式中斷服務(wù)函數(shù):voidint0()interrupt0using1{ doanythingthatyouwant}中斷向量——位于ROM內(nèi)的中斷程序入口地址——匯編程序
跳轉(zhuǎn)指令
跳轉(zhuǎn)指令0000H0003H0013H0015H主程序首指令ROM跳轉(zhuǎn)指令0026H0028H中斷號——與中斷向量對應(yīng)的編號——C51程序
C51中斷函數(shù)的聲明格式:void函數(shù)名
(void)interruptn
[usingm]interruptn,表示是關(guān)于中斷源n的中斷服務(wù)函數(shù);usingm,表示該中斷函數(shù)將使用第m組工作寄存器。缺省為當(dāng)前工作寄存器組?!咀⒁狻?、中斷服務(wù)函數(shù)既沒有返回值,也沒有調(diào)用參數(shù);2、中斷服務(wù)函數(shù)只能由系統(tǒng)調(diào)用,不能被其他函數(shù)調(diào)用。實(shí)例2
將第4章實(shí)例3行列式鍵盤改用中斷方式編程如何既能快速響應(yīng)按鍵操作,又不過多占用CPU時間?中斷掃描法——有鍵按下時才進(jìn)行掃描查詢,以獲取按鍵鍵值。若無鍵按下,可不考慮鍵盤的存在。查詢掃描法能快速響應(yīng)按鍵動作,但需花費(fèi)較多CPU機(jī)時。主函數(shù)獲取鍵值keykey=-1?P2←鍵值顯示碼NYP2←黑屏顯示碼分析:①增加一個與門,利用按鍵壓下時的電平產(chǎn)生INT0中斷請求信號;②鍵盤改在P1口(中斷接P3.2)。完整程序編程界面運(yùn)行效果實(shí)例3將第4章實(shí)例2鍵控流水燈改用中斷方式檢測按鍵問題:當(dāng)CPU運(yùn)行于LED循環(huán)環(huán)節(jié)時,將因不能及時檢測按鍵狀態(tài),而使按鍵操作動作不靈敏。解決思路:采用中斷監(jiān)測按鍵狀態(tài),及時更新標(biāo)志位。硬件改動:增加一只4輸入與門電路,使按鍵閉合電平作為外部中斷信號。軟件改動參考程序編程界面運(yùn)行效果——按鍵動作靈敏度明顯增強(qiáng)5.1中斷的概念5.2中斷控制系統(tǒng)5.3中斷處理過程5.4
中斷編程及應(yīng)用
5.4.1中斷的編程和應(yīng)用舉例
5.4.2擴(kuò)展外部中斷源5.4.2擴(kuò)展外部中斷源
實(shí)際應(yīng)用中,兩個外部中斷請求源往往不夠用,需對外部中斷源進(jìn)行擴(kuò)充。如系統(tǒng)有5個外部中斷請求源IR0~R4,高電平有效。
優(yōu)先級高的請求源IR0直接接到80C51的一個外部中斷請求輸入端
,其余4個請求源IR1~I(xiàn)R4通過各自的OC門(集電極開路門)連到80C51的另一個外中斷源輸入端,同時還連到P1口的P1.0~P1.3腳,供80C51查詢。假設(shè)上圖中的4個外設(shè)中有一個提出高電平有效的中斷請求信號,則中斷請求通過4個集電極開路OC門的輸出公共點(diǎn),即
腳的電平就會變低。究竟是哪個外設(shè)提出的請求,要通過程序查詢P1.0~P1.3引腳上的邏輯電平來確定。查詢法擴(kuò)展外部中斷源比較簡單,但是擴(kuò)展的外部中斷源個數(shù)較多時,查詢時間稍長。因此,可以采用74LS優(yōu)先編碼器來實(shí)現(xiàn)?!?4LS148;8-3線八進(jìn)制優(yōu)先編碼器】0~7編碼輸入端(低電平有效)EI選通輸入端(低電平有效)A0、A1、A2編碼輸出端(低電平有效)GS寬展端(低電平有效)EO選通輸出端(高電平有效)Inputs(輸入)Outputs(輸出)EI01234567A0GSEOH××××××××
HHHHHLHHHHHHHHHHHHLL×××××××LLLLLHL××××××LHLLHLHL×××××LHHLHLLHL××××LHHHLHHLHL×××LHHHHHLLLHL××LHHHHHHLHLHL×LHHHHHHHHLLHLLHHHHHHHHHHLH#include<reg51.h>【已通過74LS148擴(kuò)展中斷】#include<intrins.h>unsignedcharled_code[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8};voiddelay(unsignedintcount){unsignedchari;while(count--)for(i=0;i<120;i++);}voidEX_INT0()interrupt0{ unsignedcharbi;bi=P2&0x07;//0x07=00000111,保留P2口的低3位
switch(bi) {case0x00://7按下
P0=led_code[7]; break; case0x01://6按下
P0=led_code[6]; break; case0x02://5按下
P0=led_code[5]; break; case0x03://4按下
P0=led_code[4]; break;
case0x04://3按下
P0=led_code[3]; break; case0x05:// 2按下
P0=led_code[2]; break; case0x06:// 1按下
P0=led_code[1]; break; case0x07:// 0按下
P0=led_code[0]; break; }}voidmain(){ EA=1; EX0=1; IT0=1;//IN
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣水別墅施工方案(3篇)
- 德家營銷方案(3篇)
- 架子戶外施工方案(3篇)
- 工廠雨水施工方案(3篇)
- 高速鐵路客運(yùn)服務(wù)創(chuàng)新體系探討與實(shí)踐案例分析報告
- 信用合約協(xié)議書
- 景觀高臺施工方案(3篇)
- 小年直播活動策劃方案(3篇)
- 食品機(jī)械行業(yè)市場發(fā)展現(xiàn)狀分析與發(fā)展規(guī)劃及投資效益評估分析研究報告
- 鉆石鳥營銷方案(3篇)
- 國開《人文英語4》機(jī)考總題庫
- 物業(yè)對垃圾分類管理制度
- 麻醉科教學(xué)查房課件
- 工作秘密管理課件
- 一級建造師-水利工程實(shí)務(wù)電子教材
- 急救物品護(hù)理質(zhì)量管理
- 2025-2030年中國地奧司明行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 前列腺炎病人的護(hù)理
- 國家開放大學(xué)《理工英語4》期末機(jī)考題庫
- 學(xué)校午休設(shè)備管理制度
- T/ZGZS 0302-2023再生工業(yè)鹽氯化鈉
評論
0/150
提交評論