① 3、单片机C语言中的”if“语句是循环语是对的吗
不对的。if是判断语句,不是循环语句。if要和goto配合起来才能起到循环的作用,不过现在不用goto了,因为它破坏了程序的结构化设计。
② 关于单片机中#if,#else if 的用法
#if............
#else
if...........这是预处理语句。
预处理就是在进行编译的第一遍词法扫描和语法分析之前所作的工作。说白了,就是对源文件进行编译前,先对预处理部分进行处理,然后对处理后的代码进行编译。这样做的好处是,经过处理后的代码,将会变的很精短。在单片机中属于条件编译,也就是说当满足条件,就将#if后面的语句进行编译,否则,丢弃这些部分语句,编译#else
if后面的语句。
③ if(; ; )在单片机中啥意思
单片机采用 C语言编程,题目的语法是错误的,该结构应该是 for(;;);
for 的语言结构为 for(①变量初始化;②判断语句;③变量增量)④循环体内容;
程序执行到for时,会先进行①编译,而且整个for循环只执行一次①。
程序再根据②的真假(0为假,非0为真)来决定是否执行④。
每执行完一次④内容,for 将执行一次③。
这四个要素均可以省略,但分号不能省略。
①省略,则表示 不需要初始化;
②省略,则表示 判断条件为 空,空 非零,即恒为真。(一般会在④内增加无条件跳转语句以结束循环);
③省略,则表示 不需要增量变化。(一般也会在④内增加变量增量,或在外部中断中改变变量(个人不推荐此方法));
④省略,则表示,循环体执行内容为 空。
④ 单片机c语言if状态判断怎么写
你这ROW1,ROW2是两个按键吗?是要按下按键,改变两种状态,分别为0、1,是这样吗?
那状态可以声明一个unsigned
char
型变量啊,如,
unsigned
cha
state;
就可用了,state=0;
state=1;
也可以定义一个位变量,更节省内存。如
bit
state;
也同样用法,state=0;
state=1;
再判断状态时,就可以写成
if(state==0)
{
//状态=0,做什么
}
if(state==1)
{
//状态=1,做什么
}
⑤ 单片机程序中关于if语句的一些疑问,请大神指点!必采纳!
if( PWM_OUT_flag ) //如果没有PWM溢出
{
}
else //如果PWM溢出
{
PWM_OUT_flag = 1; //则让PWM置位,待下次溢出
PWM_IO = 1; //翻转IO,实现状态显示
}
这个不难理解, 如果。。。。。。那么。。。。。。
⑥ 单片机关于if语句的一些疑问,请问这个语句是什么意思,求大神指点!必采纳!
第一个符合条件(PWM_OUT_flag=1 时)语句中没有内容,或者是略去不提;
接着是(PWM_OUT_flag ≠1 时),如果(power_off_flag = 0)条件满足,则强制设置条件:PWM_OUT_flag = 1,及 PWM_IO = 1;
如果上述语句如你所给的那样,也可以这样表达:
if( PWM_OUT_flag ==0 && power_off_flag == 0 )
{
PWM_OUT_flag = 1;
PWM_IO = 1;
}
⑦ 单片机if语句。
你应该先判断单独的传感器能否实现功能,以排除硬件的错误,实际上你这个应该是
/*左转*/ if(P3&0XF0)
{
delay(1);
P1_0=1;
P1_1=1;
P1_2=1;
P1_3=0;
delay(1);
}
也就是,只要P3的高位中有一个是1,就转,你改成如上语句试试!
⑧ 51单片机IF使用
if{p1=p2} 这条指令是错误的。
如果不是0时候 我给P2信号 P1会输出吗?
根据你这句话的意思,你应该写:
if(P2){p1=p2}
此时,如果P2不是0时候,你给P2信号,P1会输出P2的值。
⑨ 单片机if语句格式
#include<reg52.h>
sbitA1=P2^0;
sbitA2=P1^0;//这里你定义反了,能编译通过么?
voidmain()
{
while(1)
{//这里加个大括号,循环执行括号内的语句
if(A1==0)
A2=1;
esle;
A2=0;
}
}
⑩ 单片机if
A1,B1已经被定义为引脚,就不能再定义为变量!
把下面这句删了试试:
int A1;int B1;
在while之前应对P1端口初始化:
P1 = 0xff;
每个case里第一个if后的break不应该有,会造成后面的程序永远无法执行!
由于A1只有0或1两个值,其实不需要使用switch语句,用if就行。
另外,你的光电传感器触发方式是正触发还是负触发?如果是正触发的话,if(B1==?)语句的条件都全部需要反过来。
整个程序应改为:
#include <reg52.h>
sbit A1=P1^0; //光传感器
sbit B1=P1^1;//光传感器
sbit C1=P1^2;//控制电机左转
sbit D1=P1^3;//控制电机右转
sbit E1=P1^4;//前进
void main()
{
P1 = 0xff;
while(1)
{
if(A1==0)
{
if(B1==0)
{
E1=0;
C1=0;
D1=0;
}
else //B1==1
{
E1=1;
C1=1;
};
}
else //A1==1
{
if(B1==0)
{
E1=1;
D1=1;
};
else //B1==1
{
E1=1;
};
}
}
}