你用的什么单片机?
看你说的应该是跑马灯,给你一个最常见的,51单片机,跑马灯C程序。
若有需要可以给你更多,本人硬件开发工程师。
望采纳。
例,这是一个51单片机的跑马灯C程序,已经在PROTEUS软件上仿真通过
#include<reg51h>
void delay(int);
void main()
{
int i;
P0=0x01;
delay(500);
while(1)
{
for(i=0;i<7;i++)
{
P0<<=1;
delay(500);
}
P0=0x01;
delay(500);
}
}
void delay(intx)
{
int i,j;
for(i=x;i>0l;i--)
for(j=110;j>0;j--);
}
:
#include<reg51h>
void delay(int);
void main()
{
int i;
P0=0x01;
delay(500);
while(1)
{
for(i=0;i<7;i++)
{
P0<<=1;
delay(500);
}
P0=0x01;
delay(500);
}
}
void delay(intx)
{
int i,j;
for(i=x;i>0l;i--)
for(j=110;j>0;j--);
}
如果数码管是共阴极的,则是把其中一个置高就会让该led亮起来。然后延时(没有延时的话是看不到效果的),再让下一个灯亮起来,再延时,……以此类推,就可以了!
电路给我,我可以帮你写程序!
我的个天,不能让你家帮你作作业吧。
给个框架和思路吧。LED二极管正极串一个限流电阻接在+5V电源上,负极接在MCU一个管脚上,如P20,如果灯不够亮,可以加个三极管放大电流。
程序思路:
main(void)
{
while(1)
{
延时
P20=~P20
//P20取反
点亮和熄灭LED
}
}
# P1上接LED等。
#include "reg51h"
void delayms(unsigned int x)
{
int i,j;
for(i=x;i>0;i--)
for(j=0;j<120;j++);
}
void main(void)
{
char i;
for(i=0;i<6;i++)
{
P1 = ~P1;
delayms(1000);
}
while(1);
}
以上就是关于求教通过按键控制单片机LED灯闪烁周期的程序怎么写全部的内容,包括:求教通过按键控制单片机LED灯闪烁周期的程序怎么写、如何用单片机写5个彩灯依次闪烁、怎么以stc单片机为例编写一个LED指示灯闪烁工程。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)