电子说
下面还介绍了一种利用89C52单片机的一个并行口实现多个LED数码管显示的简单方法,给出了利用此方法设计的多路LED显示系统的硬件电路结构原理图和软件程序流程,同时给出了采用MCS-51汇编语言编写的具体程序。
在单片机应用系统中,普遍使用成本低廉、配置灵活的数码管(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 结束语
该设计方法已多次应用于学生试验单片机led显示电路和多种仪器显示系统中。只要将该显示程序调入其它主程序中,即可完成显示功能。经过多次使用证明:该方法可移植性好、实用性强。
全部0条评论
快来发表一下你的评论吧 !