按键控制基于CC2530单片机的流水灯_第1页
按键控制基于CC2530单片机的流水灯_第2页
按键控制基于CC2530单片机的流水灯_第3页
按键控制基于CC2530单片机的流水灯_第4页
按键控制基于CC2530单片机的流水灯_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、按键控制基于CC2530单片机的流水灯设计 080900922 徐大伟 电子0801通过两个月的专业实习,主要是设计按键来控制基于CC2530单片机的流水灯。本次设计用LED1,LED2,LED3 灯及按键S1 为外设。采用P10、P11、P14 口为输出口,驱动LED1/LED2/LED3,P01 口为输入口,接受按键信号输入(高电平为按键信号)。 以下是对于本次专业实习所用到的模块的介绍。1.高性能2.4G 射频模块 Q2530RFQ2530RF是丘捷技基于TI公司第二代2.4GHz IEEE 802.15.4 / RF4CE/ZigBee的第二代片上系统解决方案CC2530 F256的全

2、功能模块,集射频收发及MCU控制功能于一体。外围原件包含一颗32MHz晶振和一颗32.768KHz晶振及其他一些阻容器件。射频部分采用巴伦匹配和外置高增益SMA天线,接收灵敏度高,发送距离远,空旷环境最大传输距离可达400米。模块引出CC2530所有IO口,便于功能评估与二次开发。2.多功能开发板Q2530EB多功能扩展板Q2530EB 可支持多种射频主控模块(例如Q2530RF等),配置有串口液晶显示接口,USB供电接口,DC 5V电源接口,电池接口,RS232接口,DEBUG接口,五向按键及指示灯,红外遥控信号接收/发射等模块。所有的外设均通过SPI总线/UART /DEBUG等接口与射频

3、模块Q2530RF 相连,并完全受Q2530RF 控制和访问。多功能仿真扩展板Q2530EB 采用三种电源供电方式:DC 5V供电、USB接口供电、电池供电,可在插座P5设置跳线选择,PIN1-PIN2 为电池供电,PIN2-PIN3 为外接直流电源或者USB接口供电。电源开关为P4。 Q2530EB 板卡背面的电池盒可放置3节5号干电池,输出电压3.44.5V,板载电源电路将其调整到+3.3V 稳定的直流电压输出供后级使用。当电池电压低于3.4V 时,应更换电池以保持模块正常工作。 Q2530EB 带有1个DC 5V的电源适配器接口P2和一个USB接口P1,输入电压经过稳压器降压为+3.3V

4、输出供后极使用。Q2530EB 液晶显示模块提供串口控制方式,液晶显示模块放置于P12 的奇数脚侧,且116脚对应于P12的131脚, 与TI 官方SmartRF05EB 不同,我司多功能仿真扩展板Q2530EB 液晶显示模块为选配部件,选用128*64 的点阵图形液晶显示模块,并提供该液晶模块的驱动源代码。对不想在这个环节浪费精力的项目开发者来说,我司已为您准备好TI 公司Z-Stack/Basic RF 等几个平台下的液晶显示驱动文件,您只需将该文件将TI 官方资料中同名文件替换即可。多功能仿真扩展板Q2530EB配置的RS232接口可用于与其他外设进行通讯。电路上采用U5进行RS232电

5、平转换。通过RS232插座P10 与外设相连。 串口设有电源跳线P9,用于设置串口芯片启动和关闭。 串口带有两个收发指示灯D5、D6,分别用于表示串口是否收到或在发送数据,D7为串口电源指示灯。 多功能仿真扩展板Q2530EB 的主控部分为外接的射频控制模块。通过P14、P15 与Q2530RF 控制模块连接。 多功能仿真扩展板Q2530EB提供DEBUG接口P13与仿真器相连,并将相关信号(SPI总线,DEBUG信号等)通过插座P14、P15连接至射频控制模块Q2530RF,这些信号线也可通过P11进行断开。 多功能仿真扩展板Q2530EB 提供一个五相按键(U3)、四个轻触按键(S1/S2

6、/S3/S4)、六颗LED(D1/D2/D3/D4/D8/D9)显示。 U3可以检测五个方向(中心、向上、向下、向左、向右)和一个按键动作。这样的话就需要有KEY_UP、KEY_DOWN、KEY_LEFT、KEY_RIGHT、KEY_PUSH 五个信号来描述方向按键动作。如果用五个AD 口来采样信号,对某些射频控制模块来说是不现实的或者说不经济的。在与射频控制模块Q2530RF 配合时,Q2530EB 提供两个信号KEY_MOVE, KEY_LEVEL来描述按键动作。当按键朝任何方向移动或被按下时,KEY_MOVE 为高电平。同时,另一个信号KEY_LEVEL的值来表述按键方向。四个轻触按键(

7、S1/S2/S3/S4)中S4 为系统复位键(RESET),S3 为RemoTI开发系统定义按键,S1、S2为Zigbee开发系统定义按键 。六个LED(D1/D2/D3/D4/D8/D9)中D1/D2/D3/D4为Zigbee 开发系统定义LED,D8/D9为RemoTI开发系统定义LED显示。 多功能扩展开发板Q2530EB配置一个串口FLASH(U7)用于数据和参数的存储。 红外遥控信号的输入由U8 及其他一些阻容件完成,IR 信号经解调去载波后输入射频控制模块Q2530RF。红外遥控信号的输出由射频控制模块Q2530RF 直接驱动红外发射二极管D10完成发射。 板上含有一个10k的电位

8、器,方便用户进行模拟量A/D采样的学习与实验,电位器与2530的跳线连接默认是断开的,实验前应将P16的25、26两脚用跳线帽短接;由于电位器、液晶背光、备用LED三个信号复用了2530的同一个管脚,使用时还应将P11的31、32脚和P16的27、28脚也断开。 3.多功能电池板Q2530BBQ2530BB 的射频控制板接口定义同Q2530EB 板保持一致。 延续Q2530EB 的三种供电方式:DC5V、USB或电池供电。可在插座P5 设置跳线选择,PIN1-PIN2 为电池供电,PIN2-PIN3 为外接直流电源或USB供电。电源开关为P4, 开关旁有”ON”/”OFF”字符指示。 Q253

9、0BB提供DEBUG接口P10与仿真器相连,相关信号(SPI总线、DEBUG信号等)通过插座P8、P9连接至射频控制模块Q2530RF,也可通过P11进行相关信号的连接与断开选择。用户可在PC上通过仿真器实现对射频控制模块Q2530RF的程序仿真调试和下载。 Q2530BB 同样提供与仿真器配合实现协议分析仪Packet Sniffer的功能。Q2530BB 提供1个轻触按键S2和1个复位按键S1。同时提供两个LED指示灯D1和D2。 Q2530BB 采用一个光敏电阻构成光照度传感器电路,一个温敏电阻构成的温度传感器电路,然后输入IC 进行AD 转换。开发系统提供了zstack组网时,对两路外

10、部传感器电压采样的样例程序。下面是本次设计的流程图:开始PI口初始化S1 继续判断有按键否依次点亮灯3,2,1S0 复位依次熄灭灯3,2,1S1 继续判断有按键否设计相关寄存器:P1,P1DIR,P0SEL,P0INP,P0,P0DIRP0SEL(0XF3) P0 7:0功能设置寄存器,默认设置为普通I/O 口 P0INP(0X8F) P07:0 作输入口时的电路模式寄存器 P0(0X80) P07:0 可位寻址的I/O 寄存器 P0DIR(0XFD) P0口输入输出设置寄存器,0:输入 ,1:输出 程序功能:本设计程序实现按键控制LED 灯:开机按键一次,LED3、LED2、LED1 依次点

11、亮;再次按键,LED3、LED2、LED1 依次熄灭;如此循环。 本次实习的程序代码如下所示:/BY QIUJIE TECH.INC #include <ioCC2530.h> #define uint unsigned int #define uchar unsigned char /定义控制灯的端口 #define RLED P1_0 /定义LED1为P10口控制 #define GLED P1_1 /定义LED2为P11口控制 #define YLED P1_4 /定义LED3为P14口控制#define KEY1 P0_1 /定义按键为P01口控制 /函数声明 void D

12、elay(uint); /延时函数声明 void InitIO(void); /初始化函数声明 void InitKey(void); /初始化按键函数声明 uchar KeyScan(void); /按键扫描函数声明 uchar Keyvalue = 0 ; /定义变量记录按键动作 uint KeyTouchtimes = 0 ; /定义变量记录按键次数 /* /按键初始化 */ void InitKey(void) P0SEL &= 0X02; P0DIR &= 0X02; /按键在P01口,设置为输入模式 P0INP |= 0x02; /上拉 /* /初始化程序,将P10

13、、P11、P14定义为输出口,并将LED灯初始化为灭 */ void InitIO(void) P1DIR |= 0x13; /P10、P11、P14定义为输出 RLED = 0; GLED = 0; YLED = 0; /LED灯初始化为灭 /* /按键动作记录函数 */ uchar KeyScan(void) if(KEY1 = 1) /高电平有效 Delay(100); /检测到按键 if(KEY1 = 1) while(KEY1); /直到松开按键 return(1); return(0); /* /主函数 */ void main(void) InitIO(); /初始化LED灯控制IO口 InitKey(); /初始化按键控制IO口 while(1) Key

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论