无线电应用:轻松编程实现无线遥控

最新更新时间:2012-01-07来源: chinaaet关键字:无线电  编程  无线遥控 手机看文章 扫描二维码
随时随地手机看文章

  无线收发组件中,315MHz收发组件是常用的一种,如在机动车防盗应用方面使用315MHz组件的就很多,一般电子商店出售的这种模块,发送和接收都是三个接线端子,一个数据端,另外两个则是电源端,且相对较便宜,作者所买的一对才13元,若要自制则相对要困难些,因为类似遥控电路这种高频电路其调试是很专业的,需要专用的设备和仪器,大家可参考这方面的资料。

  电路功能

  本文所介绍的无线收发电路采用ATMEL公司的AT89C2051单片机作为编码和解码电路的核心器件,接收端采用1602字符液晶显示器显示所接收到的数据。

  工作原理

  首先介绍编码电路。在使用过程中,笔者直接将发送模块的三个端子与自制的一块学习板相连,没有添加其他电子元件,属单片机最小系统,S1和S2为两个按键,本文程序未用。图1所示为发送端电路图,图2为接收端电路图。

  

  图1 发送端电路图

  

  图2 接收端电路图

  接收端将接收到的数据送入单片机的同时,还会驱动发光二极管以便对硬件和软件纠错,若数据接收成功还将显示在1602液晶显示器上,因本文主要是介绍无线遥控,关于1602字符液晶显示器的原理与应用不做介绍,读者可以参考《无线电》以往的相关文章,如果出于成本和程序难易程度的考虑,也可改用7段数码管甚至用发光二极管来作数据的显示。另外要注意一点,发送端和接收端的时钟晶振的频率必须要相同,否则编程会很麻烦甚至数据无法正常接收,这一点在介绍程序时还会提到。

  软件方面,借鉴了红外遥控的编码思路,首先发送引导脉冲,紧接下来是数据码和数据反码,这一过程是在定时中断里面完成的,定时时间一到就调用一加法程序,然后将结果作为数据发送出去,计数器溢出后就清零进入下一循环。

  引导脉冲由一个低电平和高电平组成,每个高低电平延时大约11ms,这个靠11ms的延时程序来实现,数据码和反码每个位也是使用这个延时,可以说这11ms的延时就相当于比较简单的通信协议,也是发送和接收程序的核心部分,只要两边的延时相同,00H到0FFH内的数据都能被正确接收,接收端检测到1 lms的高低电平变化后,就调用11ms的延时来判断数据“0”和“1”,并将正确接收到的数据显示在液晶显示器上。前面已讲过若时钟晶振的频率不同那么发送端和接收端的延时子程序就要计算得相一致,这样程序编制就很麻烦甚至不能正常接收数据,这一点和单片机的串口通信是同样的道理。加入数据反码为的是提高抗干扰的效果,接收端的程序中就可以设置两个数据存储器,一个放原码一个放反码,接收完毕再将两个存储器的内容作比较即可判断是否接收正确,若正确再执行应执行的程序。

  本刊今年第1期有一篇介绍同样内容的文章使用的是串口通信的方法,而本文是采用延时,虽方法有点不一样,但关键的一点是数据传送速度都不能超过发送和接收模块的最快速度,本文使用11ms的延时,那每秒就大概是100个位的数据传送速度,读者可以将延时程序增大和减小,以此就可以测试出315MHz发送和接收模块的最高和最低数据传送速度。

  发射端和接收端的程序见本期配刊光盘,都已尽量地模块化,能共享的就共享,所以整个程序都比较简单,且收发程序都使用的是8051最基本最常用的指令,没有用复杂的数学运算和逻辑运算指令,初学者很容易理解。因为主要是面向单片机初学者,所以本文介绍的编码格式是比较简单的,抗干扰效果较差,而无线数据通信的编码方法有很多种,有行业内的标准化编码方法,也有厂家独立研发的,而315MH2收发模块的工作原理和工作速度就基本决定了它不能用于高速通信,且也没有硬件抗干扰的能力,要排除干扰只能完全依靠软件来实现,本文的程序中,当315MHz接收模块接通电源后就一直处于工作状态,在有效接收范围内只要有315MHz发射模块发射信号,则接收端就会有输出,程序经笔者实际试验除配对的发射和接收两个系统外,再外加了一个机动车防盗遥控手柄,当然也是315MHz的,当发射和接收系统之间正在传送遥控数据时将遥控手柄的任意键按下,发现这样会打断系统间的数据传送导致接收端接收不到任何数据,这是最大的缺点,但是对要求较低的应用场合应该可以满足,因为程序至少不会对其他的315MHz发射模块有响应,意即不会有误动作,比如家里用来遥控电灯,不会随时都有人拿着个汽车防盗遥控器在附近按来按去。

  业余条件下的电路调试

  笔者是单片机爱好者,个人水平和试验器材有限,是典型的“一台万用表打天下”,手中既没有示波器来查看波形,也没有仿真器,对于软硬件只能靠收发两个板子上的发光二极管和接收端的1602液晶显示器的实际运行来排错,如果数据发出来,则与发射模块相连的发光二极管点亮,表明有信号发出,同样接收端的发光二极管如果与发射端的变化同步,表明接收到了信号,从而完成硬件排错,最后将接收到的数据显示在显示器上。

  程序上的排错主要集中在数据延时上,刚开始笔者将要发送的每个数据位的延时选得很短,不知不觉中已远远超出315MHz发送和接收模块的数据收发速度,也就是相当于在串行通信中将波特率设置过高,导致收发失败,这是笔者遇到的最大障碍,因为笔者开始把问题归结为硬件故障,在这个不大不小的问题上白白花了很多时间,后来在一次上网查找资料的时候读到与315MHz模块相关的一篇文章,里面提到收发速度问题,说它的传输速度是很低的,不然将工作不正常甚至无法传输数据,笔者这才恍然大悟,回家后立刻对延时进行修改,改一次源码就重烧录一次芯片,直到最后将延时锁定在11ms,至此排错告一段落,收发双方能进行正确的数据传输了,发送端发送的数据也基本都能在1602显示器上显示出来,但仍有个别的数据不稳定,笔者分析这主要是硬件本身固有的缺陷和程序的合理性造成的,感兴趣的读者朋友可以在本文的软硬件基础上,发挥自己的能力对电路和软件再作进一步的修改,以求达到更好的效果。希望大家到《无线电》杂志的BBS论坛里进行讨论,将自己对程序的改进方法提出来。

  实际应用

  在收发两个电路的基础上再增加一块4路继电器控制板,如图3所示,可与收发电路配合进行遥控控制。图4是发送电路,左边的发光二极管是电源指示,右下角的为数据指示,拍照时刚好点亮表明正在发送数据,电路中的数码管本实验没有用到。图5是接收电路,其中接收模块是安放在面包板上再用数据线与单片机相连的。连接好电路后,随着发送端不断发出数据,单片机就会根据接收到的数据控制相应的继电器接通,图3中右下角的发光二极管点亮,表明此路继电器已接通。

  

  图3 4路继电器控制板 

  

  图4发送电路 

  

  图5接收电路

关键字:无线电  编程  无线遥控 编辑:探路者 引用地址:无线电应用:轻松编程实现无线遥控

上一篇:通信电源的管理和维护
下一篇:脉冲光纤激光器在非金属切割中的应用

推荐阅读最新更新时间:2023-10-18 16:18

LEM电流传感器HO-NPPR的实用编程功能
LEM作为电量传感器领域的领先者,一直致力于为客户提供创新的、高质量的解决方案。LEM的核心产品是电流,电压传感器,广泛应用于可再生能源、电源、伺服、焊接、机车和电动汽车等各个领域。       现代工业特别是新能源行业的飞速发展,对电流、电压传感器提出了越来越高的要求:小型化;精确性;超宽的温度范围,多样化且便捷的安装方式等等。LEM预测到这种趋势,HO系列应运而生。这个系列电流传感器的诞生可以说是电流传感器新的里程碑。它采用了新一代的ASIC芯片,内置EEPROM,增加了前所未有的可编程功能,以其独特的智能化和灵活性,更加广泛地覆盖了市场需求。具体来说就是客户可以通过编程对传感器内部的设置进行选择
[电源管理]
LEM电流传感器HO-NPPR的实用<font color='red'>编程</font>功能
基于Socket网络编程的远程物流防伪系统的设计
随着当今社会的发展,假冒伪劣产品屡禁不止,甚至还有进一步蔓延之势,假冒伪劣产品的数量和范围也呈扩大趋势。因此,在商品物流中加大查询力度,以实现商品的实时跟踪已势在必然。 随着电子及自动化的飞速发展,拥有GPRS无线采集模块功能的智能采集器已随处可见,很多用户已经开始陆续使用智能采集器收集产品条码信息。虽然智能采集终端本身有自带的GPRS无线传输系统,但这些系统只是提供实际用户一个功能的扩展,其功能不够完善,并不能满足所有用户的实际需要,这使得智能采集终端不能充分发挥其智能化。因此笔者提出了利用socket网络编程来实现远程物流真伪查询系统。 笔者充分针对用户需求,利用socket网络编程和智能采集终端的GPRS无线传输功
[单片机]
基于Socket网络<font color='red'>编程</font>的远程物流防伪系统的设计
单片机的C编程<1>
说明:以下程序都是经过本人亲自调试并成功. 目的:红绿LED交替闪 程序如下: #include reg52.h sbit led1=P3^6; sbit led2=P3^7; void delay02s (void) //延时 { unsigned x,y,k; for(x=10;x 0;x--) for(y=10;y 0;y--) for(k=248;k 0;k--); } void main(void) //主程序红绿LED交替闪烁
[单片机]
基于软件无线电的直扩通信终端设计与仿真
   0  引 言   直接序列扩频通信是扩频通信技术中的一种, 具有抗干扰、抗多径衰落、抗阻塞能力强, 以及频谱利用率高、保密性好、截获率低、易于组网、进行高精度测距等诸多优点。   本文提出了一种基于软件无线电的直扩系统的设计方案。给出了各项设计参数指标, 并对所提出的设计方案进行了仿真 验证。    1  系统基本结构   基于软件无线电的直扩通信终端采用对中频进行数字化采样, 由软件编程实现信号的扩频、调制、解扩、解调等数字信号处理。本文重点介绍直扩通信终端的中频数字处理的具体实现方案。直扩通信终端的结构框图如图1 所示。   信号发射时, 信息经过信源、信道编码后, 与扩频伪码进行相乘扩频。为了使扩频
[网络通信]
LCD的ARM编程方式,LCD Linux程序如何写入?
  基于ARM处理器的LCD编程设计:   随着单片机技术的飞速发展,新型的仪器仪表呈现出操作简单、便携化的趋势。LCD模块能够满足嵌入式系统日益增长的要求,它可以显示汉字、字符和图形,同时还具有低压、低功耗、体积小、重量轻等诸多优点,因而应用十分广泛。   液晶显示模块(LCM)是由控制器、行驱动器、列驱动器、显示存储器和液晶显示屏等器件通过PCB组装成一体的低成本输出设备,被广泛用于各种仪器仪表等设备中。其核心部件LCD控制器是可编程接口芯片,它一方面提供与微控制器(MCU)的接口,一方面连接行/列驱动器。用户对LCD控制器编程就是实现对LCM的操作控制。LCD控制器的功能是接收计算机发来的指令和数据,并向计算机反馈所需的
[单片机]
LCD的ARM<font color='red'>编程</font>方式,LCD Linux程序如何写入?
非线性放大引发无线电干扰的原理及评测
引言 放大器件在无线电通信及监测等领域的应用十分之广泛。我们对信号监测分析时,通常要选用合适的接收机将微弱信号放大到满足有效观察的程度。 信号放大对弱信号而言是必须的,但对信号的放大并不是增益越高越好,因为放大器件对大信号放大会产生失真效应。如在无线电监测中,经常会碰到由于接收机的非线性放大导致的干扰情况——谐波、互调等。本文详细介绍了非线性放大导致干扰的数学原理以及对放大器件的线性度评价标准。 非线性放大干扰产生的基本原理 1.1 非线性放大与线性放大的数学模型区别 放大器件对信号放大时一般要求输入和输出呈线性关系。但实际上,任何信号的放大都是非线性的,因为放大器件内很多基本组件,例如三极管,是不能
[应用]
实用C51编程的高级技巧(C51编程)
实用C51编程的高级技巧(C51编程) 一. C51热启动代码的编制 void main() { char data *HotPoint=(char *)0x7f; if((*HotPoint==0xaa)&&(*(--HotPoint)==0xaa)) { } else { HotPoint=0x7e; } 如果你的程序包含startup.a51,则需要对startup.a51进行修改。 对于startup.a51的修改,根据自已的需要进行
[单片机]
MCS-51单片机外中断软件编程
MCS-51单片机有多个中断源,以8051为例,有5个中断源,两个外中断、两个定时中断和一个串行中断,这一节我们讨论外中断软件编程。 外中断是由外部原因引起的中断,有两个中断源。即外中断0(INT0)和外中断1(INT1),中断请求信号由引脚P3.2(INT0)和P3.3(INT1)输入。 外中断请求信号有两种方式,一是电平方式,二是脉冲方式。可通过有关控制位的定义进行规定。 电平方式为低电平有效,只需在单片机的(INT0)和(INT1)中断请求输入端采样到有效的低电平时,就会激活外部中断。 脉冲方式则在脉冲的后负跳沿有效,即在相邻两个机器周期对中断请求引入端进行采样中,如前一次为高,后一次为低即为有效中断请求
[单片机]
MCS-51单片机外中断软件<font color='red'>编程</font>
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved