单片机流水灯小程序问题

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不亮。请教各位大侠,这是为什么。程序有什么问题吗?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
14条回答
denganhui
2019-07-16 23:57
beep=0;//(1)
temp=_crol_(temp,1);///循环移动命令(这里是左移)
beep=1;//(2)
1,2段感觉有点问题,去除后就可以完美流水了,至于你板子上灯8不亮,我感觉很大可能是锁紧板与mcu接触不良的问题,以前我出现的,还有喇叭响不响是输入的电平不断变化引起的,变化快,即输入频率高,也就响得很

一周热门 更多>