單片機原理與應用(C51編程+Proteus仿真) 習題及答案 劉霞 第5章 單片機中斷系統習題答案_第1頁
單片機原理與應用(C51編程+Proteus仿真) 習題及答案 劉霞 第5章 單片機中斷系統習題答案_第2頁
單片機原理與應用(C51編程+Proteus仿真) 習題及答案 劉霞 第5章 單片機中斷系統習題答案_第3頁
單片機原理與應用(C51編程+Proteus仿真) 習題及答案 劉霞 第5章 單片機中斷系統習題答案_第4頁
單片機原理與應用(C51編程+Proteus仿真) 習題及答案 劉霞 第5章 單片機中斷系統習題答案_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

第5章中斷系統習題答案一、填空題1.AT89S52有個中斷源。答:62.的中斷入口地址為。中斷號為。答:0x0013;23.若(IE=0b10000110,則允許中斷源和中斷源中斷。答:T0;外部中斷14.若(IP=0b00010110,則優先級最高者為,最低者為。答:T0溢出中斷;T2中斷5.AT89S52單片機復位后,中斷優先級最高的中斷源是。答:二、選擇題1.AT89S52單片機下列引腳不可以觸發中斷? A、P3.2 B、P3.3 C、P3.4D、P3.7答:D2.對于AT89S52單片機的中斷優先級,下列說法正確的是。 A、低優先級的中斷源可以中斷高優先級的中斷服務程序 B、高優先級的中斷源可以中斷低優先級的中斷服務程序 C、同為低優先級的中斷源可以相互中斷 D、同為高優先級的中斷源可以相互中斷答:B3.在AT89S52的中斷請求源中,需要軟件實現中斷撤銷的是。A.外部中斷的低電平中斷請求B.外部中斷的下跳沿中斷請求C.串行中斷D.T0/T1定時中斷答:C4.AT89S52單片機允許中斷,則對應的語句為“”。A.IT1=1;B.EX1=1;C.TR1=1;D.IE1=1;答:B5.AT89S52單片機采用下跳沿觸發,則對應的語句為“”。A.IT1=1;B.EX1=1;C.TR1=1;D.IT1=0;答:A三、簡答題1.簡述什么是中斷處理?答:當單片機的CPU正在執行某個程序(例如,正在執行主程序)的時候,單片機外部或內部發生的某一事件(如外部引腳檢測到一個電平變化,或內部計數器產生計數溢出等)請求CPU迅速去處理,于是,CPU暫時中止當前的工作,轉到中斷服務處理程序處理所發生的事件。中斷服務處理程序處理完該事件后,再回到原來被中止的地方,繼續原來的工作(例如,繼續執行被中斷的主程序),這稱為中斷。對事件的整個處理過程,稱為中斷處理(或中斷服務)。2.中斷響應需要滿足哪些條件?答:一個中斷源的中斷請求被響應,必須滿足以下條件:(1)總中斷允許開關接通,即IE寄存器中的中斷總允許位EA=1。(2)該中斷源發出中斷請求,即該中斷源對應的中斷請求標志為“1”。(3)該中斷源的中斷允許位=1,即該中斷被允許。(4)無同級或更高級中斷正在被服務。3.當CPU響應中斷后,由硬件自動執行了哪些操作?答:(1)查詢優先級激活觸發器,對后來的同級或低級中斷請求不予響應;(2)保護斷點,即把程序計數器PC的內容送入堆棧保存;(3)清除可清除的中斷請求標志位:CPU完成中斷響應后,必須及時清除相應的中斷請求標志,否則在執行完中斷服務程序后,會引起重復中斷和響應,造成軟件邏輯上的混亂。(4)中斷入口地址送PC,進入相應的中斷函數開始執行;(5)斷點出棧送給PC,開放同級或低級中斷允許,返回主程序斷點繼續執行。四、仿真練習基本要求:采用1個按鍵控制蜂鳴器響、1個按鍵控制蜂鳴器不響。按鍵采用中斷控制。答:1.硬件電路設計軟件設計#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharsbitBUZ=P2^0; //蜂鳴器控制引腳/**************主函數************/voidmain(){ IT0=1; //外中斷0下降沿觸發 IT1=1; //外中斷1下降沿觸發 EX0=1; //允許外中斷0中斷 EX1=1; //允許外中斷1中斷 PX0=1; //優先級設置,可選 EA=1; //總中斷允許while(1);}/********外部中斷0中斷服務函數*********/voidEX_INT0(void)interrupt0using0{ BUZ=0;//打開蜂鳴器}/********外部中斷1中斷服務函數*********/voidEX_INT1(void)interrupt2using2{ BUZ=1;//關閉蜂鳴器}3.仿真運行擴展要求:采用1個按鍵控制8個LED按全亮、間隔亮、流水亮三種模式間循環。按鍵采用中斷控制。答:1.硬件電路設計2.軟件設計#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharucharq,flag;/**************主函數************/uintcodetable1[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};//流水亮uintcodetable2[]={0xfe,0xfb,0xef,0xbf,0xfd,0xf7,0xdf,0x7f};//間隔亮voiddelay(uintz){ uintx,y; for(x=112;x>0;x--) for(y=z;y>0;y--);}voida1()//流水亮函數{ for(q=0;q<8;q++) { P1=table1[q]; delay(500); } }voida2()//間隔亮函數{ for(q=0;q<8;q++) { P1=table2[q]; delay(500); } }voida3()//全亮函數{ P1=0x00; }voidmain(){ IT0=1; //外中斷0下降沿觸發 EX0=1; //允許外中斷0中斷 PX0=1; //優先級設置,可選 EA=1; //總中斷允許while(1) { if(flag==1) a1(); if(flag==2) a2(); if(flag==3) a3(); }}/********外部中斷0中斷服務函數*********/voidEX_INT0(void)interrupt0{ flag++; if(flag==4) { flag=1; }}3.仿真運行擴展要求:采用4個按鍵控制8個LED的四種點亮方式,方式1:流水點亮(用循環做),方式2:交替閃爍,方式3:全亮,方式4:亮4個滅4個。4個按鍵采用中斷方式。(1)硬件電路(2)軟件設計#include<reg52.h>#include<intrins.h>#defineucharunsignedchar#defineuintunsignedintsbitvoice=P1^7;sbitkey1=P1^0;//方式1sbitkey2=P1^1;//方式2sbitkey3=P1^2;//方式3sbitkey4=P1^3;//方式4keyflag=0;voiddelay(uintxms){ uinti,j;for(i=0;i<xms;i++) for(j=0;j<120;j++);}voidkeyscan(){if(key1==0) keyflag=1;//方式1標志位 if(key2==0) keyflag=2;//方式2標志位 if(key3==0) keyflag=3;//方式3標志位 if(key4==0) keyflag=4;//方式4標志位}voidmain(){IT0=1;//外部中斷0下跳沿觸發EX0=1;//開外部中斷0中斷允許EA=1; //開總中斷while(1);//死循環等待按鍵按下 } voidD1(void)interrupt0//按鍵按下進入中斷{ uchari,temp; keyscan(); if(keyflag==1)//方式1:流水點亮(用循環做) { while(keyflag==1) { temp=0xfe; for(i=0;i<8;i++) { P2=temp;temp=_crol_(temp,1);delay(200); keyscan();if(keyflag!=1) break; } } } if(keyflag==2) //方式2:交替閃爍 { while(keyflag==2) { P2=0xaa; delay(200);

溫馨提示

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

評論

0/150

提交評論