
无线传感网络技术与应用 项目二 CC2530基本组件应用.pptx
33页项目二 CC2530基本组件应用,2021/7/8,任务2.1 控制LED交替闪烁,【任务要求】,把ZigBee模块固定在NEWLab实训平台上,在IAR软件中新建工程和源文件,编写程序,控制ZigBee模块上的LED1和LED2两个发光二极管交替闪烁知识链接】,2.1 CC2530芯片概述 CC2530无线单片机整合了2.4GHz IEEE802.15.4/ZigBee RF收发机和工业标准的增强型8051MCU内核,拥有8KB的SRAM、大容量内置闪存,芯片后缀代表内置闪存的大小,如:CC2530F32/F64/F128/F256分别表示32K/64K/128K/256K的闪存;另外,还集成了强大的外设资源,如:21个可编程I/O、ADC、USART、定时器/计数器、DMA等知识链接】,【例2.1】P0端口的低4位配置为数字输出功能,高4位配置为数字输入、上拉功能 解: 第1步,功能选择设置P0端口为GPIO,所以P0SEL /* void delay(unsigned int i) unsigned int j,k; for(k=0;ki;k+) for(j=0;j500;j+); /* void initial_usart_tx() CLKCONCMD ,【知识链接】,【例2.5】通过串口,PC机向ZigBee模块(带串口)发送指令点亮LED1LED4。
发送1时,LED1亮,发送2时,LED2亮,发送3时,LED3亮,发送4时,LED4亮,发送5时,LED全灭 #include #define LED1 P1_0 /P1.0端口控制LED1发光二极管 第3个 #define LED2 P1_1 /P1.1端口控制LED1发光二极管 第4个 #define LED3 P1_3 /P1.3端口控制LED1发光二极管 第1个 #define LED4 P1_4 /P1.4端口控制LED1发光二极管 第2个 /* void delay(unsigned int i) unsigned int j,k; for(k=0;ki;k+) for(j=0;j500;j+); /* void initial_usart_tx() CLKCONCMD ,【知识链接】,【例2.6】采用串口中断方式,PC机向ZigBee模块(带串口)发送指令点亮LED1LED4发送1时,LED1亮,发送2时,LED2亮,发送3时,LED3亮,发送4时,LED4亮,发送5时,LED全灭 #include #define LED1 P1_0 /P1.0端口控制LED1发光二极管 第3个 #define LED2 P1_1 /P1.1端口控制LED1发光二极管 第4个 #define LED3 P1_3 /P1.3端口控制LED1发光二极管 第1个 #define LED4 P1_4 /P1.4端口控制LED1发光二极管 第2个 unsigned char temp, RX_flag; /* void delay(unsigned int i) unsigned int j,k; for(k=0;ki;k+) for(j=0;j500;j+); /* void initial_usart_tx() CLKCONCMD ,/* #pragma vector = URX0_VECTOR/串口0接收中断服务函数 _interrupt void UART0_ISR(void) URX0IF = 0; temp = U0DBUF; RX_flag=1; /* void main(void) initial_usart_tx(); P1SEL ,【任务实施】,第一步,搭建系统,分析任务要求。
1. 将ZigBee模块固定在NEWLab平台上,用串口线把NEWLab平台与PC机连接,并将NEWLab平台上的通信方式旋钮转到“通讯模式” 2. 根据任务描述,CC2530开发板要接收1次数据、发送2次数据,它们的顺序是:发送数据1(What is your name?)、接收数据(名字+#)、发送数据2(Hello 名字) 第二步,新建工程和源文件,并对工程进行相应配置 第三步,编写、分析、调试程序 1编写程序 具体程序代码见本教材资源 2编译、下载、测试程序 (1)编译无错后,打开串口调试软件,设置端口、波特率19200、数据为8位、无校验位、停止为1位,打开串口;然后下载程序,在串口调试软件接收信息窗口可以看到What is your name?字符串 (2)在串口调试软件发送数据窗口输入名字,并以#结束,例如:小张#点击发送,立刻在串口调试软件接收信息窗口可以看到“Hello 小张”字符串技能拓展】,采用DMA数据传输模式,CC2530把存储器的数据传输到USART,上传给PC机任务2.5 片内温度测量,【任务要求】,实现片内温度传感器值的读取,并通过串口将其值上传到PC端口。
知识链接】,ADC支持多达14位的模拟数字转换,具有多达13位的ENOB(有效数字位)它包括一个模拟多路转换器,具有多达8个各自可配置的通道;以及一个参考电压发生器如图所示转换结果可以通过DMA写入存储器,也可以直接读取ADC寄存器获得知识链接】,【例2.7】在NEWLab平台上,采用ZigBee模块和温度/光照传感模块,ADC在不同的分辨率、单端、差动输入不同的条件下,测量温度/光照传感模块上的电位器(VR1)的变化电压、地和电源电压并得出CC2530单片机ADC支持位数,如何配置,ADC转换数据存储格式等 解:第一步,采用单端输入方式 将ZigBee模块和温度/光照传感模块都固定在NEWLab平台上,用导线把ZigBee模块上ADC0和温度/光照传感模块上的电位器分压端(J10)连接起来由电路限制,J10端的电压范围0.275V3.025V 第二步,编程ADC测量程序 暂不进行ADC值换算,只要ADC测量的值并将ADC测量的值在串口调试软件上显示 具体程序代码见本教材资源任务实施】,第一步,搭建系统,分析CC2530片内温度传感器计算方法 将ZigBee模块固定在NEWLab平台上,用串口线把PC与平台相连。
CC2530芯片温度计算公式为:T = (输出电压mv - 743mv)/ 2.45mv / 第二步,新建工程,编写、分析、调试程序 1编写程序 具体程序代码见本教材资源 2下载程序,在串口上可看到:每隔一定时间,显示一次温度值技能拓展】,采用气体模块、ZigBee模块,以及NEWLab平台组成一套测量,在串口调试窗口实时显示气体电压值。












