实验4外部中断配置实验例程.doc

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验4外部中断配置实验例程

ZigBee实验四 所谓中断是指CPU在正常执行程序的过程中,由于内部或外部事件的触发或由程序的预先安排,引起CPU暂时中断当前正在运行的程序,而转去执行为内部或外部事件或程序预先安排的事件的服务子程序,待中断服务子程序执行完毕后,CPU再返回到被暂时中断的程序处(断点)继续执行原来的程序,这一过程叫做中断。 CC2530有18个中断源。每个中断源都有它自己的位于一系列SFR寄存器中的中断请求标志。相应标志位请求的每个中断可以分别使能或禁用。 通过本实验了解CC2530 的外部中断的配置; 通过本实验了解CC2530的外部中断功能的运用。 用中断编写一个使用SW1按键,控制LED亮灭的程序; 烧录程序并进行硬件上的验证。 硬件准备 ZIGBEE调试底板一个; 图4-1 ZIGBEE调试底板 ZIGBEE仿真器一个; 图4-2 ZIGBEE仿真器 ZIGBEE模块一个; 图4-3 ZIGBEE模块 9~12V电源一个; 图4-4 电源 硬件连接图; 图4-5 硬件连接图 软件准备 IAR Embedded Workbench for MCS-51 7.51A集成开发环境; 仿真器驱动。 IO中断 通用I/O 引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。P0、P1或P2 端口都有中断使能位,对位于IENl-2 寄存器内的端口所有的位都是公共的。如下: IENI.P0 IE:P0 中断使能; IEN2.PI IE:P1 中断使能; IEN2.P2IE:P2 中断使能。 除了这些公共中断使能之外,每个端口的位都有位于SFR 寄存器P0IEN、P1IEN 和P2IEN 的单独的中断使能。即使配置为外设I/O 或通用输出的I/O 引脚使能时都有中断产生。 当中断条件发生在I/O 引脚之一上面,P0-P2 中断标志寄存器P0IFG、P1IFG 或P2IFG 中相应的中断状态标志将设置为1。不管引脚是否设置了它的中断使能位,中断状态标志都被设置。当中断已经执行,中断状态标志被清除,该标志写入0。这个标志必须在清除CPU 端口中断标志(PxIF)之前被清除。 用于中断的SFR 寄存器描述在下一节。寄存器总结如下: ? P0IEN: P0 中断使能 ? P1IEN: P1 中断使能 ? P2IEN: P2 中断使能 ? PICTL: P0、P1 和P2 触发沿设置 ? P0FG : P0 中断标志 ? P1IFG: P1 中断标志 ? P2IFG: P2 中断标志 中断配置 CPU 有18 个中断源。每个中断源都有它自己的位于一系列SFR 寄存器中的中断请求标志。相应标志位请求的每个中断可以分别使能或禁用。 每个中断请求可以通过设置中断使能SFR 寄存器的中断使能位IEN0,IEN1 或者IEN2 使能或禁止。CPU的中断使能相对应的SFR。 注意某些外部设备有若干事件,可以产生与外设相关的中断请求。这些中断请求可以作用在端口0、端口1、端口2、定时器1、定时器2、定时器3、定时器4 和无线电上。对于每个内部中断源对应的SFR 寄存器,这些外部设备都有中断屏蔽位。 为了使能任一中断功能,应当采取下列步骤: 1、清除中断标志; 2、如果有,则设置SFR 寄存器中对应的各中断使能位为1; 3、设置寄存器IEN0、IEN1 和IEN2 中对应的中断使能位为1; 4、设置IEN0 中的EA 位为1 使能全局中断; 5、在该中断对应的向量地址上,运行该中断的服务程序。 启动IAR Embedded Workbench,新建一个项目工程“EXINT_TEST”,并拷贝对应配套实验例子里user文件夹到自己新建的工程目录下,并将user文件夹里的.C文件添加到工程里,并配置工程项目,具体步骤参看《实验一》。 图4-6 建立的工程 Make,这一步可以省略,因为进行DeBug前,IAR软件会先编译再下载代码到目标板上去仿真,但对于编译检查错误,这一步也很有必要。如果正确编译后文件右侧的红星会消失。在Make或Debug之前,Clean一下,如下图所示: 图4-7 编译代码文件 如果正确建立工程并正确配置了工程,则此时编译是无错误的,编译无错误如图(注意前文提到的未编译文件的右边有个红星,如果正确编译后,右边没有出现红星): 图4-8 正确编译工程 按照前面“实验设备”小节中的“硬件连接图”连接好硬件并打开电源,点击DEBUG按钮或者”Project-Debug”或者快捷键“Ctrl + D”进行程序下载并Debug。如有出错,请检查硬件连接或拔掉仿真器USB

文档评论(0)

youshen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档