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

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

所谓中断是指CPU 在正常执行程序的过程中,由于内部或外部事件的触发或由程序的预先安排,引起CPU 暂时中断当前正在运行的程序,而转去执行为内部或外部事件或程序预先安排的事件的服务子程序,待中断服务子程序执行完毕后,CPU 再返回到被暂时中断的程序处(断点)继续执行原来的程序,这一过程叫做中断。

CC2530有18个中断源。每个中断源都有它自己的位于一系列SFR 寄存器中的中断请求标志。相应标志位请求的每个中断可以分别使能或禁用。

外部中断配置

参考文档

实验简介

4.1

讯方通信 ZigBee 实验

1、通过本实验了解CC2530 的外部中断的配置;

2、通过本实验了解CC2530的外部中断功能的运用。

1、用中断编写一个使用SW1按键,控制LED 亮灭的程序;

2、烧录程序并进行硬件上的验证。

4.4.1 硬件准备

1、ZIGBEE 调试底板一个;

图4-1 ZIGBEE 调试底板

2、ZIGBEE 仿真器一个;

图4-2 ZIGBEE 仿真器

实验目的

4.2 实验设备

4.4 实验内容

4.3

实验四外部中断配置3、ZIGBEE模块一个;

图4-3 ZIGBEE模块

4、9~12V电源一个;

图4-4 电源

5、硬件连接图;

图4-5 硬件连接图

4.4.2软件准备

1、IAR Embedded Workbench for MCS-51 7.51A集成开发环境;

2、仿真器驱动。

讯方通信 ZigBee实验

4.5.1IO中断

通用I/O 引脚设置为输入后,可以用于产生中断。中断可以设置在外部信号的上升或下降沿触发。P0、P1或P2 端口都有中断使能位,对位于IENl-2 寄存器内的端口所有的位都是公共的。如下:

1、IENI.P0 IE:P0 中断使能;

2、IEN2.PI IE:P1 中断使能;

3、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 中断标志

4.5.2中断配置

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、在该中断对应的向量地址上,运行该中断的服务程序。

实验四 外部中断配置

1、启动IAR Embedded Workbench ,新建一个项目工程“EXINT_TEST ”,并拷贝对应配套实验例子里user 文件夹到自己新建的工程目录下,并将user 文件夹里的.C 文件添加到工程里,并配置工程项目,具体步骤参看《实验一》。

图4-6 建立的工程

2、Make ,这一步可以省略,因为进行DeBug 前,IAR 软件会先编译再下载代码到

目标板上去仿真,但对于编译检查错误,这一步也很有必要。如果正确编译后文件右侧的红星会消失。在Make 或Debug 之前,Clean 一下,如下图所示:

图4-7 编译代码文件

没有编译的文件,右边都有个红色星星,正确编译后,此红星会消失

实验步骤

4.6

讯方通信 ZigBee实验

如果正确建立工程并正确配置了工程,则此时编译是无错误的,编译无错误如图(注意前文提到的未编译文件的右边有个红星,如果正确编译后,右边没有出现红星):

图4-8 正确编译工程

3、按照前面“实验设备”小节中的“硬件连接图”连接好硬件并打开电源,点击DEBUG按钮或者”Project->Debug”或者快捷键“Ctrl + D”进行程序下载并Debug。如有出错,请检查硬件连接或拔掉仿真器USB再重接。

图4-9 Debug 调试

图4-10 程序正在下载到目标板

实验四外部中断配置

4、正确进入DeBug 界面,如下图:

图4-11 DEBUG调试界面

5、按下“全速运行”按钮进行试验验证,与下文“实验验证”小节内容进行验证本实验结果。

全速运行按钮

图4-12 调试功能按钮

6、下图是一个完整的工程所包含的文件。

图4-13 完整的工程文件

7、实验完毕。

相关文档
最新文档