单片机流水灯小程序问题

2019-07-16 02:15发布

刚买了STC90C516单片机,做一个简单的流水灯,八个灯从上到下依次点亮熄灭,亮时蜂鸣器响,灭时蜂鸣器不响。程序是这样的:
#include <reg52.h>
#include<intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar temp;
sbit beep=P1^5;
void delay(uint);
void main()
{
    temp=0xFE;
    P1=temp;
    while(1)
  {  
     beep=0;
     temp=_crol_(temp,1);
     beep=1;
     delay(420);
     P1=temp;
}
}
void delay(uint z)
{
uint x,y;
for(x=100;x>0;x--)
  for(y=z;y>0;y--);
}
但是运行结果却是灯6一直亮,而且灯8不亮。请教各位大侠,这是为什么。程序有什么问题吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。