基于单片机的红外遥控器解码器的设计
发布时间:2008/5/27 0:00:00 访问次数:597
tc9012f是一种通用型红外遥控信号发送用cmos大规模集成电路,适用于电视(tv),磁带录像机(vtr),激光唱机等设备的遥控操作。市场上,以tc9012f为核心的9012型红外遥控器被广泛使用且价格便宜。将设计的基于单片机at89c51的9012型红外遥控解码器应用于生产即时显示系统中,作为参数设置和系统控制用红外遥控器,在实际应用中收到了良好效果。
1 红外线遥控信号发送器电路 tc9012f的遥控信号
tc9012f为4位专用微控制器,其内部振荡电路的振荡频率fosc典型值为455 khz。当不按下操作键时,其内部455 khz的时钟振荡器停止工作,以减少电池消耗。内部分频电路将振荡频率,fosc进行12分频后,变成频率fc=37.9 khz,占空比为1/3的脉冲载波信号。 红外遥控信号发送器电路由集成电路tc9012f、键盘矩阵电路、驱动器和红外发光二极管组成,遥控信号为37.9 khz的脉冲载波被遥控编码脉冲调制的已调波示。
遥控编码脉冲由引导码、用户码、功能码和功能码的相反码组成,用户码是同一组码发送两次,如图2所示。用户码为8位,所以整个脉冲码为32位。引导码作为接收数据的准备脉冲,他由8tcp(4.5 ms)的高电平和8tcp(4.5 ms)的低电平组成。用户码和功能码采用脉冲位置调制(ppm)方式编码,根据脉冲之间的时间间隔来区分码值的"0"或"1"。对应于二进制数字信号的"0"或"1",脉冲时间间隔分别为2tcp(1.125 ms)和4tcp(2.25 ms),而每一脉冲的宽度仍不变,均为tcp(0.562 6 ms)。由于用户码发送两次,功能码与其相反码一起发送,因此系统的误动作很少。
本遥控器采用第一次发送的遥控信号的编码脉冲(图3所示)和第二、第三次连续发送的遥控信号的编码脉冲(图4所示)不同的工作方式。这样,当按键一直按着的时候,从第二次连续发送开始,只发送引导码和用户码第一位so的相反码so,因此可减少接收处理时间和红外发光二极管功耗,遥控编码脉冲经脉冲载波调制后由tc9021f的第脚输出,再经激励器驱动红外发光二极管,发送出波长为940nm的脉冲红外光。
遥控编码脉冲波形的输出时间为192tcp或224tcp,α为用户码(8位)的输出时间。当α≥26tcp时,遥控编码脉冲波形输出时间为224tcp.另外,对于连续发送的编码脉冲中用户码第一位的相反码的脉冲间隔时间,当so="1"时,则so="0",该时间为2tcp,当so="0"时,则so="1",该时间为4tcp.2解码器硬件设计
解码器硬件以at89c51单片机为核心,如图5所示,图中只给出接收红外遥控信号的部分电路。红外遥控信号经过红外接收模块接收后,解调为遥控信号的编码脉冲由输出端a输出,此信号经过反相器74ls04输出到at89c51的外部中断int0输入端.单片机通过运行程序对红外遥控器tc9021所发出的编码脉冲进行接收和译码。
3单片机程序设计
单片机程序主要解决的问题就是如何对接收到的9021型红外遥控器所发射的信号进行解码,编码脉冲信号是由引导码、用户码、和功能码等部分组成,我们只对获取其功能码过程进行分析。在单片机设置中,将单片机at89c51内部定时器/计数器t0设为定时方式1,定时时间为1 ms;设外部中断int0为下降沿中断触发方式,由于在接收时将编码脉冲信号进行反相,因此,每当int0外管脚信号下降沿到来时,外部中断int0发生中断,启动定时器t0,定时器每次中断定时时间为1 ms并累加到定时计数器中,在下一次外部中断int0发生中断时读取定时计数器中的时间,通过对两个脉冲之间的定时时间的分析来对遥控器功能码进行解码。
4结 语
生产即时显示系统面向生产现场,对生产效率进行量化管理,目前在发达国家和国内一些外资企业已经得到广泛的应用。他通过即时显示生产中的定额任务量、生产目标以及当前时刻实际完成的生产数量,可以使生产情况一目了然,提高了生产效率。此显示系统一般都安放在生产线上方,工作人员需要经常对显示系统进行操作,设定和修改数据,用红外遥控器对生产即时显示系统进行不接触的参数设定,可以使操作灵活方便,抗干扰强。
tc9012f是一种通用型红外遥控信号发送用cmos大规模集成电路,适用于电视(tv),磁带录像机(vtr),激光唱机等设备的遥控操作。市场上,以tc9012f为核心的9012型红外遥控器被广泛使用且价格便宜。将设计的基于单片机at89c51的9012型红外遥控解码器应用于生产即时显示系统中,作为参数设置和系统控制用红外遥控器,在实际应用中收到了良好效果。
1 红外线遥控信号发送器电路 tc9012f的遥控信号
tc9012f为4位专用微控制器,其内部振荡电路的振荡频率fosc典型值为455 khz。当不按下操作键时,其内部455 khz的时钟振荡器停止工作,以减少电池消耗。内部分频电路将振荡频率,fosc进行12分频后,变成频率fc=37.9 khz,占空比为1/3的脉冲载波信号。 红外遥控信号发送器电路由集成电路tc9012f、键盘矩阵电路、驱动器和红外发光二极管组成,遥控信号为37.9 khz的脉冲载波被遥控编码脉冲调制的已调波示。
遥控编码脉冲由引导码、用户码、功能码和功能码的相反码组成,用户码是同一组码发送两次,如图2所示。用户码为8位,所以整个脉冲码为32位。引导码作为接收数据的准备脉冲,他由8tcp(4.5 ms)的高电平和8tcp(4.5 ms)的低电平组成。用户码和功能码采用脉冲位置调制(ppm)方式编码,根据脉冲之间的时间间隔来区分码值的"0"或"1"。对应于二进制数字信号的"0"或"1",脉冲时间间隔分别为2tcp(1.125 ms)和4tcp(2.25 ms),而每一脉冲的宽度仍不变,均为tcp(0.562 6 ms)。由于用户码发送两次,功能码与其相反码一起发送,因此系统的误动作很少。
本遥控器采用第一次发送的遥控信号的编码脉冲(图3所示)和第二、第三次连续发送的遥控信号的编码脉冲(图4所示)不同的工作方式。这样,当按键一直按着的时候,从第二次连续发送开始,只发送引导码和用户码第一位so的相反码so,因此可减少接收处理时间和红外发光二极管功耗,遥控编码脉冲经脉冲载波调制后由tc9021f的第脚输出,再经激励器驱动红外发光二极管,发送出波长为940nm的脉冲红外光。
遥控编码脉冲波形的输出时间为192tcp或224tcp,α为用户码(8位)的输出时间。当α≥26tcp时,遥控编码脉冲波形输出时间为224tcp.另外,对于连续发送的编码脉冲中用户码第一位的相反码的脉冲间隔时间,当so="1"时,则so="0",该时间为2tcp,当so="0"时,则so="1",该时间为4tcp.2解码器硬件设计
解码器硬件以at89c51单片机为核心,如图5所示,图中只给出接收红外遥控信号的部分电路。红外遥控信号经过红外接收模块接收后,解调为遥控信号的编码脉冲由输出端a输出,此信号经过反相器74ls04输出到at89c51的外部中断int0输入端.单片机通过运行程序对红外遥控器tc9021所发出的编码脉冲进行接收和译码。
3单片机程序设计
单片机程序主要解决的问题就是如何对接收到的9021型红外遥控器所发射的信号进行解码,编码脉冲信号是由引导码、用户码、和功能码等部分组成,我们只对获取其功能码过程进行分析。在单片机设置中,将单片机at89c51内部定时器/计数器t0设为定时方式1,定时时间为1 ms;设外部中断int0为下降沿中断触发方式,由于在接收时将编码脉冲信号进行反相,因此,每当int0外管脚信号下降沿到来时,外部中断int0发生中断,启动定时器t0,定时器每次中断定时时间为1 ms并累加到定时计数器中,在下一次外部中断int0发生中断时读取定时计数器中的时间,通过对两个脉冲之间的定时时间的分析来对遥控器功能码进行解码。
4结 语
生产即时显示系统面向生产现场,对生产效率进行量化管理,目前在发达国家和国内一些外资企业已经得到广泛的应用。他通过即时显示生产中的定额任务量、生产目标以及当前时刻实际完成的生产数量,可以使生产情况一目了然,提高了生产效率。此显示系统一般都安放在生产线上方,工作人员需要经常对显示系统进行操作,设定和修改数据,用红外遥控器对生产即时显示系统进行不接触的参数设定,可以使操作灵活方便,抗干扰强。