红外线遥控器76870

红外线遥控器76870

ID:14924538

大小:1.80 MB

页数:4页

时间:2018-07-31

红外线遥控器76870_第1页
红外线遥控器76870_第2页
红外线遥控器76870_第3页
红外线遥控器76870_第4页
资源描述:

《红外线遥控器76870》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、电视遥控器的C51解码程序及其控制的电动遥控玩具车举例彩色电视红外线遥控器小巧方便,抗干扰能力强,遥控距离远,得到广泛应用。其基本原理是通过键盘产生编码,对38K载波调制,经放大,形成一串串脉冲由红外线发射管发射出去,现以M50462AP集成电路的遥控器为例,介绍其编码及其用C语言实现的解码程序。彩电遥控器由键盘、M50462AP和红外发射管等组成,电原理图如图1:图1该遥控器的编码形式为脉宽调制方式,每一条指令由16位二进制编码即17个脉冲组成,如图2:C0C1C2C3C4C5C6C7D0D1D2D3D4D5D6D7引

2、导码用户码图2脉冲宽度0.25MS,编码为“1”时,脉冲间隔为1MS,编码为“0”时,脉冲间隔为2MS,如图3:0.25ms0.25ms1ms2ms编码“0”编码“1”图3指令前8位为引导码,后8位为功能码,M50462AP中的引导码C0~C7由1110XX10组成,C4、C5由外引脚C4、C5控制,当C4、C5悬空或为“1”时,C4、C5为0,反之为1,如以熊猫牌遥控器为例,其引导码为“11100010”即十六进制“E2H”,按键时间必须大于18MS才能被确认,具有自动消抖功能,按键22MS后开始发送指令,指令周期为4

3、4MS,如此循环发送,直到按键被释放。其编码及其对应的功能按键如表一:序号编码功能序号编码功能序号编码功能100H11298H2+23D8HPIC210H21348HCH-24未知——》308H31450HCH+250D0H〈——418H4150CCHLD+260E8HCLK504H5160DCHLD-270F8HTIME614H61744HVOL+280E4HON-TIME70CH71854HVOL-290F4HSEL81CH8190C4HSD+300ECHINC980H9200D4HSD—311090H0/30210

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

5、定时器方式,解码如图4:处理数据定时过程0.25ms图4至于定时数值的判定,初值为0,以逻辑“1”为例,晶振f=6MHZ,脉宽T=1.75MS,由计算知:count:=T/(1/f)=875=36BH由于本文为实验,故仅判定TH0的值,而又因有误差,认为只要TH0大于等于3即为“1”,否则为“0”,详细见中断流程图。因大部分工作都由单片机来完成,故硬件电路异常简单,以一电视红外线遥控器遥控的电动程控玩具车为例,用C语言实现的对M50462AP的解码及基本控制,,其具体电路如图5所示:图5在电路中,为了简单方便且使成本低廉

6、,变通使用音频放大集成电路TDA2822作电机驱动电路,及所有成品遥控接收头J1,TDA2822中的两个运算放大器构成电压比较器,M1,M2分别为玩具车的前进后退及拐弯电机,本设计只使用了遥控器的7个键,控制前进、后退、前进左拐、前进右拐、后退左拐、后退右拐及停止,若你有兴趣的话,为了逼真还可加上可遥控的前灯、后灯,加上光电管以实现遇障碍物自动拐弯,加上语音芯片实现语言功能,加上霍尔元件实现测量行驶距离,并通过数码管显示出来等。中断程序流程:载入定时器值N值符合条件YN符合“1”的条件CY=0YCY=1左移存数N满16位

7、Y引导码N为E2HY得KEY值计数器0清0允许计数中断结束原程序如下:本程序在KIELV2.30版调试通过。#include#includeunsignedcharkey,count,a,b,data1,data2;sbitleft=P1^5;sbitright=P1^4;sbitrun=P1^6;sbitlast=P1^7;voidint_e0(void)interrupt0{/*中断0*/a=TH0;b=TL0;if((a>=0x03)

8、

9、((a<=0x02)&&(a>=0x

10、01))){if(a>=0x03)CY=1;elseCY=0;data1=data1

11、CY;data1<<=1;count-=1;if(count==0x08)data2=data1;if(count==0x00){count=0x10;if(data2==0xe2){if(data1==0xcc)key=0x19;

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。