資源描述:
《單片機 實驗 三 mcs-51單片機中斷系統(tǒng)和外部中斷int0實驗》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、大連理工大學實驗報告實驗時間:2014年7月1日星期二時間:13:10~15:00實驗室(房間號):綜420實驗臺號碼:班級:姓名:指導教師簽字:成績:實驗三MCS-51單片機中斷系統(tǒng)及外部中斷/INT0實驗一、實驗目的和要求學習、掌握單片機的中斷原理。正確理解中斷矢量入口、中斷返回的概念及物理過程。學習編寫軟件“防抖程序”,了解軟件防抖原理。二、實驗內容及步驟1.INT0、INT1同一優(yōu)先級運行實驗:保持上電復位時INT0、INT1默認為“低優(yōu)先級”的狀態(tài),且將SW1、SW2全部事先置于“0”電平(同時申請中斷)后,再啟動運行程序,按照表1要求填寫結果。表1:INT0、INT1同一優(yōu)先
2、級時運行記錄外部中斷信號狀態(tài)PI口(LED狀態(tài))Int0Int100狀態(tài)0;狀態(tài)010狀態(tài)1;狀態(tài)100狀態(tài)1;狀態(tài)101狀態(tài)0;狀態(tài)000狀態(tài)0;狀態(tài)010狀態(tài)1;狀態(tài)1結論一:保持上電復位時INT0、INT1默認為“低優(yōu)先級”的狀態(tài)時:(1)同級中斷同時申請中斷時,CPU按“自然優(yōu)先級”響應,即INT0→T0→INT1→T1→ES。(2)一個中斷一旦得到響應(無論什么優(yōu)先級),與它同級的中斷則“不能”再中斷它。(3)每個中斷都是下降沿或者低電平有效(由TCON設定)。注:主程序:狀態(tài)2,INT_0:狀態(tài)0,INT_1:狀態(tài)1。2.將INT1設定為高優(yōu)先級(INT0保持為低優(yōu)先級)的運
3、行實驗:在程序中使用指令將INT1設定為“高優(yōu)先級”狀態(tài),按照表2內容填寫結果。表2:INT1為高優(yōu)先級(int0保持為低優(yōu)先級)時運行狀態(tài)記錄外部中斷信號狀態(tài)(請按順序操作并填寫)PI口(LED狀態(tài))Int0Int111狀態(tài)2;狀態(tài)210狀態(tài)1;狀態(tài)100狀態(tài)1;狀態(tài)101狀態(tài)0;狀態(tài)011狀態(tài)2;狀態(tài)201狀態(tài)0;狀態(tài)000狀態(tài)1;狀態(tài)101狀態(tài)0;狀態(tài)0結論二:將INT1設定為高優(yōu)先級(INT0保持為低優(yōu)先級)時:(1)低優(yōu)先級的中斷響應在執(zhí)行時“可被”高優(yōu)先級中斷所中斷。(2)高優(yōu)先級的中斷響應在執(zhí)行時“不可被”高優(yōu)先級中斷所中斷。(3)兩個中斷都沒有申請時程序正常執(zhí)行主程序。(
4、4)每個中斷都是下降沿或者低電平有效(由TCON設定)。三、實驗算法和程序清單ORG8000HLJMPSTARTORG8003HLJMPINT_0ORG8013HLJMPINT_1ORG8100HSTART:MOVSP,#60HSETBEX0SETBEX1SETBPX1SETBEAMOVTCON,#00HMOVIP,04HMOVA,#00HLOOP:MOVP1,ACPLALCALLDELAYSJMPLOOPINT_0:PUSHPSWPUSHACCLCALLDELAYMOVA,#03HCPLACHR:RRAMOVP1,ALCALLDELAYJNBP3.2,CHRLCALLDELAYPOPP
5、SWPOPACCRETIINT_1:PUSHPSWPUSHACCLCALLDELAYMOVA,#01HCPLACHL:RLAMOVP1,ALCALLDELAYJNBP3.3,CHLLCALLDELAYPOPPSWPOPACCRETIDELAY:PUSH01HPUSH02HMOVR1,#00HDELAY1:MOVR2,#00HDJNZR2,$DJNZR1,DELAY1POP02HPOP01HRETEND四、實驗電路MCS-51P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0P3.2P3.3LED6LED7LED8+5V+5VINT0圖1:實驗電路連接示意圖LED3LED4L
6、ED5LED2LED1SW1限流電阻1K×8+5VSW2SW2INT1SW1五、實驗流程圖計數(shù)器取反并顯示調用DELAY子程序設置初始地址INT0入口INT1入口初始化設置:SETBPX1SETBEXi,SETBEAINT0=0?INT1=0?INT1=0?NYNYY進入INT_1子程序N進入INT_0子程序彩燈連續(xù)兩個亮,循環(huán)左移顯示,調用DELAY程序只有一個彩燈亮,并且循環(huán)右移顯示,調用DELAY程序六、實驗結果與分析本次的中斷實驗共有四個大的模塊。第一:主程序中完成LED燈全亮和全滅的循環(huán)顯示;第二:INT_0中斷程序中實現(xiàn)小燈連續(xù)倆個亮,并且只要中斷沒有撤銷,且沒有更高優(yōu)先級中
7、斷打斷就連續(xù)左移循環(huán)顯示;第三:INT_1中斷程序實現(xiàn)只有一個小燈亮,且只要中斷沒有撤銷就連續(xù)右移循環(huán)顯示;第四:延時子程序,用于防止前后抖動和小燈閃爍過快人眼無法識別。在主程序執(zhí)行的任何時候只要有中斷都會轉去執(zhí)行中斷程序。另外,在程序中認為的設置了INT1為高優(yōu)先級中斷,在INT0中斷是可以用INT1中斷對其進行打斷,改變小彩燈的顯示形式,本次操作完成了實驗要求的各種指標。七、實驗體會和建議在老師的指導下,本次實驗做得還是比較順利