单片机if语句格式
sbit P2^0=A1;
sbit P1^0=A2;
sbit 语句等号后边应该是地址。
sbit P2^0=A1;能通过编译码?本人试一下:test.C(6): error C141: syntax error near '^', pected '='
很遗憾,没通过。
如果改成 sbit A1=P2^0; sbit A2=P1^0;试试。注意分号,语句只能使用英文字符。
还有if(A1=0) 也不妥吧,比较应为== 即 if(A1==0)才好。
另外else 后边不应有分号。
修改后的代码如下:
#include
sbit A1=P2^0; //sbit P2^0=A1;
sbit A2=P1^0;//sbit P1^0=A2;
void main()
{
while(1)
{
if(A1==0)
{
A2=1;
}
else//esle;//单词也不对。
{
A2=0;
}
}
}
仅供参考。
单片机中IF语句的使用1
1、if。else 语句
除了要在括号里条件满足时执行相应的语句外,在不满足该条件的时候,也要执行一些另外的语句,这时候就用到了 if。else 语句,它的基本语法形式是:
if (条件表达式){
语句 1; }else{
语句 2;
}
2、if。esle 语句
if。esle 语句是一个二选一的语句,或者执行 if 分支后的语句,或者执行 else 分支后的语句。还有一种多选一的用法就是 if。else if 语句。他的基本语法格式是:
if (条件表达式 1){语句 1;}
else if (条件表达式 2) {语句 2;}
else if (条件表达式 3) {语句 3;}
。 。
else{语句 n;}
他的执行过程是:依次判断条件表达式的值,当出现某个值为“真”时,则执行相对应的语句,然后跳出整个 if 的语句块,执行“语句 n”后面的程序;如果所有的表达式都为“假”,则执行 else 分支的“语句 n”后,再执行“语句 n”后边的程序。
if 语句在 C 语言编程中使用频率很高,用法也不复杂,所以必须要熟练掌握。
51单片机中if语句的一个问题
单片机程序在执行完main程序后会跳回到住main程序入口再重新执行的。
把这个程序反汇编以后可以看到在C:0x0018行跳回主函数入口C0003
C:0x0000
02000F
LJMP
C:000F
4: void main(void)
5: {
6:
if(k)
C:0x0003
E508
MOV
A,k(0x08)
C:0x0005
6004
JZ
C:000B
7:
P0=0xff;
8:
else
C:0x0007
7580FF
MOV
P0(0x80),#0xFF
C:0x000A
22
RET
9:
P0=0x00;
C:0x000B
E4
CLR
A
C:0x000C
F580
MOV
P0(0x80),A
10: }
C:0x000E
22
RET
C:0x000F
787F
MOV
R0,#0x7F
C:0x0011
E4
CLR
A
C:0x0012
F6
MOV
@R0,A
C:0x0013
D8FD
DJNZ
R0,C:0012
C:0x0015
758108
MOV
SP(0x81),#k(0x08)
C:0x0018
020003
LJMP
main(C:0003)
C:0x001B
00
NOP
C:0x001C
00
NOP
C:0x001D
00
NOP
C:0x001E
00
NOP
51单片机中if语句的一个问题
单片机程序在执行完main程序后会跳回到住main程序入口再重新执行的。
把这个程序反汇编以后可以看到在C:0x0018行跳回主函数入口C0003 C:0x0000 02000FLJMP C:000F 4: void main(void) 5: { 6: if(k) C:0x0003 E508 MOV A,k(0x08) C:0x0005 6004 JZ C:000B 7:P0=0xff; 8: else C:0x0007 7580FFMOV P0(0x80),#0xFF C:0x000A 22 RET9:P0=0x00; C:0x000B E4 CLR A C:0x000C F580 MOV P0(0x80),A10: } C:0x000E 22 RET C:0x000F 787F MOV R0,#0x7F C:0x0011 E4 CLR A C:0x0012 F6 MOV @R0,A C:0x0013 D8FD DJNZ R0,C:0012 C:0x0015 758108MOV SP(0x81),#k(0x08) C:0x0018 020003LJMP main(C:0003) C:0x001B 00 NOP C:0x001C 00 NOP C:0x001D 00 NOP C:0x001E 00 NOP。
转载请注明出处华阅文章网 » 单片机if语句的用法