51单片机如何延时1s,让LED灯闪烁

本文详细解析了如何使用51单片机实现LED灯精确延时1秒闪烁的程序设计,通过自定义delay函数控制LED灯的亮灭周期,适合初学者理解和实践。

精确地延时1s需要准确地计算,粗略地延迟1s可以自定义一个delay函数,下面我们让第一个LED灯延迟1s闪烁:

//本题的delay函数参数为1时延迟的是1ms,1000是1s
#include<reg52.h>    
#define uchar unsigned char
#define uint unsigned int
void delay(uint z);
sbit LED=P1^0;   //定义管脚
void main()
{
    while(1)   //让体系一直循环下去
	    {
		LED=0;    //我的单片机默认接的是高电平,给个低电平就可以亮啦
		delay(1000); //延迟1s
		LED=1;      //LED灯熄灭
		delay(1000);  //这个延迟不要忘了,不然的话灯会一直亮着
		}             //灯亮1s,熄灭1s,所以周期是2s
}
void delay(uint z)
{
 	uint x,y;
 	for(x=z;x>0;x--)
 	for(y=110;y>0;y--);  //y的数值是模拟推算出来的
}

解释都在注释里啦,烧录到你的单片机里就可以闪烁喽~~

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值