goto语句是无条件转向语句它的一般形式是:
语句标号是一个标示符。
c程序中的任何一个语句都可以有一个语句标号其一般形式是:
goto语句的执行:无条件的转到语句标号後面的语句处执行。用goto语句可以与if语句一起构成循环结构
if语句和goto语句构成的当型循环 loop:if(表达式)
定义一个位变量SWITCH_S3=P3∧0也就是S3按键连接單片机P3端口的第0号管脚。然后进入到main函数while(1)循环P1=0x0f连接P1端口管脚的4个灯D4.D5.D6.D7熄灭,然后进入到由if语句和goto语句构成的当型循环然后进行if后面语呴的判断,按键是否按下如果被按下则成立,然后执行语句P1=0xf0所有的灯都亮然后执行goto loop,回到loop:if继续判断如果按键没被按下,就跳出循环执行P1=0x0f,执行完再执行由if语句和goto语句构成的当型循环
编译,烧录当按下按键S3四个灯全亮,没被按下四个灯全熄
if语句和goto语句构荿直到循环 loop:
一开始给P1赋值0xf0让4个灯都点亮,循环语句中给P1赋值0x0f让四个灯都熄灭然后判断,按键按下就执行P1=0x0f让4个灯熄灭然后再继续判斷按键是否按下,如果按下了继续执行loop后的P1=0x0f再进行判断,如果没按下就执行P1=0x0f让四个灯都点亮再执行熄灭,再判断
一直按下一直熄灭,一直未按下就一直执行点亮熄灭点亮熄灭…
最后结果发现一直未按下,却一直点亮并没有点亮熄灭的交替是因为单片机程序运行嘚很快这个交替过程人眼无法分辨出来,所以看起来是一直亮的但亮度会比平常的亮度低。
编译烧录实验结果和预期一样