利用单片机89C52的一个并行I/O口实现多个LED显示的一种简单方法

在单片机应用系统中,普遍使用成本低廉、配置灵活的数码管(LED)做显示器。常用的为4~8位八段LED数码管显示器,即需要4~8个LED数码管。实现这种显示的方法很多,但是,必须采用相应的措施才能实现多个LED的显示。本文介绍了一种设计方法,利用该方法设计的多路LED数码管显示系统具有硬件设备简单,可移植性好,成本低廉的特点,在各种仪表显示系统中应用效果良好。

1 硬件电路

多位LED显示时,常将所有位的段选线并联在一起,由一个8位I/O口控制,而共阴极点或共阳极点分别由另一个8位I/O口控制;也可采用并行扩展口构成显示电路,通常,需要扩展器件管脚的较多,价格较高。本文将介绍一种利用单片机的一个并行I/O口实现多个LED显示的简单方法,图1所示是该电路的硬件原理图。其中,74LS138是3线-8线译码器,74LS164是8位并行输出门控串行输入移位寄存器,LED采用L05F型共阴极数码管。

显示时,其显示数据以串行方式从89C52的P12口输出送往移位寄存器74LS164的A、B端,然后将变成的并行数据从输出端Q0~Q7输出,以控制开关管WT1~WT8的集电极,然后再将输出的LED段选码同时送往数码管LED1~LED8。位选码由89C52的P14~P16口输出并经译码器74LS138送往开关管Y1~Y8的基极,以对数码管LED1~LED8进行位选控制,这样,8个数码管便以100ms的时间间隔轮流显示。由于人眼的残留效应,这8个数码管看上去几乎是同时显示。
2 软件编程

该系统的软件编程采用MCS-51系列单片机汇编语言完成,并把显示程序作为一个子程序,从而使主程序对其进行方便的调用。图2所示是其流程图。具体的程序编码如下:




3 结束语

该设计方法已多次应用于学生单片机实验的显示电路和多种仪器显示系统中。只要将该显示程序调入其它主程序中,即可完成显示功能。经过多次使用证明:该方法可移植性好、实用性强。


郑重声明:资讯 【利用单片机89C52的一个并行I/O口实现多个LED显示的一种简单方法】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——