电视遥控器的C51解码程序及其控制的电动遥控玩具车举例

彩色电视红外线遥控器小巧方便,抗干扰能力强,遥控距离远,得到广泛应用。其基本原理是通过键盘产生编码,对38K载波调制,经放大,形成一串串脉冲由红外线发射管发射出去,现以M50462AP集成电路的遥控器为例,介绍其编码及其用C语言实现的解码程序。

彩电遥控器由键盘、M50462AP和红外发射管等组成,电原理图如图1:

图1

该遥控器的编码形式为脉宽调制方式,每一条指令由16位二进制编码即17个脉冲组成,如图2:

C0C1C2C3C4C5C6C7D0D1D2D3D4D5D6D7引导码用户码

图2

脉冲宽度0.25MS,编码为“1”时,脉冲间隔为1MS,编码为“0”时,脉冲间隔为2MS,如图3:

0.25ms 0.25ms

1ms2ms

编码“0”编码“1”

图3

指令前8位为引导码,后8位为功能码,M50462AP中的引导码C0~C7由1110XX10组成,C4、C5由外引脚C4、C5控制,当C4、C5悬空或为“1”时,C4、C5为0,反之为1,如以熊猫牌遥控器为例,其引导码为即十六进制“E2H”,按键时间必须大于18MS才能被确认,具有自动消抖功能,按键22MS后开始发送指令,指令周期为44MS,如此循环发送,直到按键被释放。其编码及其对应的功能按键如表一:

序号编码功能序号编码功能序号编码功能100H11298H2+23D8HPIC210H21348HCH-24未知——》308H31450HCH+250D0H〈——418H4150CCHLD+260E8HCLK504H5160DCHLD-270F8HTIME614H61744HVOL+280E4HON-TIME70CH71854HVOL-290F4HSEL81CH8190C4HSD+300ECHINC980H9200D4HSD—311090H0/30210D0HBZ321188H1+225CHTV/AV33 表一

电视遥控器的解码由一片目前广泛使用、体积小而功能极强的AT89C2051单片机作解码芯片, 该单片机内含128B RAM,2K Flash ROM,15根I/O口线,5个中断源,一个全双工串口,2个定时器/计数器,2个外部中断, 时钟频率最高可达24M HZ,而外部引脚仅为20个。遥控接收头直接接89C2051的INT0端,解码利用了定时器T0的门控位GATE位功能捕捉脉冲间隔宽度,即定时器工作不仅要允许位TR0置位,还要INT0引脚为高电平才能开始定时,定时器T0工作在十六位定时器方式,解码如图4:

处理数据 定时过程

0.25ms

图4

至于定时数值的判定,初值为0,以逻辑“1”为例,晶振f=6M HZ,脉宽T=1.75MS,由计算知:

count:=T/(1/f)=875=36BH 由于本文为实验,故仅判定TH0的值,而又因有误差,认为只要 TH0大于等于3即为“1”,否则为“0”,详细见中断流程图。

因大部分工作都由单片机来完成,故硬件电路异常简单,以一电视红外线遥控器遥控的电动程控玩具车为例,用C语言实现的对M50462AP的解码及基本控制,,其具体电路如图5所示:

图5

在电路中,为了简单方便且使成本低廉,变通使用音频放大集成电路TDA2822作电机驱动电路,及所有成品遥控接收头J1,TDA2822中的两个运算放大器构成电压比较器,M1,M2分别为玩具车的前进后退及拐弯电机,本设计只使用了遥控器的7个键,控制前进、后退、前进左拐、前进右拐、后退左拐、后退右拐及停止,若你有兴趣的话,为了逼真还可加上可遥控的前灯、后灯,加上光电管以实现遇障碍物自动拐弯,加上语音芯片实现语言功能,加上霍尔元件实现测量行驶距离,并通过数码管显示出来等。

中断程序流程:

N

值符合条件

Y

N

符合“1”的条件

C语言遥控器程序,电视遥控器C51解码程序及其控制电动遥控玩具车举例.doc相关推荐

  1. Android Tv 小米遥控器,小米电视遥控器怎么样?小米电视支持手机遥控吗?

    小米电视遥控器怎么样 小米电视还新设计了电视遥控器.它具有小巧的身材和极佳的手感.搭配MIUI TV版操作系统,不用看遥控器即可完成对电视操作. 配置方面,小米电视采用高通骁龙600四核1.7GHz处 ...

  2. Ardunio开发实例-红外遥控器解码与LED控制

    红外遥控器解码与LED控制 红外遥控是一种无线.非接触控制技术,具有抗干扰能力强,信息传输可靠,功耗低,成本低,易实现等显著优点,被诸多电子设备特别是家用电器广泛采用,并越来越多的应用到计算机和手机系 ...

  3. 电视摇控器c语言程序,单片机红外电视遥控器C51程序代码

    原标题:单片机红外电视遥控器C51程序代码 //************************************************************** //名称:代码() /*- ...

  4. 万能遥控程序c语言,51单片机万能红外遥控解码程序

    51hei单片机论坛里流传的遥控解码程序现在都弱爆了根本解不了现在的遥控自己写个万能红外遥控解码 本程序中需要用的头文件下载:http://www.51hei.com/mcu/2564.html // ...

  5. 旋钮编码器c代码_非常稳定的旋转编码器解码程序(C51源代码)

    在网上下载过很多种编码器解码程序,使用后感觉都不够稳定,特别是旋转速度稍快时,经常会出现错误解码.为此,经过分析编码器输出波形特点,结合其它解码程序的优点,编写如下代码,不用中断,也可以不用定时器.经 ...

  6. C语言遥控器程序,学习型遥控器C语言.doc

    /*********************************************************************/ // remote.c // 学习型遥控器 // 使用k ...

  7. c51c语言编程的音乐程序,51单片机唱歌C51音乐程序.doc

    51单片机唱歌C51音乐程序 51单片机唱歌 C51音乐程序 unsigned char n 0; //n为节拍常数变量 unsigned char code music_tab[] 0x18, 0x ...

  8. 伸缩门遥控器c语言程序,伸缩门遥控器匹配方法是什么呢? 如何学会电动门的遥控编码...

    我们的很多地方并不像我们的家里一样门可以只开一个洞口,有的是需要整个都打开增加人流量,有的是需要让车通过,比如说是车库,这样的门常常是使用伸缩门,这样可以大大增加门开的面积,伸缩门大都是使用遥控器的, ...

  9. 基于STM32和EV1527的无线接收解码程序

    一.1527的数据帧结构 无线遥控的编码,从编码类型上来说,分为2类,一类是固定码,也就是编码芯片的地址是不变的,芯片型号以 EV1527.PT2262 为代表.另一种是滚动码,芯片的地址码是变化的, ...

最新文章

  1. read_copy update
  2. android studio 的AVD Manager点击无响应解决办法
  3. c 自动生成html文件,webpack4系列教程(三):自动生成项目中的HTML文件
  4. LeetCode每日一题: 最后一个单词的长度(No.58)
  5. 制作.ppm格式Linux内核启动logo
  6. 任何字符串都可以作为c语言的标识符,2013年软考程序员模拟试题及答案解析一...
  7. ctfshow-WEB-web3
  8. Linux下 RabbitMQ的安装与配置
  9. Django REST框架
  10. CCNA零基础视频教程本人原创 下载地址
  11. java 注入为空_Spring @Autowired 注入为 null
  12. 小刘同学的第五十五篇博文
  13. 详解String的intern方法
  14. 联想System X 3650M5 服务器装机问题记录
  15. zh-cn、en-us、zh-tw等表示语言(文化)代码与国家地区对照表
  16. Petya and Countryside
  17. 懒羊羊找朋友 C++
  18. 【工具DIY】DIY一个高精度电阻箱
  19. 关于mysql数据库三范式
  20. perlembed - 在 C 程序中嵌入 perl

热门文章

  1. 把.app文件打包ipa 利用Payload 打包ipa
  2. [2.5]-AutoSAR零基础学习-AutoSAR解决方案
  3. IEC TR 62544-2022 高压直流(HVDC)系统-有源滤波器的应用
  4. LCMapString/LCMapStringEx实现简体字、繁体字的转换。
  5. 网卡正常启动 ipv4 ipv6未连接 ipconfig网络适配器无法获取相应信息 win7诊断适配器驱动问题
  6. 基于PLC控制的导热油温控系统如何实现远程监控
  7. 关于BH1750数字光强度传感器
  8. 中南大学计算机工程制图考试题库,工程制图试题及答案和习题集答案cad.doc
  9. 深入浅出git(二)——分支
  10. 有关java中equals()与hashCode()的探讨