基于WIFI模块的无线数据传输报告.docx

上传人:罗晋 文档编号:10688118 上传时间:2021-05-31 格式:DOCX 页数:24 大小:315.84KB
返回 下载 相关 举报
基于WIFI模块的无线数据传输报告.docx_第1页
第1页 / 共24页
基于WIFI模块的无线数据传输报告.docx_第2页
第2页 / 共24页
基于WIFI模块的无线数据传输报告.docx_第3页
第3页 / 共24页
基于WIFI模块的无线数据传输报告.docx_第4页
第4页 / 共24页
基于WIFI模块的无线数据传输报告.docx_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《基于WIFI模块的无线数据传输报告.docx》由会员分享,可在线阅读,更多相关《基于WIFI模块的无线数据传输报告.docx(24页珍藏版)》请在三一文库上搜索。

1、基于 WIFI-模块的无线数据传 输报告作者:日期:计算机科学与技术学院课程设计报告(201 4 2 0 15学年第2学期)课程名称:基于 WIFI模块的无线测温传输系统班 级:电子1204班学 号: P 140212040 4, P1 40 2 12043 0姓 名: 陈磊周艳卒指导教师:武晓光 胡方强 包亚萍 袁建华 毛钱20 15年0 7月1 .系统总体设计本章主要内容是论述基于 51单片机的温度采集系统的总体设计以及方案论证。本系统由单片机、温度信号采集与 A/D转换、人机交互、电源系统单元、通信单元五部分组成,功能模块具体实现的器件的不同,将直接影响整个系统的性能及成本,为了达到高效

2、、实用的目的,在系统设计之前的方案论证是十分重要的。2 .本系统工作流程单片机:该部分的功能不仅包括向温度传感器写入各种控制命令、读取温度数据、数据处理。单片机是整个系统的控制核心及数据处理核心。数字温度传感器DS1 8 B20:本部分的主要作用是用传感器检测模拟环境中的温度信号,温度传感器上电流将随环境温度值线性变化。再把电流信号转换成电压信号,使用A/D转换器将模拟电压信号转换成单片机能够进行数据处理的数字电压信号,本设计采用的是数字温度传感器,以上过程都在温度传感器内部完成。电源系统单元:本单元的主要功能是为单片机提供适当的工作电源,同时也为其他模块提供电源。在本设计当中,电源系统输出+

3、5 V的电源。3 .单片机主控单元本部分主要介绍单片机最小系统的设计。单片机系统的扩展,一般是以基本最小系统 为基础的。所谓最小系统,是指一个真正可用的单片机最小配置系统,对于片内带有程序存储器的单片机,只要在芯片外接时钟电路和复位电路就是一个小系统了。小系统是嵌入式系统开发的基石。本电路的小系统主要由三部分组成,一块AT89 S 51芯片、复位电路及时钟电路。AT 89s 5 1单片机:AT8 9S51是美国ATMEL公司生产的低功耗,高性能CMOS 8 位单片机,器件采用A TM EL公司的高密度,非易失性存储技术生产, 兼容标准8 05 1指令系 统及引脚。4K字节可系统编程的 Fl a

4、s h程序存储器,1 28字节内部RAM,32个I/O 口 线,看门狗(WDT),两个数据指针,两个 1 6位定时/计数器,一个5向量两级中断结构,一 个全双工串行通信口,片内振荡器及时钟电路。同时,AT 89S51可降至0Hz的静态逻辑 操彳K并支持两种软件可选的节电工作模式,空闲方式停止C PU的工作,但允许 RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作,并禁止其它所有部件工作 ,直到下一个硬件复位。P0是一个8位双向I /O 端口,端口置1时作高阻抗输入端,作为输出口时能驱动 8 个 TTL电平。对内部Flash 程序存储器编程时,接收

5、指令字节;校验程序时输出指令字节,需要接上拉电阻。在访问外部程序和外部数据存储器时,P0 口是分时转换的地址(低8位)/数据总线,访问期间内部的上拉电阻起作用。P1是一个带有内部上拉电阻的8位准双向I/ 0端口。输出时可驱动4个T TL电平。端口置1时,内部上拉电阻将端口拉到高电平作输入用。对内部F lash程序存储器编程时,接收低8位地址信息。P2是一个带有内部上拉电阻的8位准双向I/0端口。输出时可驱动4个TTL电平。端口置1时,内部上拉电阻将端口拉到高电平作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和1 6位外部数据存储器时,P2 口送出高8 位

6、地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。P3是一个带有内部上拉电阻的8位准双向I/0 端口。输出时可驱动4个TTL电平。端口置1时,内部上拉电阻将端口拉到高电平作输入用。对内部Fla s h程序存储器编程时 接控制信息。除此之外P3端口还有第二功能。P3 口引脚的第二功能,如表42所示:第二功能串行通信输入(RXD) 串行通信输出(TXD) 外部中断0( I NT 0 ) 外部中断1 (INT1) 定时器0 输入(T 0 ) 定时器1 输入(T 1 ) 外部数据存储器写选通 外部数据存储器读选通表4 -2 P3 口引脚第二功能 P3 口引脚 P3. 0 P3.1

7、 P3. 2 P 3 .3 P3.4 P 3.5 3. 6 P3 .7复位电路:计算机在启动运行的时候都需要复位,使中央处理器CPU和系统中的其他部 件都处于一个确定的初始状态,并且从这个初始状态开始工作。单片机的复位是靠外部电路实现的,MCS-51单片机有一个复位引脚 RST,高电平有效。MCS-51单片机通常采用上电自动复位和按钮复位两种。复位电路的基本功能是系统上电时,RC电路充电,RST引脚出现正脉冲,提供复位信号直至系统电源稳定后,撤销复位信号,为可靠起见,电源稳定后还要经一定的延时 ,才撤销复位信号,以防电源开关或电源 插头分合过程中引起的抖动而影响复位。图3-2中的R C复位电路

8、可以实现上述基本功能。调整RC 常数会令对驱动能力产生影响。时钟电路:时钟电路提供单片机的时钟控制信号,单片机时钟产生方式有内部时钟方式和外部时钟方式。最常用的是内部时钟方式是采用外接晶振和电容组成的并联谐振回路。瓷片电容的取值对振荡频率输出的稳定性、大小及振荡电路的起振速度都有一定的影响。内部方式时,时钟发生器对振荡脉冲二分频 ,如晶振为12MHz,时钟频率就为6MHz。晶振的频率 可以在1MHz33 MH z内选择。电容取 30PF左右。X TAL1是片内振荡器的反相放大器 输入端,XT AL 2则是输出端,使用外部振荡器时,外部振荡信号应直接加到 XTAL1,而XTAL2 悬空。单片机最

9、小系统如图4-2所示:DS2DS1R7VCCS1R51K_LlC3lTuLCD_E1LCD_一RS2LCD_RW3,510455106R6RXD10TXD1191213R48.2K30pFC1I Y12C9P1.0VCC4039LCD D0P1.1P0.038LCD D1P1.2P0.137LCD D2P1.3P0.236LCD D3P1.4P0.335LCD D4P1.5P0.434LCD D5P1.6P0.533LCD D6P1.7P0.632LCD_D7RST(VPD)P0.731P3.0(RXD)EA/VDD30P3.1(TXD)ALE/PROG29P3.2(INT0)PSEN28DQ

10、P3.3(INT1)P2.727OUT_3P3.4(T0)P2.626OUT_2P3.5(T1)P2.525OUT_1P3.6(WR)P2.424KEY_4P3.7(RD)P2.323KEY 3XTAL2P2.222KEY 2XTAL1P2.121KEY 1GNDP2.0U2VCC161720141518197830pF |AT89S514卜图4-2最小系统图4 .数字温度传感器D S1 8 B 201、DS 1 8 B2 0的主要特性1 .1、适应电压范围更宽,电压范围:3.05. 5 V,在寄生电源方式下可由数据线供电1. 2、独特的单线接口方式,DS18 B20在与微处理器连接时仅需要一

11、条口线即可实现微处理器与D S 18B20的双向通讯1. 3、 DS18B2 0支持多点组网功能,多个D SI 8B2 0可以并联在唯一的三线上,实 现组网多点测温1.4、 DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内1.5、 温范围5 5 C+125 C ,在-1 0+85C时精度为士 0 . 5 C1. 6、可编程 的分辨率为9 12位,对应的可分辨温度分别为0. 5 C、0.25 C、0 .1 2 5c和0. 0 6 25C,可实现高精度测温1 . 7、在9位分辨率时最多在9 3.75ms内把温度转换为数字,1 2位分辨率时最多在75

12、 0 ms内把温度值转换为数字,速度更快1.8、测量结果直接输出数字温度信号,以“一线总线”串彳T传送给 CP U,同时可传送CR或验码,具有极强的抗干扰纠错能力1. 9、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2、DS18 B20工作原理2.1初始化时序见图4-4主机总线to 时刻发送一复位脉冲(最短为480us的低电平信号)接着在t 1 时刻释放总线并进入接收状态DS1 82 0在检测到总线的上升沿之后等待15-60接着DS1820在t 2时刻发出存在脉冲(低电平持续 60-240 us)如图中虚线所示151g2F-*随1 I界口及 一十卜-I3以巾1Wt*_ _

13、J图4-4DS1 8 B20W始化时序图程序:Init_D S 18B20( v oid) / 初始化 ds182 0 DQ =1;/ /DCM位_nop_();_no p _();/ 稍做延时 2msD Q = 0 ;/单片机将DQS低,发出复位脉冲(要求4 80us960us)Delay(70); / 精确延时 56 6 usDQ = 1;/ /拉高总线(要求166 0 us)De lay (5);/延时4 6 usp r esenc e = D Q / /如果=0则初始化成功=1则初始化失败D ela y (25);DQ = 1;r etur n ( p r esen c e ); /

14、返回信号,0= p re s en c e,1= no presence2. 2读时间隙见图 4-5主机总线t。时刻从高拉至低电平时总线只须保持低电平l 7 ts之后15捍s也就是说t 2时刻前主机必须完成读位并在to 后的 60 ds 120 s 内释放总读位子程序(读得的位到C中)Wjii主歌超作-一DS】睨0届作用上粒龟定作用图4-5读时间隙时序图程序:ReadO neCh a r (void ) uns ifori g ned c h a g ned char (i=8; i 0;D Q =0;给脉冲信号d at= 1 ;/ 给脉DQ = 1;冲信号i f (DQ)d a t | =

15、0 x80;delay (4);n n(dat);2.3写时间隙当主机总线to时刻从高拉至低电平时就产生写时间隙从t o时刻开始1 5 u s之内应将所需写的位送到总线D Sl 8 20在1为15-60u s间对总线采样若低电平写入的位是0见若高电平写入的位是连续写位间的间隙应大于 1 u s,见图4- 6。程序:Writ图4 - 6写时间隙时序图e OneChar ( un s i g ned char d a t)un s i g ne d c har i =0;for (i =8; i0 ; i ) DQ = 0;DQ = da t &0x0 1 ;delay 5 5);DQ =1;d

16、a t=1;3、DS1 8B2 0的应用电路DS 1 8 B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。下面就是DS18 B20几个不同应用方式下的测温电路图:3. 1、DS 1 8B 20寄生电源供电方式电路图如下面图4所示,在寄生电源供电方式下,DS1 8 B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容 )充电。独特的寄生电源方式有三个好处:1)进行远距离测温时,无需本地电源2 )可以在没有常规电源的条件下读取ROM3)电路更加简洁,仅用一根I/O 口实现

17、测温要想使DS18B20行精确的温度转换,I /O线必须保证在温度转换期间提供足够的能量由于每个D S18B20在温度转换期间工作电流达到1mA当几个温度传感器挂在同一根I/ O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。因此,图4电路只适应于单一温度传感器测温情况下使用,不适宜采用电池 供电系统中。并 且工作电源 VCC、须保证在5 V,当电源电压下降时,寄生电源能够汲取的能量也降低, 会使温度误差变大。rufr afvmP图43.2、 DS1 8 B2 0寄生电源强上拉供电方式电路图改进的寄生电源供电方式如下面图5所示,为了使 DS1 8

18、B20在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到E 2存储器操作时,用 MD SF ET把I/O线直接拉到VCC就可提供足够的电流,在发出任何涉及到拷贝到E2存储器或启动温度转换的指令后,必须在最 多10ds内把I/O线转换到强上拉状态。 在强上拉方式下可以解决电流供应不走 的问题,因此也适合于多点测温应用 ,缺点就是要多占用一根I/O 口线进行强上拉切换。仃a* SB注意:在图4和图5寄生电源供电方式中,DS1 8B2 0的VDD引脚必须接地3.3、 DS18B20的外部电源供电方式在外部电源供电方式下,DS1 8B20工作电源由VDfl脚接入,此时I /O线不需要强上拉,不

19、存在电源电流不足的问题,可以保证 转换精度,同时在总线上理论可以挂接任意多个DS18B2a专感器,组成多点测温系统。注意:在外部供电的方式下,DS18 B2 0的G NM脚不能悬空,否则不能转换温度,读取的温度总是8 5 C。图6:外部供电方式单点测温电路白 二图7:外部供电方式的多点测温电路图miiiiuei闾up外部电源供电方式是D S18B20最佳的工作方式,工作稳定可靠,抗干扰能力强,而且电路也比较简单,可以开发出稳定可靠的多点温度监控系统。站长推荐大家在开发中使用外部电源供电方式,毕竟比寄生电源方式只多接一根VC C引线。在外接电源方式下,可以充分发挥DS 1 8B2 0宽电源电压范

20、围的优点,即使电源电压VCCBI到3V时,依然能够保证温度量精度。1007-1度口东部西部口北部7. 1 温, 20第一季度0初始化*1调用显示子程序1S至YJ图7-1温度采集系统原理框图7 .2读温度子程序CRC验,其程读出温度子程序的主要功能是读出RAW白9 9字节,在读出时需要进行序流程,见图7 2结束图-2读温度子程序7 . 3温度转换子程序温度转换命令子程序主要是发温度转换开始命令,其子程序流程见图7- 3。DS18B20复位命令跳过RO嘛令温里转图7-3温度转换子程序流程7.4计算温度子程序-4 o此程序将RAM中读取值进行BC加的转换运算并进行正负判定流程,见图7图7- 4计算温

21、度子程序流程8 .语言程序# in c lu de # d e f in e uchar u nsign e d c har#d e fi ne u int unsigned i n t uchar C NCHAR6=摄氏度; sbit DQ =P1A7;/定义 DS 18B20 接口int t c mp ;/ 温度变量vo id Delay 1 ms () /del a y unsig n e d ch a r a,b; for(b=10 2 ;b 0 ; b -) for (a=3;a 0;a-);voi d dsres e t(void )/发送复位和初始化命令ui nt a,b;/DS

22、18B20 初始化DQ= 0;b= 1 02;whi 1 e (b0)b-;DQ=1; a=3; while(a0 ) a -;bit t m pr e ad b it(v o i d)/re ad a bit 读一位int i;bi t d a t ;D Q = 0 ; i +;/i+小延时一下D Q = l; i+;i+;da t =DQ;i=8;while(i0)i-;re t urn (dat);/读一个字节u c h ar t mp r e a d( v o i d )uchar i ,j,d a t ;d a t = 0;for(i = 1; i =8;i + +)j =t m p

23、r e adb i t();dat= (j1);/读出的数据最低位在最前面,这样刚好/ 一个字节在DAT里return(dat);/将一个字节数据返回void t mpwri teb y te ( u c h a r d a t)/写一个字节到DS1 8 B20 里 int i;c ha r j; b it testb;fo r (j = 1;j 1;if ( t e stb) / 写 1 部分 DQ=0;i +;i + +;DQ =1 ;i =8; w h i 1 e (i 0) i-; el s e DQ=0;写 0部分i=8;while ( i 0)i -; D Q=1; i + +;

24、i+; int tmp( )/ /获得温度 float t t;u c h ar a,b; dsre s et();Delay1ms();tm p w r i t e b yte(0xcc);tmpwrit e b y t e ( 0 x be);a = tmpread();b= tmp r ead();temp = b;/跳过读取ROM0T令/发送读取数据命令/连续读两个字节数据tt=emp=temp| a ;t emp*O .06 25;/两字节合成一个整型变量。/ /得到真实十进制温度值,因为 DS18B20可以精确到0.0 6 2 5 度,所以读回数据的最低位代表的10+0./0 .

25、05 ; / 放大十倍,ret u rn temp; /也转换为可显示数字/返回温度值625 度。这样做的目的将小数点后第一位,同时进行一个四舍五入操作。t e mpy = 8;/ / 串口程序- voi d In i tU A RT(void) /功能:串口初始化,波特率9600 ,方式1 T MO D = 0x 2 0;SCON = 0 x50;T H 1 = 0xFA;TL1 = T H 1;P CO N = 0 x80;EA = 1 ;E S = 1 ;TRI =1 ;/发送温度vo i d Se n dt e mp(int temp )u nsign e d char i, da i

26、 f (temp 0)S B U F= -;w h ile( ! T I);TI= 0 ;t as 口 =0, 0, 0,0 , 0 ; / 定义数组/当温度值为负数/将接收到的数据放入到发送寄存器/等待发送数据完成/ /清除发送完成标志位elseSBU F=+; /将接收到的数据放入到发送寄存器w h i 1 e (! T I);/等待发送数据完成TI= 0 ;/ /清除发送完成标志位 d a tas0 = temp /1 0000;datas1 = temp % 10000 / 1000;datas2 = t e mp % 100 0 / 100;datas3 = temp % 100 /

27、10;datas4 = t emp % 1 0;S B UF = / 0+dat as0 ;/将接收到的数据放入到发送寄存器wh i le (! TI);/ /等待发送数据完成T I = 0 ;/将接收到的数据放入到发送寄存器/等待发送数据完成SBU F =0 / +dat a s 1 ;while (! T I);T I = 0;S BUF = 0 +datas 2;/ /将接收到的数据放入到发送寄存器while (!TI);/等待发送数据完成SBUFw hileTI =/ 1; ;(!TI);0 ;/将接收到的数据放入到发送寄存器 等待发送数据完成SBU F =0 / + d a tas

28、3;wh i le ( ! T I ) ;/T I = 0;SBUF = 0 / +dat a s4;wh ile (! T I );T I =0;fo r ( i = 0 ; i6;i+ )S BUF = CNCH A R i; while (!TI );TI = 0;v oid main()InitUART(); /初始化串口wh ile (1)Sen d t e m p( t m p();/将接收到的数据放入到发送寄存器等待发送数据完成/将接收到的数据放入到发送寄存器 /等待发送数据完成/将接收到的数据放入到发送寄存器/ /等待发送数据完成/主函数/温度转换9.调试分析9. 1硬件连接为

29、了测试串口到 W I FI网络的通讯转换,我们将模块的串口与计算机连接,WIFI网络也和计算机建立链接。由于需要同时具有 W FI和串口的特殊要求,只有少数笔记本 电脑能达到,用户可以使用台式机加一个US幽卡,或者使用笔记本电脑加一个 USB转串口线的方式来实现,笔者采用台式机加 WIFI 网卡的形式测试,台式机自带串口。关于串口的连接,模块的引脚引出为3.3VTTL电平,不能直接和计算机连接,需要带底板或者用户有 TTL转RS232的转接线再连到计算机上,为了方便用户测试使用,我们 提供了多款底板供用户选择,这里以USR-W FI232-2为例。硬件连接妥当后,给模块供电,红色电源指示灯亮,

30、等待大约 2 0秒(内部L I NIK 系统启动),Ready灯亮起,表示系 统启动完成,可以操作了,进入下一步。9.2收发测试打开测试软件 U S R-T CP232-Test.exe,选择硬件连接到的方t算机的串口号,这里是COM3 OM3选择波特率 5760 0,此为 WIFI模块内部串口默认的波特率 ,点打开串口。网 络设置区选择TCP clien t模式,服务器IP地址输入10.10.1 0 0.25 410.10.100.254,此为WI F I模块默认的IP 地址,服务器端口号88 9 988 9 9,此为模块默 认监听的TCP端口号,点击连接建立 TCP连接。至此,你就可以在串口和网络之间进行数据数据收发测试了,串口到网络的数据流向是计算机串口一 模块串口 -模块WIFI-计算机网络,网络到串口的数据流向是:计算机网络-模块 WIFI 模块串口 -计算机串口。附录:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 科普知识


经营许可证编号:宁ICP备18001539号-1