单片机 流水灯怎样全部闪烁 五次之后停止
可以用for循环试试unsingned char i;for(i=0;i<5;i++)//流水灯闪烁程序。
若干个灯泡依次点亮就叫流水灯,它用在夜间建筑物装饰方面。例如在建筑物的棱角上装上流水灯,可起到变换闪烁美不胜收的效果。
单片机(Single-Chip Microcomputer)是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能。
集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。从上世纪80年代,由当时的4位、8位单片机,发展到现在的300M的高速单片机。
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define LED_Port P1
//毫秒级延时,12MHz晶振,
void delay(uint j)
{
uchar i=60;
for(;j>0;j--)
{
while(--i);
i=59;
while(--i);
i=60;
}
}
void main()
{
uchar i;
for(i=0;i<5;i++)
{
LED_Port=0x00; //LED亮
delay(2000); //延时2秒
LED_Port=0xff; //LED灭
delay(2000); //延时2秒
}
while(1);
}
{
P1=0x00;//灯亮--共阳
deplay(500); //延时
P1=0xff;//灯亮--共阳
deplay(500);//延时
}
延时程序自己搞定吧
可以用5个基本I/O口,分别接5个灯。
用定时器或者延时程序,每中断一次或者调用一次延时,让5个I/O口分别输出高或低(具体要看你灯的接法)就行了。
#define uint unsigned int
void delay(uint x)
{
uint i;
while(x--)
for(i=110;i>0;i--);
}
main()
{
while(1)
{
P1=0; P1的8个口接灯
delay(500);
P1=0xff;
delay(500);
}
}