新闻中心

EEPW首页>嵌入式系统>设计应用> 利用80C31单片机串行口实现多个LED显示的一种简单方法

利用80C31单片机串行口实现多个LED显示的一种简单方法

作者: 时间:2012-03-14 来源:网络 收藏

系统中,常常用数码管()做器。一般的器为4位或8位,即需要4个或8个这种比较多,也比较。但是,对于显示,就必须采取必要的措施才能。本文介绍一种设计设计的多路LED显示系统具有硬件结构,软件编程方便,价格低廉的特点,经在储蓄所大屏幕利率显示屏中应用,效果很好。

本文引用地址://m.amcfsurvey.com/article/171879.htm

1 硬件电路

是MCS-51系列的一种,它广泛应用于各种小型控制系统中。我们知道,单片机有一个口可用于通讯,笔者发现它在方式0状态下,还可以扩展并行I/O口,从而LED显示,其硬件原理如图1所示。其中,74HC164为输入、并行输出移位寄存器,74HC164为单向总线驱动器,LED采用5EF1183KR型共阴极数码管。

59.jpg

单片机复位时,串行口为方式0状态,即工作在移位寄存器方式,波特率为振荡频率的十二分之一。参看图2,器件执行任何一条将SBUF作为目的寄存器的命令时,数据便开始从RXD端发送。在写信号有效时,相隔一个机器周期后发送控制端SEND有效,即允许RXD发送数据,同时,允许从TXD端输出移位脉冲。第一帧(8位)数据发送完毕时,各控制信号均恢复原状态,只有TI保持高电平,呈中断申请状态。第一个74HC164把第一帧数据并行输出,LED1显示该数据(发送时序如图2所示)。然后,用软件将TI清零,发送第二帧数据。第二帧数据发送完毕,LED1显示第二帧数据,第一帧数据串行输入给第二个 74HC164,LED2显示第一帧数据。依此类推,直到把数据区内所有数据发送出去。应该注意,数据全部发送完后,第一帧数据在最后一个LED显示。由于TXD端最多可以驱动8个TTL门,当LED显示器超过8个时,我们采用74HC244芯片驱动。每个74HC244有8路驱动,每一路可驱动8个 LED,即每增加一个74HC244,可增加64个LED驱动。

2 软件编程

该软件程序采用MCS-51系列单片机汇编语言编制,并把显示程序作为一个子程序,以便在主程序中调用。设LED为共限极显示器,共有64个,显示区首地十在内部RAM 20H单元,需显示的数据以BCD码依次存放在显示区,软件清单如下:


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭