怎样用单片机驱动LED数码管显现
片机驱动LED数码管有许多方法,按显现方法分,有静态显现和 动态(扫描)显现,按译码方法可分硬件译码和软件译码之分。
静态显现便是显现驱动电路具有输出锁存功用,单片机将所要显现的数据,显现数据安稳,占用很少的CPU时刻。动态显现需求CPU时刻对显现器材进行数据改写,显现数据有闪耀感,占用的CPU时刻多。
这两种显现方法各有利弊;静态显现尽管数据安稳,占用很少的CPU时刻,但每个显现单元都需求独自的显现驱动电路,运用的硬件较多;
动态显现尽管有闪耀感,占用的CPU时刻多,但运用的硬件少,能节约线路板空间。
硬件译码便是显现的段码完全由硬件完结,CPU只需送出规范的BCD码即可,硬件接线有必定规范。软件译码是用软件来完结硬件的功用,硬件简略,接线灵敏,显现段码完全由软件来处理,是现在常用的显现驱动方法。
比较常用的显现驱动芯片有: 74LS164 , CD4094+ULN2003(2803) ,74HC595+ULN2003(2803) , TPIC6B595,AMT9095B, AMT9595等许多。
别的,市场上还有一些专用的LED扫描驱动显现模块如MAX7219等,功用很强,价格稍高一些。下面是一个用74LS164驱动显现的比如和一个用4094扫描驱动显现的比如:
上例图中加了一个PNP型的三极管来操控数码管的电源,是因为164没有数据锁存端,数据在传送进程中,对输出端来说是通明的,这样,数据在传送进程中,数码管上有闪烁现象,驱动的位数越多,闪烁现象越显着。为了消除这种现象,在数据传送进程中,封闭三极管使数码管没电不显现,数据传送完后马上使三极管导通,这样就完成锁存功用。这种方法可驱动十几个164显现而没有闪烁现象。
这个比如是用4094做位选,用89C2051的P1口线做段驱动来扫描驱动9位数码管的显现。 因为4094只要8个输出口线,其间第九位是用CPU口线直接进行位选的。9个LED的一切相同方位的段口线都接到一同,然后接到单片机的一个口线上,供八段,运用8条CPU口线。其软件的作业进程是这样的:要在LED上显现1–9位数,首先将1的段码送到P1口线上,然后向4094送位选数据01,使4094的Q1口线输出高电平,选中第一位数码管,使阳极得电,在第一位上就显现出1,重复上述进程,一直到第九位,然后不断重复这一进程,就完成了扫描显现。