CC2530实验V1.00(修改)
- 格式:doc
- 大小:1.11 MB
- 文档页数:58
无线通信技术综合训练实验指导书 ICC2530 基础实验五ADC 实验ADC 支持多达 14 位模数转换,有效位数(ENOB)多达 12 位。
ADC 包含一个具有多达 8 个独 立配置通道的模拟多路转换器,一个参考电压发生器,并且通过 DMA 将转换结果写入存储器。
具 有多种运行模式。
本实验学习 ADC 的一般设置和运行,由 CPU 存取的 ADC 控制和状态寄存器的 使用方法。
一、实验目的通过本实验的学习,熟悉 CC2530 芯片 ADC 模拟数字转换的配置和使用方法。
1. 2. 3. 4. 5. 了解 CC2530 芯片 ADC 原理; 熟悉 CC2530 芯片 ADC 相关寄存器配置和使用方法; 掌握 CC2530 芯片片内温度检测方法; 掌握 CC2530 芯片 1/3VDD 电源电压检测方法; 掌握 CC2530 芯片 VDD 电源电压检测方法。
二、实验内容1. 2. 在 CC2530 节点开发板上, 使用 ADC 进行片内温度单次采样, 将采集的电压值转换为温度 值并显示在 LCD 上; 在 CC2530 节点开发板上, 使用 ADC 进行电源电压单次采样, 将采集的电压值显示在 LCD 上。
三、实验条件1. 2. 3. 4. 5. 6. 用户 PC 机 (装有 Microsoft Windows XP 系统) 正确安装 IAR Embedded Workbench for 8051 集成开发环境; CC2530 节点开发板(插有 CC2530 模块,带 LCD 模块)1 块; CC Debugger 多功能调试器 1 个; USB 连接线; 杜邦线若干; 5V 电源 1 个。
四、实验原理1. ADC 概况 CC2530 芯片 ADC 结构框图如图 3-5-1 所示。
图 3-5-1ADC 结构框图第 69 页实验五 ADC 实验ADC 的主要特征如下: ADC 转换位数可选,8 到 14 位; 8 个独立的输入通道,单端或差分输入; 参考电压可选为内部、外部单端、外部差分或 AVDD5; 中断请求产生; 转换结束时 DMA 触发; 温度传感器输入; 电池电压检测。
实验 CC2530口7串控程编器制.精品文档实验7 CC2530串口控制器编程本实验完成时间:第8周、第9周一、实验目的1、CC2530串口控制器的原理;2、掌握CC2530串口控制器的编程步骤;二、实验任务从PC机上的串口调试助手(超级终端)输入的字符能够发送给CC2530,CC2530再把所接收到的字符“原路”回传给对方。
直观的效果:当串口调试助手(超级终端)激活时,键盘上输入的字符能够在串口调试助手的窗口那个回显。
三、实验原理、何谓超级终端和串口调试助手1超级终端:一个和uart串口相关联的窗口应用程序。
它能够从uart串口上所接收到的字符显示出来,同时当该窗口激活时能够把键盘所键入的字符从串口发送出去。
超级终端能够从串口收发字符成功的前提是串口通信双方所约定的收发格式一致。
它和一般所说的串口调试助手类似,但有区别:超级终端不会以16进制的形式显示所接收的字符编码;串口调试助手不会把键盘输入的字符实时从串口发送出去,需要点击手动发送。
串口调试助手:桌面上有串口聊天助手,如果不能打开,可以如图1在S503的D盘/试验箱资料光盘/工具软件/串口工具和驱动/串口聊天助手,打开后如图2所示。
收集于网络,如有侵权请联系管理员删除.精品文档打开任串口聊天助手位置图1设置串口聊天助手界面图图2:开发板的uartUSB串口接口(转串口,红色圈圈)如图32、实验室GEC-CC2530USB转串口单片机开发板的图3该接口和cc2530所连接的电路图如下:收集于网络,如有侵权请联系管理员删除.精品文档由该图不难得知:作为串口的发送管脚;P0_3作为串口的接收管脚;P0_2一定要注意,我们平时见到的串口的交叉线都只用到了作为硬件流控用的,、P0_4P0_5收、发、地三根线,所以在串口设置是都禁止硬件流控!,更进一步结接收管脚)发送管脚)、P0_2(由此可见,GEC-CC2530所占的资源就是P0_3(设备管脚映射表分析:GPIO合CC230数据手册的可知:>uart 0——P0_2(接收管脚)、——GEC-CC2530串口> P0_3(发送管脚)编程步骤串口uart、3cc2530如下)总线初始化,相关1SFR(PERCFG P2DIR PxSEL UxCSR收集于网络,如有侵权请联系管理员删除.精品文档位我们uart0口管脚当P0收集于网络,如有侵权请联系管理员删除.精品文档作P0_2 P0_、数据链路格式化(数据位、停止位、校验位、波特率);2UxUCR UxGCRUxBAUD收集于网络,如有侵权请联系管理员删除.精品文档波特率的计算:在CC2530的时钟位高速时钟位32M时,我们可以按照下表进行配置:3、读写串口收发寄存器UxDBUF 、RX_BYTE(UxCSR的第2位) 、TX_BYTE(UxCSR的第1位) RX_BYTE:接收字节状态,0:没有收到字节;1:准备好接收字节TX_BYTE:传送字节状态,0:字节没有被传送;1:字节准备被传送收集于网络,如有侵权请联系管理员删除.精品文档我们读取数据时,RX_BYTE置1,然后读UxDBuf;我们发送数据时,TX_BYTE置1,且将准备传送的字节写入到UxDBUF;四、实验步骤1、领取单片机开发板,编写代码,先编译下载,如图4下载时需要接下载器,下载好之后,断开下载器和方口线,再将方口线直接接在单片机开发板的USB转串口上如图5,如果电源指示灯不亮,则将RST旁边的拨码开关打到OFF位置。
实验7 CC2530 串口控制器编程本实验完成时间:第8 周、第9 周一、实验目的1、CC2530串口控制器的原理;2、掌握CC2530串口控制器的编程步骤;二、实验任务从 PC 机上的串口调试助手(超级终端)输入的字符能够发送给CC2530,CC2530 再把所接收到的字符“原路”回传给对方。
直观的效果:当串口调试助手(超级终端)激活时,键盘上输入的字符能够在串口调试助手的窗口那个回显。
三、实验原理1、何谓超级终端和串口调试助手超级终端:一个和uart 串口相关联的窗口应用程序。
它能够从uart 串口上所接收到的字符显示出来,同时当该窗口激活时能够把键盘所键入的字符从串口发送出去。
超级终端能够从串口收发字符成功的前提是串口通信双方所约定的收发格式一致。
它和一般所说的串口调试助手类似,但有区别:超级终端不会以16 进制的形式显示所接收的字符编码;串口调试助手不会把键盘输入的字符实时从串口发送出去,需要点击手动发送。
串口调试助手:桌面上有串口聊天助手,如果不能打开,可以如图 1 在 S503 的 D 盘/试验箱资料光盘/工具软件 /串口工具和驱动/串口聊天助手,打开后如图 2 所示。
打开任意一个即可!图 1 串口聊天助手位置设置参数图 2 串口聊天助手界面图2、实验室 GEC-CC2530 开发板的 uart串口接口(USB转串口,红色圈圈)如图3:图 3 单片机开发板的USB 转串口该接口和 cc2530所连接的电路图如下:由该图不难得知:P0_3 作为串口的发送管脚;P0_2 作为串口的接收管脚;P0_5、P0_4 作为硬件流控用的,一定要注意,我们平时见到的串口的交叉线都只用到了收、发、地三根线,所以在串口设置是都禁止硬件流控!由此可见, GEC-CC2530 所占的资源就是P0_3(发送管脚 )、P0_2(接收管脚 ),更进一步结合CC230 数据手册的GPIO 设备管脚映射表分析:可知:GEC-CC2530 串口——> P0_3(发送管脚 )、P0_2(接收管脚 )——>uart 03、cc2530 串口 uart 编程步骤(1)总线初始化,相关SFR 如下PERCFG P2DIR PxSEL UxCSR我们uart0 位于P0 位置当P0 口管脚冲突是uart0 优先当P0_2 P0_3 作为了uart0 的收发管脚2、数据链路格式化(数据位、停止位、校验位、波特率);UxUCR UxGCR UxBAUDWORD格式波特率的计算:在CC2530的时钟位高速时钟位32M时,我们可以按照下表进行配置:3、读写串口收发寄存器UxDBUF 、RX_BYTE(UxCSR 的第2 位) 、TX_BYTE(UxCSR 的第1 位) RX_BYTE :接收字节状态,0:没有收到字节;1:准备好接收字节TX_BYTE :传送字节状态,0:字节没有被传送;1:字节准备被传送我们读取数据时,RX_BYTE 置1,然后读UxDBuf;我们发送数据时,TX_BYTE 置1,且将准备传送的字节写入到UxDBUF;四、实验步骤1、领取单片机开发板,编写代码,先编译下载,如图4下载时需要接下载器,下载好之后,断开下载器和方口线,再将方口线直接接在单片机开发板的USB转串口上如图 5,如果电源指示灯不亮,则将RST旁边的拨码开关打到OFF 位置。
CC2530学习路线-基础实验-GPIO按键控制LED灯亮灭(2)⽬录1.前期预备知识1.1 新⼤陆Zigbee模块按键电路图由上图可知,Zigbee模块的SW1按钮连接在P1.2端⼝上,当SW1导通,P1.2电平从3.3V被拉低接地。
所以P1.2输⼊模式为下拉输⼊.1.2 CC2530相关寄存器寄存器名称寄存器作⽤寄存器描述P1 (0x90)*控制端⼝1的⾼低电平端⼝1.通⽤I/O。
可以通过SFR位寻址P1SEL(0xF4)端⼝1 8个⼦端⼝的功能选择P1SEL的8个bit分别代表 => P1.7~P1.0的功能选择.值为 0:代表通⽤I/0(GPIO)功能.值为 1 : 代表外设功能P1DIR(0xFE)端⼝1 输⼊输出选择P1DIR的bit定义同P1SEL;值为 0:代表从外部输⼊信号⾄CC2530;值为 1:代表从CC2530输出信号⾄外部P1INP (0xF6)端⼝1 输⼊模式选择P1INP定义为P1.7~P1.2的I/O输⼊模式。
其中P1.0和P1.1是没有上拉/下拉功能。
值为 0:上拉/下拉。
值为 1:三态(⾼电平、低电平、⾼阻态)P2INP (0xINP)端⼝2 输⼊模式及其它端⼝选择P2INP⽐较特殊,因为P2端⼝引出的引脚只有3个,所以P2INP还有其它功能。
bit 0 ~ 4 : P2.4~P2.0的输⼊模式。
0 : 上拉/下拉; 1:三态bit 5 : 设置端⼝0上拉/下拉选择。
对端⼝P0上⾯的所有引脚设置为上拉/下拉输⼊ 0 : 上拉; 1: 下拉bit 6 : 同bit 5功能,但是是设置端⼝1上所有引脚bit 7 : 同bit5功能,但是是设置端⼝2上的所有引脚P1IEN(0x8D)端⼝1 中断屏蔽端⼝P1.7~P1.0的中断使能(也就是说中断是否Enable*(打开))0 : 中断禁⽤1 : 中断使能PICTL(0x8C)端⼝中断控制 P0ICON(bit0)端⼝0、1、2输⼊模式下的中断配置。
CC2530看门狗实验1/*****************************************//by 虚幻代码//名称:CC2530 看门狗实验1//说明:看门狗周期为1秒,每个主循环喂狗一次。
如果去除喂狗指令函数,系统将不断复位,指示灯闪烁。
//加上喂狗指令函数,系统将不再主动复位,指示灯不再闪烁。
*****************************************//*引用********************************************/#include<iocc2530.h>/*宏定义*****************************************/#define uint unsigned int#define rled P1_0#define gled P1_1/*函数定义*******************************///LED初始化void initled(void){P1SEL &=0XFC;//P1_0,P1_1接口设为通用接口模式P1DIR|=0X03;//P1_0,P1_1接口设为输出模式rled=1;gled=1;}//看门狗初始化void init_watchdag(void){WDCTL=0X00;//时间间隔为1秒WDCTL |=0X08;//看门狗模式}//设定系统主时钟void set_main_clock(source){if(source){CLKCONCMD |=0X40;//选择16MHZ RCOSC为系统时钟源while(!(CLKCONSTA &0X40));//等待时钟稳定}else{CLKCONCMD &=0XBF;//选择32MHZ XOSC为系统时钟源while(CLKCONSTA &0X40);//等待时钟稳定}}//清除看门狗定时器void feetdog(void){WDCTL=0XA0;WDCTL=0X50;}//延时函数void delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}/*主函数*******************************/void main(void){set_main_clock(0);initled();init_watchdag();delay(10000);rled=0;gled=0;while(1){feetdog();//喂狗指令(加入后系统不复位,小灯不闪烁)}}。
无线控制网络综合实验实验报告姓名:学号:分组编号:小组成员:指导老师:2016年3月实验3.1 LED灯控制实验一、实验目的1、熟悉UP-CUP IOT-6410-II实验系统的硬件组成及使用方法,熟悉Zigbee模块的硬件接口;2、熟悉和掌握使用IAR集成开发环境,编写程序实现利用CC2530的IO口控制LED闪烁的功能。
二、实验原理1、硬件原理CC2530控制LED 的电路原理图如图3-1-1所示。
CC2530核心板上预留了两个LED,采用共阳极驱动方式,分别由CC2530的P1.0和P1.0控制,通过控制这两个IO口输出低电平即可点亮对应LED。
图3-1-1 LED硬件原理图IO口的控制是通过对CC2530相关寄存器的操作实现的,其中部分IO相关寄存器如图3-1-2所示。
具体操作过程见软件设计部分。
图3-1-2部分IO相关寄存器2、软件原理(1)、首先设置P1SEL寄存器,选择IO口的通用IO功能;(2)、设置P1DIR寄存器,选择P1.0和P1.1口的输入输出方向为输出方向;(3)、通过设置P1寄存器的第0位和第1位即可控制LED的亮灭,其中P1寄存器是可位寻址的,即可直接使用P1_x操作。
程序主函数如下。
void main(void){Initial(); //调用初始化函数,初始化P1.0和P1.1口,包括对寄存//器P1SEL和P1DIR的操作LED1=0; //LED1点亮LED2=0; //LED2点亮while(1){LED2 = !LED2; //LED2闪烁Delay(50000);}}三、实验步骤1、调整硬件:使用配套USB线连接PC机和UP-CUP IOT-6410-II型设备,设备上电,确保打开Zigbee模块开关供电,并使用CCD_SETKEY选择要使用的Zigbee 模块;2、创建工程:打开IAR Embedded Workbench for MCS-51嵌入式开发环境,按下列步骤建立新工程;(1).选择file→new→Workspace新建一个工作空间;(2).选择Project→Greate New Project...弹出图3-1-3建立新工程对话框,然后确认Tool chain栏已经选择8051,在Project templates:栏选择Empty project,点击下方OK按钮;图3-1-3建立新工程(3).选择工程的保存位置,如图3-1-4;图3-1-4保存工程(4).保存Workspace工作空间并选择保存位置,如图3-1-5;图3-1-5保存Workspace3、配置工程选项按照《物联网综合实验系统实验指导书V1.3》的说明对工程进行配置,其中部分配置的说明如下:(1).Codemodel和Datamodel可以调节程序寻址范围的大小,要根据实际程序的大小进行调节;(2).Stack/Heap标签:用于调整堆栈的大小;(3).Linker选项,Output标签:用于输出编译生成的文件,用于下载到芯片运行,可以输出.hex、.bin或.txt等多种格式;(4).Debugger:用于选择软件调试的方式和使用的仿真器类型。
ZigBee(CC2530)演示程序烧写说明安装IAR开发环境步骤如下:打开目录,解压EW8051-EV-751A.rar在当前文件夹下,图1.0双击开始安装图1.1图1.2单击Next图1.3单击Accept图1.4按下面的方法获取License#,然后点击Next。
打开EW8051-EV-751A Crack 文件双击IARID.EXE,获取自己PC的ID号,如下图,ID号为0x2B073图1.5鼠标右键点击KEY ,点编辑,修改ID。
然后保存。
双击key.cmd 生成文档,打开key.txt, 找到“EW8051-EV" 这一段,获取Installserial号和key图1.7图1.8将上面获取的key 拷贝到License Key:这一栏,然后点击Next ,后面的全部选默认安装,直到完成第二章安装CC2530烧写工具步骤如下:打开目录,双击Setup_SmartRFProgr_1.6.2.exe开始安装图2.0图2.1根据提示全部默认安装,直到安装完成,之后桌面上出现CC2530烧写软件图标双击桌面上的SmartRF Flash Programmer图标,打开CC2530烧写软件如下图2.2使用配套仿真器连接好CC2530和PC机后,界面显示在Flash处选择要烧写的hex文件\img\zigbee-img\up_zigbeeV0F1.hex 在Location处选择Secondary单选框,写入8字节物理地址在Action:处选择Erase and program单选框单击Perform actions按钮进行烧写烧写完后CC2530上的两个LED联系闪烁10次,表示等待配置第三章CC2530串口配置软件的使用双击\tools目录下的ZigBeeConfiger.exe软件图3.0图3.1用串口线连接好CC2530和PC机,给CC2530 上电选择连接PC机的串口号,波特率为*****,点击连接串口图3.2点击检测设备图3.3点击读出信息图3.4按如下图的配置信息写入信息,重启设备协调器节点图3.5温湿度路由器节点图3.6红外对射路由器节点。
/*********************头文件*************************************************/ #include <ioCC2530.h>#include <string.h>/*********************宏定义*************************************************/ #define uint unsigned int#define uchar unsigned char//----------------LED控制端口------------------------------------------------//#define GLED P1_0// 绿色LED定义#define RLED P1_1// 红色LED定义//----------------按键输入端口-----------------------------------------------//#define KEY1 P0_0/*********************全局变量**********************************************/ unsigned char Uart0_Rx;unsigned char Text_Data[]="海舟物联网教育!\r\n";/*********************函数声明***********************************************/ void Delay(uint);void Init_LED(void);void Init_Uart0(void);void Init_Sysclk(void);void Uart0_TX_Data(unsigned char *Data,int len);/****************************************************************************** *函数名称: void Delay(uint n)*函数功能: 软件延时函数*入口参数:*出口参数:*备注:******************************************************************************/ void Delay(uint n){uint i;for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);for(i=0;i<n;i++);}/*******************************************************************************函数名称: void Init_Uart0(void)*函数功能: Uart0初始化设置*入口参数:*出口参数:*备注:******************************************************************************/ void Init_Uart0(void){PERCFG = 0x00; // 位置1 P0口P0SEL = 0x3c; // P0_2,P0_3用作串口P2DIR &= ~0XC0; // P0优先作为UART0U0CSR |= 0x80; // UART方式U0GCR |= 8;U0BAUD |= 59; // 波特率设为9600bpsUTX0IF = 0; // UART0 TX中断标志初始置位0U0CSR |= 0X40; // 允许接收IEN0 |= 0x84; // 开总中断,接收中断}/****************************************************************************** *函数名称: void Uart0_TX_Data(unsigned char *Data,int len)*函数功能: 串口0发送一组数据*入口参数:*出口参数:*备注:******************************************************************************/ void Uart0_TX_Data(unsigned char *Data,int len){int j;for(j=0;j<len;j++){U0DBUF = *Data++;while(UTX0IF == 0);UTX0IF = 0;}}/****************************************************************************** *函数名称: void Init_Sysclk()*函数功能: 设置系统时钟*入口参数:*出口参数:*备注:******************************************************************************/void Init_Sysclk(void){CLKCONCMD &= ~0x40; // 设置系统时钟源为32MHZ晶振while(CLKCONSTA & 0x40); // 等待晶振稳定CLKCONCMD &= ~0x47; // 设置系统主时32MHZ}/****************************************************************************** *函数名称: void Init_LED(void)*函数功能: 初始化LED*入口参数:*出口参数:*备注:******************************************************************************/ void Init_LED(void){P1DIR = 0x03; // P1.0 P1.1设置为输出RLED = 1; // 初始化LED状态GLED = 1;}/****************************************************************************** *函数名称: void main(void)*函数功能: 主函数*入口参数:*出口参数:*备注:******************************************************************************/ void main(void){Init_Sysclk(); // 初始化系统时钟Init_Uart0(); // 串口0设置Init_LED(); // 初始化LEDwhile(1){Uart0_TX_Data(Text_Data,17);Delay(50000);Delay(50000);Delay(50000);}}/****************************************************************************** *函数名称: void UART0_ISR(void)*函数功能: Uart0中断服务子程序*入口参数:*出口参数:*备注:******************************************************************************/ #pragma vector = URX0_VECTOR__interrupt void UART0_ISR(void){URX0IF = 0; //清中断标志Uart0_Rx = U0DBUF;}/*********************结束*************************************************/。
实验一 通用I/O课时安排:2学时一、教学目标(1)知识目标:理解CC2530的通用I/O 相关寄存器的设置方法,应用设计方法;(2)能力目标:提高学生的动手能力,解决将CC2530通用I/O 在实际应用过程中出现的问题;(3)情感目标:激发学生的学习兴趣,培养学生积极探索、勇于创新的精神。
二、实验环境(1)硬件:PC 机(2)软件:IAR for 8051软件三、实验准备(1)掌握CC2530通用I/O 相关知识。
(2)安装IAR for 8051软件,并熟悉该软件的使用方法。
四、实验原理如图1所示,K1键按下,P0_3引脚输入低电平,否则高电平,K2键按下,P0_4引脚输入低电平,否则高电平。
P1_1引脚输出低电平,D2点亮,否则D2熄灭,P1_0引脚输出低电平,D3点亮,否则D3熄灭。
P1_13.3V Rs3P1_0Rs4D3Rs1Rs2图1 通用I/O 实验的硬件设计原理五、实验内容及要求(1)任务一:控制LED 自动闪烁编写程序,设置P1_0和P1_1的相关寄存器,实现D2和D3一直闪烁。
然后对编写的程序在IAR 环境中编辑、编译、调试,最终实现实验要求。
注意:点亮和熄灭灯后,要延时一段时间,否则观察不到。
(2)任务二:按键控制LED 亮灭使用两个按键开关分别控制两个LED 灯的亮灭,即编程设置相关寄存器,按下K1键,D2 灯点亮,按下K2键,D3灯点亮。
然后对编写的程序在IAR 环境中编辑、编译、调试,最终实现实验要求。
注意:①K1、K2是机械触点,需要去抖动。
②是点亮和熄灭灯后,要延时一段时间,否则观察不到。
六、实验步骤及指导任务一:控制LED自动闪烁(1)实验原理分析如图1所示,发光二极管的D2的阴极与CC2530的P1_1连接,发光二极管的D3的阴极与CC2530的P1_0连接。
因此,P1_1和P1_0的输出电压为低电平,发光二极管就会点亮,反之则会熄灭。
(2)启动IAR for 8051软件,新建工程,设计并编辑、编译程序。
ZigBee 无线 SOC 片上系统 CC2530
基础试验手册 安徽斯玛特物联网科技有限公司 2013 年 11月 目 录 CC2530 基础实验 ........................................................................................................................ 1 1.1 输入输出 I/O 控制实验 ................................................................................................... 1 1.1.1CC2530 基础实验 1:自动闪烁 ........................................................................... 1 1.1.2CC2530 基础实验 2:按键控制开关 ................................................................... 3 1.1.3CC2530 基础实验 3:按键控制闪烁 ................................................................... 4 1.2 定时/计数器实验 ........................................................................................................... 5 1.2.1CC2530 基础实验 4:T1 使用 .............................................................................. 5 1.2.2CC2530 基础实验 5:T2 使用 .............................................................................. 6 1.2.3CC2530 基础实验 6:T3 使用 .............................................................................. 9 1.2.4CC2530 基础实验 7:T4 使用 ............................................................................ 13 1.3 中断实验 ....................................................................................................................... 18 1.3.1CC2530 基础实验 8:定时器中断 ..................................................................... 18 1.3.2CC2530 基础实验 9:外部中断 ......................................................................... 20 1.4AD 实验 .......................................................................................................................... 23 1.4.1CC2530 基础实验 10:片内温度 ....................................................................... 23 1.4.2CC2530 基础实验 11:1/3AVDD ......................................................................... 30 1.4.3CC2530 基础实验 12:AVDD ............................................................................... 32 1.5UART 串口 ...................................................................................................................... 34 1.5.1CC2530 基础实验 13:单片机串口发数 ........................................................... 34 1.5.2CC2530 基础实验 14:在 PC 用串口控制 LED ................................................... 35 1.5.3CC2530 基础实验 15:PC 串口收数并发数 ...................................................... 38 1.5.4CC2530 基础实验 16:串口时钟 PC 显示 ......................................................... 40 1.6 睡眠定时器实验 ........................................................................................................... 45 1.6.1CC2530 基础实验 17:系统睡眠工作状态 ........................................................ 45 1.6.2CC2530 基础实验 18:系统唤醒 ....................................................................... 47 1.6.3CC2530 基础实验 19:睡眠定时器使用 ........................................................... 49 1.6.4CC2530 基础实验 20:定时唤醒 ....................................................................... 52 1.7 看门狗 ........................................................................................................................... 53 1.7.1CC2530 基础实验 21:看门狗模式 ................................................................... 54 1.7.2CC2530 基础实验 22:喂狗 ............................................................................... 55 1
CC2530 基础实验 1.1 输入输出 I/O 控制实验 1.1.1CC2530 基础实验 1:自动闪烁 实验介绍 本次实验的目的是让用户学会使用 CC2530 的 I/0 来控制外设,本例以 LED 灯为外设,用 CC2530 控制简单外设时,应将 I/O 设置为输出。实验现象 LED 闪烁。 实验设备:仿真器 1 台,电池板(或液晶板)1 块,ZigBee 模块 1 块,USB 连接线 1 根。 实验相关寄存器 实验中操作了的寄存器有 P1,P1DIR,没有设置而是取默认值的寄存器有:P1SEL,P1INP。
P1 (P1 口寄存器) 位号 位名 复位值 操作性 功能描述 7:0 P1[7:0] 0x00 读/写 P1 端口普通功能寄存器,可位寻址
P1DIR (P1 方向寄存器) 位号 位名 复位值 操作性 功能描述 7 DIRP1_7 0 读/写 P1_7 方向
0 输入,1 输出
6 DIRP1_6 0 读/写 P1_6 方向
0 输入,1 输出
5 DIRP1_5 0 读/写 P1_5 方向
0 输入,1 输出
4 DIRP1_4 0 读/写 P1_4 方向
0 输入,1 输出
3 DIRP1_3 0 读/写 P1_3 方向
0 输入,1 输出
2 DIRP1_2 0 读/写 P1_2 方向
0 输入,1 输出
1 DIRP1_1 0 读/写 P1_1 方向
0 输入,1 输出
0 DIRP1_0 0 读/写 P1_0 方向
0 输入,1 输出
P1SEL (P1 功能选择寄存器) 2
位号 位名 复位值 操作性 功能描述 7 SELP1_7 0 读/写 P1_7 功能
0 普通 I/O,1 外设功能
6 SELP1_6 0 读/写 P1_6 功能
0 普通 I/O,1 外设功能
5 SELP1_5 0 读/写 P1_5 功能
0 普通 I/O,1 外设功能
4 SELP1_4 0 读/写 P1_4 功能
0 普通 I/O,1 外设功能
3 SELP1_3 0 读/写 P1_3 功能
0 普通 I/O,1 外设功能
2 SELP1_2 0 读/写 P1_2 功能
0 普通 I/O,1 外设功能
1 SELP1_1 0 读/写 P1_1 功能
0 普通 I/O,1 外设功能
0 SELP1_0 0 读/写 P1_0 功能
0 普通 I/O,1 外设功能
实验相关函数 void Delay(uint n);函数原型是
void Delay(uint n) { uint tt; for(tt = 0;ttfor(tt = 0;ttfor(tt = 0;ttfor(tt = 0;ttfor(tt = 0;tt} 函数功能是软件延时,执行 5 次 0 到 n 的空循环来实现软件延时。延时时间约为 5*n/32μs。