#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;
}
}
试试看。
判断口电平是单片机的事,貌似仿真也行但没玩过,但keil的调试功能是搞不定的。
while 语句处好像有差错 tempx=_crol_(tempx,1);
temp=temp-tempx; 仔细看看这个地方
把错给贴出来啥,