C51红外解码程序

发布者:czc天天最新更新时间:2016-11-21 来源: eefocus关键字:C51  红外解码 手机看文章 扫描二维码
随时随地手机看文章

这是一个简单的红外解码程序,是针对9ms起始码和4.5ms结束码的红外信号晶振用的是11.0592M的

#i nclude 
#i nclude 
sfr p0=0x80;
sfr p3=0xb0;
sbit p32=p3^2;
unsigned char dm,i,j,k;
unsigned char data a[4];//定义4个数组,用来存储代码
void ds0_9ms(void)
{
 unsigned char j,k;
   for(j=18;j>0;j--)
     for(k=20;k>0;k--) ;
}
void ds1ms(void)
{
 unsigned char i,j;
 for(i=2;i>0;i--)
   for(j=230;j>0;j--) ;
}
void ds4_5ms(void)
{
 unsigned char i,j;
    for(i=10;i>0;i--)
   for(j=225;j>0;j--) ;
}
void ds2s(void)
{
unsigned char i,j,k;
 for(i=200;i>0;i--)  
  for(j=200;j>0;j--)
     for(k=10;k>0;k--) ;
}
void main()
{
 IT0=1;
 EX0=1;
 EA=1;
 dm=0;
 ds2s();
 p0=0;
while(1);
}
void t0(void) interrupt 0 using 2//外部中断0的函数
  {
    EA=0;
    for(k=0;k<10;k++)
  {
    ds0_9ms();
    if (p32==1) {k=10;break;}
    else if(k==9)
              {
            while(p32==0);
            ds4_5ms();
            for(i=0;i<4;i++)
               {
                 for(j=1;j<=8;j++)
                {
                 while(p32==0);
                 ds0_9ms();
                  if(p32==1)
                   {ds1ms();
                 dm=dm|0x80;
                 if(j<8) dm=dm>>1;
                }
                 else  if(j<8)dm=dm>>1;
                }
             a[i]=dm;
             dm=0;
                }
           for(i=0;i<4;i++)
             {
              p0=a[i];
              ds2s();
             }
          }
  }
 p0=0;
 EA=1;
}


关键字:C51  红外解码 引用地址:C51红外解码程序

上一篇:C51编写菜单的例子
下一篇:AT89C51音乐盒

推荐阅读最新更新时间:2024-03-16 15:21

C51语言与LCM12864ZK的接口控制技术
C51语言与LCM12864ZK的接口控制技术 介绍LCM12864ZK的原理及功能,给出了MCU与LCM128 64ZK的硬件接口电路,同时根据LCM12864ZK的汉字显示指令,给出了相应的控制软件程序。 Interface Control Technology of C51 and LCM12864ZK LIU Jianhua, WANG Shuohe, HAO Ronghua, LIU Min, GENG Peng (Department of Electrical Engineering, Shijiazhuang Railway Institute , Shijiazhuang 050043, China)   Ke
[单片机]
<font color='red'>C51</font>语言与LCM12864ZK的接口控制技术
c51编程中sbit sfr 用法
1 首先区分bit 和sbit bit和int char之类的差不多,只不过char=8位, bit=1位而已。都是变量,编译器在编译过程中分配地址。除非你指定,否则这个地址是随机的。这个地址是整个可寻址空间,RAM+FLASH+扩展空间。bit只有0和1两种值,意义有点像Windows下VC中的BOOL。 sbit是对应可位寻址空间的一个位,可位寻址区:20H~2FH。一旦用了sbi xxx = REGE^6这样的定义,这个sbit量就确定地址了。sbit大部分是用在寄存器中的,方便对寄存器的某位进行操作的。 sbit的用法有三种:   第一种方法:sbit 位变量名=地址值   第二种方法:sbit
[单片机]
C51系列单片机设计物体分级设备的测量光幕
摘要:首先介绍了光幕测量高度的原理,给出了高度测量光幕的一种实现方法,分析了由该方法设计的系统结构和主要性能。从而彻底解决了相邻通路间的干扰,提高了测量精度。 关键词:单片机;测量光幕;分级 1 引言 光幕是电子测量系统中应用比较多的一种设备。利用光幕可以测量恒速传送带上的物体高度、长度或宽度等一系列数据,以便为后面的电子系统提供相应的参数。本文给出了一种利用单片机实现物体高度测量的光幕测量方法。 2 光幕测量物体高度的基本原理 图1所示是一个用普通光幕测量物体高度的测试原理结构示意图。图中,光幕的一边等间距安装有多个红外发射管,另一边相应的有相同数量同样排列的红外接收管,每一个红外发射管都对应有一个相应的红外接收管,且
[单片机]
C51函数返回值传递规则是什么?
在C51中,函数返回值传递的规则是什么? 答 :(1)调用时参数的传递 分三种情况:少于等于3个参数时通过寄存器传递(寄存器不够用时通过存储区传递),多于3个时有一部分通过存储区传递,对于重入函数参数通过堆栈传递。通过寄存器传递速度最快。 (2)函数返回值的传递 当函数有返回值时,其传递都是通过寄存器
[单片机]
51单片机外部中断的C51编程
学习到中断这卡壳了,先是理解不了两种触发,现在是自己写查询方式的也不对。可能是心不静,也没好好来想想到底是为啥不行?从网上粘点学习的过来吧!我越来越懒了。 以下来自网址: http://bbs.cepark.com/forum.php?mod=viewthread&tid=35813&page=1 谢谢原创! 相关知识: 1、51单片机的5大中断源:串行口中断、定时中断1、外部中断1、定时中断0、外部中断0; 2、中断源的编号: 串行口中断为4、定时中断1为3、外部中断1为2、定时中断0为1、外部中断0为0; 3、中断源的优先级:按以上顺序排列,串行口中断最低、外部中断0最高; 4、使用外部中断0和1,必
[单片机]
单片机C语言C51的函数
函 数 1. 函数的定义 函数定义的一般格式如下: 函数类型 函数名(形式参数表) 形式参数说明 { 局部变量定义 函数体 } 前面部件称为函数的首部,后面称为函数的尾部,格式说明: 1).函数类型 函数类型说明了函数返回值的类型。 2).函数名 函数名是用户为自定义函数取的名字以便调用函数时使用。 3).形式参数表 形式参数表用于列录在主调函数与被调用函数之间进行数据传递的形式参数。 【例】定义一个返回两个整数的最大值的函数max()。 int max(int x,int y) { int z; z=x y?x:y; return(z); }
[单片机]
劝君慎用KEILC51九级优化
简介:有时程序才4K多一点,或者8K多一点,32K多一点,64K多一点,总会想方设法去优化压缩代码,以便放到更低成本的芯片中去,可是这时问题可能就出现了! 有时程序才4K多一点,或者8K多一点,32K多一点,64K多一点,总会想方设法去优化压缩代码,以便放到更低成本的芯片中去,可是这时问题可能就出现了! KEILC51九级优化可以将程序中相同的代码段归为一段,从而大幅度缩减程序代码。可是这一级优化却是没有保障的,优化后,经常会产生各种错误,特别是常量代码段被搞到乱七八糟,一些隐形的bug也从此悄悄伏下,如中断错误,待到你发现有问题还模不清头脑!假如你是在准备生产时才将C51编译提高到9级优化,可能就要完蛋了,因为平时调试的
[单片机]
《初学者C51自学笔记》之定时器四种工作方式(二)
1、方式0 : 方式0为13位计数,由TL0的低5位(高3位未用)和TH0的8位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。 一共13位,空着的3位忽略不用管,TL0一直加1,直到为11111时再加1会溢出变为00000,则会进1到TH0,就像是满10进1一样,进到TH0为11111111时再加1就会发出请求; X=-N:N是要定时的时间(us),X是初值,也就是输入到里面的时间。 2、方式1 : 计数位数是16位,由TL0作为低8位,TH0 作为高8位,组成了16位加1计数器 。 工作与方式0类似(其实四中工作原理都一样); 3、方式2:
[单片机]
《初学者<font color='red'>C51</font>自学笔记》之定时器四种工作方式(二)
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

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