51单片机教程(五):单片机动态扫描驱动数码管单片机教程(五):单片机动态扫描驱动数码管
上一讲介绍了单片机外接键盘的原理,并给出了应用实例。本讲将介绍单片机动态驱动段式数码管。通过该
讲,读者可以掌握段式数码管的工作原理和如何通过动态驱动的方法设计电路以及程序。
一、本文内容提要
上一讲介绍了单片机外接键盘的原理,并给出了应用实例。本讲将介绍单片机动态驱动段式数码管。通过该讲,读者可以掌握
段式数码管的工作原理和如何通过动态驱动的方法设计电路以及程序。
二、原理简介
常用的段式数码管有七段式和八段式,八段比七段多了一个小数点,其他的基本相同。所谓的几段就是指数码管里有相应的几
个小LED 发光二极管,通过控制不同的LED 的亮灭来显示出不同的字形(见图1(a))。从各发光二极管的电极连接方式又
可以分为共阳极和共阴极两种类型。共阴极则是所有的二极管的阴极连接在一起,而阳极是分离的(见图1(b));而共阳
极就是所有二极管的阳极是公共相连,而阴极则是分离的(见图1(c))。本学习板采用的是八段共阴极数码管,型号为
LG3641AH。
图1 数码管内部结构图
前文所述,数码管与发光二极管的工作原理相同,共阳极时,所有正端接电源正极,当负端有低电平时,该段有电流流过,发
光管亮,当负端为高电平时,该段无电流流过,发光管不亮。要显示什么数字,就使对应的段为低电平(见表1)。共阴极与
共阳极的电平变化状态相反。当每个段的驱动电流为2~20mA,电流越大,发光越亮。
表1 显示的数字和七段码各位的对应关系表
常用的七段式数码管的硬件驱动设计方法有:静态驱动与动态驱动。
静态驱动即指每个数码管的数据线都有一个单独的数据锁存器,数据锁存器输入的数据由使能端控制,当使能端为高电平时,
数据线上的数据(要显示的七段码)进入显示器,使能端与地址译码器的输出相连,要显示那位,则选通那位的地址,在软件
设计上不要求程序循环,也不存在显示数字发生闪烁。但是这样会占用很多口线。
动态显示是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。这样一来,就没有必要每一位数码管配
一个锁存器,从而节省了口线,地简化了硬件电路。所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发
光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
三、电路详解
此讲的电路图如图2。从图2 中可以看出,驱动八个八段数码管总共用了6 个单片机IO 口,其中三个IO通过控制74HC595 来
实现对数码管中的各段驱动,另外三个IO 通过控制74HC138 来实现对8 个数码管中的公共端驱动。此外为了增加74HC595
输出的驱动能力,在其输出后接了一级74HC245 芯片,以提高驱动能力,增加数码管的亮度。在这里对这三个芯片进行介绍
说明。