(一)实验要求
编制程序,利用红外通讯模块实现两台实验机之间数据的传输和通信.
(二)实验目的
1.了解红外通讯的原理.
2.掌握红外传输数据编码程序及相应的红外接收编码程序的编写方法.
(三)实验电路及连线
图8-68 红外模块接线图
CS8279已固定接至F238.30模块中的十个短路套都套在8279侧,8279命令口地址F239,数据口地址F238.红外通讯模块的IRIN端口线接单片机P1.6端口,红外通讯模块的IROUT端口线接单片机P1.7端口.
(四)实验说明
红外通讯基本原理:利用950nm近红外线作为传递信息的媒体,即通信信道.单片机发送端采用脉时调制方法,将二进制数字信号调制成38kHz频率的脉冲序列,利用红外发射电路以光脉冲的形式发送出去;接收电路将接收到的光脉冲转换成电信号,再经过放大、滤波处理后送给解调电路进行解调,还原为二进制数字信号后通过单片机接收端接收.
1.发送码.
发送码是由引导码、16位用户码和16位数据码组成,16位用户码由高8位用户码和低8位用户码组成(详见用户码说明),16位数据码由高8位数据码和低8位数据码(高8位的反码)组成.这些码一起发送,形成一个出错率极低的系数.
(1)数据结构
1Frame的构成:(从高到低)
(2)输出波形
持续发码:
图8-69 发送码脉冲图
(3)用户码说明
用户码是根据用户使用发射管的不同或根据用户自己定义的编码进行编写定义,在多台实验机进行通讯中,接收机接收数据时可根据对用户码的核对,从而判断接收来源的正确性,来判断是哪台实验机发来的信息数据.本次实验由于是两台实验机之间的通讯,接收时省去了用户码核对的部分,这里定义用户码为00FF(用户可以自定义).
表8-12 用户码具体参数表
2.接收码:为发送码经解调后的反码.
表8-13 接收编码时间判断范围表
图8-70 接收码脉冲图
系统硬件采用AEDK-EAT598单片实验机实验系统,由8279实现显示功能和键控制功能.红外通信功能模块作为单片实验机的扩展模块,主要由红外接收芯片HS0038A及红外发射管IR333电路构成,作为一个红外收发器,实现红外数据的发送和接收.
在发送机上,通过按不同的功能键,进行人机对话,实现对传输数据的输入设置,并对传输数据内容进行显示,具体功能如下.
(1)初始显示XXXX□□--,前4位为用户码.
(2)A键:数据输入启动功能键.可输入两位所要发送的十六进制数据,显示格式为:XXXX□□XX,前4位为用户码,后2位为键入的数据.
(3)B键:数据发送启动键.
3.在接收机上,接收数据并对接收数据内容的显示.接收到数据时,显示数码管显示接收到的十六进制数据,显示1秒后回到待接收状态.
(1)等待接收状态时:显示格式为:----□□--.
(2)数据接收显示格式:XXXX□□XX,前4位为用户码,后2位为数据.
注意:实验步骤.
4.利用P1.6作为红外发送端,编写程序输出脉冲序列;P1.7为红外接收端,接收脉冲信号.
(1)发送机电路连线:红外通讯模块的IRIN端口线接单片机P1.6端口.
(2)接收机电路连线:红外通讯模块的IROUT端口线接单片机P1.7端口.
(3)在发送机上进行键控制.
按A键,再键入两位数据,并显示.按B键,启动发送.
(五)实验程序及框图
示例程序见IRDA1.asm(红外发送程序)和IRDA2.asm(红外接收程序)
或IRDA1.c(红外发送程序)和IRDA2.c(红外接收程序)
发送程序框图如下.
图8-71 IRDA1红外发送主程序流程图
图8-72 INKEY发送部分键控子程序流程序
图8-73 TRANSDAT红外发送子程序流程图
接收程序框图如下.
图8-74 IRDA2接收主程序流程图
图8-75 READ红外接收子程序流程图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。