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

2024-12-02 18:46:45
推荐回答(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:

把错给贴出来啥,