已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
无线温控风扇研究与利用毕业设计目录1 绪论51.1智能风扇的发展背景51.1.1 智能风扇现阶段的应用51.1.2智能风扇的发展趋势51.1.3 智能风扇的设计内容62 系统总体设计72.1基于单片机温控风扇和ZigBee温控风扇的两种方案的比较72.2系统总体框架72.3 ZigBee的简介82.3.1 ZigBee的介绍82.3.2 ZigBee的应用82.3.3 ZigBee的主要特性92.3.4 ZigBee的协议架构92.4 cc2530片上系统简介92.4.1 cc2530系统的介绍102.4.2 cc2530的功能102.4.3 cc2530模块及外设说明102.5 DS18b20温度传感器112.5.1 DS18b20温度传感器特点112.5.2 DS18b20的输出信号122.6 L298N电机驱动模块介绍123 硬件设计133.1 ZigBee发送和接收模块设计133.2DS18b20温度传感器模块设计143.3 L298N电机驱动模块设计154 软件软件174.1 软件IAR的介绍174.2软件总体设计流程174.3 ZigBee发送模块设计流程194.4 ZigBee接收模块设计流程214.5温度采集模块设计流程225 系统调试255.1硬件调试255.2软件调试27总 结30致 谢31参考文献32附录A:元器件33附录B:源程序341 绪论1.1智能风扇的发展背景1.1.1 智能风扇现阶段的应用电风扇在我国作为一种老式的家电,在90年代至今依然十分流行,电风扇具有摆放方便,体积轻巧,价格便宜的优点。正是我国对电风扇的广泛需求,人们对风扇的要求也越来越高,希望风扇变的智能化,和人性化,但是,在我国,智能风扇的应用不是很广泛,涉及的领域也比较狭窄,只是在一些高端电子产品中,应用到一点,比如,在笔记本电脑中,就安装有这种智能风扇,当电脑长时间的使用,会发热发烫,电脑传感装置检测到以后,会自动开启风扇,对电脑进行降温,以保证电脑的正常运行。智能风扇的应用还应用在许多电子产品上面,有的还设有报警装置,当外界温度达到警戒温度是,报警装置会发出声音来提醒人们。1.1.2智能风扇的发展趋势智能风扇在人们的生活中带来的好处毋庸置疑,虽然智能风扇在一些高端电子产品上面的应用比较广泛,但是如今,人们更想把智能风扇应用到老式的家电电风扇当中,所以我认为这是以后智能风扇的发展趋势,因此,以后的家用电风扇将是多功能的,智能化的,简单的来说,风扇内部带有报警装置,外部接有温度传感装置,温度显示屏,当外界温度低于一定的温度界限时,电风扇自动关闭,当外界温度在一定温度界限之间,电风扇会提高转速,并保持,但没有到最大转速,当外界温度高于一定的界限时,风扇转速达到最大,并保持,外界的温度会在电风扇的显示屏中显示,所以当外界温度过高时,电风扇会报警,提醒人们注意防暑降温。不管实在白天,还是夜晚人们睡觉时,都会给人们带来很大的方便,所以我相信这种节能的,智能化,多功能的风扇在未来会得到广泛的使用,还可以添加更多的功能,以满足人们的其他需求。1.1.3 智能风扇的设计内容(1) 系统通过温度传感器采集温度信息,并通过无线通信模块传输给单片机,单片机能通过显示电路显示电路实时显示当前温度,要求温度测量精度0.5摄氏度。(2)通过按键可设定温度的上下限定,当温度低于温度的下限值时,电机不转,当温度介于上限和下限之间时,电机转速缓慢,当温度大于上限值时,电机转速最快。可以实现对环境温度的调控。(3)智能调节风扇转速,随着温度的上升,自动调节风扇,实现无级调速;2 系统总体设计2.1基于单片机温控风扇和ZigBee温控风扇的两种方案的比较单片机温控智能风扇设计起来比较简单,成本较低,程序和软件比较容易。但无线传输距离短,实现功能较少,而基于ZigBee温控智能风扇不管是模块连接还是程序设计都比较复杂,成本较高,但无线传输距离长,距离最长能达到1.5公里,而且功耗低,抗干扰能力强,更具有安全性。因此本次设计我准备采用基于ZigBee无线温控风扇。2.2系统总体框架Zigbee发送模块智能风扇技术在家用电风扇中的使用,在当代还没有普及。而我自己在本设计只是作一下简单功能设计和实现,具体是准备两块ZigBee核心板(带有cc2530片上系统)一个当做发送模块,一个作为接收模块。发送模块4.5伏供电,外接ds18b20温度传感器,发送模块4.5伏供电,外接电机驱动,12伏小风扇接驱动,6伏电源供电驱动并连接上升压模块,电压升至12伏给风扇供电。具体框图如下; 4.5伏电源 18b20温度传感器 发送天线12V小风扇接收天线驱动模块4.5伏电源ZigBee接收模块 6伏电源升压模块 图2-1温控智能风扇总体设计框架图2.3ZigBee的简介2.3.1ZigBee的介绍ZigBee其核心是多道无线通信装置和微控制器,它们被集成在一块或两块半导体芯片上,并且封装在很小的熟料制品里面。一般采用廉价的8位微处理器,将无线射频收发模块集成在一块芯片上,外围接上几个阻容和晶振等器件,再连接一些A/D、D/A、IO接口及控制电路,即组成了诸如各种智能控制节点、无线传感器网络节点的核心控制模块。但是,只有这些还是不够的,还需要在其上加载合适的无线通信软件和控制程序,才能组成完整的控制模块。2.3.2ZigBee的应用Zigbee技术的目标就是针对工业,智能交通建筑,家庭自动化,遥测遥控,汽车自动化、农业自动化和医疗护理等,例如灯光自动化控制,传感器的无线数据采集和监控,油田,电力,矿山和物流管理等应用领域。通常,符合如下条件之一的应用,就可以考虑采用Zigbee技术做无线传输:1需要数据采集或监控的网点多;2要求传输的数据量不大,而要求设备成本低;3要求数据传输可性高,安全性高;4设备体积很小,不便放置较大的充电电池或者电源模块;5地形复杂,监测点多,需要较大的网络覆盖;2.3.3ZigBee的主要特性ZigBee是一种无线连接,可工作在2.14GHz(全球流行)、868MHz(欧洲流行)和915MHz(美国流行)3个频段上,分别具有最高250kbit/s、20kbit/s和40kbit/s的传输速率,它的传输距离在1075m的范围内。ZigBee显著的特点就是低速率、低功耗,低成本、短时延、免许可无线通信频段、多种组网方式、近距离通信、可靠数据传输、大容量网络、安全可靠、自配置和灵活的网络拓扑结构。2.3.4 ZigBee的协议架构ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图2-2 Zigbe堆栈框架2.4 cc2530片上系统简介2.4.1 cc2530系统的介绍CC2530 是用于2.4-GHzIEEE 802.15.4、ZigBee 和RF4CE 应用的一个真正的片上系统(SoC)解决方案。它能够以非常低的总的材料成本建立强大的网络节点。CC2530 结合了领先的RF 收发器的优良性能,业界标准的增强型8051 CPU,系统内可编程闪存,8-KB RAM 和许多其它强大的功能。CC2530 有四种不同的闪存版本:CC2530F32/64/128/256,分别具有32/64/128/256KB 的闪存。CC2530 具有不同的运行模式,使得它尤其适应超低功耗要求的系统。运行模式之间的转换时间短进一步确保了低能源消耗。2.4.2 cc2530的功能RF/布局:适应2.4-GHz IEEE 802.15.4 的RF 收发器极高的接收灵敏度和抗干扰性能可编程的输出功率高达4.5 dBm只需极少的外接元件只需一个晶振,即可满足网状网络系统需要6-mm 6-mm 的QFN40封装适合系统配置符合世界范围的无线电频率法规:ETSI EN 300 328 和EN 300440(欧洲),FCC CFR47 第15 部分(美国)和ARIB STD-T-66(日本)运行条件:cc2530在此条件下运行能达到最好的效果。运行环境温度在-40摄氏度到125摄氏度之间。运行供电电压在2伏到3.6伏之间。2.4.3 cc2530模块及外设说明CC2530 包括许多不同的外设,允许应用程序设计者开发先进的应用。调试接口执行一个专有的两线串行接口,用于内电路调试。通过这个调试接口,可以执行整个闪存存储器的擦除、控制使能哪个振荡器、停止和开始执行用户程序、执行8051 内核提供的指令、设置代码断点以及内核中全部指令的单步调试。使用这些技术,可以很好地执行内电路的调试和外部闪存的编程。设备含有闪存存储器以存储程序代码。闪存存储器可通过用户软件和调试接口编程。闪存控制器处理写入和擦除嵌入式闪存存储器。闪存控制器允许页面擦除和4 字节编程。I/O 控制器负责所有通用I/O 引脚。CPU 可以配置外设模块是否控制某个引脚或它们是否受软件控制,如果是的话,每个引脚配置为一个输入还是输出,是否连接衬垫里的一个上拉或下拉电阻。CPU 中断可以分别在每个引脚上使能。每个连接到I/O 引脚的外设可以在两个不同的I/O 引脚位置之间选择,以确保在不同应用程序中的灵活性。系统可以使用一个多功能的五通道DMA 控制器,使用XDATA 存储空间访问存储器,因此能够访问所有物理存储器。定时器1是一个16 位定时器,具有定时器/计数器/PWM 功能。它有一个可编程的分频器,一个16 位周期值,和五个各自可编程的计数器/捕获通道,每个都有一个16 位比较值。每个计数器/捕获通道可以用。2.5 DS18b20温度传感器 2.5.1 DS18b20温度传感器特点本次设计,我选用的是ds18b20温度传感器。特点是:它有独特的单线接口仅需一个端口引脚进行通讯,每个器件有惟一的64位的序列号存储在内部存储器中,不需要外部器件,可通过数据线供电。供电范围3.0伏到5.5伏之间,测温范围在-55摄氏度到125摄氏度之间,并且温度在-10和85摄氏度之间精度为正负5摄氏度。最多在750ms内将温度转换为12位数字,用户可定义的非易失性温度报警设置。而且它应用广泛包括温度控制,工业系统,消费品,温度计或任何热感测系统。实物图如下:图2-3 DS18b20温度传感器GND 接地,DQ 数据I/O,VDD可选电源电压。2.5.2 DS18b20的输出信号输出的是数字信号,16位补码数值,要根据你所设定的位数进行数据处理转化为十进制数值。如设定是9位,则16位的最后一位是小数值,是0则小数值是0,是1则小数值是0.5,默认为12位,16位补码的最后四位是小数部分的值。对于DS18B20的使用要先初始化,发送相关指令工作2.6 L298N电机驱动模块介绍L298电机驱动采用L298N双H桥直流电机驱动芯片,驱动部分端口供电范围为+5伏到+35伏之间;如需要板内取电,则范围为+7伏到+35伏之间。逻辑部分工作电流范围为0到36毫安之间,最大功耗20W(T=75摄氏度时),存储温度-25到130摄氏度之间,驱动板尺寸:55mm*49mm*33mm(带固定铜柱和散热片高度),重量为33g,还带有控制方向指示灯,逻辑部分板内取电接口等。3 硬件设计3.1 ZigBee发送和接收模块设计 ZigBee发送和接收模块主要有cc2530片上系统和PL2303转换器的底板组成包括LCD座或OLED屏,仿真器接口,气体传感器座,DC电源座,USB供电串口,开关,组网指示灯,按键(可手动组网),串口收发指示灯,复位键,电源指示灯,人体感应座,核心板引脚与排针,I/O口,降压电路,继电器及光敏和热敏座,DHT11或DS18B20,接口。图3-1发送接收模块电路原理图ZigBee协议栈由一组子层构成。每层为其上层提供提供一组特定的服务:一个数据实体提供数据传输服务;一个管理实体提供全部其他服务。每个服务实体通过一个服务接入点为其上层提供服务接口,并且每个SAP提供了一系列的基本服务指令来完成相应的功能。本次设计用两个天线分别接cc2530片上系统,对应引脚是cc2530上的第25,26脚,如下图3-2所示图3-2天线引脚在cc2530上的位置本次设计接收发送模块是3.5伏供电,但供给模块的电源为4.5伏,需要用到降压电路,具体连接和电路如下:图3-3 ZigBee核心板上的降压电路3.2 DS18b20温度传感器模块设计DS18B20的核心功能是它的直接读数字的温度传感器。Ds18b20启动后保持低功耗等待状态;0当需要执行温度测量和AD转换时,总线控制器发出44h命令。在那之后,产生的温度数据以2个字节的形式存储到高速暂存器的温度寄存器中,ds18b20继续保持等待状态。当ds18b20由外部电源供电时,总线控制器在温度转换指令之后发起“读时序”,ds18b20正在温度转换中返回0,结束后返回1。它在PL2303上,VDD接3.3伏,DQ接P0.7I/O口,GND接地即P1.0口。它的电路原理图如下所示:图3-4 DS18b20原理图3.3 L298N电机驱动模块设计该驱动板可驱动2路直流电机,使能端ENA,ENB为高电平时有效,控制方式及直流电机状态表如下所示表3-1直流电机驱动状态表ENAIN1 IN2直流电机状态0XX停止100制动101正转110反转111制动若要对直流电机进行PWN调速,需设置IN1和IN2,确定电机的转动方向,然后对使能端输出PWN脉冲,即可实现调速。当使能信号为0时,电机处于自由停止状态;当使能信号为1时,且IN1和IN2为00或11时,电机处于制动状态,阻止电机转动。以下是L298N电路驱动电路图:由于它的工作电压范围在5到36伏之间,我把电机驱动的使能端ENA接ZigBee底板上第P1.0I/O口,IN1接底板感应座5伏I/O口,IN2接底板感应座上的GND。并把电机驱动上的12伏输入及电源地接12负电源。并选择一端(如马达B输出)的VCC接小风扇的红线,GND接小风扇的黑线。图3-5L298N电机驱动原理图4 软件软件4.1 软件IAR的介绍IAR Embedded workbench是瑞典IAR Systems 公司为微处理器开发的一个集成开发环境简称IAR EW,支持ARM,AVR,MSP430等芯片内核平台。主要特点如下:别补兵1.高度优化的IAR ARM C/C+ Compiler。2.一个通用的IAR XLINK Linker。3.功能强大的编辑器。4.项目管理器。5.命令行实用程序。6.IAR C-SPY调试器。IAR Systems是嵌入式系统开发工具和服务的供应商。公司成立于1983年,提供的产品包括:带有C/C+编译器和调试器的集成开发环境(IDE)、实时操作系统和中间件、开发套件、硬件仿真器以及状态机建模工具。公司总部在位于瑞典乌普萨拉市,IAR Systems 于1999年1月4日在纳斯达克OMX斯德哥尔摩上市。爱亚软件技术咨询(上海)有限公司是IAR Systems在中国的全资子公司。4.2软件总体设计流程软件程序主要实现ZigBee发送模块,温度传感模块,ZigBee接收模块,通信模块等各个模块的功能实现和总体连接并实现。发送模块用来发送数据,温度传感模块就是DS18b20用来采集温度,ZigBee接收模块接收才过来的数据,通信模块是用来实现发送和接收模块之间无线通信的。具体流程图如下; 开始初始化读取ds18b20上的外界温度读取预设下限温度外界温度是否大于预设上限温度外界温度是否大于预设下限温度 增加风扇转速 是 是 否保持风扇风速 否 结束图4-1软件总体流程图程序初始化编程如下:void InitCLK() CLKCONCMD &= 0x40; /设置系统时钟源为32MHZ晶振 while(CLKCONSTA & 0x40); /等待晶振稳定为32M CLKCONCMD &= 0x47; /设置系统主时钟频率为32MHZ 功能: 定时器初始化,系统不配置工作时钟时默认是2分频,即16MHz。void InitT3() T3CTL |= 0x08 ; /开溢出中断 T3IE = 1; /开总中断和T3中断 T3CTL |= 0xE0; /128分频,128/16000000*N=0.5S,N=62500 T3CTL &= 0x03; /自动重装 000xff 62500/255=245(次) T3CTL |= 0x10; /启动 EA = 1; /开总中断功能: 串口初始化函数void InitUart() PERCFG = 0x00; /位置1 P0口 P0SEL = 0x0c; /P0用作串口 P2DIR &= 0xc0; /P0优先作为UART0 U0CSR |= 0x80; /串口设置为UART方式 U0GCR |= 11; U0BAUD |= 216; /波特率设为115200 U0CSR |= 0x40; /UART接收器使能 UTX0IF = 0; /UART0 TX中断标志初始置位0功能: 串口发送函数4.3 ZigBee发送模块设计流程ZigBee发送模块主要是把ds18b20采集到的温度进行解析编译发送给接收模块,具体设计流程图如下:初始化等待初始化完成启动温度测量并读取等待转化完成读取高八位和低八位发送图4-2 发送模块流程图发送模块比较简单将处理后温度数据发送给接收模块就可以了。具体程序如下:static void appSwitch() /发送/char str9=DS18B20:; uint8 strTemp6; uchar ucTemp; float fTemp; /halLcdWriteLine(HAL_LCD_LINE_1, Switch); /halLcdWriteLine(HAL_LCD_LINE_2, Joystick Push); /halLcdWriteLine(HAL_LCD_LINE_3, Send Command);#ifdef ASSY_EXP4618_CC2420 halLcdClearLine(1); halLcdWriteSymbol(HAL_LCD_SYMBOL_TX, 1);#endif pTxData0 = 0; pTxData1 = 1; pTxData2 = 2; pTxData3 = 3; / Initialize BasicRF basicRfConfig.myAddr = SWITCH_ADDR; if(basicRfInit(&basicRfConfig)=FAILED) HAL_ASSERT(FALSE); / 由于模块只需要发射,所以把接收屏蔽掉以降低功耗。 basicRfReceiveOff();4.4 ZigBee接收模块设计流程ZigBee接收模块是把发送模块发送过来的数据进行处理,转换成信号给驱动。具体流程图如下:开始初始化接收来自发送模块的温度数据信号等待转化转化完成对温度数据进行处理结束图4-3接收模块流程图 接收模块对温度数据进行处理并转化成电流或电压信号给驱动治风扇转动。具体程序如下:while (TRUE) while(!basicRfPacketIsReady(); /检查模块是否已经可以接收下一个数据,如果准备好刚返回 TRUE /把收到的数据复制到buffer中 if(basicRfReceive(pRxData, APP_PAYLOAD_LENGTH, NULL)0) if(pRxData3 = 3) /判断接收到的数据是否就是LIGHT_TOGGLE_CMD halLedToggle(1); /改变Led1的状态 wen_du=(pRxData0&0x0f)*10+(pRxData1&0x0f); if(wen_du=20&wen_du=25&wen_du=30&wen_du35) PWM_ON=100; else if(wen_du20) PWM_ON=100; UartSendString(str, 9); UartSendString(pRxData, 2); UartSendString(str1, 3); UartSendString(n, 1); 4.5温度采集模块设计流程本模块是实现对DS18b20温度的读取,并且转化为十六进制数据进行处理。具体流程图如下:开始初始化DS18b20发温度转换指令(44H)转换完成 否转换完成是读取转换后的字节并保存 温度处理结束图4-4温度模块流程图首先,DS18B20输出的一位(1 bit)信号是不能被单片机变为多位的,一位就是一位,单片机需要连续多次读取DS18B20输出的一位信号,来合成它需要的信息。比如DS18B20的温度输出是16位数据,那么单片机就要读16次1 bit数据。读取温度伪代码(temperature为保存温度数值的整型变量): for ( i=1; i=16; i+) onebit=读取1位数据的函数(); temperature=temperature|onebit; if(i!=16) temperature=temperature1; 然后,单片机是如何读取DS18B20输出的某1bit信息的呢?在具体回答前先明确一点,这一过程必须在单片机拉低数据线,发起读数据过程之后的15微秒(us)内完成,否则读不到正确数据(注意:发起通信时总是由单片机将数据总线先拉低,没有通信时数据总线保持高电平状态)。初始化DS18B20要严格控制好时序,即DS18B20的复位。具体温度处理模块程序如下:发送时的温度处理:while (TRUE) memset(strTemp, 0, ARRAY_SIZE(strTemp); /UartSendString(str, 8); /输出提示信息/厂家提供的程序温度值不带小数,Ds18B20本身是支持1位小数位的,修改后使其支持,精度更高 #if defined(FLOAT_TEMP) fTemp = floatReadDs18B20(); /温度读取函数 带1位小数位 sprintf(strTemp, %.01f, fTemp); /将浮点数转成字符串 /UartSendString(strTemp, 5); /通过串口发送温度值到电脑显示#else ucTemp = ReadDs18B20(); /温度读取函数 strTemp0 = ucTemp/10+48; /取出十位数 strTemp1 = ucTemp%10+48; /取出个位数 /UartSendString(strTemp, 2); /通过串口发送温度值到电脑显示#endif /UartSendString(n, 1); / 回车换行 Delay_ms(100); /延时函数使用定时器方式 pTxData0 = strTemp0; pTxData1 = strTemp1;接收时温度的处理:char str9=当前温度:; char str13= 度;#ifdef ASSY_EXP4618_CC2420 halLcdClearLine(1); halLcdWriteSymbol(HAL_LCD_SYMBOL_RX, 1);#endif / Initialize BasicRF basicRfConfig.myAddr = LIGHT_ADDR; if(basicRfInit(&basicRfConfig)=FAILED) HAL_ASSERT(FALSE); basicRfReceiveOn();通过以上各个模块的连接和编程,若成功,就可以进行下面的系统调试了。5 系统调试本次设计主要是实现.基于ZigBee的无线温控智能风扇,分为各个模块,并对各个模块进行连接,和编程调试最终实现功能。5.1硬件调试本次设计采用ZigBee温控风扇,设好上下限温度,当外界温度低于下限温度是风扇转速会降低,当外界温度高于上线温度时,风扇转速变快,具体硬件运行实物图如下:图5-1总模块运行情况5.1.1发送模块调试首先用一个4.5伏电源盒给发送模块供电,并把ds18b20插入模块上特有的传感器座,打开开关,看红蓝灯是否亮,亮说明成功,注意ds18b20不要接反了。具体实物图如下:图5-2发送模块5.1.2接收模块和驱动模块接收模块和驱动我把它们放在一起,要注意接模块和驱动的连接,注意引脚,不要搞错,这个可以参照原理图,正负也不要接反了,还有蓝灯要闪烁表明在进行数据传输。具体实物图如下:图5-3接收模块和驱动模块5.1.3 6伏电源盒升压模块这个没什么好说的,由于我的小风扇是12伏供电,但我只有6伏电源所以我准备了一个升压模块用来升到12伏,输入接电源,输出接驱动模块,同样注意的是,正负极要对应,且不要接反了。具体实物图如下:图5-4 升压模块5.2软件调试5.2.1调试项目从菜单中选定调试器。从动作菜单中选定单步以启动源代码的执行。源代码将显示在屏幕上,第一条快执行语句被突出显示。5.2.2查看变量跟踪用户可在其上设置看点的变量。5.2.3设置断点用户可通过在规定的语句设置断点而使程序执行到该语句。5.2.4使用Make(生成)命令代替单独编译和汇编项目中的文件并接着连接他们,用户可以使用Make命令自动使项目得到更新。5.2.5编辑饱和文件并生成调试。具体图片如下:IAR开发环境包含的文件:图5-1IAR环境包含的文件 编译下载按钮及环境界面:图5-2编译下载环境界面 错误及警告显示:图5-3错误及显示画面温度可以用电脑上面的串口调试助手来显示。最后,通过软硬件调试相互结合,虽然遇到了不少的问题,但都成功的解决了。最终实现本次设计的成功。总 结本设计主要是基于ZigBee无线温控智能风扇,当时选到这个题目,我的心就变得非常沉重,ZigBee虽然学过,但只是片面学习了下ZigBee的基础知识,而且这个编程还需要用到新的开发软件IAR ,对这个软件,我是一无所知的,我只能从头开始,我先去图书馆和网络上查阅了大量的关于ZigBee的资料,以及cc2530和PL2303的资料,虽然这些资料很多很复杂,但我只要了解它的大概就可以了,通过对这些知识的了解,我斟酌的从网上买相关的硬件,并尝试的自己连接,经过网上查阅资料和询问老师和同学,我成功的把个硬件模块连接成功。但是到下面的软件使用,和程序编程,我再次遇到了难题,面对新的开发环境,我不知所措,我只有和卖家沟通,和同学交流,花了很长的时间才基本学会他的使用和下载方法,在编程方面,我也不是很懂,自己从简单的程序开始编写下载,不懂的就问同学和老师,经过20几天的努力,程序成功的出来了,剩下的就比较简单了,把硬件和软件结合起来,再通过软件IAR进行调试就可以了。参考文献1. 海涛,邹鸣,骆武宁,陈明媛.基于ATmega单片机的DS18B20温度采集系统J.通信与信息技术,2010,1(14)。2.吴却,廖力清.一种基于Zigbee的智能家居无线传感器网络的设计J.桂林航天工业高等专科学校学报,2010年,4月。3.钟雄林.基于ARM9的无线智能家居控制系统J.信息科技,2010年,9月。4.高雨明.浅析Zigbee无线传输技术及其应用J. 信息与电脑,2010年,8月。5.杨浩杰,韩秀玲.一种智能家居监控系统的设计J.微型电脑应用,2011年,4月。6.高守玮,吴灿阳.zigbee技术实践教程m.北京航空航天大学出版社,2009,6 。7.黄磊,付菲闵,华松.基于zigbee技术的智能家居方案研究j.2009。8.余冰,赵柯.基于zigbee的智能家居远程控制系统j.电子设计应用,2009,8。附录A:元器件 元器件名称 元器件个数ZigBee cc2530模块 2个L298N电机驱动 1个12伏小风扇 1个升压模块 1个DS18b20温度传感器 1个4.5伏电源盒 2个6伏电源盒 1个导线 若干附录B:源程序#include #include #include #include #include #include #include hal_mcu.h#include hal_button.h#include hal_rf.h#include util_lcd.h#include basic_rf.h#include ds18b20.h #include #include /* CONSTANTS*/ Application parameters#define RF_CHANNEL 25 / 2.4 GHz RF channel/ BasicRF address definitions#define PAN_ID 0x2007#define SWITCH_ADDR 0x2520#define LIGHT_ADDR 0xBEEF#define APP_PAYLOAD_LENGTH #define LIGHT_TOGGLE_CMD / Application states#define IDLE #define SEND_CMD #define ARRAY_SIZE(arr) (sizeof(arr) / sizeof(arr)0)/#define FLOAT_TEMP / Application role#define NONE #define SWITCH #define LIGHT #define APP_MODES #define DCOUT P1_0 #define jia_su P0_7 #define jian_su P0_4 #define ting_zhi P1_3 #define CYCLE 100 unsigned char PWM_ON=50; unsigned char wen_du=0;unsigned char dofly_DuanMa11=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0XBF;unsigned char dofly_WeiMa4=0xef,0xdf,0xbf,0x7f; char fa_flag=0;uint8 appMode = LIGHT; typedef unsigned char uchar;typedef unsigned int uint;/* LOCAL VARIABLES*/static uint8 pTxDataAPP_PAYLOAD_LENGTH;static uint8 pRxDataAPP_PAYLOAD_LENGTH;static basicRfCfg_t basicRfConfig;/ Mode menustatic menuItem_t pMenuItems =#ifdef ASSY_EXP4618_CC2420 / Using Softbaugh 7-seg display L S , SWITCH, LIGHT , LIGHT#else / SRF04EB and SRF05EB Switch, SWITCH, Light, LIGHT#endif;static me
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 苏州市中医院急诊法律知识考核
- 常州市中医院手部功能重建技术考核
- 南通市人民医院牵引治疗技术专项考核
- 苏州市人民医院放疗科主治医师晋升考核
- 萍乡市中医院双定位碎石技术准入考核
- 登山祈福活动方案
- 疫情防控解封活动方案
- 线上展会活动方案
- 粮仓考核活动方案
- 篮球明星活动方案
- 2.1.4大气的水平运动课件高中地理鲁教版必修一
- 2024年河西学院公开招聘辅导员笔试题含答案
- 骨科PDCA持续质量改进
- ST易购:长沙家乐福超市有限责任公司股东全部权益价值项目资产评估报告
- 车辆应急安全培训课件
- 铝合金熔铸安全培训课件
- 家具制造业2025年原材料价格波动对行业市场发展趋势影响报告
- 食品安全风险监测试题案例分析及参考答案
- 2024-2025学年广东省深圳市南山区五年级(下)期末数学试卷
- 低压作业实操科目三安全隐患图片题库
- 布达拉宫课件
评论
0/150
提交评论