求教通过按键控制单片机LED灯闪烁周期的程序怎么写

求教通过按键控制单片机LED灯闪烁周期的程序怎么写,第1张

你用的什么单片机

看你说的应该是跑马灯,给你一个最常见的,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指示灯闪烁工程。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/9357301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存