多媒体投影机遥控器的单片机仿真

发布者:MindfulBeing最新更新时间:2009-12-24 来源: 微计算机信息关键字:投影机  遥控  单片机  仿真 手机看文章 扫描二维码
随时随地手机看文章

    当前,投影机已是高校多媒体教室的常规设备,但是由于使用频繁,人员又杂,投影机遥控器损坏及遗失的情况时有发生。因为学校用的投影机均为进口产品,遥控器很难配到,并且能买到的话价格也是异常昂贵。利用单片机仿真遥控器的功能,制作成本很低的投影机遥控器具有实用推广价值。
制作投影机遥控器的关键是先要读出原投影机遥控器(同型号)的所有按键的控制码数据,然后做成按键控制码表格,当仿真时在按键操作下单片机将不同的控制码数据发射出去,达到遥控投影机的目的。

1 读遥控器按键码方法

1.1读遥控器按键码硬件电路

     如图1为单片机读投影机遥控键码的控制电路。单片机使用宏晶公司的STC12C5410,P1.6口灯用作读码状态的指示,灯亮代表读码状态。P1.7口灯用于指示遥控发射操作,闪烁时代表遥控码发射中,在读码状态下,当P1.6口灯灭而P1.7口灯亮时代表码已读入。第(1)脚为单片机的复位脚,采用简单的RC上电复位电路,(6)脚为外中断输入口,用于读码功能的转换控制,当按一下(6)脚口的开关时,系统进入中断读码状态。(8)脚用于红外线接收头的输出信号读入。(11)脚作为遥控器的红外线信号输出口,用于输出40KHz载波编码。(12)脚接遥控测试开关。(4)、(5)脚外接12M晶振。

      当按一下“学习”开关时,P1.6口的读码灯亮,表示进入读码状态,此时将需要仿真的遥控器某按键对着红外接收头按一下,当P1.6口的灯灭而P1.7口的指示灯亮时,读码成功。从计算机超级终端串口中可获得键码的数据。为了测试读得的码是否正确,可按一下发射测试开关,看是否能正确实现投影机的功能操作。按以上方法将原投影机遥控器的所有按键码读入计算机备用。图2和图3分别是红外线接收头输出端口及发射遥控码时的单片机输出口波形图。

 

1.2 读遥控器按键码软件设计

    图4是读遥控器按键码控制软件的主程序流程。图5是中断读入键码数据的程序流程图。

 

    中断读键码程序在编程设计中非常重要。它要完成遥控码起始位的识别及脉宽计数、遥控码编码位的宽度计数、结束位的认别等功能。通过大量的不同种类的遥控码波形实验分析,遥控码的帧间歇位宽度均在10 ms以上,起始位码宽度在100μs—20ms之间,编码位在100μs—5ms之间,为确保对所有遥控器读码的成功,采用以下设计方法:

    (1)寻提起始位方法:用16位DPTR计数器对高电平进行宽度计数,计数采样周期为21μs,当高电平结束时,如高8位计数器为非零,则说明高电平宽度超过5.35ms(255×21μs),紧接来的低电平码就是起始位,否则重新开始。

    (2)读起始位方法:采用16位DPTR对低电平进行宽度计数(最大可读宽度为1.376s),当高电平跳变时结束计数,并将DPTR的高8位、低8分别存入R4,R5寄存器。

    (3)读遥控编码的方法:采用DPTR低8位计数器对码(高电平或低电平)进行宽度计数,电平跳变时结束计数,并将值存入规定的地址,在高电平码计数时,如 DPTR高8位计数器为非零(宽度大于5.35ms),则判定为结束帧间隔位,在相应存储单元写入OOH作为结束标志。

2  投影机仿真遥控器的设计

2.1仿真遥控器硬件电路的设计

    图6是投影机仿真遥控器的电路原理图。采用4*8的行列式按键开关,可有32个操作按键。遥控器从P3.7口输出40K的红外线调制信号。

2.2 仿真遥控器软件的设计

    仿真遥控器中通过主程序的循环查键执行相应的键码发射功能,键码表是写在ROM中的,因此完成编程后是不能再改的。程序包括以下主要模块:

    (1)初始化程序。P1及P3端口置位,设置计数器计数模式、控制字等。

    (2)键盘扫描程序。完成32个按键的扫键工作,并翻译成相应的32个键号,使能执行相应的键功能。

    (3)按键功能程序。利用定时器定时中断功能,实现40KHz载波的产生;利用ROM表上各按键相应的起始位控制数据、高电平控制数据、低电平控制数据控制载波的发送时间及间隔时间。遥控码调制发射的算法如下:

    ①[发起始位调制波]

    取ROM表中起始位数据;

    开40KHZ方波定时器;

    起始位数据减1,不为零,延时21μs后重复执行本句;

    为零执行下句;

    ②[发高电平间隔位]

    关40KHZ方波定时器;

    取ROM表中高电平数据;如数据为0,延时10ms后结束算法;不为零执行下句;

    数据减1,不为零,延时21μs后重复执行本句;

    为零执行下句;

    ③[发低电平调制波]

    取ROM表中低电平数据;

    开40KHZ方波定时器;

    低电平数据减1,不为零,延时21μs后重复执行本句;为零转②循环;

    ④算法结束

3  主要性能指标

    (1) 读码器最大学习码长:206bit

    (2) 读码器读码识别范围:起始位:21μs~1.376s,编码位:21μs ~5.355ms

    (3) 读码误差:+21μs

    (4) 读码器帧间歇位识别范围:小于1.37s,大于5.355ms

    (5) 仿真遥控器发射距离:大于10M

4  小结

     多媒体投影机的单片机仿真遥控器性能与软件的设计具有密切的关系,特别是码宽计数的采样周期,关系到能否识别出起始位及遥控码采样精度问题,在编程时需多次实验测试,相互兼顾,本设计中读码采样周期为21μs,经测试可正确仿真市场上常用的投影机及彩电、空调等设备。

关键字:投影机  遥控  单片机  仿真 引用地址:多媒体投影机遥控器的单片机仿真

上一篇:基于单片机和CPLD实时数据采集显示系统设计
下一篇:FLASH在MSP430F149嵌入式系统中的应用

推荐阅读最新更新时间:2024-03-16 12:27

基于PIC单片机USB接口的数据采集系统设计
  我们把所设计的数据采集系统功能分解为三大部分:数据采集部分、数据通信部分、数据处理部分。   数据采集部分应包含:A/D转换器,时序、模式控制,数据缓冲功能。它应能接受来自主机的命令,按不同模式控制A/D转换器采集数据,暂存于数据缓冲区,再根据主机命令发给主机。这部分功能由一个单片机及接口来实现是最优方式。   数据通信部分应包含:简单、高效、通用的数据通信模式和软硬件支持。它应能在数据采集和数据处理两部分之间实现目前最好的连接和沟通。因为USB作为一种外部总线标准,用于规范电脑与外部设备的连接和通讯,并具有传输速度快,使用方便,支持热插拔,连接灵活,独立供电等优点,所以这部分功能采用USB接口连接最好。   数据处理部分应
[单片机]
基于PIC<font color='red'>单片机</font>USB接口的数据采集系统设计
AVR单片机熔丝位配置参数
mega8的熔丝位设置 以下内容根据mega8的英文手册翻译,希望对大家有所帮助。如发现错误,恳请大家指正。 mega8熔丝位: 1:未编程(不选中) 0:编程(选中) ******************************** 熔丝位 说明 缺省设置 ******************************** RSTDISBL: 复位或I/O功能选择 1 1:复位功能;0:I/O功能(PC6) WDTON: 看门狗开关 1 1:看门狗打开(通过WDTCR允许);0:看门狗禁止 SPIEN: SPI下载允许 0 1:SPI下载禁止;0:SPI下载允许(注:当使用SPI编程时,该项不可用) EEAVE: 烧录时EEPRO
[单片机]
51单片机混合编程
keil C语言与汇编语言混合编程 1. C语言中嵌入汇编 1、在 C 文件中要嵌入汇编代码片以如下方式加入汇编代码: #pragma ASM ; Assembler Code Here #pragma ENDASM 2、在 Project 窗口中包含汇编代码的 C 文件上右键,选择 Options for ... ,点击右边的 Generate Assembler SRC File 和 Assemble SRC File ,使检查框由灰色变成黑色(有效)状态; 3、根据选择的编译模式,把相应的库文件(如 Small 模式时,是 KeilC51LibC51S.Lib)加入工程中, 该
[单片机]
MSP430单片机硬件知识-中断
中断是MSP430微处理器的一大特色,有效地利用中断可以简化程序和提高执行效率。MSP430的几乎每个外围模块都能够产生中断,为MSP430针对事件(即外围模块产生的中断)进行的编程打下基础。MSP430在没有事件发生时进入低功耗模式,事件发生时,通过中断唤醒CPU,事件处理完毕后,CPU再次进入低功耗状态。由于CPU的运算速度和退出低功耗的速度很快,所以在应用中,CPU大部分时间都处于低功耗状态。 MSP430的中断分为3种:系统复位、不可屏蔽中断、可屏蔽中断。 (1)系统复位的中断向量为0xFFFE。 (2)不可屏蔽中断的中断向量为0xFFFC。响应不可屏蔽中断时,硬件自动将OFIE、NMIE、ACCVIE复位。软
[单片机]
MSP430F149系列单片机的I AP功能设计
TI公司的MSP430系列单片机是具有很高实用性价值的产品,在许多领域得到广泛的应用,特别是它的超级低功耗特性,是目前所有其他单片机无法比拟的。IAP(InApplication Programming)是用户自己的程序在运行过程中对用户Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 要实现IAP功能,通常需要在设计固件程序时编写两个项目代码:第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB、USART、一些无线设备)接收程序或数据(可执行HEX文件),执行对第二部分代码的更新;第二个项目代码才是真正的功能代码。这两部分项目代码同时烧录在用户Fla
[单片机]
MSP430F149系列<font color='red'>单片机</font>的I AP功能设计
分时操作系统思想在单片机编程中的实现
摘要:提出基于分时系统思想的单片机系统设计方案,给出一具体应用的实例以及详细的实现方法。 关键词:分时操作系统 单片机系统 作业调度 指针 前言   作为嵌入式系统主控单元——单片机,其软件往往是一个微观的实时操作系统,且大部分是为某种应用而专门设计的。系统程序有实时过程控制或实时信息处理的能力,要求能够及时响应随机发生的外部事件并对该事件做出快速处理。而分时操作系统却是把CPU的时间划分成长短基本相同的时间区间,即“时间片”,通过操作系统的管理,把这些时间片依次轮流地分配给各个用户使用。如果某个作业在时间片结束之前,整个任务还没有完成,那么该作业就被暂停下来,放弃CPU,等待下一轮循环再继续做。此时CPU又分配给另一个作
[单片机]
单片机简易8键电子琴程序
简易8键电子琴的原理图: 单片机源程序如下: /******************************************************************* ******************************************************************** ********* 51简易电子琴程序 ***************** ******************************************************************** ********* ****************/ #inc
[单片机]
<font color='red'>单片机</font>简易8键电子琴程序
使用单片机对瓦斯气体浓度信息检测和报警设计
  由于瓦斯气体本身的危险性和对人民生产生活造成的巨大危害,因此对瓦斯气体的检测和报警是一项必要的工作。瓦斯报警是指利用气体传感器技术,将检测到的瓦斯气体浓度和标准值进行比较,当高过一定浓度值时候进行相应的声光报警,提醒正在作业的人员进行相应的处理,组织人员撤离或对矿井通风排气,避免不安全事故的发生,对现在采矿业的安全起着非常重要的作用。笔者所设计一种低成本的可燃性气体报警器设计,能够监控矿井的瓦斯气体的浓度,显示测量结果,并对当前的环境状态做出判断,发出报警信息。   当前,随着采矿技术的不断发展,井下作业的 安全 越来越有保障,但是仍然有许多采矿企业的机械化程度低,对现场采矿的工作人员的生命安全造成潜在的威胁,特别是针对瓦斯
[测试测量]
使用<font color='red'>单片机</font>对瓦斯气体浓度信息检测和报警设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved