图2-6 指令脉冲图
遥控编码脉冲信号是由引导码、系统码、系统反码、功能码、功能反码等信号组成。引导码也叫起始码,由宽度为4.5ms的高电平和宽度为4.5ms的低电平组成(不同的红外家用设备在高低电平的宽度上有一定区别),用来标志遥控编码脉冲信号的开始。如图2-7所示。
图2-7 信号引导码图
系统码也叫识别码,它用来指示遥控系统的种类,以区别其它遥控系统,防止各遥控系统的误动作功能码也叫指令码,它代表了相应的控制功能,接收机中的可根据功能码的数值完成各种功能操作。系统反码与功能反码分别是系统码与功能码的反码,反码的加入是为了能在接收端校对传输过程中数据是否产生差错。脉冲位置表示的“0”和“1”组成的32位二进制码,前16位控制指令,控制不同的红外遥控设备。而不同的红外家用电器又有不同的脉冲调控方式,后16位分别是8位的功能码和8位的功能反码。串行数据码时序图如2-8所示。
图2-8 串行数据码时序图
将要发送的指令脉冲编码信号调制在38KHz的载波上,可以增加信号的抗干扰能力,提高信号传输效率。信号调制时序如2-9所示。
图2-9 信号调制图
TC9012作为红外遥控器控制核心,遥控编码脉冲信号是由引导码、系统码、系统反码、功能码、功能反码等信号组成。以PPM码(脉冲位置调制码)对红外数据调制在38KHz的载波上对外进行发射信号。
第3节 红外接收显示电路
硬件电路组成有:红外接收电路、电源电路、1602液晶显示电路。 3.1 红外接收电路
HS0038是用于红外遥控接收的小型一体化接收头,集成红外线的接收、放大、解调,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输,中心频率38.0kHz。接收器对外只有3个引脚:OUT、GND、VCC与单片机接口非常方便。
1脚接电源(+VCC),2脚GND是地线(0V),3脚脉冲信号输出,经非门U6缓冲与P24的判断信号进行逻辑与使得进入INT0的信号恰好是红外数据发射电路输出端P25的相反相信号,只要检测到INT0信号下降沿从而测出控制指令的功能。
图2-12 HS0038内部结构工作流程
HS0038接收原理:红外线接收是把遥控器发送的数据(已调信号)转换成一定格式的控制指令脉冲(调制信号、基带信号),是完成红外线的接收、放大、解调,还原成发射格式
(高、低电位刚好相反)的脉冲信号。这些工作通常由一体化的接收头来完成,输出TTL兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。图 2-13是一个红外线接收电路框图。
图2-13 红外接收及控制电路框图
本设计的核心部分在于红外接收及LCD显示。其中红外数据接收是对红外二进制脉冲的宽度进行测量,从而获得红外遥控的脉冲信息。采用外部中断成为了理所当然的选择,外部中断只有低电平和下降沿触发两种方式,这就使得单片机只能一次性对脉冲的高电平或低电平进行测量,而一连串的脉冲是不可能分开多次测量的,因此,为了解决这一问题,本人将从接收头出来的红外二进制脉冲信号与标志位(P24)进行逻辑或非,然后再输入到INT0(P3.2)引脚,使得输入INT0的信号恰好是红外数据发射电路输出端P25的信号,只要检测到INT0信号下降沿到上升沿的这段时间。如果相邻的两个中断间隔的时间长度为1.125ms,说明接收到的是“0”;时间长度是2.25ms则为“1”。因此,脉冲电平的每一次跳变都会形成一次中断,在中断服务子程中即可实现一次性对一连串连续波形的测量,在测量后对0和1的各数据统计从而测出控制指令的功能。硬件或非门的反应速度是纳秒级的,满足实时要求。红外接收电路连接图如图2-14所示。
图2-14红外接收电路图
3.2 1602液晶显示电路
1602LCD主要技术参数:显示容量:16×2个字符,芯片工作电压:4.5~5.5V,工作电流:2.0mA(5.0V),模块最佳工作电压:5.0V,字符尺寸:2.95×4.35(W×H)mm。
1.引脚功能说明
1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表2-1所示。
表2-1 液晶1602引脚说明
编号
1 2 3 4 5
符号 VSS VDD VL RS RW
引脚说明 电源地 电源正极 液晶显示偏压 数据命令选择 读写选择
编号 9 10 11 12 13
符号 D2 D3 D4 D5 D6
引脚说明 数据 数据 数据 数据 数据
6 7 8 E D0 D1 使能信号 数据 数据 14 15 16 D7 BLA BLK 数据 背光源正极 背光源负极
第1脚:VSS为地。
第2脚:VDD接5V正电源。
第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,使用时可以通过一个10K的电位器调整对比度。
第4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。 第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。 第6脚:E端为使能端,当E端由高电平跳变到低电平时,液晶模块执行命令。 第7~14脚:D0~D7为8位双向数据线。 第15脚:背光源正极。 第16脚:背光源负极。 2.指令说明
1602液晶模块内部的控制器共有6条控制指令。
1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置。 指令2:光标复位,光标返回到地址00H。
指令3:光标或显示移位SC,高电平时移动显示的文字,低电平时移动光标。 指令4:读忙信号和光标地址BF,为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令5:写数据。 指令6:读数据。 3.写时序图