标题:
51单片机弄一个闪烁LED灯
[打印本页]
作者:
小呀嘛小菜鸟
时间:
2018-10-13 15:30
标题:
51单片机弄一个闪烁LED灯
现在的灯都能亮起来,自己做的也能闪,但是闪一下就灭了,想要的是能一直闪,希望各位大神能帮忙敲个小小的代码,就一段关于LED灯一直闪的代码就行,麻烦各位了!!!另本人是个菜鸟,希望大神能敲的简单点,麻烦能不能在代码后加上注释,非常感谢!!!
作者:
angmall
时间:
2018-10-13 17:22
我给你来个程序试试
/**************************************************************************************
* LED闪烁实验 *
实现现象:下载程序后D1指示灯闪烁
注意事项:无
***************************************************************************************/
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit led=P2^0; //将单片机的P2.0端口定义为led
/*******************************************************************************
* 函 数 名 : delay
* 函数功能 : 延时函数,i=1时,大约延时10us
*******************************************************************************/
void delay(u16 i)
{
while(i--);
}
/*******************************************************************************
* 函 数 名 : main
* 函数功能 : 主函数
* 输 入 : 无
* 输 出 : 无
*******************************************************************************/
void main()
{
while(1)
{
led=0;
delay(50000); //大约延时450ms
led=1;
delay(50000); //大约延时450ms
}
}
复制代码
作者:
hu_821
时间:
2018-10-13 18:02
初次到来,请大家关照
作者:
灌溉梦想
时间:
2018-10-13 21:40
加到while循环里面就会一直闪烁
作者:
西北荒野大镖客
时间:
2018-10-13 21:52
while(1)
{P0=1;
延时100mm;
P0=0;
延时100mm
}
作者:
asd1230
时间:
2018-10-13 23:59
新手刚入门,多多关照
作者:
1523YHJ
时间:
2018-10-14 02:18
一个高电平一个低电平中间家延时
作者:
yuyifengle
时间:
2018-10-14 02:48
循环啊,否则程序只走一次
作者:
zmc419
时间:
2018-10-14 07:46
用for或while
作者:
秋叶归尘
时间:
2018-10-14 08:03
把你闪烁的程序用循环抱起来
作者:
xuanlu
时间:
2018-10-14 10:02
void main()
{
while(1);
{
led=1;
delay(50000)
led=0;
delay(50000)
}
}
复制代码
作者:
猫sir
时间:
2018-10-14 10:11
加循环和延时,让程序一直走
作者:
qwer58
时间:
2018-10-14 12:20
循环和延时
作者:
aqs1028
时间:
2018-10-14 13:46
五楼正解
作者:
yin...
时间:
2018-10-14 14:47
加个while(1)一直循环
作者:
小呀嘛小菜鸟
时间:
2018-10-14 15:39
angmall 发表于 2018-10-13 17:22
我给你来个程序试试
非常感谢,对我很有帮助,能学到东西,再次感谢
作者:
yzwzfyz
时间:
2018-10-14 21:51
不管是哪个灯,它总是对应在一个CPU的端口上的!
只要让这个端口闪是完成闪烁了!
方案:
1、用定时器做一个定时中断,每次中断将一个闪烁标记F求反。例0.5秒中断一次,中断时让F=!F.
2、输出驱动LED的段时,如:驱动A段,让A=A*F再输出,A就闪烁了。
是不是很简单。
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1