单片机LED灯闪烁延迟程序

单片机LED灯闪烁延迟程序,第1张

LZ 要是 懂汇编的话,就能知道这是为什么了。

事实上,LZ 的程序是个单次系统,结果应该如同LZ 所说的一样,一个回合后就结束了。

可是,实际使用中,产品都是循环系统,不做单次系统,而很多新手在编程序的时候,也会经常遗漏循环语句,导致循环系统变成了单次系统。于是软件制作方(如KEIL)就在软件上增加了一个功能,编译的时候,将整个程序的外沿,套上一个死循环,保证不出现单次系统。

LZ可以通过查看编译时的 反汇编窗口,里面的汇编程序中,主函数是多了一个循环语句的。

# 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 的数码管编号

int led = 1;

// 定义 LED 闪烁的间隔时间,单位为毫秒

int interval = 200;

void setup() {

// 初始化数字输出为输出模式

pinMode(led, OUTPUT);

}

void loop() {

// 让 LED 亮起来

digitalWrite(led, HIGH);

// 延迟一段时间

delay(interval);

// 让 LED 熄灭

digitalWrite(led, LOW);

// 延迟一段时间

delay(interval);

}

#include<reg51h>

#define uint unsigned int

void yanshi(uint z)

{

uint x,y;

for(x=z;x>0;x--)

for(y=110;y>0;y--);

}

void main()

{

while(1)

{

P1=0x00;

yanshi(400);

P1=0xff;

yanshi(200);

P1=0x00;

yanshi(400);

P1=0xff;

yanshi(1000);

}

}

这是我自己写的,我也是刚入门。这个程序我试过了,能行,一起学习吧。。

以上就是关于单片机LED灯闪烁延迟程序全部的内容,包括:单片机LED灯闪烁延迟程序、用C语言编写一个单片机控制LED灯闪烁三次的程序,急求!、我刚学单片机,想让LED上的第一个小灯间隔200MS闪烁,我编的程序是这样的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存