1.静态显示接口
在单片机应用系统中,常采用MCl4495芯片作为LED的静态显示器接口,它是MOTOROLA公司生产CMOS BCD——七段十六进制存储、译码驱动芯片,可以与LED直接相连。
MCl4495芯片的引脚和内部结构如图8-13所示。它是由4位锁存器、地址译码器和笔段ROM阵列以及带有限流电阻的驱动电路(输出电流为10mV)等三部分组成。
注 由于字符“B”和“8”、“D”和“0”字形相同,故数码显示“B”和“D”均以小写字母“b”和“d”显示。
图8-13 MC14495引脚和逻辑框图
(a)引脚;(b)逻辑框图
图中A、B、C、D、为二进制码(BCD码)输入端,为地址锁存控制端,为低电平时可以输入数据,为高电平时锁存输入数据;h+i为输入数据大于等于10指示位,若输入数据大于或等于10,则h+i输出高电平,否则输出低电平;为输入等于15指示位。若输入数据等于15,则VCR输出低电平,否则为高阻状态。MCl4495芯片的作用是输入被显示字符的二进制码(或BCD码),并把它自动转换成相应的段码,送LED显示。图8-14示出由MCl4495芯片组成的4位静态LED显示器与803l的接口电路。图中8031的P1.4~P1.7用于输出欲显示字符的二进制码(或BCD码);P1.2=0用于控制二 -四译码器(74LS139)工作;P1.0~P1.1经译码器输出控制MCl4495中哪一位允许接收P1.4~P1.7上的二进制码。若要显示带小数点的十进制数,只要在LED的dp端另加驱动控制即可。图中LED显示块采用共阴极。由于MCl4495有输出限流电阻,故LED不需外加限流电阻。
图8-14 4位静态LED显示器
【例8-1】 设8031单片机内部RAM的20H和21H单元中有4位十六进制数(20H中为高两位),请编出能在图8-14电路中自左到右显示出来的程序。
解 程序如下:
在本例中,被显字符是由硬件MCl4495转换成字形段码的,但也可采用软件法转换成字形段码。采用软件法转换时,图8-14中的MC14495应由8位锁存器替代。静态显示的优点是显示稳定,在发光二极管的导通电流固定时显示器亮度大,系统在运行过程中,仅仅在需要更新显示内容时CPU才执行一次显示更新子程序,这样大大节省了CPU的时间,提高了CPU的工作效率;缺点是位数较多时显示口随之增加,硬件费用大。为了节省I/O口,常采用另外一种显示方式即动态显示方式。
2.动态显示接口
所谓动态显示就是一位一位地轮流点亮各位显示器(称为动态扫描)。对于每一位显示器来说,每隔一段时间点亮一次。显示器的亮度即与导通电流有关,也与点亮时间和间隔时间的比例有关。调整电流和时间参数,可实现亮度较高较稳定的显示。图8-15示出8031通过8155接六只共阳极LED显示器的接口电路。图中B口经两片6路同相缓冲器/驱动器(OC高压输出)7407与LED的a、b、c、d、e、f、g、dp相连,各LED控制端G和8155C口相连,故B口为段选口,C口为位选口,CPU可以通过C口控制各LED是否点亮。8155的端口地址分配如下:(www.daowen.com)
图8-15 8031通过8155对LED的接口
8000 H 命令/状态口
8001H A口
8002 H B口
8003H C口
8004 H 定时器低8位口
8005H 定时器高8位口
动态显示采用软件法把要显示十六进制数(或BCD码)转换为相应的段码,故它通常需要在RAM区建立一个显示缓冲区。显示缓冲区内包含的存储单元个数常和系统中LED显示器个数相等。显示缓冲区的起始地址很重要,它决定了显示缓冲区在RAM中的位置。
显示缓冲区中每个存储单元用于存放相应LED显示管欲显示字符的段码地址偏移量,故CPU可以根据这一地址偏移量通过查段码表找出所需显示字符的段码,以便送到段选口显示。
【例8-2】 请根据图8-16编出能在图8-15六个LED显示器上显示出1995.6字形的动态显示子程序。
图8-16 例8-2的显示缓冲区
解 设显示缓冲区放在CPU内部RAM中,始地址为70H,显示缓冲区中被显示字符的段码表的地址偏移量应预先放入,如图8-16所示。程序中DTAB为段码表首址;8155的C口为位选口;B口为段选口,均设为输出口。
程序如下:
动态扫描显示接口虽然硬件简单,但在使用时必须反复循环显示,这就降低了CPU的工作效率,所以在实际应用中要根据具体情况选用显示方式。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。