实验五--单片机中断优先级实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验五单片机中断优先级实验

一、实验目的

1.理解AT89C51单片机中断优先级和优先权。

2.用PROTEUS设计、仿真基于AT89C51单片机的中断优先级实验。

3.掌握中断编程。

4.掌握发光二极管的控制方法。

二、实验要求

单片机主程序控制P0口数码管循环显示0~8;外中断(INT0)、外中断(INT1)发生时分别在P2、P1口依次显示0~8;INT1为高优先级,INT0为低优先级。

三、电路设计

④CAP、CAP-ELEC:电容、电解电容;

⑤CRYSTAL:晶振;

⑥BUTTON:按钮。

2.放置元器件

3.放置电源和地

4.连线

5.元器件属性设置

6.电气检测

四、源程序设计、生成目标代码文件

1.流程图

2.源程序设计

通过菜单“sourc e→Add/Remove Source Files…”新建源程序文件:DZC35.ASM。

通过菜单“sourc e→DZC35.ASM”,打开PROTEUS提供的文本编辑器SRCEDIT,在其中编辑源程序。

程序编辑好后,单击按钮存入文件DZC35.ASM。

3.源程序编译汇编、生成目标代码文件

通过菜单“sourc e→Build All”编译汇编源程序,生成目标代码文件。若编译失败,可对程序进行修改调试直至汇编成功。

五、PROTEUS仿真

1.加载目标代码文件

2.全速仿真

单击按钮,启动仿真。

(1)低优先级INT0中断主程序:当主程序运行时,单片机控制与P0

口相接的数码管循环显示1~8;而P1、P2口的数码管不显示。当前主程序控制P0口显示“8”的时刻单击“低优先级输入”按钮,触发INT0如图所示,INT0服务程序控制P2口依次显示1~8,当前显示“2”。

(2)高优先级INT1中断低优先级INT0;在上一步的基础上,即主程序被INT0中断在P0口输出“8”,而在INT0服务程序在P2口输出“2”的时刻,单击“高优先级输入”按钮,触发高优先级INT1,所在INT0被中断在显示“2”,INT1服务程序控制P1口依次显示1~8。

3.仿真调试

六、思考题:

1.说明单片机中共有哪几种中断,它们的默认优先级是什么?

2.怎样修改中断优先级?例如在本实验中要使TIMER1成为优先级最高的中断,该怎么处理?

相关文档
最新文档