美文网首页
51单片机之LED闪烁,简单的延时函数

51单片机之LED闪烁,简单的延时函数

作者: David_Rao | 来源:发表于2019-09-26 12:33 被阅读0次

LED灯原理图

点亮LED的几种方法

#include <reg52.h>

//P1控制所有P1开头的引脚
//P1=0所有LED灯被点亮
void main()
{
    P1 = 0;
}
#include <reg52.h>

/*main函数自动循环,相当于P1=0和P1=255各占一半时间地循环进行,故亮度是原来一半*/
void main()
{
    P1 = 0;
    P1 = 255;//相当于二进制的1111 1111
}
#include <reg52.h>

//和上方代码运行效果一样
void main()
{
    while(1)
    {
        P1 = 0;
        P1 = 0xff;  //也可以用16进制写
    }
}
#include <reg52.h>

//只有最右边的LED灯亮
void main()
{
    while(1)
    {
        P1 = 0xfe;  //1111 1110(左边是高位,右边是低位)
    }
}

以下是简单的延时函数,可以作为模块函数使用

//这是一个毫秒级延时
//使用方法,给形式参数z赋值,如延时100毫秒:delay(100)
void delay(unsigned int z)
{
    unsigned int x, y;
    for(x = z; x > 0; x--)
        for(y = 114; y >0; y--);
}

使用简单的延时函数做LED闪烁

#include <reg52.h>

void delay(unsigned int z)
{
    unsigned int x, y;
    for(x = z; x > 0; x--)
        for(y = 114; y >0; y--);
}

void main()
{
    while(1)
    {
        P1 = 0xfe;  //亮100毫秒
        delay(100);
        P1 = 0xff;  //灭100毫秒
        delay(100);
    }
}

相关文章

  • 51单片机之LED闪烁,简单的延时函数

    LED灯原理图 点亮LED的几种方法 以下是简单的延时函数,可以作为模块函数使用 使用简单的延时函数做LED闪烁

  • 定时器(一)

    使用单片机时,编程会高频率用到延时,如led灯闪烁,蜂鸣器长短鸣,秒表应用等等。首先考虑软件延时,但这个时间不精确...

  • 跪求单片机大佬

    [题]LED流水灯左循环点亮:用AT89C51单片机和C51语言实现8个LED灯的左循环依次流水点亮,两个LED灯...

  • 嵌入式系统单精度与双精度浮点运算

    开发平台 单片机——STM32F407ZGT6 软件——keil 代码分析 简单的LED闪烁功能实现代码可以如下所...

  • PWM实现“流星雨”效果

    1、不同频率LED灯闪烁 接下来我们以下面LED灯的闪烁代码为例子,改变延时长短来看LED灯的效果 通过三个对比实...

  • 51单片机通过WIFI模块ESP8266控制LED灯

    一、系统方案 手机APP通过ESP8266 WIFI模块与51单片机通信控制LED灯的开关。下位机由单片机、ESP...

  • stm32学习之路--点亮一个LED编码

    目标:使用库函数一个LED闪烁 main.c led.c led.h

  • Mac下单片机开发环境的搭建

    先来简单介绍一下51单片机: 51单片机是对所有兼容Intel 8031指令系统的单片机的统称。该系列单片机的始祖...

  • 08 LED流水灯

    单片机STC89C52学习——07 LED闪烁 汇总:00 单片机STC89C52学习参考教程:普中科技 1 编程...

  • 09 蜂鸣器

    单片机STC89C52学习——07 LED闪烁 汇总:00 单片机STC89C52学习参考教程:普中科技 1 工作...

网友评论

      本文标题:51单片机之LED闪烁,简单的延时函数

      本文链接:https://www.haomeiwen.com/subject/fsyjyctx.html