欢迎来到天天文库
浏览记录
ID:50747404
大小:48.50 KB
页数:2页
时间:2020-03-14
《单片机_实验报告_外部中断应用.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、一、实验目的1、学习外部中断技术的基本使用方法。2、学习中断处理程序的编程方法。二、实验环境1、Lab6000通用微控制器实验系统。2、计算机,WAVE集成调试软件。三、实验项目用单次脉冲申请中断,在中断处理程序中对输出信号进行反转控制直流电机转、停。四、涉及内容中断服务程序的关键是:1、保护进入中断时的状态,并在退出中断之前恢复进入时的状态。2、必须在中断程序中设定是否允许中断重入,即设置EXO位。3、选择相应的中断源,并设置中断屏蔽寄存器的相应位。本实验使用了INTO中断。一般中断程序进入时应保护PSW,ACC以及中断程序使用但非其专用的寄存器。本实验的中断程序保护了PSW寄存器并且在
2、退出前恢复了这个寄存器。另外中断程序中涉及到关键数据的设置时应关中断,即设置时不允许重入。本实验中没有涉及这种情况。INTO(P3.2)接单次脉冲发生器。P1.0接继电器,以查看信号反转。开始设置初始状态设置中断控制寄存器中断允许等待中断中断入口保护现场状态位取反状态位输出中断返回恢复现场主程序框图外部中断子程序框图五、实验步骤、记录和结果实验电路连线连线连接孔1连接孔21继电器——输入P1.02INT0单脉冲——3继电器——公共端+5V4继电器——常闭L05继电器——常开L36继电器——常开直流电机——至D/A1、汇编语言操作步骤如下:(1)创建一个项目目录:shiyan51。(2)如实
3、验一的七.2,修改编译器为汇编语言编译器。(3)执行“新建文件”命令,在开发环境程序窗口中按汇编语言格式输入汇编语言源程序。将程序文件名取为shiyan51.asm保存到目录“shiyan51”。OutputequP1.0OutBufequ0ljmpStartorg3Interrupt0:pushPSW;保护现场cplOutBuf;取反LEDmovc,OutBufmovOutput,cpopPSW;恢复现场retiStart:setbOutBufmovTCON,#01h;外部中断0下降沿触发movIE,#81h;打开外部中断允许位(EX0)及总中断允许位(EA)ljmp$end(4)在“文
4、件”下拉菜单中,执行“新建项目”命令,建立新项目。在弹出的“加入模块文件”窗口,确定实验程序所在路径,选择“shiyan51”目录中的实验源程序“shiyan51.asm”,并“打开”。在弹出的“加入包含文件”窗口,选择“取消”。在弹出的“保存项目”窗口,建立项目文件名shiyan51,选择“保存”到“shiyan51”目录。(5)执行“编译”命令,对输入的源程序进行编译、连接,如果有错则修改直至没有错误为止。(6)运行程序,观察程序运行过程。2、C语言操作步骤如下:(1)创建一个项目目录:shiyan52。(2)如实验一的八.2,修改编译器为C语言编译器。(3)执行“新建文件”命令,在开
5、发环境程序窗口中按C语言格式输入C语言源程序。将程序文件名取为shiyan52.c保存到目录“shiyan52”。#includesbitOutput=P1^0;voidExtInt0()interrupt0{staticbitOutBuf=1;OutBuf=!OutBuf;Output=OutBuf;}voidmain(){TCON=0x01;//外部中断0下降沿触发IE=0x81;//打开外部中断允许位(EX0)及总中断允许位(EA)while(1);}(4)在“文件”下拉菜单中,执行“新建项目”命令,建立新项目。在弹出的“加入模块文件”窗口,确定实验程序所在路径,选
6、择“shiyan52”目录中的实验源程序“shiyan52.c”,并“打开”。在弹出的“加入包含文件”窗口,选择“取消”。在弹出的“保存项目”窗口,建立项目文件名shiyan52,选择“保存”到“shiyan52”目录。(5)执行“编译”命令,对输入的源程序进行编译、连接,如果有错则修改直至没有错误为止。(6)运行程序,观察程序运行过程。
此文档下载收益归作者所有