基于无线的简易数字电压表的设计_第1页
基于无线的简易数字电压表的设计_第2页
基于无线的简易数字电压表的设计_第3页
基于无线的简易数字电压表的设计_第4页
基于无线的简易数字电压表的设计_第5页
已阅读5页,还剩18页未读, 继续免费阅读

下载本文档

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

文档简介

无线数据传输系统设计项目(二级项目)设计说明书(2013/2014学年第二学期)题目:基于无线的简易数字电压表的设计_专业班级:通信工程11级1班学生姓名:学号:指导教师:贾少锐、王鹏、李晓东设计周数:1周设计成绩:2014目录1、课程设计目的 22、总体设计方案 23、设计组成及原理分析 23.1315M发射模块 33.2315MHZ超再生接收模块 53.3超再生接收模块的优势 74、编写代码应用的串口通信知识 84.1单片机串口通信原理 84.2设定波特率 95、软件程序的实现 106、总结 197、参考文献 211、课程设计目的无线射频技术作为本世纪最有发展前景的信息技术之一,已经得到业界的高度重视。该技术利用射频方式进行非接触双向通信,可以自动识别目标对象并获取相关数据,具有精度高、适应环境能力强、抗干扰强、操作快捷等许多优点。现代通信技术的迅速发展使得许多应用领域都采用无线的通信方式进行数据传输。F05/J04收发模块,由于具有体积小、功耗低、功能强、成本低等特点,广泛应用于各类的无线遥控器、无线报警器以及玩具等其他小型电器装置。但是,这种电路极少用在多个字节数据的通信方面,具有一定的局限性。这次课设主要介绍利用315MHz高频发射模块和接收模块来制作无线通信。基于对课题的理解,本次设计要求我们完成一个基于单片机控制的简易电压表,要求能监测两路的输入电压值,测量范围为0—5伏的输入电压值;用8位串行A/D转换器,8为分辨率,逐次逼近型,基准电压5V;能用两位LED进行轮流显示或单路选择显示,显示精度为0.1V。2、总体设计方案继上两周的课程设计结果,用C语言的编程,做出了STC89C52RC单片机上实现了一个基于单片机控制的简易电压表的设计。这次我们要应用F05/J04无线收发模块,通过STC89C52RC单片机的P3.0和P3.1口进行串口通信,再写出相应的发送端和接收端的程序,分别考入两个单片机中,从而实现从一个单片机发送到另一单片机上显示和报警。3、设计组成及原理分析无线数据传输广泛地运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。下面具体介绍315M无线发射接收模块(不带编码发射接收模块)。3.1315M发射模块它具有声表稳频、性能稳定、工作电压范围宽、产品一致性好,性价比高等优点。下图为315M无线发射头实物图。图1315M无线发射头实物图下图为315M无线发射模块等效电路图。图2DF发射模块的等效电路图主要技术指标:(1)通讯方式:调幅AM(2)工作频率:315MHZ(可以提供433MHZ,购货时请特别注明)(3)频率稳定度:±75KHZ(4)发射功率:≤500MW(5)静态电流:≤0.1UA(6)发射电流:3~50MA(7)工作电压:DC3~12V无线数据传输广泛地运用在车辆监控、遥控、遥测、小型无线网络、无线抄表、门禁系统、小区传呼、工业数据采集系统、无线标签、身份识别、非接触RF智能卡、小型无线数据终端、安全防火系统、无线遥控系统、生物信号采集、水文气象监控、机器人控制、无线232数据通信、无线485/422数据通信、数字音频、数字图像传输等领域中。DF数据发射模块的工作频率为315M,采用声表谐振器SAW稳频,频率稳定度极高,当环境温度在-25~+85度之间变化时,频飘仅为3ppm/度。特别适合多发一收无线遥控及数据传输系统。声表谐振器的频率稳定度仅次于晶体,而一般的LC振荡器频率稳定度及一致性较差,即使采用高品质微调电容,温差变化及振动也很难保证已调好的频点不会发生偏移。DF发射模块未设编码集成电路,而增加了一只数据调制三极管Q1,这种结构使得它可以方便地和其它固定编码电路、滚动码电路及单片机接口,而不必考虑编码电路的工作电压和输出幅度信号值的大小。DF数据模块具有较宽的工作电压范围3~12V,当电压变化时发射频率基本不变,和发射模块配套的接收模块无需任何调整就能稳定地接收。当发射电压为3V时,空旷地传输距离约20~50米,发射功率较小,当电压5V时约100~200米,当电压9V时约300~500米,当发射电压为12V时,为最佳工作电压,具有较好的发射效果,发射电流约60毫安,空旷地传输距离700~800米,发射功率约500毫瓦。当电压大于l2V时功耗增大,有效发射功率不再明显提高。这套模块的特点是发射功率比较大,传输距离比较远,比较适合恶劣条件下进行通讯。天线最好选用25厘米长的导线,远距离传输时最好能够竖立起来,因为无线电信号传输时收很多因素的影响,所以一般实用距离只有标称距离的20%甚至更少,这点需要在开发时注意考虑。DF数据模块采用ASK方式调制,以降低功耗,当数据信号停止时发射电流降为零,数据信号与DF发射模块输入端可以用电阻或者直接连接而不能用电容耦合,否则DF发射模块将不能正常工作。数据电平应接近DF数据模块的实际工作电压,以获得较高的调制效果。DF发射发射模块最好能垂直安装在主板的边缘,应离开周围器件5mm以上,以免受分布参数影晌。DF模块的传输距离与调制信号铎率及幅度,发射电压及电池容量,发射天线,接收机的灵敏度,收发环境有关。一般在开阔区最大发射距离约800米,在有障碍的情况下,距离会缩短,由于无线电信号传输过程中的折射和反射会形成一些死区及不稳定区域,不同的收发环境会有不同的收发距离。3.2315MHZ超再生接收模块下图为315M无线接收头的实物图。图3315M无线接收头实物图接收模块一共有四个外部接口,上面有英文表示。“VCC”表示接电源正极,“DATA”表示输出,“GND”表示接电源负极。下图为315M无线接收头的超再生接收模块的等效电路图。图4DF超再生接收模块的等效电路图主要技术指标:(1)通讯方式:调幅AM(2)工作频率:315MHZ(可以提供433MHZ,购货时请特别注明)(3)频率稳定度:±200KHZ(4)接收灵敏度:-106DBM(5)静态电流:≤5MA(6)工作电流:≤5MA(7)工作电压:DC5V(8)输出方式:TTL电平DF接收模块的工作电压为5伏,静态电流4毫安,它为超再生接收电路,接收灵敏度为-105dbm,接收天线最好为25~30厘米的导线,最好能竖立起来。接收模块本身不带解码集成电路,因此接收电路仅是一种组件,只有应用在具体电路中进行二次开发才能发挥应有的作用,这种设计有很多优点,它可以和各种解码电路或者单片机配合,设计电路灵活方便.这种电路的优点有以下四个方面。(1)天线输入端有选频电路,而不依赖1/4波长天线的选频作用,控制距离较近时可以剪短甚至去掉外接天线(2)输出端的波形相对比较干净,干扰信号为短暂的针状脉冲,所以抗干扰能力较强。(3)DF模块自身辐射极小,加上电路模块背面网状接地铜箔的屏蔽作用,可以减少自身振荡的泄漏和外界干扰信号的侵入。(4)采用带骨架的铜芯电感将频率调整到315M后封固,这与采用可调电容调整接收频率的电路相比,温度、湿度稳定性及抗机械振动性能都有极大改善。可调电容调整精度较低,只有3/4圈的调整范围,而可调电感可以做到多圈调整。可调电容调整完毕后无法封固,因为无论导体还是绝缘体,各种介质的靠近或侵入都会使电容的容量发生变化,进而影响接收频率。另外未经封固的可调电容在受到振动时定片和动片之间发生位移;温度变化时热胀冷缩会使定片和动片间距离改变;湿度变化因介质变化改变容量;长期工作在潮湿环境中还会因定片和动片的氧化改变容量,这些都会严重影响接收频率的稳定性,而采用可调电感就可解决这些问题,因为电感可以在调整完毕后进行封固,绝缘体封固剂不会使电感量发生变化。DF无线数传模块开发注意事项:DF模块必须用信号调制才能正常工作,常见的固定码编码器件如PT2262/2272,只要直接连接即可非常简单,因为是专用编码芯片,所以效果很好传输距离很远。模块输出脚在模块内部通过一个上拉39K电阻到+5V,使用的时候需要考虑解码器件的输入阻抗。DF模块还有一种重要的用途就是配合单片机来实现数据通讯,这时有一定的技巧。(1)合理的通讯速率DF数据模块的最大传输数据速率为9.6KBs,一般控制在2.5k左右,过高的数据速率会降低接收灵敏度及增大误码率甚至根本无法工作。(2)合理的信息码格式单片机和DF模块工作时,通常自己定义传输协议,不论用何种调制方式,所要传递的信息码格式都很重要,它将直接影响到数据的可靠收发。码组格式推荐方案:前导码+同步码+数据帧前导码长度应大于是10ms,以避开背景噪声,因为接收模块接收到的数据第一位极易被干扰(即零电平干扰)而引起接收到的数据错误。所以采用CPU编译码可在数据识别位前加一些乱码以抑制零电平干扰。同步码主要用于区别于前导码及数据。有一定的特征,好让软件能够通过一定的算法鉴别出同步码,同时对接收数据做好准备。数据帧不宜采用非归零码,更不能长0和长1。采用曼彻斯特编码或POCSAG码等,如下面的数据格式有一定检错功能:(3)单片机对接收模块的干扰单片机模拟2262时一般都很正常,然而单片机模拟2272解码时通常会发现遥控距离缩短很多,这是因为单片机的时钟频率的倍频都会对接收模块产生干扰,51系列单片机工作的时候,会产生比较强的电磁辐射,频率范围在9MHZ-900MHZ,因此它会影响任何此频率内的无线接收设备的灵敏度,解决的方法是尽量降低CPU晶体的频率。还可以改用频点较高的接收频率。接收模块和51系列单片机接口时最好做一个隔离电路,能较好地遏制单片机对接收模块的电磁干扰。DF接收模块工作时一般输出的是高电平脉冲,不是直流电平,所以不能用万用表测试,调试时可用一个发光二极管串接一个3K的电阻来监测DF模块的输出状态。3.3超再生接收模块的优势超再生调节电路也称超再生检波电路,他是即使工作在间歇震荡状态下的再生检波电路。一般再生检波电路在中波段式灵敏度很高,所以常用来制作简易的晶体管收音机。对于工作在短波段的无线遥控或通信设备,再生检波的灵敏度及稳定性都不符合要求。但超再生检波在在短波段具有很高的灵敏度,在接收弱信号时放大功率达到几十万倍。因此,对于希望电路简单,灵敏度高,而选择性和信噪比要求不高的简单无线遥控设备,超再生调节电路还是很有实用价值的。而且它电路简单、成本低廉。不用超外差检波电路的原因是,即使它温度适应性强,接收灵敏度高,工作稳定,抗干扰能力强,但是他不能近距离不能接收。由于它的核心器件都有一个缺点就是强信号、近距离是阻塞、不能解码。故在本次课设中,应用超再生收发模块没有这个问题。4、编写代码应用的串口通信知识51单片机内部有一个全双工串行接口。什么叫全双工串口呢?一般来说,只能接受或只能发送的称为单工串行;既可接收又可发送,但不能同时进行的称为半双工;能同时接收和发送的串行口称为全双工串行口。串行通信是指数据一位一位地按顺序传送的通信方式,其突出优点是只需一根传输线,可大大降低硬件成本,适合远距离通信。其缺点是传输速度较低。首先我们来了解单片机串口相关的寄存器。SBUF寄存器:它是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。从而控制外部两条独立的收发信号线RXD(P3.0)、TXD(P3.1),同时发送、接收数据,实现全双工。4.1单片机串口通信原理(1)51系列单片机的串口有4个模式,可分别用作串并转换、并串转换、异步串行通信(2种模式)。异步串行通信中,有1+8+1和1+8+1+1两种帧格式,多机通信是特殊的通信方式。(2)基本原理是两组移位寄存器。将并行通信转换成串行通信模式(发送部分),或反之(接收部分)。可全双工运行。(3)速度通过移位脉冲决定。具体一般通过定时器1的自动装载模式产生的溢出脉冲给出。(4)电平上采用的是CMOS逻辑。(5)以上是物理层和数据链路层的单片机串口模块的约定,其他层需要软件人员根据需要自行把握。另外,电平需要根据实际通信环境做变换。串行通信虽然有其自身优点:如适合长距离通信,有一定的纠错能力等,但并行通信在短距离(数米范围内)传输过程中的优点是显而易见的。首先串行通信时要设置串口数据,如:串口号(Com1、Com2或者其他串口)、波特率、数据位数、停止位、校验位等等。而且单片机与PC机的串口数据必须一一对等,否则不能传输。而并行传输时,无需上述过程。其次,PC机的串口电平值为+12V~-12V,单片机是TTL电平(0~+5V),两者必须要经过电平转换芯片进行电平间的转换。而进行并行传输时,由于双方都是TTL电平,所以PC的并口可以与单片机或其他芯片直接相连;另外,串行传输速度慢,每次只能传送一位,而并行每次可以传送8位,速度上的差异显而易见。而对于单片机,串口(UART)是最常用的端口,尤其对于存在两个或多个串口的单片机来说,充分利用串口进行通信是非常重要的。4.2设定波特率与串行口相关的寄存器有定时器相关寄存器和中断寄存器。定时器寄存器用来设定波特率。中断允许寄存器IE中的ES位也用来作为串行I/O中断允许位。当ES=1,允许串行I/O中断;当ES=0,禁止串行I/O中断。中断优先级寄存器IP的PS位则用作串行I/O中断优先级控制位。当PS=1,设定为高优先级;当PS=0,设定为低优先级。再来说说波特率,我们为什么要设定波特率,因为单片机会以16倍波特率的速度进行采样,而在实验中我们用的是10位异步收发方式,因此要将SM0置0,SM1置1.而其中的10位有8位数据位,第一位和最后一位是发送数据的起始与结束.采用高的皮特率就不会出错啦。在了解了串行口相关的寄存器之后,我们可得出其通信波特率的一些公式的。方式0的波特率=fosc/12

方式2的波特率=(2SMOD/64)·

fosc

方式1的波特率=(2SMOD/32)·(T1溢出率)

方式3的波特率=(2SMOD/32)·(T1溢出率)(其中,T1溢出率

=

fosc

/{12×[256

-(TH1)]})5、软件程序的实现下面是基于C语言的编程的发射端程序。#include<reg52.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedcharuchari;ucharcodetable[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//段显示编码ucharcodescan_con[4]={0xef,0xdf,0xbf,0x7f};//位选,扫描四位数码管sbitCS=P3^5;sbitCLK=P3^3;sbitDI=P3^4;sbitDO=P3^4;ucharposi=0;//定义switch函数变量uchardis[4];//显示在数码管上的四位数字uchardu1=0,du2=0;//输入单片机的数字电压值floatdvm1=0,dvm2=0;//数码管显示的数值voidinit();//串口声明voidsend_data();//串口发送函数声明voiddelay(uchart)//延时{ uchari; for(i=0;i<t;i++);}////获取指定通道的A/D转换结果//ucharGet_Value_ADC0832(ucharCH){uchari,dat1=0,dat2=0; //起始控制位 CLK=0;_nop_(); DI=1;_nop_(); CS=0;_nop_(); CLK=1;_nop_(); //第一个下降沿之前,设置DI=1/0; //选择单端/差分(SGL/DIF)模式中的单端输入模式if(CH==0x02)//选择了通道0{ CLK=0; DI=1;//通道0的第一位,第2个时钟脉冲下沉之前DI端是高电平 _nop_(); CLK=1; _nop_(); CLK=0; DI=0;//通道0的第二位,第3个时钟脉冲的下沉之前DI端是低电平 _nop_(); CLK=1; _nop_(); }if(CH==0x03) //选择了通道1{ CLK=0; DI=1;//通道1的第一位,第2个时钟脉冲下沉之前DI端是高电平 _nop_(); CLK=1; _nop_(); CLK=0; DI=1;//通道1的第二位,第3个时钟脉冲下沉之前DI端是高电平 _nop_(); CLK=1; _nop_();} CLK=0;DI=1;_nop_(); //第4-11个脉冲期间读数据(MSB->LSB) for(i=0;i<8;i++) { CLK=1;_nop_(); CLK=0;_nop_(); dat1=dat1<<1|DO; } //第11-18个脉冲期间读数据(LSB->MSB) for(i=0;i<8;i++) { dat2=dat2|((uchar)(DO)<<i); CLK=1; _nop_(); CLK=0; _nop_(); } CS=1;_nop_(); CLK=1; return(dat1==dat2)?dat1:0;}//将数字电压转化为相应的十进制数floatchange(uchardat) { floatdvm=dat*1.0/51; returndvm; }//显示子程序,数码管高两位显示第一路,低两位显示第二路voiddisplay(floatu1,floatu2)/ { ucharua1,ua2,ub1,ub2; ua1=(uchar)u1; ua2=(uchar)((u1-ua1)*10); ub1=(uchar)u2; ub2=(uchar)((u2-ub1)*10); dis[0]=ua1; dis[1]=ua2; dis[2]=ub1; dis[3]=ub2;//循环显示四位数码管 switch(posi){case0:P2=scan_con[0];P0=table[dis[0]]&0xfe;delay(100);break;case1:P2=scan_con[1];P0=table[dis[1]]; delay(100);break;case2:P2=scan_con[2];P0=table[dis[2]]&0xfe;delay(100);break;case3:P2=scan_con[3];P0=table[dis[3]]; delay(100);break; } posi++; if(posi>3) posi=0;}//主程序voidmain() { P0=0xff; P1=0x00; P2=0x0f; //P3=0xff; init(); while(1) { du1=Get_Value_ADC0832(0x02);//读取第一路数字化的电压 du2=Get_Value_ADC0832(0x03);//读取第二路数字化的电压 dvm1=change(du1); dvm2=change(du2); send_data(); } }//******************无线发送模块*****************//串口初始化voidinit(){ TMOD=0x21;//定时器1工作方式2,做串口中断,定时器0工作方式1 TH1=0xe8;//波特率设置为1200 TL1=0xe8; TR1=1;//启动定时器1 TH0=(65536-5000)/256; TL0=(65536-5000)%256; ET0=1;//允许T0溢出中断 TR0=1;//启动定时器0 SCON=0x40;//工作在方式1,TI,RI设置的值为0 EA=1; //cpu开放所有中断}//串口发送函数voidsend_data(){ uchari; SBUF=0xfe;//发送小数点作为顺序接收的起始标志 while(!TI); TI=0; delay(10); for(i=0;i<4;i++) { SBUF=dis[i]; while(!TI); TI=0; delay(500); }}//定时器0的中断定时器中断延时程序这一段的作用时隔一段时间抽样一次否侧显示的最后一位会不稳定voidTimer0()interrupt1{ TH0=(65536-5000)/256; TL0=(65536-5000)%256; display(dvm1,dvm2);}下面是基于C语言的编程的接收端程序。#include<reg52.h>#defineucharunsignedcharinti=0,j;/***************************共阳LED段码表*************************/ucharcodetable[]={0x03,0x9f,0x25,0x0d,0x99,0x49,0x41,0x1f,0x01,0x09};//数码管位选编码//ucharcodescan_con[]={0x1f,0x2f,0x4f,0x8f};//存储收到的四位要显示的十进制数ucharcodescan_con[]={0xef,0xdf,0xbf,0x7f};uchardat[4];ucharposi=0;/********延时子程序*********/voiddelay(unsignedcharm) {intk;for(k=0;k<m;k++);}//串口初始化voidinit(){ TMOD=0x20; TH1=0xe8;//设置1200的波特率 TL1=0xe8; TR1=1; TH0=(65536-5000)/256; TL0=(65536-5000)%256; ET0=1; TR0=1; SCON=0x50; EA=1;}//数码管显示voiddisplay(){ switch(posi){case0:P2=scan_con[0];P0=table[dat[0]]&0xfe;delay(100);break;case1:P2=scan_con[1];P0=table[dat[1]]; delay(100);break;case2:P2=scan_con[2];P0=table[dat[2]]&0xfe;delay(100);break;case3:P2=scan_con[3];P0=table[dat[3]]; delay(100);break; } posi++; if(posi>3) posi=0;}voidmain(){ P0=0xff;//初始化 P2=0xff; init(); while(1) { while(!RI); RI=0; if(SBUF==0xfe) { for(i=0;i<4;i++) { while(!RI); RI=0; dat[i]=SBUF; } } }}//定时器0中断服务voidtimer0()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; display();}下图为实验结果图。图5实验结果图6、总结本次课设重点了解了315M无线传输模块,具体的收发模块的原理及性能,应用于简易电压表的设计,实现了从一个单片机发送到另一个单片机上,主机发送数据信号,从机就能接受,要用三极管取反输入单片机,可以是中断接收,也可以

温馨提示

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

评论

0/150

提交评论