七段数字显示是单板机和单片机应用中常用的显示方式,常与12~30键键盘配合,实现人机对话。本文以Z80CPU和MCS—48系列单片机为例来说明数显和键盘的接法。
Z80CPU必须通过I/O芯片才能与外界通信,其I/O芯片有锁存器、三态缓冲器和专用的I/O芯片PIO、CTC等多种。而单片机8035本身就自带两组I/O可直接实现输入、输出。
图1是用八D触发器74LS374作Z80CPU的输出口,共阳极LED显示器接在输出口上。图2是8035单片机的P\(_{1}\)口接共阳极LED显示器电路。把笔划a~g对应数据线D0~D\(_{6}\),即可用二进制编码来显示字形。


在多位数字显示时,常将各显示器的对应笔划并联起来,接到一组I/O口上,称作段选;每个显示器的公共极接到另一组I/O口上,称作位选。图3是四位共阳极显示电路,若想使某位发光显示,可向其输入数值编码,并使该位公共极为高电平,而使其它三位保持低电平。同理,可使其他位发光显示。当循环显示各位的速度足够快时,看起来四位显示器同时显示不同数值。在设计这类电路时必须注意,每位燃亮的时间是位数的倒数,时间很短,要使显示器有足够的亮度,需要较强的电流。一般LED显示器的段选在燃亮时,每段的电流为10~15mA,位选电流的最大值则要达到70~110mA,故要选用负载能力大的驱动器件。LED的工作电压在2~3V之间,限流电阻应串在段选中。在编制显示软件时还要注意,LED的开关速度过快时将无法显示,要用延时的方法将LED的开关时间控制在即有亮度又无闪烁现象,每位燃亮一次的时间在20ms左右。

荧光数字显示器是加热灯丝释放电子的真空器件,使用的阳极电压一般为12~20V,常用升压电路来点燃笔划。多数荧光管的段选在内部并联以减少外部引线,必须用扫描方式工作,其典型电路如图4。R\(_{1}\)是灯丝限流电阻,一般灯丝电压为1.5~3V,过高容易损坏。电流5~10mA即可使荧光管起辉。荧光管的段选和位选同时为高电平时燃亮。由于其内阻很高,几乎不消耗电流,但升压振荡电路工作时的耗电流较大,约100mA。

键盘部分也多用软件扫描的方式节约硬件,在系统中常利用显示器的位选接口实现扫描,提高I/O口的利用率。图5是一个利用显示器位选工作的4×4键盘电路。电路工作时,位选线每次降低一位,逐行扫描,打开三态门74LS125,读入输入口的数据来检测。键未按下时,三态门的输入端被上拉成高电平;某键被按下,位选扫描到该行时,输入门将有一列被置为低电平。这样,输入数据和输出数据就合成了键值。

键盘可用计算机键盘、计算器键盘或各种按键式开关组合而成。设计时要考虑便于观查键的编号或代码及操作的方便。使用这类键盘时还要考虑开关的抖动,编制软件时常用延时二次查询来解决防抖动问题,保证读入的信号的准确且不重复。
在设计I/O电路时,I/O口地址和每位I/O口的序号一定要清楚明了,便于查对,这对编制软件是很重要的。(周高进 周东进)