刚买了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不亮。请教各位大侠,这是为什么。程序有什么问题吗?
不循环8个灯怎么亮熄灭亮熄灭个不停呢,问题是我的电路图上蜂鸣器是和P1.5连接的,而8个灯也是由P1口控制的,所以有些冲突。换成其他的口,灯都不亮了。
我是单片机新手,才学没多长时间,所以有些简单的问题不懂。谢谢你们的帮忙。
一周热门 更多>