使LED闪烁

上一片文章讲到如何点亮第一颗LED,今天来尝试一下怎么让这颗LED灯闪烁。

程序设计思考

我们还没有学习单片机内的时钟,我们应该如何大致确认每次闪烁的时间呢?或者换个说法我们要如何控制他一会儿亮一会儿灭呢?

我这里可以提供一个思路,只要我们让程序一段时间内不去改变LED引脚的电平变化那就可以做到控制他的亮和灭。那我们是不是只要先改变高低电平然后让程序去跑其他东西,然后过段时间再来改变一下引脚的高低电平就可以了?

实际上这个做法确实是可行的,我们可以设计一个for或者是while的空循环,让他在里面绕上个千百万次的,这不就起到了拖延时间的作用了吗。但是这个方式是不精确的,因为每次运行循环的时间也都是不定的,所以我们只能大致实现LED灯一亮一灭的效果。

创建工程

首先我们创建一个项目工程
具体怎么创建工程可以看这篇文章:https://www.tylerhong.cn/点亮第一个led/tylerhong/

After complete creating the project

编写代码

  1. 引入头文件
    导入我们需要使用的头文件库“reg52.h”

    include reg52.h

  2. 我的开发版上P2^ 0引脚连接的是第一颗D1 LED灯,所以我要自定义一个变量名LED1到引脚P2^ 0上

    LED D1

    Create a name for P2^0

  3. 编写main函数

    main function

  4. 编写time_delay函数

    time_delay

  5. 总体的代码实现

    complete

编译以及烧录

具体的烧录方式和编译方式可以参考这篇文章:https://www.tylerhong.cn/点亮第一个led/tylerhong/

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部