用普通遥控器制作适合课堂教学的无线鼠标
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用普通遥控器制作适合课堂教学的无线鼠标
贺玉文内蒙古丰镇一中
[摘要]应用现有的低成本电视遥控器,结合单片机技术,通过软件编程,制作一款可以控制电脑的低成本无线鼠标,在学校教学课堂中会给老师带来极大方便。一般的无线鼠标都要求有一个接触面,翻页笔虽然解决了这个问题,但只能应用在PPT中,其应用范围也是有限的,这样在课堂教学中,老师的活动就受到了限制,而用电视遥控器制作的这款无线鼠标完全具有普通鼠标的功能,且不受以上限制,给老师在课堂教学中充分应用多媒体设备进行人机交互带来方便。
[关键词]红外线遥控器;单片机;电平;波形;鼠标;程序
引言
随着计算机技术的应用发展,作为操作电脑界面的鼠标成为必不可少的工具。课堂教学中电脑多媒体的进入极大地提高了教学效率,但通常的鼠标却把老师限制在一个很小的空间范围,给教学操作带来不便。为了解决这一问题,本文介绍了用市面上随便花几元钱就可买到电视红外线遥控器,结合单片机技术,通过软件编程,实现一款在教室内任意位置都可方便操作的无线遥控鼠标。
设计原理
电视遥控器上的每一个按键都通过数字编码以红外线脉冲的方式发射出去,单片机接收到红外编码后,通过解码得到相应按键信息,发送给要操作的电脑,电脑接收到这些按键动作,通过设计程序来处
理对应的按键行为。如对应鼠标动作的就向操作系统发送鼠标的消息,对应其它操作的就实现其它动作(如一键启动PPT、IE等)。工作过程如下图所示:
设计实现
1、遥控器解码
普通的电视遥控红外线的载波频率一般都为38KHz(占空比为
1:3);当某个按键按下时,系统首先发射一个完整的全码,如果键按
下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。一个完整的全码=引导码+客户码+数据码+数据反码。其中,引导码高电平4.5ms,低电平4.5ms;系统码16位,数据码16位,共32位;其中前16 位为用户识别码,能区别不同的红外遥控设备,防止不同机种遥控码互相干扰。后16 位为8 位的数据码和8位的数据码反码,用于核对数据是否接收正确及发送不同按键数据能保证所占时间相等。连发代码是在持续按键时发送的码。它告知接收端,某键是在被连续地按着。
4.5ms 4.5ms
9ms引导码16位客户码
11010000
8位数据码
00101111
8位数据反码
发射数据时0用“0.56ms高电平+0.565ms低电平=1.125ms”表示,
数据1用“高电平0.56ms +低电平1.69ms=2.25ms ”表示。
即发射码“0”表示发射38khz 的红外线0.56ms ,停止发射0.565ms ,发射码“1”表示发射38khz 的红外线0.56ms ,停止发射1.69ms ,如
图示:
根据以上红外
线遥控器的信
号分析,我们把红外接收头接收的信号输入到电脑的MIC 接口,通过电脑的Wave 录音软件,把输入的红外信号记录下来,然后根据W A VE 波形识别到遥控器按键的编码数据,以便于单片机正确处理。
我们以市面上随便可以买到的一款卫星小锅电视遥控器为例作进一步介绍。
小锅电视遥控器
按如下原理图将红外线接收头和PC 音频面板的Mic 口连接。
Mic of PC 红外接收头Mic in Out Line in PC 音频面板
0.56ms 1.125ms 0.565ms 0.56ms 2.25ms 1.69ms 遥控发射码“0”遥控发射码“1”
打开Windows自带的“录音机”软件,然后将遥控器对着红外线接收头分别按不同的按键,将所记录的音频以Wave格式分别存储。
录音机
把记录的音频波形文件,用Wave Editor软件打开并放大波形图,我们就可以清楚的看到每个按键的红外线波形编码。下图是遥控器上“静音”键的按键编码波形图:
可以直观的看到以上波形对应的是二进制编码为00110011101110001000100001110111共32位。这里需要注意的是,
红外线接收头接收到红外信号是反相的,即有红外信号时输出的是低低电平,空闲时是高电平。因此,在程序检测红外信号的时候,我们是在P3.2等待低电平的出现,如果有低电平,说明有红外线出现。
2、单片机接收处理Array根据以上分析,单片机在接收
处理的时候,关键是要能够识别红
外线的波形,并得到二进制的0和
1编码,以便发送给PC。而0和1
的波形我们可以看出,关键在于红
外线的空闲时间长短来确定。因此
在程序设计时,可以设定一个低电
平的时间尺来度量,如果红外线空
闲时间在“0”尺度之内则确定为
“0”,在“1”的尺度之内则确定
为“1”。当然我们在具体设计时,
为了程序的运行稳定也要考虑到
红外线的干扰因素,我们这里设定
小于20ns的尖峰可以忽略。程序
设计流程如右图所示:
单片机汇编程序源码见附件
光盘(51汇编语言)。
单片机采用常用的MSC51系列兼容芯片STC89C51/2。其接口定
义如下图所示:
P3.2口作为红外信号的输入端口。由集成红外线接收头VS1838(38KHz)接收来自遥控器的红外信号,并把其检出的红外信号送至单片机的P3.2口,单片机内部的程序识别并解码,得到相应按键值,通过单片机的串行口发送给PC。
在单片机程序设计上,要注意到,集成红外接收头发送给单片机的电平信号正好与红外线信号是相反的,也就是说,当有红外线发射的时候,接收头输入的是低电平。单片机识别到正确的数据后通过P3.0、P3.1串行发送给PC。这些数据分别为按键码,和连发码,PC 根据收到的这些数据作出相应的处理。由于现在的电脑主板上一般不再有串行接口,所以我们这里的电路采用了比较廉价的USB转串口