为何执行下列单片机程序,流水灯只闪不移

为何执行下列单片机程序,流水灯只闪不移,第1张

//流水灯 试试这个

#include <REG51h> //51头文件

#define DY_PORT P1 //设置LED连接的I/O组

#define DY_SPEED 100 //设置每一个明亮级的停留时间(值域:0~65535)

void delay (unsigned int a){ // 1ms延时程序

unsigned int i;

while( --a != 0){

for(i = 0; i < 600; i++);

}

}

void main(void){

unsigned int i;

unsigned int temp;

while(1){

temp=0x01;

for(i=0;i<8;i++){ //8个流水灯逐个闪动

DY_PORT=~temp;

delay(DY_SPEED); //调用延时函数

temp<<=1;

}

temp=0x80;

for(i=0;i<8;i++){ //8个流水灯反向逐个闪动

DY_PORT=~temp;

delay(DY_SPEED); //调用延时函数

temp>>=1;

}

temp=0xFE;

for(i=0;i<8;i++){ //8个流水灯依次全部点亮

DY_PORT=temp;

delay(DY_SPEED); //调用延时函数

temp<<=1;

}

temp=0x7F;

for(i=0;i<8;i++){ //8个流水灯依次反向全部点亮

DY_PORT=temp;

delay(DY_SPEED); //调用延时函数

temp>>=1;

}

}

}

if (x=z=y)执行时,它不是判断(判断是==),而是赋值。

先将y的值赋给z(等于1),再将1赋给x。整个括号内逗号表达式的值为1,所以条件成立,于是执行下一行的赋值:

x=3;

循环结构 for循环 步长为2 循环一次x+2 第一次x=1 第6次x=11大于10 结束循环 前5次循环x分别为1 3 5 7 9 z=这5次x之和 即1+3+5+7+9=25

选A

以上就是关于为何执行下列单片机程序,流水灯只闪不移全部的内容,包括:为何执行下列单片机程序,流水灯只闪不移、下列程序的执行结果是_____D____. #include <stdio.h> void m、执行下列vba程序代码后,变量z的值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9276241.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-26
下一篇 2023-04-26

发表评论

登录后才能评论

评论列表(0条)

保存