无线传感网_实验课件

玛丽莲梦兔
949次浏览
2020年12月21日 02:16
最佳经验
本文由作者推荐

孔子名言-发反反复复

2020年12月21日发(作者:马震武)


实验一 创建一个简单的工程项目
一、 实验目的
1. 了解IAR软件的操作环境和基本功能
2. 了解“工程选项”的设置方法
3. 掌握创建工程和管理工程的方法
4. 了解基本的编译和调试功能
5. 学习使用观察窗口
二、 实验内容
控制用户开发板上的绿色LED1灯闪烁
三、 实验条件
1. 用户PC正确安装了IAR Embedded Worchbench For 8051集成开发环境
2. 开发板1块(插有CC2530模块)
3. C51RF-3仿真器一个
4. 10芯下载线一根
5.USB串口线一根
四、实验原理描述
IAR Embedded Worchbench For 80 51集成开发环境:主要完成系统的软件开
发和调试。它提供了一整套程序编写、维护、编译、调试环境 ,能将汇编语言和
C语言程序编译成HEX可执行输出文件,并将程序下载到CC2530上运行调试。 用户
系统的软件部分可以由IAR建立的工程文件管理,工程文件一般包含以下几种:
源程序文 件:C语言或者汇编语言(*.C,*.ASM);头文件(*.H);库文件
(*.LIB,*.OB J);
本例以LED灯为外设,用CC2530控制简单外设,将IO设置为输出,实验
现象 LED闪烁。实验中操作了的寄存器有P1,P1DIR,没有设置而是取默认值的
寄存器有:P1SE L,P1INP。
P1 (P1口寄存器)
位号 位名
7:0 P1[7:0]
复位值
0x00
操作性
读写
功能描述
P1端口普通功能寄存器,可位寻址
P1DIR (P1方向寄存器)


7
6
5
4
3
2
DIRP1_7
DIRP1_6
DIRP1_5
DIRP1_4
DIRP1_3
DIRP1_2
位名 复位

0
0
0
0
0
0
读写
读写
读写
读写
读写
读写
P1_7方向:0 输入,1 输出
P1_6方向:0 输入,1 输出
P1_5方向:0 输入,1 输出
P1_4方向:0 输入,1 输出
P1_3方向:0 输入,1 输出
P1_2方向:0 输入,1 输出
操作性 功能描述


1
0
DIRP1_1
DIRP1_0
0
0
读写
读写
P1_1方向:0 输入,1 输出
P1_0方向:0 输入,1 输出
P1SEL (P1功能选择寄存器)


7
6
5
4
3
2
1
0


7
6
5
4
3
2
1
0
SELP1_7
SELP1_6
SELP1_5
SELP1_4
SELP1_3
SELP1_2
SELP1_1
SELP1_0
位名
MDP1_7
MDP1_6
MDP1_5
MDP1_4
MDP1_3
MDP1_2
MDP1_1
MDP1_0
位名 复位

0
0
0
0
0
0
0
0
读写
读写
读写
读写
读写
读写
读写
读写
P1_7功能:0 普通IO,1 外设功能
P1_6功能:0 普通IO,1 外设功能
P1_5功能:0 普通IO,1 外设功能
P1_4功能:0 普通IO,1 外设功能
P1_3功能:0 普通IO,1 外设功能
P1_2功能:0 普通IO,1 外设功能
P1_1功能:0 普通IO,1 外设功能
P1_0功能:0 普通IO,1 外设功能
功能描述
P1_7输入模式:0 上拉下拉,1 三态
P1_6输入模式:0 上拉下拉,1 三态
P1_5输入模式:0 上拉下拉,1 三态
P1_4输入模式:0 上拉下拉,1 三态
P1_3输入模式:0 上拉下拉,1 三态
P1_2输入模式:0 上拉下拉,1 三态
P1_1输入模式:0 上拉下拉,1 三态
P1_0输入模式:0 上拉下拉,1 三态
操作性 功能描述
P1INP (P1输入模式寄存器)
复位值 操作性
0
0
0
0
0
0
0
0
读写
读写
读写
读写
读写
读写
读写
读写
硬件电路:

GPIO输出控制对象为CC2530模块上的红色和绿色LED,分 别接在CC2530
芯片的P1.0和P1.1脚上。输出置位为0时LED灯点亮,置位为1时LED 灯熄灭。
四、 实验过程与步骤
第一步,启动IAR集成开发环境,打开“开始”—“程序”—“IAR SYSTEM”


—“ IAR Embedded Worchbench For 8051”—“ IAR Embedded Worchbench”

图1 IAR Embedded Worchbench For 8051工作区
第二步,创建工程
1. 创建一个工作区 ,打开“file”-“New”—“Workspace”,如图1所示。
2. 创建一个工程,打开“Project”—“Create New Project“,选择”Empty
Project”,如图2点击OK.弹出另存为对话框,设置 文件的存放路径和文
件名,取名为led1(如图3)

图2 选择空工程



图3 命名LED1
3.在工作区中用右键单击工程LED1,, 按照图5-11所示选择OPTIONS选项
中的对应选项进行设置。

图4 工程界面



图5:设置Target标签内容:芯片类型DEVICE、内核类型、代码模型、XDATA堆栈等


图6 注意:DEVICE选择CC2530F256.I51




图7设置堆栈类型XDATA为0X1FF



图8 编译器CC++默认即可



图9 Assembler调试按默认设置



图10 Linker勾选“Allow C-SPY-Specific Exera Output File“



图11 Debugger选择driver为”Texas Instruments”
第三步,新建文件编辑MAIN.C并添加到工程LED1中。
第四步,编辑,连接,下载文件到CC2530模块中
第五步,练习各种调试方式,观察结果的变化
五、 实验相关代码
例子程序:点亮绿色灯实验:
Main.c文件内容:
#include
Void main(void){
P1SEL = 0;
P1DIR = 2;
While(1)
P1_1=0
}
程序的初始化和处理流程




Initial()

RLED = 0; YLED = 0;

GPIO有关的初始化

LED初始状态设置

程序主循环

控制LED灯状态翻转和等
待演示

While(1)

主程序

CD WXL2009,加载” ioCC2530.h”头文件,头文件定义了单品机内部的功能
寄存器和位寄存器,编写时要将输入法 切换成英文半角状态。
#include
#define uint unsigned int
#define uchar unsigned char
定义控制灯的端口
#define RLED P1_0 定义LED1(RLED)为P10口控制
#define YLED P1_1 定义LED2(YLED)为P11口控制
函数声明
void Delay(uint);
void Initial(void);
延时函数
初始化P0口
****************************
延时
*****************************
void Delay(uint n)
{
uint tt;
for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt for(tt = 0;tt}


****************************
初始化程序
*****************************
void Initial(void)
{
P1DIR |= 0x03; P10、P11定义为输出
RLED = 1;
YLED = 1; LED
}
***************************
主函数
***************************
void main(void)
{
Initial();
RLED = 0;
YLED = 0;
while(1)
{
YLED = !YLED;
Delay(10000);
}
}
执行5次0到n的空循环来实现软件延时。
有关说明:1.宏定义
格式:#define 新名称 原内容
含义:是以新名称来代替原来的内容。如#define uint unsigned int 代表
使用uint 来代替unsigned int(无符号整型数。)(1)宏定义后没有分号;(2)
调用初始化函数
LED1
LED2


对于同一个内容,宏定义只能定义一次;(3)在自定义新名称时不 能使用单片
机默认的关键字和特殊寄存器的名称。
***仿真调试步骤:
1.选择 ProjecT—Debug命令或者使用快捷键Ctrl+D进入调试状态,也可以单击
工具栏中的按 钮进入调试。
2.调试窗口管理。可以根据自己调试的内容来进行查看。View- Watch或者
View-Register等。可以根据自己的需要关闭或者打开悬浮窗口。
3.查看源文件语句。Step Into:执行内部函数或者子程序的调用;Set Over:每步执
行一个函数调用;Next Statement:每次执行一个语句。这些命令在工具栏中都
有对应的按钮。
4、调试管 理。C-SPY允许用户在源代码中查看变量或表达式,可在下运行时跟
踪其值得变化,选择View— Auto命令,该对话框会显示当前被修改过的表达式。
5、连续观察P1DIR值的变化情况。选择 View—Watch命令,打开Watch对话框,
单击对话框中的虚线框,出现输入区域是输入P1 DIR并按回车键,也可以选中
一个变量将其从编辑窗口拖到watch对话框中。
6、单步 执行,观察P1DIR的变化。如果要在watch对话框中去掉一个变量,先
选中然后按Delete 键或右击删除。
7、设置并监控断点。使用断点最便捷的方式是将其设置为交互式的,即将插入
点的位置指到一个语句里或靠近一个语句,然后选择Edit--EnableDisable Toggle
Breakponit命令,或者在工具栏中单击按钮,这样一个断点就设置好了,用高亮
标识 并在作伴标注一个红的的”X”显示有一个断点存在。也可以通过按F9见设
置和取消断点。

8、在反汇编模式中调试。在反汇编模式中,每一步都对应一条汇编指令,用户
可对底层进行完 全控制。选择View- Disassembly命令,打开反汇编窗口,可看
到当前C语言语句对应的汇编语言指令。
9、监控寄存器。Register对话框允许用户监控并修改寄存器的内容。选择
View—Reg ister命令,打开Register对话框,单步执行观察寄存器值得变化情况。
10、监控存储 器。Memory对话框允许用户监控存储器的指定区域。选择
View—Memory命令,打开Me mory对话框,单步执行程序,查看存储器中值得


变化。可以在Memory对话框中 对数据进行编辑,修改,在想进行编辑的存储
器数值处放置插入点,输入期望值即可。
11、 完整运行程序。选择Debug—GO命令或者单击调试工具栏中的全速运行GO
按钮,如果没有断点, 程序将一直运行下去,可以看到在Zigbee开发平台中相
关硬件反应。如果要停止,选择Debug —break命令或单击调试工具栏中的按钮,
停止程序运行。
12、退出调试。选择Debug—Stop Debugging命令或单击调试工具栏中的按钮退
出调试模式。
六、实验思考
1. 如果想让闪烁间隔延长,需要修改那个参数?
2. 如果想让红灯闪烁,需要怎么修改?红灯和绿灯交互闪烁呢?

magazine是什么意思-手相流年


汽车营销论文-归术妖姬


事业单位面试试题及答案-最爱你的人歌词


傣家竹楼-儿童小故事大全


逆行者-工程师评审


我用情付诸流水-夏天的味道


大学女生-莲作文


雅思词汇量测试-拉克丝符文