单片机LED显示驱动

单片机LED显示驱动

ID:43411715

大小:14.50 KB

页数:5页

时间:2019-10-02

单片机LED显示驱动_第1页
单片机LED显示驱动_第2页
单片机LED显示驱动_第3页
单片机LED显示驱动_第4页
单片机LED显示驱动_第5页
资源描述:

《单片机LED显示驱动》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机LED显示驱动[日期:2008-01-29][来源:网络作者:佚名][字体:大中小](投递新闻)led(liteemitdiode)显示是项目开发中经常遇到的一种显示方法,其具有亮度高、全视角、使用寿命长、驱动简单等特点,因而在一些高端和大型的器材和设备上使用较为广泛。下面就常用的led显示及驱动方法作一说明:led:本文所说的led主要是指下列几种:l7-段数码led,分共阴和共阳两种,原理图见1和2;l常用nxmled点阵:如8x8led点阵模块、5x7led点阵模块等,其也分为共阴和共阳两种;l单个led管。所谓共阴极,即是将所有led的阴极连接到一起,而

2、共阳极则相反,所有的阳极被连接到了一起。但不管哪种结构,其显示设计的原理基本相同,唯一的是其驱动的电路的设计有所差异,一般共阴极采用推(push)电流的方式来驱动,而共阳极结构则采用拉(pull)电流的方式来驱动。根据led显示的硬件设计方法的不同,led显示驱动分为静态法和动态法两大类,其具体的说明和编程方法分述如下:1.静态显示驱动法:  所谓静态显示驱动法,即是指每一个led灯分别对应一个独立的io驱动口;其点亮和关闭由该io来对其进行控制,互不干扰,见图3(注:对于io驱动能力弱的mcu,必须增加外部的驱动芯片或驱动三极管等器件)。此种设计一般应用在对单个le

3、d的驱动或led数量较少,且所选的mcuio比较充裕的情况下。比如一些项目的led指示灯、产品的设计中只有一个7-段led码需要显示等。  由于每一个led均由独立的io口来控制,因此此种显示驱动的软件设计比较简单明了,无需特别的处理,在需要点亮和关闭时设置相应的io输出口的电平即可(即“0”或“1”,具体须根据驱动电路的设计来决定)。图3优点:电路设计简单,编程简单,而且led的亮度控制容易,只需在驱动端增加相应的电流调节电阻即可方便地实现亮度的调节(对于存在独立驱动的设计,还可以通过调整驱动电压来达到亮度的调节)。缺点:由于每一个led灯需要一个io口,因此对io

4、口的需求较大,不易实现大数量的led驱动和显示,扩展性能差。2.动态的显示驱动法:与静态显示方法不同,动态led显示的设计方法是将不同led模块的所有的led的驱动端一对一地连接到一起,见图4,而将其公共极(阴极或阳极)分别由不同的io口来驱动(主要针对7-段码和led点阵模块)。在此,我们称其公共极为扫描线或地址线(因此种连接方法类似于存储器的内部连接,每个led点相当与memory中的一个bit),不同的led模块(类似于memory中的一个byte)用不同的扫描线地址线来进行选定。图4图4由于所有的led模块公用了驱动端,因此led的驱动不再像静态法一样为每个l

5、ed所独享,因此其驱动的设计方法也与静态法完全不同,需要采用分时扫描(也称动态扫描)方法来实现对所有led的显示驱动,其原理如下(以图4为例):a.将a0设置为高电平,也即允许第一组led显示,同时将a2,a3,a4设置为低电平,也即关闭该阴极所对应的led组的显示;b.在p0口输出a0组对应的显示数据(也称为pattern),如字符点阵数据,7-段码对应的数字的数据等,该数据可以通过rom表的形式来预先定义;c.保持一定的时间t,该时间即为所设定定时器的中断时间;d.将a0口设置为低电平,关闭a0组led的显示;e.将a1设置为高电平,其他几个设置为低电平,开启a1

6、组对应的led的显示;f.在p0口输出a1组对应的显示数据(也称为pattern,意义同上);g.重复以上步骤,直到所有组被扫描一遍,然后又从a0组开始下一个循环,如此周而复始,实现所有led的动态显示。1.该方法的原理利用了人眼对物体的视觉延迟来达到所有led的同时显示,实际上,在每一个时刻,只有一组led是处于显示的状态,而其他led组均为关闭状态。理论上,若两次显示之间的时间间隔小于32ms时,人眼即无法分辨,因此,为了达到此要求,led的扫描频率一般可按照下式计算得出:f=32*n式中, f为扫描的频率,对应为定时器的定时时间(t=1/f); 32则是由32m

7、s换算而来,32ms对应的频率刚好为32hz; n则是总的led的组数(此例中为n=4)。根据此式算出的扫描频率f实际上是led驱动扫描的最小频率,若低于此频率,则有可能导致led的闪烁。当然,f也不可能越高越好,扫描的频率太高,相对而言,每一组led的点亮的时间就越短,因此有可能导致led的亮度不够或显示效果不理想等一些问题。当然提高led的驱动电压也可以弥补由此造成的亮度不够的问题。在此例中,由公式可知其扫描的频率应大于等于128hz,则较为理想。2. mcu程序的实现:a. 模块的划分:  在说明其编程之前,先说明一下模块化编程思想在led驱动

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。