1、1前言:在电子线路综合设计中,往往会用到单片机间的通信,常用的通信方式有串行通信,比如 232 通信和 485 通信,这些通信方式技术成熟,传输速率快,在日常生活中得到较多的应用。笔者在此结合实例介绍了另一种单片机间实现通信的方式红外通信。红外通信的显著优点就是无线连接,可以给作品添几分神奇。如果采用单工通信,还可以有效地节约 I/O 资源(仅占一个 I/O 口) ,但是它也有一定的缺点,比如传输距离近(笔者作品有效距离为 6m) ,传输具有方向性,而且传输速率较慢。为了让读者更好的了解单片机间红外数据的传输,笔者设计了一套能够进行半双工通信的红外温度传输系统,并且附了本人编写的源程序。作品介
2、绍本系统采用红外半双工通信,首先主机通过红外发射二极管发送接收数据请求至从机,从机收到发射请求后进行温度数据发射(采用常用的数字温度传感器DS18B20 采集) ,主机接收到数据后通过常用的液晶 OCM12864(不带字库)进行显示,然后重复进行上述过程。为提高系统可靠性,采用单片机定时器(也可以采用专门调制芯片)对码元进行 38KHz 调制,接收端采用型号为 HS0038-A2的红外线信号解调器进行解调.为提高本系统的通用性,使读者能够在本系统基础上更好的进行开发,笔者设计了两个通用模块,即主机解调显示模块和从机调制发射模块,读者只需要改变接入从机的数据(从剩余的 29 个 I/O 口输入)
3、, 即可实现基于红外线的半双工无线通信.需要采集其它数据时,只需修改从机系统第二片单片机上的程序,不会与负责发送的单片机产生时序上的冲突。本系统中接入数据为另一片单片机通过 DS18B20 采集的温度信号.实现原理本系统中红外数据编码规则参考异步通信格式:起始位:发送 3ms 的 38KHz 的脉冲,接收端对应 3ms 低电平数据位:停发 1ms 脉冲,然后发 2ms 的 38KHz 脉冲,接收端分别对应 1ms的高电平,2ms 的低电平停止位:停 3ms 及以上,接收端对应 3ms 以上高电平2图 1 红外调制解调波形图图 2 发送端信号波形(连续发送 2,3,4,5,深色部分为 38KHz
4、 方波脉冲)采用单片机定时器 T0 进行编码调制,红外调制信号经 HS0038-A2 解调后,通过单片机定时器 T1 进行计数还原原来数据.3电路原理图主机电路图图 3 系统主机电路图4从机电路图图 4 系统从机电路图5软件流程图上电复位发送接收数据请求(可以设置从机号)等待中断进入中断处理程序,通过计数器得到数据值数据送 LCD 进行显示上电复位识别起始位,并与自己地址(从机号)比较 一致否?等待中断发送数据YN图 5 主机程序流程图 图 6 从机程序流程图结语:本实验通过红外半双工通信实现了单片机之间的相互通信,电路简单,通信可靠,程序具有一定得通用性,读者可在这两个通用模块基础上在较短时间内继续进行灵活开发,实现更多功能,比如多点信号采集,红外控制,红外抄表等。6图 7 系统实物图