80C51for程序里面出问题了。流水灯 本意是让 每一个灯闪三次,然后移位到下一个。 但是 一直不能闪三次

#include<reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar flag , temp , cc;
void delay(uint z); //头文件
void main()
{

P0=0xff; //程序的目的是:郭天祥的流水灯程序,我想让第一个灯闪三下
while(1) //然后第二个灯接着闪三下。 一次类推。 可 怎么也实现不了。
{ //在for循环里面,不知道出了什么问题

temp=0xfe;
while(1)
{

for(cc=0;cc<3;cc++)
{
P0=temp;
delay(100);
P0 =0XFF;
};

temp=_crol_(temp,1);

}

}
}

void delay(uint z)
{
uint x;
uint y;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}

问题点:P0 =0XFF;后面没有加延时
其实是能够闪3次的,只是没加延时,速度很快,眼睛看分辨不了。

参考资料:100009

温馨提示:内容为网友见解,仅供参考
无其他回答

...本意是让 每一个灯闪三次,然后移位到下一个。 但是 一直不能闪三...
问题点:P0 =0XFF;后面没有加延时 其实是能够闪3次的,只是没加延时,速度很快,眼睛看分辨不了。参考资料:100009

帮我写个最简单的多次循环程序,用for,就让LED灯循环亮就行是C51的
这个很简单的啊,我给你个实列:\/\/ 10种循环 for(i = 0; i < 10; i++){ whle(!i) \/\/ i = 0; 第一种状态 { \/\/ 这里可以写LED流水灯 break; \/\/ 执行完成跳出 } \/\/ whle(i == 1) \/\/ i = 0; 第二种状态 { \/\/ 这里可以写LED流水灯 break; \/\/ 执行完成跳出 } \/\/...

相似回答
大家正在搜