单片机一个接口怎么控制两个LED灯?!
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单片机一个接口怎么控制两个LED灯?!相关的知识,希望对你有一定的参考价值。
程序、电路图……最好搞一下!
确切的说一个IO口在指定时间内仅能输出一种状态(高和低,可以用来代表LED的亮和灭)。如果楼主非要让一个LED长时间亮着的话,那就用缓冲吧!一般为了提高效率,我们会8个IO口一起操作,缓冲器也支持并且就是这样做的(所谓缓冲就是一些可以保存IO口某一时刻状态的电路)。
通俗说,单片机并不直接控制每一个LED的亮灭,而是通过相对应的缓冲器来间接控制。比如要控制1-8号LED全亮,单片机先选择1号缓冲器,然后发送一个全亮的指令给1号缓冲器,1号缓冲器会记住单片机的这个全亮指令控制并保持(直到单片机再发送来新的指令更改1-8号LED的状态)自己管理的8个LED的状态。
指令交给1号缓冲器后,单片机就可以选择二号缓冲器并发送控制9-16号LED的指令了,然后选择三号缓冲器并发送17-24号LED的指令....
直到发送指令到第三百七拾五号缓冲器控制2992-3000号LED。有一个问题就是这样会需要375个缓冲器,并且需要24个IO口(8个IO口控制LED灯,16个IO口控制缓冲器)。
这个电路的效果就是单片机仅需要375*3=1125条指令就可以完全控制一遍这3000个LED,如果使用的单片机速度不太慢的话,这几乎不到10个毫秒,一秒钟可以控制3000个LED状态改变100次以上,虽然这个方法有点笨,成本还比较高,但他只使用了24个IO口!当然高手也许只需要16个甚至更少的IO口就能办到。 参考技术A 接口接个锁存器74HC573 参考技术B
单片机一个接口怎么控制两个LED灯?!
你就把两个接在一起,完事。
STM32怎么实现单片机控制LED灯常亮10S后熄灭?
首先实现LED灯的点亮和熄灭,控制连接LED灯的管脚输出高低电平就可以实现。如果电流比较大可以增加三极管驱动电路。10秒定时可以用定时器实现,设置一个1秒的定时器。上电点亮LED灯,并开始计时,10秒时间到熄灭LED就可以了。 参考技术A 首先实现LED灯的点亮和熄灭,控制连接LED灯的管脚输出高低电平就可以实现。如果电流比较大可以增加三极管驱动电路。10秒定时可以用定时器实现,设置一个1秒的定时器。上电点亮LED灯,并开始计时,10秒时间到熄灭LED就可以了。以上是关于单片机一个接口怎么控制两个LED灯?!的主要内容,如果未能解决你的问题,请参考以下文章
用C语言编写,单片机控制LED灯并用定时器延时,每隔一秒使LED依次点亮,8 个灯