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();//喂狗指令(加入后系统不复位,小灯不闪烁)}}。
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。