一种基于红外线发射装置的红外线遥控键盘设计
0. 引言
对于工业控制微机系统来说输入设备键盘几乎是必不可少的。在按键数目较少时,一般直接利用按键控制接口线的高低电平来表示,因此需要相应的接口支持,由于单片工业控制微机系统接口线数目有限,为了减少占用接口线常常采用一键定义多功能,但这又增加了软件的复杂性;在按键数目较多时,则大多采用动态扫描的方式构成键盘矩阵,这种键盘虽然结构原理简单,驱动程序易于设计,但是在具体实现时往往需要花很多的时间去设计印刷电路板、考虑面板布局,而且在硬件资源比较紧张时,还要考虑扩充I/ O 口,从而使得电路变得越来越复杂。
2. 系统简介
本文介绍一种利用红外线发射装置作为工业控制计算机输入键盘的接口原理和实现方法,该接口可以最大限度地减少对单片机系统的硬件资源要求,仅占用一根接口线,在系统的面板上只需一个小的接收窗。整个接口由发射和接收两部分组成。对于单片工业控制微机系统所需的按键数目少于30 时,发射部分可以直接使用成品红外遥控发射器,如果自行设计发射部分,则可以支持60个键左右,其中有两键用于构成组合按键。接收部分的接口电路也非常简单,无需布线,只要将成品模块的输出直接接到单片工业控制微机系统的任一I/ O 接口线即可,同时驱动程序也易于设计。由于键盘采用无线方式,因此所构成的单片机可以方便地满足一些需要远距离控制的场合,以及一些特殊场合,例如:单片工业控制微机系统在一个密封的容器内,通过玻璃小窗进行参数输入或控制;单片工业控制微机周围环境不适宜用户近距离操作等。
3. 红外线遥控键盘的硬件组成
由集成芯片PT2248构成的红外线遥控键盘发射电路见图1。00H~09H为数字键,0AH为复位键,0BH为取消键。
图1 红外线遥控键盘发射电路原理图
红外线遥控键盘发射电路采用脉时调制(PPM)方式,将遥控指令调制成脉冲序列,并驱动红外发射管以光脉冲的形式发送出去。遥控指令有12位码组成,见表1。
表1 遥控指令格式
C1,C2,C3是用户码,在T1,T2,T3与CODE之间分别接二极管则分别代表C1,C2,C3为高电平“1”,不接二极管则代表低电平“0”,图2中C1C2C2=111。D1,D2,D3,D4,D5,D6是发送的数据码,键号与键码的对应关系见表2。
表2 键号与键码的对应关系
PT2248遥控指令的波形正脉冲的占空比为1/4时代表“0”,正脉冲的占空比为3/4时代
表“1”见图2。
图2 遥控指令的波形图
无论“0”还是“1”,发射时正脉冲被调制在38KHZ的载波上,载波的占空比为1/3,这样有利于减少功耗。每个发送周期按 C1,C1,C2,H,S1,S2,D1,D2,D3,D4,D5,D6的次序串行发送,总长度为48a,其中a为每位码周期的1/4,其大小为:a=192/fosc秒=192/455KHE=0.422ms。按下00H~0BH中某个键时,输出脚TXOUT发送两个周期的12位码,其间隔为 80a。由GL3276A构成的红外线遥控键盘接收电路见图3。
图3 红外线遥控键盘接收电路原理图
当红外线线遥控键盘接收电路工作时,接收管PH302B接收到带有载频为38KHZ的遥控指令的红外线信号后,进行放大,限幅和检波,检出遥控指令的脉冲包络,滤去38KHZ载频,得到遥控指令的脉冲信号,整形并反向后由OUT输出,将GL3276A的OUT经74LS14施密特触发器整形,最终得到遥控指令的理想的反向脉冲信号。得到的遥控指令的反向脉冲信号的波形正脉冲的占空比为1/4代表“1”,正脉冲的占空比为3/4代表“0”,见图 4。图4 遥控指令的反向脉冲信号的波形图
4. 红外线遥控键盘的软件设计
将GL3276A的OUT输出信号经74LS14两级施密特反向器整形后与89C51的P3.2(/INTO)相连,由于每位码都以4a为周期,每位的起始总是由高电平到低电平,因此解码的过程可用每位码的起始边沿作为/INTO的中断请求信号,中断响应后关/INTO中断,然后延时a/2,由P3.2对红外线遥控接收电路的输出信号进行采样,再延时a,分别在3a/2,5a/2,7a/2时刻进行采样,波形与采样时刻的对应关系见图5。
图5 波形与采样时刻的对应关系
由图5可见接收到的“0”由‘低高高高’组成,“1”由‘低低低高’组成,当7a/2时刻采样完成后开/INTO中断,为下一位码的采样作准备,直到/INTO中断24次(两个周期的串行12位码)。中断服务子程序开始预置样码0FH,分别在a/2,3a/2,5a/2,7a/2时刻由 P3.2对红外遥控接收电路的输出信号进行采样,如果是高电平保持样码不变,如果是低电平样码相应位置0,最后将样码存入指定的RAM单元。
遥控键
- 基于TMS320F240的红外线设备远程报警系统设计与实现(04-17)
- 红外线遥控器软件解码原理和程序(C语言)(12-03)
- 基于51单片机的红外线遥控程序编写代码(11-30)
- 8051单片机红外线遥控实验(11-30)
- 红外线遥控码单片机测试程序(11-29)
- 一个红外线发射+解码程序+仿真文件(11-29)