关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 轻松编程实现无线遥控

轻松编程实现无线遥控

作者:时间:2012-03-12来源:网络收藏

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

本文引用地址:http://www.eepw.com.cn/article/160978.htm

电路功能

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

工作原理

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

46.jpg

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

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

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


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭