单片机入门之常用指令(一)

2025-11-01 05:38:12

1、先介绍最简单的 if()

if是检测指令,比如

if(a==1) b=0;

这个语句的意思是如果a等于1,那么b赋值0(注意括号内,为双等号)

又或者if(a!=1)b=0; “!=”这是不等于的意思,也就是a不等于1那么b赋值0

单片机入门之常用指令(一)

2、else,这个指令是跟在if后面的,不允许单独存在的

if可以不带else 但else不能前面没有if

就像“如果....否则....”

if(a==1)b=1; else b=0;

这个语句的意思是,如果a是1,那么b赋值1,如果a不是1,那么b赋值0

else后面,如果只是1条指令,那么就不用“{}”大括号

如果是多条指令,则需要大括号

也可以嵌套,例如:

if(....)

{

}

else if(...)

{

    if(....)

  {

  }else ....

}

else ....

单片机入门之常用指令(一)

3、 循环指令有很多种

while(1); 则表示程序停在此处,不出去了,除非中断跳去执行中断函数

while(1)

{

这样则表示一直停在这个大括号内循环

}

while(i--)

{

这样则表示除非‘i’这个变量减到0,否则就一直循环

每次进入循环,‘i’减1

}

下图是一个典型的闪灯程序

单片机入门之常用指令(一)

4、 do

{

这个循环是先进入循环,再判断i是否为0

不管i是否为0,他都会先进入执行1次大括号内的语句

}while(i--);

for(i=10;i>1;i--)

{

这个循环是最常用的循环

先赋值‘i’,然后每次进入循环,他都会把‘i’减1

且每次都会判断‘1’,如果大于1,进入循环,如果小于1或等于1,则跳出

这个应该灵活应用,不应该只是我这里举例的这样

}如下图

单片机入门之常用指令(一)

5、switch()这个指令跟if指令类似,下图举例中说明

单片机入门之常用指令(一)

6、(逻辑与&&)按位与“&” 规则是必须都为‘1’ 否则为‘0’

比如1&1=1,1&0=0;0&1=0;

可以用来把某个位强置为0

比如1111 1111& 0111 1111=0111 1111

逻辑与也是同理,用在判断

比如if(1&&1)那肯定是成立呀

if(1&&0)那肯定是不成立,执行else 呀

7、(逻辑或||)按位或“|” 必须都为‘0’ 否则为‘1’

比如0|0=0,0|1=1,1|0=1

可以用来把某个位强置为1

比如0000 0000&1100 0000 = 1100 0000

逻辑或同理,用在判断

比如if(0||0)成立,执行后面语句

if(0||1)不成立,执行else语句

8、左移<<       右移>>

右移,最高位补0,最低位弃掉

左移,最低位补0,最高位弃掉

比如

11111111>>1=01111111

10101010>>1=01010101

00001111>>2=00000011

单片机入门之常用指令(一)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢