单片机流水灯小程序问题

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条回答
曼兵
2019-07-16 16:02
yan503072699 发表于 2013-3-7 15:23
while  循环了  所以灯一直亮

不循环8个灯怎么亮熄灭亮熄灭个不停呢,问题是我的电路图上蜂鸣器是和P1.5连接的,而8个灯也是由P1口控制的,所以有些冲突。换成其他的口,灯都不亮了。
我是单片机新手,才学没多长时间,所以有些简单的问题不懂。谢谢你们的帮忙。

一周热门 更多>