微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 红外程序有两个不太懂的地方

红外程序有两个不太懂的地方

时间:10-02 整理:3721RD 点击:
void EXINT1_ISR() interrupt 2
{
   unsigned char i,j;
         unsigned char byt;
         unsigned int time;
         time=GetLowTime();
         if((time<7833)||(time>8755))
         {
                  IE1=0;
                        return;
         }
         time=GetHighTime();
         if((time<3686)||(time>4608))
         {
                  IE1=+0;
                        return;
         }
         for(i=0;i<4;i++)
           for(j=0;j<8;j++)
                 {
                          time=GetLowTime();
                                if((time<313)||(time>718))
                                {
                                   IE1=0;
                                         return;
                                }
                                time=GetHighTime();
                                if((time>313)&&(time<718))
                                {
                                   byt>>=1;
                                }
                                else if((time>1345)&&(time<1751))
                                {
                                   byt>>=1;
                                         byt|=0x80;
                                }
这段程序的byt有点理解不了。
1.byt怎么接收数据
2.byt|=0x80;这是为什么?为什么上面一个byt不加byt|=0x80;

刚学单片机不久,很多不太懂希望可以详细说明

第一个是定义,第二个是赋值,建议你先看看C语言的书籍

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top