一体化红外接收头HS0038将遥控信号的接收、放大、检波、整形集于一身,并且输出可以让单片机识别的TTL信号,这样大大简化了接收电路的复杂程度和电路的设计工作,方便使用。在本实例中,我们采用红外一体化接收头HS0038,其外观如图14-5所示。
图14-5 红外一体化接收头HS0038
HS0038是黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号情况下,其接收距离可达35m,能与TTL、COMS电路兼容。HS0038为直立侧面收光型。它接收的红外信号频率为38kHz,周期约为26μs,同时能对信号进行放大、检波、整形,得到TTL电平的编码信号。3个引脚分别是地、+5V电源、解调信号输出端。
红外一体化接收头的测试可以利用图14-6所示的电路进行,在HS0038的电源端与信号输出端之间串联一只普通二极管及一只发光二极管后,再配上规定的工作电源(+5V),当手拿遥控器对着接收头按任意键时,发光二极管会闪烁,说明红外接收头和遥控器工作都正常;如果发光二极管不闪烁发光,说明红外接收头和遥控器至少有一个损坏。只要确保遥控器工作正常,很容易判断红外接收头的优劣。
平时,遥控器无键按下,红外发射二极管不发出信号,遥控接收头输出信号1。有键按下时,0和1编码中的高电平经遥控接收头倒相后会输出信号0。由于接收头输出与单片机的中断引脚相连,低电平将会引起单片机中断。单片机在中断时使用定时器0开始计时,通过软件可以判断出高电平、低电平和一个周期的结束,由此便可得知接收到的是引导码还是0或者1。如果接收到一个周期内高电平时间为4.5ms,低电平时间也为4.5 ms,则认为接收到的是引导码;如果计时值等于1.12ms,则接收到的是编码0;如果计时值等于2.25ms,则接收到的是编码1。在判断时间时,应考虑一定的误差值。因为不同的遥控器由于晶振参数等原因,发射及接收到的时间也会有很小的误差。
图14-6 红外一体化接收头测试电路连接图
1—地 2—电源 3—信号输出(www.xing528.com)
解码方法如下:
1)初始化外部中断0和定时器0,设定定时器0为16位计时器,初始值均为0。
2)第一次进入遥控中断后,开始计时。
3)通过软件判断第一个周期高低电平的时间范围,如果计时值与前导码的时间相符,则进入第4)步;如果计时值不符,则进入第6)步。
4)继续接收下面的地址码、地址码、数据码、数据反码。
5)当接收到32位数据时,说明一帧数据接收完毕。此时可停止定时器的计时,并判断本次接收是否有效。如果两次地址码相同且等于本系统的地址,数据码与数据反码之和等于0xFFH,则接收的本帧数据码有效。否则丢弃本次接收到的数据。
6)接收完毕,初始化本次接收的数据,准备下一次遥控接收。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。