51单片机流水灯,第一轮每次亮一个灯流水,第二轮每次亮两个灯流水.....然后整个过程循环

2024年12月02日 18:46
有4个网友回答
网友(1):

#include
#include

#define unit unsigned int
#define uchar unsigned char

void delay(unit z)
{
unit x, y;
for(x = 100; x > 0; x--) for(y = z; y > 0; y--);
}
void main()
{
uchar temp, i;
temp = 0xfe;
while(1) {
for (i = 0; i < 8; i++) {
P1 = temp; delay(300); temp = _crol_(temp, 1);
}
temp <<= 1;
if(temp == 0) temp = 0xfe;
}
}

试试看。

网友(2):

判断口电平是单片机的事,貌似仿真也行但没玩过,但keil的调试功能是搞不定的。

网友(3):

while 语句处好像有差错 tempx=_crol_(tempx,1);
temp=temp-tempx; 仔细看看这个地方

网友(4):

把错给贴出来啥,