#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

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/29 08:43:07
#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
xU[oG+T, I1*oSY(i ǵ1q  N|ˊY;qm &hfvg \B.R29|a,>C*74%IG&Sd@Kq%D Dwbk;trfe?[#=r8p jt/ѽAV]Ņ+Өs:ꑹ5cGڒ2cZ SʭyWO)>\6q%qMImRWC\0$Cw$}%Fcs|LNr)%_~-3/sD9Jſt:U>#T,-4cQ-Ĝ7#W\ȂpE+NZVdu,܂R.wH ܲ,xDEUdSuyŰKPKQVŭ ^Yd1x /q~b[X$*zGŠWrKKtQZɸG7`3eNm!5tڛ곷 -!d]ow d2lwIO'SrԹvTIñ %sk׮~NߘU

#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

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