1、无线传感网络技术与应用课程组无线传感网络技术与应用课程组项目一项目一 智能水杯的设计智能水杯的设计无线传感网络技术与应用课程组无线传感网络技术与应用课程组项目目标项目目标能力目标素质目标重点难点无线传感网络技术与应用课程组无线传感网络技术与应用课程组项目目标项目目标能力目标能力目标熟悉IAR编译环境掌握仿真调试器驱动的安装能够对PxSEL、PxDIR、PxINP寄存器进行编程能够全面掌握中断使能的步骤能够通过设置定时器1、3,用中断方式来实现灯闪烁能够串口发送和接收数据能够使用CC2530里的温度传感器采集温度能够使用ZigBeeCC2530驱动LCD12864液晶屏无线传感网络技术与应用课程
2、组无线传感网络技术与应用课程组项目目标项目目标素质目标素质目标学生通过学习制作智能水杯,能够掌握CC2530芯片的功能,具备硬件测试的能力,提高了实际动手的能力。无线传感网络技术与应用课程组无线传感网络技术与应用课程组项目目标项目目标重点难点重点难点理解CC2530片上系统的结构及内部模块功能掌握IAR编译软件的安装、编辑与修改掌握通用I/O端口的输入输出设置熟悉PxSEL、PxDIR、PxINP寄存器的应用掌握中断屏蔽寄存器、中断标志寄存器的应用无线传感网络技术与应用课程组无线传感网络技术与应用课程组项目目标项目目标重点难点重点难点掌握定时器1、3寄存器的工作原理和应用理解串行通信接口的概念
3、、特点、工作方式以及寄存器的具体应用掌握使用CC2530里的温度传感器采集温度掌握使用ZigBeeCC2530驱动LCD12864液晶屏无线传感网络技术与应用课程组无线传感网络技术与应用课程组知识纲要知识纲要CC2530片上系统、IAR、Smartflash、PxSEL、PxDIR、PxINP寄存器、中断屏蔽寄存器、中断标志寄存器、定时器1、3寄存器、串行通信接口、温度传感器、液晶显示无线传感网络技术与应用课程组无线传感网络技术与应用课程组项目分析项目分析许多家庭给新出生的宝宝冲奶粉的时候总是掌握不好水的温度,不同牌子的奶粉有不同的配比说明,但一般来说都是用4060的温水冲较好。这个温度不仅有
4、利于加快化学反应的速度,促使糖、奶粉等在液体里的溶解,调出比较均匀的溶液,且能保证奶粉里的营养物质不被破坏。冲好牛奶后,等温度降到约37度时给宝宝喝。可是爸爸妈妈们如何掌握好水温呢?本项目主要设计一款智能水杯,主要针对有婴儿或者老人的家庭不能直观的感知水温的问题,结合传感器等技术,提出一种能够显示温度的智能水杯。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务目录任务目录任务1智能水杯开发平台任务2测试智能水杯开发平台任务3CC2530片上系统I/O端口控制任务4CC2530片上系统外部中断控制任务5CC2530片上系统定时器控制任务6CC2530片上系统串口通信任务7智能水杯的温
5、度采集任务8智能水杯的LCD显示无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台任务描述任务目标知识学习任务实施任务小结无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台任务描述任务描述在各种各样的制作智能水杯的技术解决方案中,我们需要选择一款合适的开发平台。需要有支持Zigbee协议栈的硬件应用到Zigbee无线传感器网络中,所以该智能的开发采用TI公司的CC2530无线片上系统。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台任务目标任务
6、目标了解ZigBee的概念、特点了解常见的ZigBee开发的片上系统理解CC2530片上系统的结构及内部模块功能掌握IAR编译软件的安装、编辑与修改无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台知识学习知识学习1.ZigBee标准概述标准概述2.常见的常见的ZigBee开发的片上系统开发的片上系统3.CC2530片上系统的结构及内部模块功能片上系统的结构及内部模块功能无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台知识学习知识学习(1)CC2530的主要功能特性(2)CC2530结构分析(
7、3)功能模块介绍CPU和内存外设无线设备无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台知识学习知识学习4相关硬件设计相关硬件设计无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台知识学习知识学习5.IAR编译软件的安装编译软件的安装(1)IAR简介嵌入式IAREmbeddedWorkbench是一个非常有效的集成开发环境(IDE),它使用户充分有效地开发并管理嵌入式应用工程。(2)IAR7.51安装无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开
8、发平台知识学习知识学习6.IAR工程和项目的建立工程和项目的建立(1)新建第一个IAR工程选择FileNewWorkspace。现在用户已经建好一个工作区,可创建新的工程并把它放入工作区。(2)添加文件或新建程序文件选择菜单ProjectAddFile或在工作区窗口中,在工程名上点右键,在弹出的快捷菜单中选择AddFile,弹出文件打开对话框,选择需要的文件单击“打开”退出。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台知识学习知识学习6.IAR工程和项目的建立工程和项目的建立(3)设置工程选项参数无线传感网络技术与应用课程组无线传感网络技
9、术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台任务实施任务实施1.编译、连接、下载编译、连接、下载选择ProjectMake或按F7键编译和连接工程2.IAR工程的编译和修改工程的编译和修改(1)编译项目在工作区中选择需要编译的文件,选择Project-Compile菜单项,或者单击工具栏上的Compile按钮,对源程序进行编译。(2)连接项目和调试进行Debugger和J-Link设置。进行调试操作,用J-link将目标板和电脑连接之后,点击工具栏上的“Debugger”按钮。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务1 智能水杯开发平台智能水杯开发平台任务
10、小结任务小结在本次任务主要讲述了使用IAR集成开发环境进行Zigbee开发的基本流程,讲解了工程的建立、源文件的添加、编译与调试。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测试智能水杯开发平台测试智能水杯开发平台任务描述任务目标知识学习任务实施任务小结无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测试智能水杯开发平台测试智能水杯开发平台任务描述任务描述为了保证智能水杯开发平台的稳定性,在安装调试完IAR软件平台后,还需要安装仿真调试器的驱动并进行调试,进行IAR工程源码的烧写。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测
11、试智能水杯开发平台测试智能水杯开发平台任务目标任务目标掌握仿真调试器驱动的安装掌握IAR工程源码的烧写掌握程序仿真调试的方法无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测试智能水杯开发平台测试智能水杯开发平台知识学习知识学习首先需要连接硬件平台才能进行调试,在计算机与ZigBee硬件系统连接前,要在计算机上安装仿真器驱动。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测试智能水杯开发平台测试智能水杯开发平台任务实施任务实施1.仿真调试器驱动的安装仿真调试器驱动的安装驱动文件在C:ProgramFilesIARSystemsEmbeddedWorkb
12、ench5.38051driversTexasInstruments。2.IAR工程源码的烧写工程源码的烧写无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测试智能水杯开发平台测试智能水杯开发平台任务实施任务实施1.仿真调试器驱动的安装仿真调试器驱动的安装驱动文件在C:ProgramFilesIARSystemsEmbeddedWorkbench5.38051driversTexasInstruments。2.IAR工程源码的烧写工程源码的烧写烧写完后CC2530上的两个LED连续闪烁10次,表示等待配置无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测
13、试智能水杯开发平台测试智能水杯开发平台任务实施任务实施3.程序仿真调试程序仿真调试(1)进入调试(2)调试窗口管理(3)调试管理无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务2 测试智能水杯开发平台测试智能水杯开发平台任务小结任务小结在本次任务主要介绍了仿真调试器驱动的安装和调试的基本方法,并且进行IAR工程源码的烧写。为下一步硬件测试准备好了软件环境。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务描述任务目标知识学习任务实施任务小结无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上
14、系统I/O端口控制任务描述智能水杯通过温度传感器获取水蒸气的温度,采集的数据是如何传输的呢?我们可以通过控制CC2530的I/O端口来实现。CC2530芯片模块大致可以分为三类:CPU和内存相关的模块;外设、时钟和电源管理相关的模块以及无线电相关的模块。其中I/O控制器负责所有通用I/O引脚。我们通过CC2530片上系统I/O端口控制来实现点亮LED和按键控制LED交替闪烁的操作。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务目标掌握通用I/O端口的输入输出设置熟悉PxSEL、PxDIR、PxINP寄存器的应用无线传感网络技术与应用课
15、程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制知识学习1.通用I/O端口简介2.通用I/O端口相关寄存器(1)寄存器PxSEL(2)用寄存器PxDIR(3)寄存器PxINP无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务实施1.点亮灯试验点亮灯试验(1)实验现象程序实验点亮LED1。(2)实验过程CC2530的IO口配置我们需要配置三个寄存器P1SEL、P1DIR、P1INP。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务实施1.点亮灯试验点亮灯
16、试验源程序代码(全)#include#defineLED1P1_0/定义P10口为LED1控制端voidIO_Init(void)P1DIR|=0 x01;/P1_0定义为输出voidmain(void)IO_Init();/调用初始化程序LED1=0;/点亮LED1while(1);无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务实施2.按键控制灯闪烁按键控制灯闪烁(1)实验现象依次按下按键S1控制LED1的亮和灭。(2)实验过程CC2530的IO口配置我们需要配置三个寄存器P1SEL、P1DIR、P1INP。无线传感网络技术与应用课
17、程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务实施2.按键控制灯闪烁按键控制灯闪烁(1)实验现象依次按下按键S1控制LED1的亮和灭。(2)实验过程CC2530的IO口配置我们需要配置三个寄存器P1SEL、P1DIR、P1INP。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务实施2.按键控制灯闪烁按键控制灯闪烁部分源码/*LED初始化函数*/voidInitLed(void)P1DIR|=0 x01;/P1_0定义为输出LED1=1;/LED1灯熄灭/*按键初始化函数*/voidInitKey()P
18、0SEL&=0X10;/设置P04为普通IO口P0DIR&=0X10;/按键在P04口,设置为输入模式P0INP&=0 x10;/打开P04上拉电阻,不影响/*按键检测函数*/ucharKeyScan(void)if(KEY1=0)Delayms(10);if(KEY1=0)while(!KEY1);/松手检测return1;/有按键按下return0;/无按键按下无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务3 CC2530片上系统I/O端口控制任务小结在本次任务中首先向大家介绍了CC2530通用I/O端口的输入输出设置和寄存器PxSEL、PxDIR、PxINP的应用。通过
19、实验点亮灯试验,让大家能够更加直接的认识到寄存器的基本操作。然后介绍了中断屏蔽寄存器和中断标志寄存器,通过实验按键控制灯闪烁,让大家能够更加直接的认识到中断寄存器的基本操作。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制任务描述任务目标知识学习任务实施任务小结无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制任务描述CC2530芯片中包含的中断控制器总共提供了18个中断源,分为六个中断组,每个与四个中断优先级之一相关。当设备从活动模式回到空闲模式,任一中断服务请求就被激发。一些中断还可以从睡
20、眠模式(供电模式1-3)唤醒设备。我们通过CC2530的按键控制灯亮灭来实现外设中断的操作。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制任务目标了解中断的概念掌握中断屏蔽寄存器的应用掌握中断标志寄存器的应用无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制知识学习了解中断的概念掌握中断屏蔽寄存器的应用掌握中断标志寄存器的应用无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制知识学习1.中断概述中断概述CPU有18个中断源。无线传感网络技术与
21、应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制知识学习2.中断屏中断屏蔽蔽(1)中断屏蔽寄存器无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制知识学习2.中断屏中断屏蔽蔽(1)中断屏蔽寄存器无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制知识学习2.中断屏中断屏蔽蔽(1)中断屏蔽寄存器无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制知识学习2.中断屏蔽中断屏蔽(1)中断屏蔽寄存器寄存器P0IEN、P1IE
22、N、P2IEN为P0、P1和P2端口每个引脚设置中断使能无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制知识学习3.中断处理中断处理当中断发生时,无论该中断使能或禁止,CPU都会在中断标志寄存器中设置中断标志位,在程序中可以通过中断标志位来判断是否发生了相应的中断。TCON、S0CON、S1CON、IRCON、IRCON2是CC2530的5个中断标志寄存器P0IFG、P1IFG、P2IFG、是端口0、端口1、端口2每一位的中断标志寄存器4.中断优先级中断优先级中断组合成为6个中断优先组,每组的优先级通过设置寄存器IP0和IP1实现。当同时收到
23、几个相同优先级的中断请求时,采用轮流探测顺序来判定哪个中断优先响应无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制任务实施1.实验现象实验现象依次按下按键S1控制LED1的亮和灭。2.按键控制灯亮灭来实现外设中断按键控制灯亮灭来实现外设中断CC2530的外部中断我们需要配置三个寄存器P0IEN、PICTL、P0IFG、IEN1。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制任务实施1.实验现象实验现象依次按下按键S1控制LED1的亮和灭。2.按键控制灯亮灭来实现外设中断按键控制灯亮灭来实现
24、外设中断CC2530的外部中断我们需要配置三个寄存器P0IEN、PICTL、P0IFG、IEN1。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4 CC2530片上系统外部中断控制任务实施部分源码/*中断处理函数*/#pragmavector=P0INT_VECTOR/格式:#pragmavector=中断向量,/紧接着是中断处理程序_interruptvoidP0_ISR(void)Delayms(10);/去除抖动LED1=LED1;/改变LED1状态P0IFG=0;/清中断标志P0IF=0;/清中断标志无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务4
25、CC2530片上系统外部中断控制任务小结在本次任务中向大家介绍了中断的概念、中断屏蔽寄存器的应用和中断标志寄存器的应用。通过实验按键控制灯亮灭,让大家能够更加直接的认识到中断寄存器的基本操作。通过做实验,大家能够学习到中断寄存器的操作方法部分关键性代码的编写,开发者可以对CC2530片上系统的有更加深刻的认识。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务描述任务目标知识学习任务实施任务小结无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务描述人类最早使用的定时工具是沙漏或水漏,但在钟表
26、诞生发展成熟之后,人们开始尝试使用这种全新的计时工具来改进定时器,达到准确控制时间的目的。MCU的定时器博大精深,由普通定时计算、到CPU的分时复用,无不体现定时器的巨大作用。我们通过CC2530的不同定时器实现传统的点灯操作。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务目标理解定时器的概念、工作原理掌握CC2530定时器T1的操作掌握CC2530定时器T3的操作掌握通过中断和查询两种方式实现点灯无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习1.定时器定时器T1简介简介定时器T
27、1的主要功能有:(1)五个捕获/比较通道(2)上升沿、下降沿或任何的边沿输入捕获(3)设置、清楚或切换输出比较(4)自由运行、模或正技术/倒技术操作(5)可被1、8、32、128整除的时钟分频器(6)在每个捕获/比较和最终计数上生成中断请求(7)DMA触发功能无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习2.定时器定时器T1中断中断对T1CNTL寄存器的所有写入访问将复位16位计数器。当达到最终计数值(溢出)时,计数器产生一个中断请求。定时器分配了一个中断向量,当下列定时器事件发生时,将产生一个中断请求:(1)计数器达到最终计数值;(
28、2)输入捕获事件;(3)输出捕获事件。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习3.定时器定时器T1操作操作(1)自由运行模式(Free-RunningMode)在自由模式下,计数器从0 x0000开始,每个活动时钟边沿增加1,当计数器达到0XFFFF,计数器重新载入0X0000,继续递增它的值(2)模模式(ModuloMode)在模模式下,16位计数器从0X0000开始,每个活动时钟边沿增加1,当计数器达到寄存器T1CC0(T1CC0H:T1CC0L)保存的最终计数值,计数器将复位到0X0000,并继续递增。如图1-63所示。(
29、3)正计数/倒计数模式(Up/DownMode)在正计数/倒计数模式,计数器反复从0X0000开始,正计数直到达T1CC0保存的值,然后计数器将倒计数直到0X0000。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习3.定时器定时器T1操作操作无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习4.定时器定时器T1寄存器寄存器定时器1由以下寄存器组成:T1CNTH定时器1计数高位;T1CNTL定时器1计数低位;T1CTL定时器1控制;T1STAT定时器1状态;无线传感网络技术与应用课
30、程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习5.定时器定时器T3概述概述定时器T3和定时器T4是两个8位定时器,定时器T3/T4有以下特点:(1)两个捕获/比较通道;(2)设置,清除或切换输出比较;(3)每时钟可以被以下分频:1、2、4、8、16、32、64、128;(4)在每次捕获/比较和最终计数事件发生时产生中断请求;(5)DMA触发功能。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习6.定时器定时器T3/T4模式控制模式控制(1)自由运行模式(2)倒模式(3)在正/倒定时器模式无线传感网络技
31、术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习7.定时器定时器T3/定时器定时器T4中断中断每一个定时器都分配了一个中断向量,分别为T3和T4。当有以下定时器事件发生时便产生中断请求:(1)计数器到达最终计数值;(2)比较事件;(3)捕获事件。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制知识学习8.定时器定时器3寄存器寄存器定时器3由以下寄存器组成:TnCNT定时器T3计数器T3CTL定时器3控制寄存器T3CCTLn定时器T3通道0/1捕获/比较控制TmCCn定时器T3通道0/1捕获/比较值无线
32、传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务实施1.实验现象实验现象分别利用定时器T1和T3使LED周期性闪烁。2.定时器定时器 T1(查询方式)控制灯闪烁(查询方式)控制灯闪烁CC2530的T1定时器(16位)我们需要配置三个寄存器T1CTL,T1STAT,IRCON。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务实施部分源码/*主函数*/voidmain(void)ucharcount;InitLed();/调用初始化函数InitT1();while(1)if(IRCON0)/查询
33、方式IRCON=0;if(+count=1)/约1s周期性闪烁count=0;LED1=!LED1;/LED1闪烁无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务实施3.定时器定时器 T3(中断方式)控制灯闪烁(中断方式)控制灯闪烁CC2530的T3定时器主要是配置三个寄存T3CTL,T3CCTL0,T3CC0,T3CCTL1,T3CC1。T1定时器查询方式的区别就是此处使用T3定时器(8位),中断方式。寄存器配置如下:T3CTL|=0 x08;/开溢出中断T3IE=1;/开总中断和T3中断T3CTL|=0XE0;/128分频,128/16
34、000000*N=0.5S,N=65200T3CTL&=0X03;/自动重装000 xff65200/256=254(次)T3CTL|=0X10;/启动EA=1;/开总中断无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务实施3.定时器定时器 T3(中断方式)控制灯闪烁(中断方式)控制灯闪烁CC2530的T3定时器主要是配置三个寄存T3CTL,T3CCTL0,T3CC0,T3CCTL1,T3CC1。T1定时器查询方式的区别就是此处使用T3定时器(8位),中断方式。寄存器配置如下:T3CTL|=0 x08;/开溢出中断T3IE=1;/开总中断和
35、T3中断T3CTL|=0XE0;/128分频,128/16000000*N=0.5S,N=65200T3CTL&=0X03;/自动重装000 xff65200/256=254(次)T3CTL|=0X10;/启动EA=1;/开总中断无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务5 CC2530片上系统定时器控制任务小结在本次任务中向大家介绍了CC2530定时器的基础知识,重点讲解了定时器T1和定时器T3。包括定时器的功能、中断方式、操作模式以及相关的寄存器。通过两个实验定时器T1(查询方式)控制灯闪烁、定时器T3(中断方式)控制灯闪烁,让大家能够更加直接的认识到定时器的基本操作
36、。通过做实验,大家能够学习到CC2530定时器的操作方法、寄存器的设置和部分关键性代码的编写,开发者可以对CC2530片上系统的有更加深刻的认识。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信任务描述任务目标知识学习任务实施任务小结无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信任务描述串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式。我们可以把程序中涉及的某些中间量或者其他程序状态信息打印出来显示在电脑上进行调试,目前很多MUC和PC机通信都是通过串口来
37、进行的。我们通过CC2530的串行通信接口来测试数据的发送和接收。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信任务目标理解串口通信接口的概念、特点掌握CC2530串口通信接口寄存器掌握设置波特率的方法掌握串口的发送、接受的操作无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信知识学习1.串行通信接口串行通信接口CC2530有两个USB转串口,分别是USART0和USART1。USART0和USART1是串行通信接口,它们能够分别运行于异步UART模式或者同步SPI模式。UART0对应的外部设置IO
38、引脚关系为:位置1:P0_2-RXP0_3-TX位置2:P1_4-RXP1_5-TXUART1对应的外部设置IO引脚关系为:位置1:P0_5-RXP0_4-TX位置2:P1_7-RXP1_6-TX无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信知识学习2.串行通信接口寄存器串行通信接口寄存器USATR0相关寄存器有以下几种:(1)PERCFG:外设控制寄存器(2)P2DIR:端口2方向和端口0外设优先级控制(3)IEN0:中断使能0寄存器(4)IRCON2:中断标志控制寄存器(5)UxCSR:USARTx控制和状态寄存器(6)UxUCR:USAR
39、Tx串口控制寄存器(7)UxGCR:USARTx通用控制寄存器(8)UxBUF:USARTx接收/发送数据缓冲寄存器(9)UxBAUD:USARTx波特率控制寄存器无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信知识学习3.设置串行通信接口寄存器的波特率设置串行通信接口寄存器的波特率当运行在UART模式时,内部的波特率发生器设置UART波特率。当运行在SPI模式时,内部的波特率发生器设置SPI主时钟频率。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信任务实施1.串口发送串口发送(hello web
40、ee)(1)实验现象在串口调试助手上可以看到不停地收到CC2530发过来的:HELLOWEBEE波特率:115200bps。(2)配置串口步骤(1)配置串口的备用位置,是备用位置1,还是备用位置2。配置寄存器PERCFG外设控制寄存器(2)配置IO,使用外部设备功能。此处配置P0_2和P0_3用作串口UART0(3)配置端口的外设优先级。此处配置P0外设优先作为UART0(4)配置相应串口的控制和状态寄存器。此处配置UART0的工作寄存器(5)配置串口工作的波特率。此处配置为波特率115200(6)将对应的串口接收/发送中断标志位清0,接收/发送一个字节都将产生一个中断,在接收时需要开总中断和
41、使能接收中断,以及运行接收。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信任务实施1.串口发送串口发送(hello webee)(3)实验过程寄存器具体配置如下:PERCFG=0 x00;/位置1P0口P0SEL=0 x0c;/P0_2,P0_3用作串口(外部设备功能)P2DIR&=0XC0;/P0优先作为UART0U0CSR|=0 x80;/设置为UART方式U0GCR|=11;U0BAUD|=216;/波特率设为115200UTX0IF=0;/UART0TX中断标志初始置位0无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6
42、 CC2530片上系统串口通信任务实施1.串口发送串口发送(hello webee)(3)实验过程voidmain(void)/主函数CLKCONCMD&=0 x40;/设置系统时钟源为32MHZ晶振while(CLKCONSTA&0 x40);/等待晶振稳定为32MCLKCONCMD&=0 x47;/设置系统主时钟频率为32MHZIO_Init();InitUART();strcpy(Txdata,”HELLOWEBEE“);/将发送内容copy到Txdata;while(1)UartSend_String(Txdata,sizeof(“HELLOWEBEE“);/串口发送数Delay_ms
43、(500);/延时LED1=!LED1;/标志发送状无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信任务实施2.串口接收和发送串口接收和发送(send&receive)(1)实验现象以abc#方式发送,#为结束符,返回abc。波特率:115200bps(2)实验过程CLKCONCMD&=0 x40;/设置系统时钟源为32MHZ晶振while(CLKCONSTA&0 x40);/等待晶振稳定CLKCONCMD&=0 x47;/设置系统主时钟频率为32MHZPERCFG=0 x00;/位置1P0口P0SEL=0 x3c;/P0_2,P0_3,P0_4
44、,P0_5用作串口,第二功能P2DIR&=0XC0;/P0优先作为UART0,优先级U0CSR|=0 x80;/UART方式U0GCR|=11;/U0GCR与U0BAUD配合U0BAUD|=216;/波特率设为115200UTX0IF=0;/UART0TX中断标志初始置位1(收发时候)U0CSR|=0X40;/允许接收IEN0|=0 x84;/开总中断,接收中断无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务6 CC2530片上系统串口通信任务实施2.串口接收和发送串口接收和发送(send&receive)串口发送字符串函数:voidUart_Send_String(char*
45、Data,intlen)intj;for(j=0;j4;/ADCL 寄存器低 4 位无效value|=(UINT16)ADCH)4);return(value-1367.5)/4.5-4;/根据AD 值,计算出实际的温度,芯片、无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务7 智能水杯的温度采集智能水杯的温度采集任务实施任务实施voidmain(void)/主函数主函数charI;charTempValue6;floatAvgTemp;InitUART0();/初始化串口initTempSensor();/初始化 ADCwhile(1)AvgTemp=0;for(I=0;I6
46、4;i+)AvgTemp+=getTemperature();AvgTemp=AvgTemp/2;/每次累加后除 2无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务7 智能水杯的温度采集智能水杯的温度采集任务小结任务小结在本次任务中向大家介绍如何将采集到内部温度传感器信息通过串口发送到上位机。重点讲解了CC2530的内部温度检测需要配置的寄存器,并且配置了这些寄存器。通过做实验,大家能够学习到CC2530芯片温度测试的代码。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务8 智能水杯的智能水杯的LCD显示显示任务描述任务目标知识学习任务实施任务小结无线传感网络技
47、术与应用课程组无线传感网络技术与应用课程组任务任务8 智能水杯的智能水杯的LCD显示显示任务描述任务描述我们需要使用LCD液晶显示屏来显示温度的数值,在这个任务中我们学习用ZigBeeCC2530来驱动我们的LCD12864液晶屏。LCD调试较串口相比可操作性更强,更直观。无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务8 智能水杯的智能水杯的LCD显示显示任务目标任务目标无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务8 智能水杯的智能水杯的LCD显示显示知识学习知识学习认识网蜂物联网认识网蜂物联网 ZigBee 开发平台。开发平台。无线传感网络技术与应用课程
48、组无线传感网络技术与应用课程组任务任务8 智能水杯的智能水杯的LCD显示显示知识学习知识学习下面是一些重要函数的定义,大家可不必深究,但需要了解其用法:/串行发送IO口定义#defineL_CSP1_2/_CS#defineL_LDP0_0/A0=HdataA0=Lcommend#defineL_CKP1_5/SCLK#defineL_DAP1_6/SI#defineL_BKP0_7/backlight无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务8 智能水杯的智能水杯的LCD显示显示知识学习知识学习/*网蜂WeBeeLCD初始化配置参数*/voidinitLCDM(void
49、)ucharContrastLevel;/定义对比度ContrastLevel=0 xa0;/对比度,根据不同的LCD调节,否则无法显示。SendCmd(0 xaf);/开显示SendCmd(0 x40);/显示起始行为0SendCmd(0 xa0);/RAM列地址与列驱动同顺序SendCmd(0 xa6);/正向显示SendCmd(0 xa4);/显示全亮功能关闭SendCmd(0 xa2);/LCD偏压比1/9SendCmd(0 xc8);/行驱动方向为反向SendCmd(0 x2f);/启用内部LCD驱动电源SendCmd(0 xf8);/升压电路设置指令代码SendCmd(0 x00)
50、;/倍压设置为4XSendCmd(ContrastLevel);/设置对比度无线传感网络技术与应用课程组无线传感网络技术与应用课程组任务任务8 智能水杯的智能水杯的LCD显示显示任务实施任务实施voidmain(void)/*定义显示信息*/uchar*mes1=“WeBeeTechnology”;uchar*mes2=“ZigBeeCC2530F256”;uchar*mes3=“LetsstudyZigBee!”;P0DIR=0XFF;P1DIR=0XFF;ResetLCD();/复位LCDinitLCDM();/初始化LCDClearRAM();/请液晶缓存delay_us(100);/*