作业帮 > 综合 > 作业

#include <reg51.h>sbit Ir1=P1.0;sbit Ir

来源:学生作业帮 编辑:神马作文网作业帮 分类:综合作业 时间:2024/11/17 06:03:24

#include <reg51.h>

sbit Ir1=P1.0;
sbit Ir2=P1.1;
sbit Ir3=P1.2;// 红外接收信号
sbit beep1=P0.0;
sbit beep2=P0.1;//蜂鸣器信号
sbit WELA=P2^7; //数码管的位选信号

void delay(void)   //延时子程序
  {
    unsigned char m,n,s;
    for(m=20;m>0;m--)
    for(n=20;n>0;n--)
    for(s=248;s>0;s--);
   }

void main(void)   //主程序
   {

P0=0XFF;//关掉数码管的位选信号.阻止数码管受到P0口信号的影响.
delay();
WELA=1;
delay();
WELA=0;

while(1)    //循环条件永远为真,以下程序一直执行下去.
{

 if(Ir1==0&& Ir3!==0)
{
beep1=0;
  delay();
  beep=1;

}
if(Ir3==0&& Ir1!==0)
{
beep2=0;
  delay();
  beep=1;

}
if(Ir2==0)
{
   beep1=0;
delay();
  beep=1;

}

       }
    }

实在没分了.本人真心小白.
#include <reg51.h>sbit Ir1=P1.0;sbit Ir
这几个报错都不是什么大问题,都是你粗心导致的.
错误一:所有的“undefined idntifier”都是说你的变量在使用前没有定义.比如,'beep = 1';这个beep之前没有定义过,所以会报错.但从语法上要修正的话,在最前面定义一下就行了,比如 char beep之类的,具体定义成什么,你得根据你自己的整个工程来看.其他类似的错误修正方法同上.
错误二:syntax error near '=' :这个你也是语法错了,“不等于”的逻辑只要“!=”就行了,不需要“!==”.
因为你这里只给我们看了代码,我们不知道你的实际硬件电路是怎样连的,也不知道你这个工程目的是什么,所以我这里只能给你语法上的修改,保证软件编译通过不报错,但是工程能否运行得通,还得通过你自己硬件调试才行.