




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
目錄【任務(wù)要求】【學(xué)習(xí)目標】【知識鏈接】1.什么叫中斷2.為什么要設(shè)置中斷3.MCS-51中斷系統(tǒng)4.中斷開關(guān)-IE寄存器5.定時器/計數(shù)器控制寄存器TCON6.中斷子程序【任務(wù)實施】【任務(wù)小結(jié)】【復(fù)習(xí)思考】
任務(wù)要求制作一個單片機最小系統(tǒng)電路板無外部中斷輸入時為8個LED持續(xù)全燈閃爍外部中斷信號輸入時,變成單燈左移,左移3圈之后中斷完畢,又回到原來的全燈閃爍學(xué)習(xí)目標理解中斷的基本概念;了解單片機的外部中斷源INT0;掌握中斷控制寄存器IE、TCON的設(shè)置方法;理解中斷處理過程;熟悉單片機外部中斷INT0的編程方法。知識鏈接-1.什么叫中斷在現(xiàn)實生活中經(jīng)常會有中斷的事情。如:一名同學(xué)正在教室寫作業(yè),忽然被快遞公司打了個電話,叫出去收一個快遞,收到快遞回來原來的教室繼續(xù)寫作業(yè)。CPU暫時中止其正在執(zhí)行的程序,轉(zhuǎn)去執(zhí)行請求中斷的那個外設(shè)或事件的服務(wù)程序,等處理完畢后再返回執(zhí)行原來中止的程序,叫做中斷。
中斷流程知識鏈接-2.為什么要設(shè)置中斷中斷系統(tǒng)在單片機系統(tǒng)中有很重要的作用,能大大提高CPU工作效率,利用中斷可以實現(xiàn)以下功能:具有實時處理功能具有故障處理功能實現(xiàn)分時操作
知識鏈接-3.MCS-51中斷系統(tǒng)
MCS-51系列單片機中不同型號芯片的中斷源數(shù)量是不同的,最基本的8051單片機有5個中斷源,分別是外部中斷INT0、外部中斷INT1、定時器T0、定時器T1、串行中斷RI/TI。
MCS-51中斷系統(tǒng)內(nèi)部結(jié)構(gòu)知識鏈接-3.MCS-51中斷系統(tǒng)
從MCS-51中斷系統(tǒng)內(nèi)部結(jié)構(gòu)可以看出,所有的中斷源都要產(chǎn)生相應(yīng)的中斷請求標志,這些標志分別放在特殊功能寄存器TCON和SCON的相關(guān)位。每一個中斷源的請求信號需經(jīng)過中斷允許IE和中斷優(yōu)先權(quán)選擇IP的控制才能夠得到單片機的響應(yīng)。單片機中斷源主要有3類:外部中斷:有INT0與INT1兩個。定時器/計數(shù)器中斷:有T0與T1兩個,留待模塊5再詳細介紹。串行口中斷:有RI或TI兩個,留待模塊6再詳細介紹。知識鏈接-4.中斷開關(guān)-IE寄存器MCS-51單片機的中斷開關(guān)分為兩級:其中第一級為一個總開關(guān),第二級為五個分開關(guān),由IE寄存器控制。
IE寄存器知識鏈接-4.中斷開關(guān)-IE寄存器例如打開外部中斷INT0,同時將其它中斷關(guān)閉,可用如下語句實現(xiàn):其中0x81就是二進制10000001,相當于把IE寄存器中的EA與EX0設(shè)置為1,等同于如下2個語句的作用之和:同理,若要同時打開中斷INT0、INT1,且把其它所有中斷關(guān)閉,則其實現(xiàn)語句為:
IE=0x81; //10000001,打開外部中斷INT0EA=1; //打開中斷總開關(guān)EX0=1; //打開中斷INT0的開關(guān)IE=0x85; //10000101,打開外部中斷INT0、INT1知識鏈接-5.定時器/計數(shù)器控制寄存器TCON
位號TCON.7TCON.6TCON.5TCON.4TCON.3TCON.2TCON.1TCON.0符號TF1TR1TF0TR0IE1IT1IE0IT0與定時器相關(guān)與外部中斷相關(guān)
寄存器TCONTF0(TF1)和TR0(TR1)與定時器相關(guān),詳見后續(xù)模塊。IE0(IE1)外部中斷請求標志位。當INT0(或INT1)引腳出現(xiàn)有效的請求信號,此位由單片機置1,而當進入了中斷服務(wù)程序之后再由單片機自動清0。IT0(IT1)外部中斷觸發(fā)方式控制位。IT0(IT1)=1,設(shè)置為脈沖觸發(fā)方式,下降沿觸發(fā)有效。IT0(IT1)=0,設(shè)置為電平觸發(fā)方式,低電平有效知識鏈接-5.定時器/計數(shù)器控制寄存器TCON
例如,INT0中斷要采用下降沿觸發(fā)的方式,可用如下語句實現(xiàn):TCON=0x01; //000000001,設(shè)置INT0為下降沿觸發(fā)IT0=1; //設(shè)置INT0為下降沿觸發(fā)其中0x01就是二進制00000001,相當于把TCON寄存器中的IT0設(shè)置為1。也可以用下面的語句,兩者結(jié)果一樣。知識鏈接-6.中斷子程序
中斷子程序的具體格式:void
中斷子程序名稱(void)interrupt
中斷編號
using
寄存器組{
語句1;
語句2;
……}KeilC提供0~31共32個中斷編號,不過,8051只使用0~4,8052則使用0~5。例如,要聲明為INT0外部中斷,則標識為“interrupt0”,若要聲明為T0定時器/計數(shù)器中斷,則標識為“interrupt1”知識鏈接-6.中斷子程序
中斷子程序的具體格式:void
中斷子程序名稱(void)interrupt
中斷編號
using
寄存器組{
語句1;
語句2;
……}“寄存器組”表示中斷子程序里要采用哪個寄存器組,8051內(nèi)部有4組寄存器組,即RB0到RB3。通常主程序使用RB0,隨著需要,在子程序里需要使用其他寄存器組,以避免數(shù)據(jù)的沖突。若不想指定寄存器組,也可省略該項目。使用using的目的是為了減少保護現(xiàn)場和恢復(fù)現(xiàn)場的時間,從而減少響應(yīng)延遲時間,不同優(yōu)先級使用使用不同的組。知識鏈接-6.中斷子程序
中斷源的編號及入口地址:中斷編號中斷源名稱中斷入口地址(在程序存儲器中的位置)\系統(tǒng)復(fù)位(Reset)0x00000第一個外部中斷INT00x00031第一個定時器/計數(shù)器中斷T00x000B2第二個外部中斷INT10x00133第二個定時器/計數(shù)器中斷T10x001B4串行口中斷RI/TI0x00235第三個定時器/計數(shù)器中斷(8x52)TF2/EXF20x002B知識鏈接-6.中斷子程序
例如,要定義一個INTO的中斷子程序,其名稱定義為“my_int0”,而在該中斷子程序使用RB1寄存器組,則應(yīng)定義為:voidmy_int0(void)interrupt
0
using
1{語句1;語句2;……}大括號內(nèi)可編寫中斷子程序的內(nèi)容,編寫中斷子程序的內(nèi)容與一般函數(shù)類似。任務(wù)實施1)準備元器件序號種類標號參數(shù)序號種類標號參數(shù)1電阻R1-R8220*86電容C310uF2電阻R910k7單片機U1AT89C513電阻R1010k8發(fā)光二極管D1-D8LED紅*84電容C130pF9晶振X111.0592M5電容C230pF任務(wù)實施2)搭建硬件電路仿真電路圖與配套實驗板對應(yīng)的按鍵電路相同。該電路圖可用于仿真和手工制作,前述任務(wù)已經(jīng)將本次任務(wù)的電路制作完畢,本次任務(wù)無需另外再制作。任務(wù)實施3)程序設(shè)計主程序正常執(zhí)行時,P0所連接的8個LED將全燈閃爍。按一下INT0所對應(yīng)的按鈕,則進入中斷狀態(tài),P0所連接的8個LED將變成單燈左移,而左移3圈后,恢復(fù)中斷前的狀態(tài),程序?qū)⒗^續(xù)執(zhí)行8個LED全燈燈閃爍的功能。根據(jù)功能要求與電路結(jié)構(gòu),先聲明delay1ms函數(shù),然后依次定義主程序、中斷子程序、單燈左移子程序與delay1ms子程序。在主程序里,先設(shè)置中斷初始化(對IE、IP、TCON設(shè)置),然后進行8燈亮、延遲、8燈滅、延遲等持續(xù)動作。在單燈左移子程序里,則采用嵌套循環(huán)的方式,內(nèi)循環(huán)進行單燈左移8次,即可將亮燈由最右邊移至最左邊,外循環(huán)3次,也就是讓單燈左移由最右邊移至最左邊,跑3圈后,才返回主程序。任務(wù)實施3)程序設(shè)計用外部中斷INT0控制八個LED單燈左移程序流程任務(wù)實施3)程序設(shè)計用外部中斷INT0控制八個LED單燈左移主程序清單main() //主程序開始{IE=0x81; //打開外部中斷INT0LED=0x00; //初值:00000000,燈全亮while(1) //無窮循環(huán){delay1ms(250);//延時250msLED=~LED;//LED反相} //while循環(huán)結(jié)束} //主程序結(jié)束任務(wù)實施4)使用Proteus仿真詳細仿真演示可直接打開“任務(wù)9.用外部中斷INT0控制八個LED單燈左移.DSN”任務(wù)實施5)使用配套實驗板調(diào)試所編寫的程序任務(wù)9詳細的演示錄像見隨書光盤中的視頻文件“\演示錄像\任務(wù)9.用外部中斷INT0控制8個LED單燈左移.RMVB”和“\演示錄像\任務(wù)9.用外部中斷INT0控制8個LED單燈左移-雙面PCB板.RMVB”。任務(wù)小結(jié)通過單片機外部中斷INT0實驗,讓讀者掌握了單片機中斷系統(tǒng)的基本結(jié)構(gòu)和使用原理,熟悉了單片機中斷程序編程的具體方法。
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能樓宇系統(tǒng)升級改造合作協(xié)議
- 2025年北京市西城區(qū)高考地理一模試卷
- 公文語言的簡練與表達試題及答案
- 出生日期及工作背景綜合證明書(6篇)
- 智能硬件產(chǎn)品創(chuàng)新研發(fā)方案
- 小區(qū)農(nóng)業(yè)綜合服務(wù)合作協(xié)議
- 工業(yè)自動化設(shè)備采購合同
- 行政管理與政策倡導(dǎo)的結(jié)合試題及答案
- 法律服務(wù)行業(yè)執(zhí)業(yè)資格證明書(7篇)
- 管理心理學(xué)對市場營銷的啟示試題及答案
- 每日安全檢查表
- 學(xué)會寬容快樂生活主題班會課件
- 畢業(yè)生就業(yè)意向調(diào)查表
- 微電網(wǎng)及儲能技術(shù)
- 《食品安全事故處置方案》
- 國家電網(wǎng)招聘之其他工學(xué)類復(fù)習(xí)提高資料打印
- 嬰兒撫觸與嬰兒操-嬰兒撫觸的手法(嬰幼兒撫觸與按摩課件)
- 學(xué)校食堂病媒生物防治管理制度范本(通用8篇)
- PID傳感器CF值異丁烯標定
- 氣排球記錄方法五人制2017年5月9日
- 碩士研究生專業(yè)研究方向證明(模板)
評論
0/150
提交評論