《大连理工MCS-51单片机中断实验报告(共5页).doc》由会员分享,可在线阅读,更多相关《大连理工MCS-51单片机中断实验报告(共5页).doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上大连理工大学实验报告实验时间: 年 月 日 星期 时间 : : : 实验室(房间号): 实验台号码: 班级: 姓名: 指导教师签字: 成绩: 实验 三 MCS-51单片机中断系统及外部中断/INT0实验 一、 实验目的和要求1. 实验目的:学习、掌握单片机的中断原理。正确理解中断矢量入口、中断返回的概念及物理过程。学习编写软件“防抖程序”,了解软件防抖原理。2. 实验要求:对/int0、/int1两个外部中断进行编程,其中:主程序的功能:LDE灯“全亮”、“全灭”交替进行 -(状态2);Int0中断服务程序功能:2个相邻的LED灯被点亮且循环左移(状态0);Int1中
2、断服务程序功能:1个LED灯被点亮且循环右移 -(状态1);二、 实验内容及步骤1INT0、INT1同一优先级运行实验:保持上电复位时INT0、INT1默认为 “低优先级”的状态,且将SW1、SW2全部事先置于“0”电平(同时申请中断)后,再启动运行程序,按照表1要求填写结果。表1 :INT0、INT1同一优先级时 运行记录外部中断信号状态PI口(LED状态)Int0Int100状态010状态100状态101状态000状态010状态1结论一:INT0、INT1为同一优先级时,同级中断同时申请中断时,CPU按自然优先级响应,即INT0T0INT1T1ES;一个中断一旦得到响应,与它同级的中断不能
3、再打断它。2将 INT1设定为高优先级(INT0保持为低优先级)的运行实验:在程序中使用指令将INT1设定为“高优先级”状态,按照表2内容填写结果。表2:INT1为高优先级(int0保持为低优先级)时运行状态记录外部中断信号状态PI口(LED状态)Int0Int111状态210状态100状态101状态011状态201状态000状态101状态0结论二:两个中断都没有申请时程序正常执行主程序,当有中断时,低优先级的中断响应在执行时可以被高优先级中断所中断;高优先级的中断响应在执行时不会被低优先级中断所中断。三、 实验电路四、 实验流程图计数器取反并显示调用DELAY子程序设置初始地址INT0入口I
4、NT1入口初始化设置: SETBPX1SETBEXi,SETBEA INT0=0? INT1=0? INT1=0?N Y N Y Y 进入INT_1子程序N 进入INT_0子程序彩灯连续两个亮,循环左移显示,调用DELAY程序只有一个彩灯亮,并且循环右移显示,调用DELAY程序 专心-专注-专业五、 程序清单 ORG0000HLJMPSTARTORG0003HLJMPINT_0ORG0013HLJMPINT_1ORG0100HSTART:MOVSP,#60HSETBEX0SETBEX1SETB PX1SETBEAMOVTCON,#00HMOVIP,04HMOVA,#00HLOOP:MOV P1
5、,ACPLALCALLDELAYSJMPLOOPINT_0:PUSHPSWPUSH ACCLCALLDELAYMOVA,#03HCPLARIGHT:RRAMOVP1,ALCALLDELAYJNBP3.2,RIGHTLCALLDELAYPOPACCPOPPSWRETIINT_1:PUSHPSWPUSHACCLCALLDELAYMOVA,#01H CPLALEFT:RLAMOVP1,ALCALLDELAYJNBP3.3,LEFTLCALLDELAYPOPACCPOPPSWRETIDELAY:PUSH01HPUSH02HMOVR1,#00HDELAY1: MOVR2,#00HDJNZR2,$DJNZR1,DELAY1POP02HPOP01HRETEND六、实验结果与分析在主程序执行的任何时候只要有中断都会转去执行中断程序,INT_0中断程序中实现两个相邻的LED灯被点亮且循环左移,INT_1中断程序实现只有一个LED灯亮且循环右移。中断运行状态见表1和表2。 七、实验体会和建议本次的中断实验程序可分模块编写。先完成主程序中LED灯全亮和全灭的循环显示,再尝试进入中断,进入中断后再开始编写中断程序,这样可以一边验证一边完善程序。八、主要仪器设备名称型号备 注Keil软件DP-51PROC单片机综合仿真实验台周立功单片机仿真器TKSMonitor51
限制150内