0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用51单片机控制红外遥控芯片的资料和解码程序

Wildesbeast 来源:未知 2019-10-13 10:19 次阅读

红外遥控发射芯片采用PPM编码方式,当发射器按键按下后,将发射一组108ms的编码脉冲。遥控编码脉冲由前导码、8位用户码、8位用户码的反码、8位操作码以及8位操作码的反码组成。通过对用户码的检验,每个遥控器只能控制一个设备动作,这样可以有效地防止多个设备之间的干扰。编码后面还要有编码的反码,用来检验编码接收的正确性,防止误操作,增强系统的可靠性。前导码是一个遥控码的起始部分,由一个9ms的低电平(起始码)和一个4. 5ms的高电平(结果码)组成,作为接受数据的准备脉冲。以脉宽为0. 56ms、周期为1. 12ms的组合表示二进制的“0”;以脉宽为1. 68ms、周期为2. 24ms的组合表示二进制的“1”。如果按键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2. 5ms)组成。

单片机采用外部中断INTI管脚和红外接收头的信号线相连,中断方式为边沿触发方式。并用定时器0计算中断的间隔时间,来区分前导码、二进制的“1”、“0”码。并将8位操作码提取出来在数码管上显示。

// 解码值在Im[2]中,当IrOK=1时解码有效。

/* 51单片机红外遥控解码程序 */

//用遥控器对准红外接收头,按下遥控器按键,在数码管前两位上就会显示对应按键的编码

#include 《reg52.h》

#define uchar unsigned char

sbit dula=P2^6;

sbit wela=P2^7;

uchar code table[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,

0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};

uchar f;

#define Imax 14000 //此处为晶振为11.0592时的取值,

#define Imin 8000 //如用其它频率的晶振时,

#define Inum1 1450 //要改变相应的取值。

#define Inum2 700

#define Inum3 3000

unsigned char Im[4]={0x00,0x00,0x00,0x00};

uchar show[2]={0,0};

unsigned long m,Tc;

unsigned char IrOK;

void delay(uchar i)

{

uchar j,k;

for(j=i;j》0;j--)

for(k=125;k》0;k--);

}

void display()

{

dula=0;

P0=table[show[0]];

dula=1;

dula=0;

wela=0;

P0=0xfe;

wela=1;

wela=0;

delay(5);

P0=table[show[1]];

dula=1;

dula=0;

P0=0xfd;

wela=1;

wela=0;

delay(5);

}

//外部中断解码程序

void intersvr1(void) interrupt 2 using 1

{

Tc=TH0*256+TL0; //提取中断时间间隔时长

TH0=0;

TL0=0; //定时中断重新置零

if((Tc》Imin)&&(Tc《Imax))

{

m=0;

f=1;

return;

} //找到启始码

if(f==1)

{

if(Tc》Inum1&&Tc《Inum3)

{

Im[m/8]=Im[m/8]》》1|0x80; m++;

}

if(Tc》Inum2&&Tc《Inum1)

{

Im[m/8]=Im[m/8]》》1; m++; //取码

}

if(m==32)

{

m=0;

f=0;

if(Im[2]==~Im[3])

{

IrOK=1;

}

else IrOK=0; //取码完成后判断读码是否正确

}

//准备读下一码

}

}

/*演示主程序*/

void main(void)

{

unsigned int a;

m=0;

f=0;

EA=1;

IT1=1;EX1=1;

TMOD=0x11;

TH0=0;TL0=0;

TR0=1;//ET0=1;

while(1)

{

if(IrOK==1)

{

show[1]=Im[2] & 0x0F; //取键码的低四位

show[0]=Im[2] 》》 4;

IrOK=0;

}

for(a=100;a》0;a--)

{

display();

}

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 51单片机
    +关注

    关注

    269

    文章

    5649

    浏览量

    120848
  • 遥控器
    +关注

    关注

    18

    文章

    815

    浏览量

    64275
  • 程序
    +关注

    关注

    114

    文章

    3631

    浏览量

    79573
收藏 人收藏

    评论

    相关推荐

    最简单的51单片机红外遥控解码程序

    介绍本人自编的51单片机红外遥控解码程序,自认为是可能是史上最简的
    发表于 03-20 10:05 1.6w次阅读

    51单片机红外解码资料+源代码

    51单片机红外解码资料+源代码
    发表于 08-16 20:43

    单片机实现红外遥控解码全部资料

    `红外遥控器的解码并对电器进行遥控一直是广大单片机爱好者的一个心愿。自己动手实现红外
    发表于 08-12 10:16

    单片机红外解码的问题

    本人在校学生,最近在想做基于51单片机的空调遥控器,空调型号(aux),但是不知道它的红外协议是什么。在做了nec协议的解码
    发表于 09-17 14:58

    单片机软件解码红外遥控控制多路继电器 资料

    基于单片机C语言程序红外解码遥控控制多路继电器,如按遥控
    发表于 02-19 22:06

    51单片机红外遥控 精选资料分享

    、电源和应用电路组成,在单片机开发板上有红外接收电路,而且单片机充当解码芯片。- 红外信号是怎么
    发表于 07-13 08:12

    基于51单片机红外摇头小风扇 精选资料推荐

    小风扇,在软件keil5上编写程序。需要使用到的元件有51单片机、直流电机、舵机、红外遥控器、杜邦线、蜂鸣器、数码管。需要完成NEC
    发表于 09-08 07:56

    51单片机解码红外遥控器原理介绍

    红外解码的一般原理,51单片机红外遥控接收的原理图
    发表于 11-16 17:47 90次下载

    使用STM8单片机设计的红外遥控解码程序电路图芯片资料免费下载

    本文档的主要内容详细介绍的是使用STM8单片机设计的红外遥控解码程序电路图芯片
    发表于 12-07 17:12 47次下载
    使用STM8<b class='flag-5'>单片机</b>设计的<b class='flag-5'>红外</b><b class='flag-5'>遥控</b>器<b class='flag-5'>解码</b>的<b class='flag-5'>程序</b>电路图<b class='flag-5'>芯片</b><b class='flag-5'>资料</b>免费下载

    51单片机红外遥控资料程序免费下载

    本文档的主要内容详细介绍的是51单片机红外遥控资料程序免费下载。
    发表于 08-21 17:30 25次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>红外</b><b class='flag-5'>遥控</b>的<b class='flag-5'>资料</b>和<b class='flag-5'>程序</b>免费下载

    使用51单片机进行红外遥控解码8位数据管显示的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机进行红外遥控解码8位数据管显示的程序免费下载。
    发表于 07-29 17:36 1次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b>进行<b class='flag-5'>红外</b><b class='flag-5'>遥控</b><b class='flag-5'>解码</b>8位数据管显示的<b class='flag-5'>程序</b>免费下载

    基于51单片机的VB遥控播放器红外遥控解码设计源程序

    基于51单片机的VB遥控播放器红外遥控解码设计资料
    发表于 04-27 15:08 0次下载

    基于51单片机红外遥控解码数码管显示设计资料程序

    基于51单片机红外遥控解码数码管显示设计资料程序
    发表于 04-26 15:35 4次下载

    基于51单片机数码管遥控解码设计资料程序

    基于51单片机数码管遥控解码设计资料程序
    发表于 04-26 15:13 0次下载

    基于51单片机中文12864LCD显示红外遥控解码设计资料程序

    基于51单片机中文12864LCD显示红外遥控解码设计资料
    发表于 04-26 15:09 2次下载