引 言
对于工业控制微机系统来说输入设备键盘几乎是必不可少的。在按键数目较少时,一般直接利用按键控制接口线的高低电平来表示,因此需要相应的接口支持,由于单片工业控制微机系统接口线数目有限,为了减少占用接口线常常采用一键定义多功能,但这又增加了软件的复杂性;在按键数目较多时,则大多采用动态扫描的方式构成键盘矩阵,这种键盘虽然结构原理简单,驱动程序易于设计,但是在具体实现时往往需要花很多的时间去设计印刷电路板、考虑面板布局,而且在硬件资源比较紧张时,还要考虑扩充I/ O 口,从而使得电路变得越来越复杂。
1. 系统简介
本文介绍一种利用红外线发射装置作为工业控制计算机输入键盘的接口原理和实现方法,该接口可以最大限度地减少对单片机系统的硬件资源要求,仅占用一根接口线,在系统的面板上只需一个小的接收窗。整个接口由发射和接收两部分组成。对于单片工业控制微机系统所需的按键数目少于30 时,发射部分可以直接使用成品红外遥控发射器,如果自行设计发射部分,则可以支持60个键左右,其中有两键用于构成组合按键。接收部分的接口电路也非常简单,无需布线,只要将成品模块的输出直接接到单片工业控制微机系统的任一I/ O 接口线即可,同时驱动程序也易于设计。由于键盘采用无线方式,因此所构成的单片机可以方便地满足一些需要远距离控制的场合,以及一些特殊场合,例如:单片工业控制微机系统在一个密封的容器内,通过玻璃小窗进行参数输入或控制;单片工业控制微机周围环境不适宜用户近距离操作等。
2. 红外线遥控键盘的硬件组成
由集成芯片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 遥控指令的反向脉冲信号的波形图
3. 红外线遥控键盘的软件设计
将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单元。
遥控键盘的可靠性是软硬件设计中重点考虑的问题。在硬件上,将GL3276A的OUT经74LS14施密特整形,以提高抗干扰能力。在软件上要正确的解码,必须从每位码的起始位开始接收,本设计中,PT2248发送的遥控指令的起始码为用户码C1C2C3=111,因为P3.2接收到的“1”由 ‘低低低高’组成,因此接收到的码应为三个“0001”,若不是,本次接收无效。其次,为了防止接收误码,应对前后两次接收的两个周期的12位串行码进行一致性比较,若相同则与键码表中的键码进行比较,找出相应的键号,否则本次接收无效。解码程序流程图见图6.
图6 解码程序流程图
4. 结束语
本文介绍了一种利用红外遥控器作为单片机输入键盘的接口原理和方法,构思巧妙,结构合理,成本低廉,我们已经成功地利用该接口方式实现了单片机键盘的无线式操作。文中以PT2248集成芯片作为发射部分,对于其他类型发射芯片,此接口原理仍然适用,只需相应修改中断服务程序即可。如果单片机系统有多余的外中断资源,可将接收到的信号输入至中断引脚,利用外中断与定时器结合,则可减少接收处理时对CPU 时间的占用。利用此技术,我们在“智能型牛奶质量快速检测仪研制”项目上得到了很好的应用。
遥控技术经历了有线遥控、无线电波遥控,现今的红外遥控,技术已相当成熟,功能越来越强,运行越来越稳定,应用越来越广泛。先进的遥控技术配合单片机运用到工业控制中去,那么,控制系统的操作将变得更容易、更快捷、更方便、更安全。
参考 文 献
[1] 陈明萤 8051单片机课程设计? 清华大学出版社 2004
[2] 求是科技 单片机典型模块设计实例导航? 人民邮电出版社 2004
[3]李建华著《实用遥控器原理与制作》,人民邮电出版社,1996。
[4]郑凤翼著《彩色电视机遥控系统原理与维修》,人民邮电出版社,1997。
[5]樊昌信、张浦诩、徐炳祥、吴成柯著《通讯原理》,国防工业出版社,2001。
[6]王亭著《彩电遥控器的单片机解码技术》,电子工业出版社,1997。
上一篇:单片机的通信性能分析与评价方法
下一篇:通过无线通信收发模块实现单片机之间的通信
推荐阅读最新更新时间:2024-03-16 15:56