单片机之间通信(类红外发送与接收)

发布者:星尘之泪最新更新时间:2019-11-14 来源: 51hei关键字:单片机  通信  红外发送与接收 手机看文章 扫描二维码
随时随地手机看文章

void call_user_sent()   

      static bit data_flag=0;
      static unsigned char a=0,b=0,c=0;
      TRISB5=1;
      TRISB2=0;
      if(!data_flag)        //起始头
      {
             c++;
             if(c==1)  RB2=0;
             if(c==41) RB2=1;
             if(c>=51)
             {
                  c=0;
                 data_flag=1;  
            }
     }
     if(data_flag)     //数据开始
     {
            c++;
            if(c==1) RB2=0;
            if(c==4)
            {
                  if(a==0)
                  {
                       if((send_user[a]&0x80)!=0)  RB2=1;
                  }   
                  else if(a!=0)
                  {
                           if((send_user[a]&0x08)!=0)  RB2=1;
                  }      
           }
           if(c==7)
           {
                 if(a==0)
                {
                       if((send_user[a]&0x80)==0)  RB2=1;
                }    
                else if(a!=0)
                {
                         if((send_user[a]&0x08)==0)  RB2=1;
                }      
          } 
         if(c>=10)
         {
                  c=0;
                  b++;
                  send_user[a]<<=1;
                  if((a==0)&&(b>=8))
                  {
                         b=0;
                          a++;
                 }
                if((a!=0)&&(b>=4))
                {
                          b=0;
                          a++;
                          if(a>=CODELEN)
                          {
                                       a=0;
                                      data_flag=0;
                                      sent_user_flag=0;
                           }            
                 }  
     }        
}

}

void call_user_rece()   
{        
            static bit hl;
            static bit hl_flag;
            static unsigned char low=0,high=0,count=0;
            static unsigned char temp=0,rece_flag=0;
            static unsigned char p,q;
            TRISB5=1;
            TRISB2=1;
            hl=RB5;
            if(hl)
            {
                   if(!hl_flag)
                   {
                           hl_flag=1;
                           low=count;
                           count=0;      
                    }   
                   else count++;    
            }
            else 
            {
                     if(hl_flag)   
                     {
                            hl_flag=0;
                            high=count;
                            count=0;
                            if(rece_flag)
                            {
                                        temp<<=1;
                                        if((4<9))
                                        {
                                                        temp=temp|0x00;      
                                        }
                                        else if((0<4))
                                        {
                                                       temp=temp|0x01;   
                                        } 
                                        q++;
                                       if((p==0)&&(q>=8))
                                       {
                                                     q=0;
                                                     rece_user[p]=temp;
                                                     p++;
                                       }
                                       if((p!=0)&&(q>=4))  
                                       {
                                                 q=0;
                                                 rece_user[p]=temp&0x0f;
                                                 p++;
                                                if(p>=CODELEN)
                                                {
                                                            p=0;
                                                            rece_flag=0;
                                                            if((0xee==rece_user[0])||(0xfa==rece_user[0]))
                                                            {
                                                                            Alarm();        //报警
                                                             }
                                                            rece_user_proc=1;   //执行接收处理函数                                       
                                                 }      
                                      }            
                           }
                          else 
                           {
                                     if(high>30)
                                      {
                                              p=0;
                                              q=0;
                                              temp=0;
                                              rece_flag=1;  
                                      }    
                           } 
                     } 
                    else count++;        
          }                                  

}

[1] [1]
关键字:单片机  通信  红外发送与接收 引用地址:单片机之间通信(类红外发送与接收)

上一篇:喜欢单片机的同学快来看啊,过来人的经验告白
下一篇:按键检测非阻塞代码(2种模式)

推荐阅读最新更新时间:2024-10-30 06:50

基于MSP430单片机的智能网络水表抄表系统设计
  随着电子通信与计算机网络技术的发展,远程抄表技术在水、电和煤气计量方面得以推广应用。为适应这个发展方向,在研制出有线远传水表及其数据采集器的基础上,开发了专用的数据集中器,以实现远传水表抄表系统。该系统有三层网络结构:上位机管理系统、集中器和智能网络水表。智能网络水表通过RS-485总线和集中器连接,集中器通过调制解调器MODEM和电话网连接进行远程通讯,将数据通过电话网传输给上位机管理系统,在降低成本的同时提高了数据传输的可靠性。该系统具有良好的伸缩性,同时,上位机管理系统也可以和银行联网,组成四级网络,为后续功能扩展奠定了基础。   1 智能网络水表   智能网络水表的工作原理是在普通转盘计数的水表中加装干簧管和永
[单片机]
基于MSP430<font color='red'>单片机</font>的智能网络水表抄表系统设计
多媒介通信系统链路管理的设计和实现
在许多应用中,如军事通信中的C4I系统、政府部门和特殊行业中的某些重要通信系统,对通信网络的可靠性、抗毁性有着非常苛刻的要求,既要求在正常情况下有较高的通信效率,又要求在恶劣环境下能保证基本的通信,因此仅仅依赖单一通信媒介难以达到可靠性的要求。在C4I系统中,把现有的和未来的全部传输媒介资源综合到通信系统中已经成为通信网络追求的目标之一。 在民用领域,例如高速公路联联网收费系统中,因为需要一个24%26;#215;7的可靠通信平台,亦采用了不同类型的通信媒介(如图1),它通常把专线作为主用线路,把公众电信网提供的拨号线(普通调制解调顺或ISDN)连接作为临时备用线路。不同通信媒介的效率和经济性差别很大。对不同类型的通信链路必须
[嵌入式]
SDH和WDM光通信技术如何应用在分布式雷达系统中
1分布式雷达的特点   随着雷达技术的发展,雷达对信号的传输提出了很多新要求。现代很多新体制雷达系统由多个雷达站协同工作,各雷达站相距较远,达几十公里甚至几百公里,雷达信号的远距离传输是多站协同工作的基础。这种多站协同工作雷达体制有多基地雷达、栅栏雷达、雷达组网和分布式雷达等。多基地雷达、栅栏雷达、雷达组网等只需传输点迹和航迹信息,其数据通信速率较低,通信容量较小;分布式雷达需传输接收信号A/D转换后的实时回波数据,其通信需求的最大特点也是最大难点在于超宽带大容量数据的长距离实时传输。   分布式雷达系统由一个联合处理控制中心和多个发射站及多个接收站组成。联合处理控制中心产生基准信号送到各雷达,使各雷达具有相同的时间基准,便于
[电源管理]
SDH和WDM光<font color='red'>通信</font>技术如何应用在分布式雷达系统中
AVR简单的串口通信程序
本例子是学习AVR的串口通信时候编写的一个简单的串口通信的程序,运行的时候先向串口发送一个数据0x12,然后等待接收,当PC机发送一个数据到单片机,单片机就对这个数据进行加1处理,然后发回到PC机显示。以下是串口通信时候的界面和串口通信的源程序。 /***********************************************/ /************AVR USART串口调试****************/ /************ClimberWin 2008.6.29**************/ /*CPU:ATMEGA32L 4MHZ 外部晶振(熔断位需要先配置好外部晶振
[单片机]
AVR简单的串口<font color='red'>通信</font>程序
2010中国西部国际信息通信博览会(重庆)(2010.5.13-2010.5.15)
会展名称 2010中国西部国际信息通信博览会 布展时间 2010年5月11日---2010年5月12日 展览时间 2010年5月13日---2010年5月15日 撤展时间 2010年5月15日---2010年5月15日 会展场馆 重庆国际会议展览中心 主办单位 重庆市经济和信息化委员会、重庆市科学技术协会、中国设备管理协会、重庆市企业信息化技术支持中心、重庆手机通讯行业协会(筹) 承办单位 重庆高地会展咨询服务中心、重庆沃德展览有限公司、深圳爱飞讯企业管理顾问公司 协办单位 支持单位:深圳手机协会、重庆软件及信息服务外包产业联盟、重庆工业园区招商服务中心、中国移动通信集团重庆公司、中国联通有限公司重庆分公司、中国电信重庆公司 所
[其他]
基于PIC单片机的永磁无刷直流电动机控制系统的开发
引言 嵌入式系统是指以应用为中心,以计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、体积、成本、可靠性、功耗严格要求的专用计算机系统。嵌入式系统是面向应用的,系统的硬件选型和软件开发模式都必须根据具体的应用确定。 永磁无刷直流电动机是电机控制研究领域的热点之一,这与其自身固有的技术优势密切相关:以电子换相取代了有刷直流电动机的机械换相。从根本上革除了普通有刷直流电动机由于电刷换相带来的火花、噪音、高故障率等一系列问题,同时又使系统的性能能够与普通有刷直流电动机相媲美,因此得到了广泛的应用。永磁无刷直流电动机的电子换相离不开电机的转子位置信号,传统的方法是采用霍尔器件或其他位置传感器检测位置信号,这使得系统的维护和制造
[嵌入式]
8051单片机(STC89C52)之蜂鸣器发声
通过语句 sbit beep = P1 ^ 5 来指明蜂鸣器的驱动口: 当beep = 0时, 蜂鸣器不发生; 当beep = 1时, 蜂鸣器发声. 另外可通过改变驱动口电平翻转的时间来获得不同声调的声音, 还可通过改变高低电平在一个周期内的比例来获取不同音量的声音. 源代码: #include STC89C5xRC.H int tcount = 0; sbit beep = P1 ^ 5;// P1 xor 0000 0101 void TO_EXT() interrupt 1//50ms触发一次 { TR0 = 0; TH0 = 0xC3;//65536 - 50000 = 15536 = C350H
[单片机]
爱特梅尔成立深圳大学–Atmel AVR微控制器实验室
爱特梅尔公司(Atmel® Corporation) 宣布,基于企业与高校联手培养合格工程师的共同目标,深圳大学–Atmel AVR微控制器实验室于2010年4月29日正式挂牌成立,成为爱特梅尔公司在中国地区的11个AVR微控制器大学实验室之一。该实验室将承担机电与控制工程学院本科生微控制器的实践教学,并作为深圳大学机电与控制工程学院的科研实践基地,成为推动双方长远发展、更好合作的开端。 深圳大学–Atmel AVR微控制器实验室成立暨揭牌仪式于4月29日在深圳大学科技楼3号报告厅举行。深圳大学副校长阮双琛教授、深圳大学教务处处长徐晨教授、深圳大学设备处副处长张红兵教授、机电与控制工程学院院长徐刚教授、机电与控制工程
[单片机]
小广播
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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