2.5 红外发送、接收电路
红外通讯以红外线作为通讯载体,通过红外光在空中的传播来传输数据,他由红外发射器和红外接收器来完成,在发射端,发送的数字信号经过适当的调制编码后,送入电光变换电路,经红外发射管转变为红外脉冲发射到空中;在接收端,红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。
红外发送电路中采用的红外发射器件是塑封的TSAL6200红外发射二极管,他将周期的电信号转变成一定频率的红外光信号,他是一种时断时续的高频红外脉冲信号,但脉冲串时间长度是恒定的,根据脉冲串之间的间隔大小,表示传输的是数据"0"还是"1"。红外接收器对接收到的红外光脉冲进行光电变换,解调译码后恢复出原信号。红外载波为频率38KHz的方波,采用脉宽调制PWM方式发送,通过待发送二进制数据的"0"或"1"控制两个脉冲串之间的时间间隔,即PWM的占空比。
红外载波可以使用单片机内部的定时器的PWM功能实现,也可以通过外围硬件电路实现,红外接收采用HS0038B红外接收器,当接收收到38KHz的载波信号时,HS0038B接收器会输出低电平,否则输出高电平,从而可以将"时断时续"的红外光信号解调成一定周期的连续方波信号,经单片机处理,便可以恢复出原数据信号。
2.6 设计思路
本实验板选用的ATMEL公司的AT89C51单片机为核心,RS232C接口选用9芯接头,电平转换芯片选用MAX232A,用来实现232电平与TTL电平的转换,RS485接口芯片选用65LBC184,他使用单一电源,电压在+3
红外接收芯片HS0038B是能够接收红外信号的小型化接收器,通过外围的自激振荡电路产生38KHz的载波频率。为了及时显示各接口发送、接收数据的状态,在实验板上还设置了状态显示电路,由接口信号通过放大电路驱动相应发光二极管,例如,当232芯片接收到PC机的数据时,232芯片的接收端会使相应的二极管闪烁,红外发送电路在发送数据时,其相应的发光管也会及时闪烁,而PC机上的串口通信程序使用一个叫做串口助手的程序,他可以设置串口,波特率,并发送/接收串口数据,故本文只介绍单片机部分的通信程序。
2.7 单片机软件设计
在实验板上还集成了51单片机来组成最小控制系统,所选用的AT51单片机的串口有4种工作方式,用于多机异步通信时选用方式2或方式3,数据帧格式为:1位起始位,8位数据位,1位停止位,进行串行通信前要对串口进行初始化,设置波特率和串行口工作模式,设定单片机的地址码为F1H1,在传送数据前先联络地址码,如地址码正确则传送数据,否则继续联络地址码,数据的通信采用累加和校验的方法,即每传送一组数据(个数自定,设为100个),校验一次累加和是否正确,正确则回送00H,否则回送FFH1,通信可以由中断传送方式和查询方式,本文采用查询方式,选择波特率为1200b/s,定时器T1作为波特率发生器,选用晶振为12MHz,定时器T1工作于模式2,定时器初值为0E6H,AT89C51单片机的通信程序框图如图2。
2.8 通讯实验示例
实验1 利用RS232接口及MAX232电平转换芯片来实现PC机与单片机的串口通信。
|
实验2 首先通过RS232接口将PC机1与实验板1连接,将232电平转换为TTL电平,然后通过RS485接口把TTL电平转换为485电平并连接到实验板2上,再通过RS232实现与PC机2的串口通信。
实验3 通过RS232接口将PC机1与实验板1连接,将232电平转换为TTL电平,然后通过红外发送电路将信号无线传送到实验板2上,再通过安装在实验板2上的RS232接口与PC机2完成通信。
3 结语
本文利用RS232,RS485接口芯片,红外发送/接收电路设计了PC机与单片机及PC机之间的通讯实验板,该系统硬件结构简单,功能可靠,硬件与软件均调试通过,在实际现场的应用中具有一定的实用价值,对于为了解并掌握多机间串行通信,红外通信的初学者是一个理想的实验工具。