#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;
}
}
}
实在没分了.本人真心小白.
这几个报错都不是什么大问题,都是你粗心导致的.
错误一:所有的“undefined idntifier”都是说你的变量在使用前没有定义.比如,'beep = 1';这个beep之前没有定义过,所以会报错.但从语法上要修正的话,在最前面定义一下就行了,比如 char beep之类的,具体定义成什么,你得根据你自己的整个工程来看.其他类似的错误修正方法同上.
错误二:syntax error near '=' :这个你也是语法错了,“不等于”的逻辑只要“!=”就行了,不需要“!==”.
因为你这里只给我们看了代码,我们不知道你的实际硬件电路是怎样连的,也不知道你这个工程目的是什么,所以我这里只能给你语法上的修改,保证软件编译通过不报错,但是工程能否运行得通,还得通过你自己硬件调试才行.
错误一:所有的“undefined idntifier”都是说你的变量在使用前没有定义.比如,'beep = 1';这个beep之前没有定义过,所以会报错.但从语法上要修正的话,在最前面定义一下就行了,比如 char beep之类的,具体定义成什么,你得根据你自己的整个工程来看.其他类似的错误修正方法同上.
错误二:syntax error near '=' :这个你也是语法错了,“不等于”的逻辑只要“!=”就行了,不需要“!==”.
因为你这里只给我们看了代码,我们不知道你的实际硬件电路是怎样连的,也不知道你这个工程目的是什么,所以我这里只能给你语法上的修改,保证软件编译通过不报错,但是工程能否运行得通,还得通过你自己硬件调试才行.
#include sbit CLK= P1^0; sbit DIO= P1^1; sbit CE= P1^2; sbit
#include <stdio.h>
#include sbit a=P1^0; sbit b=P3^2; unsigned int n; void main
#include "reg52.h" sbit P1_0 =P1^0; void DELAY(); main() { w
转置矩阵#include <stdio.h> #include <stdlib.h>
sbit P1_0 = P1 ^ 0;
c语言编程计算数列合#include <stdio.h> #include &
C语言高手帮我填空#include <stdio.h>#include
#include sbit p1_1=P1^0; unsigned int a ; void main() {while
求M和N最大公约数?#include<stdio.h>void main(){ &nbs
单片机c语言 sbit P1_0 = P1 ^ 0;
C语言求余数问题#include<stdio.h>main(){ int x,y,a,b,c;&n