通过红外接口实现单片机之间的通信

发布者:EnigmaticCharm最新更新时间:2018-03-01 来源: eefocus关键字:红外接口  单片机  通信 手机看文章 扫描二维码
随时随地手机看文章

  红外线是波长在750nm~lmm的电磁波,它的频率高于微波而低于可见光,是一种人的眼睛看不到的光线。红外通信一般采用红外波段内的近红外线,波长在0.75μm~25μm,目前无线电波和微波已被广泛地应用在长距离的无线通信之中。但由于红外线的波长较短,对障碍物的衍射能力差,所以更适合应用在需要短距离无线通信的场合,进行点对点的直线数据传输,从应用领域来看,红外通信主要应用于遥控和数据通信这两方面。红外通信口一般数据传输速率可达2400bit/s~115.2kbit/s,有些甚至可达4Mbit/s。
  
  本设计实现单片机之间通过红外接口进行通信。通信双方约定发送方为甲机,接收方为乙机。甲机向乙机发送一组数据,如果乙机接收到的数据正确,就向甲机发送0x55;如果乙机接收到的数据不正确,就向甲机发送0xFF,甲收方收到0xFF后重传数据。
  
  红外通信技术主要是利用红外发射器和红外接收器来完成信号的无线收发工作。在发射端,对发送的数字信号经过适当的调制后,送入电光变换电路、驱动红外发光二极管发射红外光脉冲;在接收端,红外接收器对收到的红外信号进行光电逆变换,并进行相应的解调后、恢复出原信号,如下图所示。

红外通信的接口基本原理框图

  红外通信的硬件电路由发射电路和接收电路两个部分组成。如下图所示,图中的上半部分为发射部分电路,下半部分为接收部分电路。当然作为通信的另一方,也有类似的一组收发电路。

  由于系统中采用的红外线接收模块TSOP1838的光响应频率为38kHz,为降低数据交换的误码率,红外线发射部分的载波频率也应调整为38kHz。该载波信号由单片机89C51的内部定时器产生,载波信号从Pl.0引脚输出经74HC08与门对发送数据输出端TXD调制后,经过三极管T1放大,由发射管TSAL6200发出脉动的红外光,其发射功率可通过调整其限流电阻R3来改变。
  
  红外线接收电路为了改善接收信号的波形,将其输出信号经过两级反相整形。本接收电路用一个与门的目的是如果系统还有其他的通信接口,那么该通信接口的数据接收端也可通过该与门将数据送入RXD引脚。当然,用户也可以不用该与门电路,而直接将第二级非门的输出接RXD引脚。

红外通信的硬件电路

  红外通信与常规的有线通信相比,只是利用了不同的传输介质而已,因此通信的程序与前面描述的类似,不同的只是红外通信还存在着载波的问题,因此,程序只包括串口初始化、定时器初始化、定时中断服务程序、通信的收、发程序等。
  
  1.串口初始化程序init()
  
  串口初始化程序如下,串行口工作在方式1,波特率为9600bit/s。单片机的定时器T0定时中断产生38kHz的载波信号,Tl定时器作为波特率发生器。


  程序利用定时器T0产生一定频率的中断,在中断服务程序里控制引脚输出高低电平

  以此来产生载波信号,定时器TO的中断服务程序代码如下:
  
  说明:程序编写时,只有在发送时才打开产生载波频率的定时中断,当发送完毕后,关掉中断,置Pl.0为0。

  2.甲机发送子程序voidsend()
  
  甲机发送子程序send0完成甲机发送数据功能。计算校验和并发送数据,等待乙机响应,若乙机响应正确则从子程序中返回,否则再次发送数据并等待乙机响应,程序代码如下:

  3.乙机接收程序voidrecv()
  
  乙机接收程序根据制定的联络信号接收数据。接收数据并计算校验和,若校验正确则发送0x55表明数据正确,否则发送0xFF说明数据接收错误。程序代码如下:

  在红外通信的设计、使用时,应注意如下几个问题。
  
  ·距离与功率问题:红外通信的距离主要取决于发射的强度(电流)。

  ·通信的速度问题:由于调制的载波频率为38kHz,为很好地接收到发射的信号,建议单片机设置的数据传输速率不要超过9600bit/s。
  
  ·在使用时,应考虑发射管与接收管的角度问题,角度越大,接收距离将越近,甚至接收不到。
  
  ·对于单工方式下,发送方只保留发送部分电路,而接收方只保留接收部分电路,如不需要返回信息的主动遥控器,只有发送电路,而被动接收的控制器,只有接收电路。
  
  ·载波频率也可由其他可产生振荡方波信号的电路获得,如555电路。
  
  ·目前市场上还有专用的收发一体的红外模块、只发不收的发射模块、只收不发的接收模块等,这些模块内部大都集成了调制、驱动、解调等电路,用户只需选好型号并掌握其接口关系即可。


关键字:红外接口  单片机  通信 引用地址:通过红外接口实现单片机之间的通信

上一篇:利用数据帧实现单片机间的多机通信
下一篇:单片机间多机串行通信方式

推荐阅读最新更新时间:2024-03-16 15:56

MCU的低成本太阳能电池充电器设计方案
  太阳能电池板的泄漏问题传统上可以采用一个与太阳能电池板相串联的肖特基二极管来解决,但肖特基二极管的正向电压降使得它在高电流条件下会消耗大量的功率。因此,需要采用昂贵的散热器和精细的布局来把肖特基二极管保持于低温状态。那么,有没有低成本的解决方案?太阳能电池充电器设计最困扰设计师的“至满充电电池的浮动电压控制”和“在最佳发电点给电池板加载”问题又该如何解决?在下文中,Linear电源专家将为你介绍该公司最新的低成本解决方案。   作为在商业和住宅环境中均具实用性的一种发电方法而言,太阳能电池板已经被人们所广泛接受。然而,尽管在技术方面取得了进步,太阳能电池板的造价仍然很昂贵。这种高昂的成本有很大部分来自于电池板本身,这里,电池
[单片机]
无<font color='red'>MCU</font>的低成本太阳能电池充电器设计方案
低轮廓车载卫星通信天线的跟踪设计
在车载卫星通信中,由于低轮廓车载天线具有良好的隐蔽性和使用性,应用前景较为广泛。但要实现性价比达到最优,天线跟踪控制器的设计是关键技术之一。在脱离航向引导信息的情况下,要实现车载天线稳定跟踪的控制系统难度较大,提出一种新的跟踪控制策略,使这一问题得到解决。 1 系统组成 天线稳定跟踪控制系统主要由跟踪接收器、控制器、驱动器以及惯性器件组成。跟踪接收器主要提供卫星信标的AGC电平值;控制器主要提供操作和显示接口以及完成控制策略的实施;驱动器主要完成功率放大和控制电机的旋转;轴角编码器主要提供天线方位及俯仰的实时角度;惯性器件主要提供天线载体的扰动信息。天线控制系统组成如图1所示。 2 跟踪控制策略 这里所讨论的
[嵌入式]
基于CPLD的单片机PCI接口设计
    摘要: 详细阐述一种利用CPLD实现的8位单片机与PCI设备间的通信接口方案,给出用ABEL HDL编写的主要源程序。该方案在实践中检验通过。     关键词: 单片机 CPLD PCI 8位单片机在嵌入式系统中应用广泛,然而让它直接与PCI总线设备打交道却有其固有缺陷。8位单片机只有16位地址线,8位数据端口,而PCI总线2.0规范中,除了有32位地址数据复用AD 外,还有FRAME、IRDY、TRDY等重要的信号线。让单片机有限的I/O端口来直接控制如此众多的信号线是不可能的。一种可行的方案就是利用CPLD作为沟通单片机与PCI设备间的桥梁,充分利用CPLD中I/O资源丰富,用户可自定制
[应用]
51单片机开发之独立按键
JP165跳线帽断开、JP10连接J12(为了实现按键控制LED灯的效果)、JP5连接JP8、J21接左边 3.5.2 示例代码 下面代码都使用多文件编程模型,这里贴出每个文件的主要代码。 下面代码实现的效果是,按下按键控制LED灯。 Main.c文件: #include reg51.h #include delay.h #include key.h #include type.h #include led.h int main() { u8 key; LED=0; //关闭所有LED灯,51单片机默认输出高电平,LED默认高电平点亮 while(1) { key=Key_
[单片机]
PCI9656实现与CPCI总线通信的雷达信号处理板
  引 言   随着科学技术的发展,传统的雷达信号处理系统由于专用性强,兼容性差,影响了系统的通用性和其扩展能力,不能满足现代雷达实时高速的信号处理需求。该设计针对传统雷达信号处理系统通用性和扩展能力差提出一种ADSP—TS201基于PCI9656桥芯片实现与CPCI总线通信的高速、通用性强的信号处理系统,并介绍一种DSP与PCI9656的接口电路设计。   1 器件介绍   1.1 ADSP—TS201   ADSP—TS201是ADI公司TigerSHARC系列中集成了定点和浮点计算功能的高速DSP。ADSP—TS201内部4条相互独立的128位宽度的内部数据总线,每条连接6个2 Mb内部存储区块中的一个,提供
[嵌入式]
PIC16LF874单片机在电容测量模块中的应用
电容 式 传感器 已广泛应用于工业、医学、军事等领城。但目前大部分 电容 测量方法集成化水平低、精度低,因而对电容特别是对微小电容的精确测量始终是一个很重要的内容。振荡法 电路 结构简单、抗干扰能力差,板间内电容影响测量结果;电桥法利用电桥平衡原理测量电容,测量结果受桥臂电容性能影响较大。本文用到美国Micmchip公司PICl6LF874 单片机 ,该 单片机 采用RISC精简指令集、哈佛 总线 结构、流水线指令方式,具有抗干扰能力强、功耗低、高性能、价格低等特性。 1 PIC16LF874单片机 PIC16系列单片机采用精简指令集(Reduced Instruction Set Computer,RISC)结构,突破了传统
[模拟电子]
基于单片机控制数字移相器的系统硬件电路设计
简 述 移相电路常用于同步检测器的数据处理中。目前资料上有很多移相电路,其实现方法多种多样,大致可分为模拟式和数字式移相器两类。模拟式移相器的电路较为复杂、线性差、测试精度低;数字式移相器大多以标准逻辑器件按传统数字系统设计方法设计而成,其缺点为功耗大、可靠性低。本文介绍的基于单片机控制的数字移相器,采用环形队列实现信号波形的任意相位移相,并且保持波形的幅度、频率不变。其测试精度高,失真度小。系统原理方框图如图1所示。 1系统硬件电路设计 本系统的硬件电路主要由输入信号倍频电路、AT89C51单片机、A/D转换器、D/A转换器、6116存储器及键盘/显示等电路构成。 1.1输入信号倍频电路 倍频电路由锁相环CC4046及双
[单片机]
基于<font color='red'>单片机</font>控制数字移相器的系统硬件电路设计
基于AVR单片机的ISP1362 OTG控制设计
  0 引言   本文采用的设计方案是基于Philips公司的ISP1362 OTG控制芯片,参照最新的USB OTG技术规范,设计了一种遵循USB协议的主/从机系统。   1 ISP1362芯片的内部结构   Philips公司的ISP1362是一款符合USB 2.0总线协议的接口芯片,内部有3个USB控制器一主机控制器、设备控制器和OTG控制器。其中,主机控制器具备高度优化的USB主机功能;设备控制器则具有多达14个可编程端点,又可以被配置成双缓冲端点进一步提高吞吐量:而OTG控制器主要提供包括监控和转换功能在内的所有OTG控制。ISP1362内部构造如图1所示。      2 USB OTG主/从机系统设计
[单片机]
基于AVR<font color='red'>单片机</font>的ISP1362 OTG控制设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
热门活动
换一批
更多
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多每日新闻
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved