单片机笔记(三):满眼LED多闪烁

敦煌曲子词《浣溪沙》中有诗一首,即“满眼风光多闪烁,看山恰似走来迎。”曾是经典的中学物理题,今天就借用一下人家的诗,来瞧瞧“满眼LED多闪烁”。上一节咱说了如何亮一个灯,现在让这个的闪起来。

笔者有一个闪的办法,看图:

只要我把开关不断的进行断开闭合,这样就开始闪了,有没有觉得我很聪明。我想你一定会说:

也对哦,也只有小时候才会那么好奇和天真,如今咱用的是单片机,可原理却是一样的,就是让那个led进行不断的开断操作。若开断时间一样,那就是按规律的闪烁,那个规律叫做频率。开断时间不一样长,那没准就是称摩斯密码。那么用单片机如何实现开断呢?

很简单
当P1.1为高电平时,亮!
当P1.1为低电平时,灭!
所以当P1.1先等于1,再等于0,那它就亮了。哈哈~
                led=1;
                led=0;
可是,下载到单片机发现,灯根本不亮。为什么?它应该循环的两灭呀?确实循环执行了,可是你确看不清,因为太快了,要知道,100HZ的闪烁人眼看到的根部不在闪,而单片机执行的频率可不止100HZ,怎么说也得翻个一二百倍吧。所以,为了让我们能看得到闪烁,需要让led亮了,然后等等再让它灭,这个操作叫做延时。也就是led=1;延时led=0;延时。

延时,说白了就是等待,让上一个操作停那么一会,或者说延缓下一步的执行时间。那么,延时程序怎么写?
void delaynms(unsigned char i)
{unsigned char j;   
        while(i--) {
                for(j=125;j>0;j--);
                }}
这个是大概1ms延时,把它写在程序里,并对该延时函数进行调用,这个灯就闪了。那为什么是1ms,先让我酝酿酝酿。

然而我比较土豪,有八个灯,我想玩转八个LED,怎么搞?其实让他一个一个的亮,那就是流水灯,如果改变延时的快慢,没准还会有拖尾的效果。这就是满眼LED多闪烁 。
下面就对一个稍微有些花样LED流水灯阐述一下。

频率逐增或减就是通过递增或递减改变延时的时间。

减暗就是通过递增LED灯暗的时间
拖尾嘛?流水灯是亮一个灭一个,拖尾就是亮一个,前一个变暗,再前一个更暗,也是不负责的。
这个流水效果并不是很好,待我做好送给她的那个再来嘚瑟嘚瑟

一节流水犹未尽,下节接着说废话,学识浅薄出拙文,如察错误望赐教,小弟在此感涕零。

欢迎观看:

单片机笔记(一):莫在浮沙筑高台

单片机笔记(二):初识单片机

近期精彩内容推荐:

整流杂谈(一)

整流杂谈(二)

整流杂谈(三)

(0)

相关推荐

  • 基于Keil、STM32,用C 编写流水灯程序

    通常来说,在单片机上编程,要么汇编,要么C语言,而用C++进行开发的很少,那么究竟能不能用C++开发单片机呢? 答案是肯定可以的,下面讲讲基于Keil.STM32,用C++编写流水灯程序的一些内容. ...

  • 单片机 流水灯

    一.简述 通过Proteus仿真单片机最小系统+流水灯的显示电路.用Keil编写相应执行文件. 源码.仿真电路图打包:链接:https://pan.baidu.com/s/1ZetoHZGz-jebn ...

  • 51单片机入门教程(2)——实现流水灯

    51单片机入门教程(2)--实现流水灯 一.搭建流水灯电路 二.流水灯程序 2.1 延时程序 2.2 延时函数 2.3 按字节寻址 2.4 逻辑移位 2.5 条件判断 一.搭建流水灯电路 在Prote ...

  • 单片机、555实现LED闪烁电路

    有朋友在后台发消息,希望设计一个LED闪烁电路,闪烁频率为2Hz,想了解LED闪烁的电路原理是什么,下面解答一下,看看有没有写的很通俗易懂. 要设计一个闪烁电路,闪烁频率为2Hz,即500ms亮灭交替 ...

  • Python爬虫学习笔记(三)

    Cookies: 以抓取https://www.yaozh.com/为例 Test1(不使用cookies): 代码: import urllib.request# 1.添加URLurl = &quo ...

  • 赵孟頫《赤壁赋》课堂笔记(三)

    来源:吕英儒书法工作室  主讲人:吕英儒 ==================================================================== ========== ...

  • 胡盼:满眼风光皆闪烁

    作者注: 新年将至,匆匆的岁月带走了我过去的一年,这一年里我经历了太多太多,静下来想一想,有时都不敢去回忆.但转念一想,所有的经历都将化作最富有的财富,在我前进的路上为我助力. 接下来的几天,我将把自 ...

  • LED灯闪烁是这个元件坏了,烧灯珠记得查下它,MT7812电路图引脚

    LED灯闪烁是这个元件坏了,烧灯珠记得查下它,MT7812电路图引脚

  • LED灯为什么会闪烁?led灯闪烁是什么原因

    电工学习网:www.diangon.com 技术驱动未来,关注电工学习网官方微信公众号"电工电气学习",收获更多经验知识. LED灯的驱动器里面都有一个电容,可以把电容理解成一个容 ...

  • C#线程学习笔记三:线程池中的I/O线程

    本笔记摘抄自:https://www.cnblogs.com/zhili/archive/2012/07/20/MultiThreads.html,记录一下学习过程以备后续查用.     一.I/O线 ...

  • 学易笔记三《易经》的总体哲学思想——“阴阳”

    今天,我们言归正传,开始逐步揭开易学的神秘面纱.根据前文所述,想必大家也已经隐约感觉到<易经>其实是一门哲学.说起哲学,很多人都比较熟悉,最起码知道其中的唯物主义和辩证理论.从百度百科搜索 ...

  • C# LINQ学习笔记三:LINQ to OBJECT之操作字符串

    一.统计单词在字符串中出现的次数 请注意,若要执行计数,请先调用Split方法来创建词数组.Split方法存在性能开销,如果对字符串执行的唯一操作是计数词,则应考虑改用Matches或 IndexOf ...