《实验四单片机中断优先级实验(3页).doc》由会员分享,可在线阅读,更多相关《实验四单片机中断优先级实验(3页).doc(3页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-实验四 单片机中断优先级实验一、实验目的1.理解AT89C51单片机中断优先级和优先权。2.用PROTEUS设计、仿真基于AT89C51单片机的中断优先级实验。3.掌握中断编程。4.掌握发光二极管的控制方法。二、实验要求单片机主程序控制P0口数码管循环显示08;外中断(INT0)、外中断(INT1)发生时分别在P2、P1口依次显示08;INT1为高优先级,INT0为低优先级。三、电路设计1.从PROTEUS库中选取元件AT89C51:单片机;RES、RX8、RESPACK-8:电阻、8排阻、带公共端的排阻;7SEG-COM-AN-GRN:带公共端共阳七段绿色数码管;CAP、CAP-ELEC:
2、电容、电解电容;CRYSTAL:晶振;BUTTON:按钮。2.放置元器件3.放置电源和地4.连线5.元器件属性设置6.电气检测四、源程序设计、生成目标代码文件1.流程图2.源程序设计通过菜单“sourceAdd/Remove Source Files”新建源程序文件:DZC34.ASM。通过菜单“sourceDZC34.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。程序编辑好后,单击按钮存入文件DZC34.ASM。3.源程序编译汇编、生成目标代码文件通过菜单“sourceBuild All”编译汇编源程序,生成目标代码文件。若编译失败,可对程序进行修改调试直至汇
3、编成功。五、PROTEUS仿真1.加载目标代码文件2.全速仿真单击按钮,启动仿真。(1)低优先级INT0中断主程序:当主程序运行时,单片机控制与P0口相接的数码管循环显示18;而P1、P2口的数码管不显示。当前主程序控制P0口显示“8”的时刻单击“低优先级输入”按钮,触发INT0如图所示,INT0服务程序控制P2口依次显示18,当前显示“2”。(2)高优先级INT1中断低优先级INT0;在上一步的基础上,即主程序被INT0中断在P0口输出“8”,而在INT0服务程序在P2口输出“2”的时刻,单击“高优先级输入”按钮,触发高优先级INT1,所在INT0被中断在显示“2”,INT1服务程序控制P1口依次显示18。3.仿真调试六、思考题:1.说明单片机中共有哪几种中断,它们的默认优先级是什么?2.怎样修改中断优先级?例如在本实验中要使TIMER1成为优先级最高的中断,该怎么处理?-第 2 页-