51单片机c语言 if 语句,单片机if语句的用法

单片机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语句的用法

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值