資源描述:
《外部中斷控制》由會員上傳分享,免費在線閱讀,更多相關內容在行業(yè)資料-天天文庫。
1、課程作業(yè)報告課程名稱:單片機原理及應用設計題目:外部中斷控制專業(yè)班級:測控13-2學生姓名:楊朝江授課老師:劉霞院系:電氣信息工程學院測控技術與儀器系2016年4月24日一、作業(yè)要求利用51系列單片機為核心,利用1個按鍵控制LED燈或繼電器、電機、蜂鳴器等設備??刂菩Ч孕性O計。要求:按鍵采用INT0或INT1中斷控制、利用定時器T0或T1進行定時控制LED燈或繼電器、電機、蜂鳴器等設備。設計電源電路、下載電路、最小系統(tǒng)、I/O口電路,用匯編編寫程序。二、總體方案論證方案一:使用INT0/INT1端申請中斷的信號低電平有效。方案
2、二:使用INT0/INT1端申請中斷的信號負跳變有效。方案論證:本次設計使用外部中中斷INT0和INT1控制定時器定時并顯示在數碼管上,以十分之一秒的分辨率顯示計時。外部中斷0控制計時開始;外部中斷1控制計時停止。計數60s后退出定時器中斷并清除顯示。方案一檢測外部中斷的低電平需要對外部觸濾波、去抖和松手檢測,程序設計復雜;方案二檢測外部中斷的負跳變不需要去抖和松手檢測,程序設計簡單,檢測靈敏,準確性好。本次作業(yè)選擇方案二。三、程序流程圖1、主程序流程圖主程序流程圖如圖1所示,主程序是用來完成定時器和外部中斷的初始化,數碼管顯示
3、的時時刷新。2、中斷服務子程序流程圖中斷服務子程序流程圖如圖2所示,中斷服務子程序的功能是每次中斷執(zhí)行一次該程序,對毫秒位、秒位、十秒位、分鐘位進行加1和判斷是否進位操作,即達到該時間的情況下就給該時間對應位進行加1操作,使其能夠顯示正確的動態(tài)的時間。開始定時器初始化外部中斷初始化顯示初值時間刷新數碼管圖1主程序流程圖設置中斷頻率、開中斷設置中斷入口地址50毫秒中斷一次計數20次即0.1s1/10s<10十分之一秒加1秒位加1秒位<10秒位加1十秒加1十秒位<6十秒位加1退出中斷圖2中斷服務子程序流程圖一、程序源碼及注釋;***
4、*****************程序說明********************;*FileName:;*Author:電氣院測控2013——2,0213;*Version:V3;*Date:23/4/2016;*Description:;*;****************************************************************************;申明;***************************************************************
5、*************ORG00HAJMPMAINORG0BH;定時器入口AJMPT0INTORG0003H;IINT0的中斷入口LJMPIINT0ORG0013H;IINT1的中斷入口LJMPIINT1ORG30H;-------------------------主程序--------------------------MAIN:MOVR0,#20MOVTMOD,#01H;定時器0工作模式1MOVTL0,#0B0H;TL0=(65536-50000)%256MOVTH0,#3CH;TH0=(65536-50000)/25
6、650MS延時MOVDPTR,#TABLE;數據段地址SETBEA;打開總中斷SETBET0;CLRTR0;關閉定時器0SETBEX0;啟動外部中斷0SETBIT0;SETBEX1;啟動外部中斷1SETBIT1;LCALLDISP;LOOP:LCALLDISP;調用顯示函數SJMPLOOP;死循環(huán);---------------------定時器中斷函數------------------T0INT:MOVTH0,#3CHMOVTL0,#0B0HDJNZR0,RTIMOVR0,#2;100msINC20HMOVA,20H;20H
7、存放百毫秒CJNEA,#10,RTIMOV20H,#00HINC21H;21H存放秒MOVA,21HCJNEA,#10,RTIMOV21H,#00HINC22HMOVA,22HCJNEA,#6,RTIMOV22H,#00HCLRTR0MOV20H,#0MOV21H,#0MOV22H,#0RTI:RETI;------------------------外部中斷0函數------------------IINT0:SETBTR0//啟動定時器0LCALLDISPSJMPT0INTRETI;---------------------
8、---外部中斷1函數------------------IINT1:CLRTR0;關閉定時器0LCALLDISPRETI;------------------------數碼管顯示函數------------------DISP:MOVA,20H;百毫秒位顯示M