您当前的位置:五五电子网电子知识单片机-工控设备51单片机利用80C31单片机串行口实现多个LED显示的一种方法 正文
利用80C31单片机串行口实现多个LED显示的一种方法

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

点击数:7738 次   录入时间:03-04 11:55:44   整理:http://www.55dianzi.com   51单片机
摘要:介绍利用80c31 单片机 串行口、廉价的74hc164和74hc244集成块实现多个LED显示的一种简单方法,利用该方法设计的多路led显示系统具有硬件结构简单、软件编程容易和价格低廉的特点。

    关键词: 单片机   串行口  led  显示  80c31

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

1 硬件电路

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

当80c31 单片机 复位时,串行口为方式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码依次存放在显示区,软件清单如下:

主程序

org 0000h

sjmp start

org 0020h

mov r6,#40h

mov r0,#20h

lcall trxd

sjmp $

显示子程序

trxd:mov dptr,#dtab

dl0:mov a,@r0

movc a,@a+dptr

mov sbuf,a

dl1:jnb ti,dl1

clr ti

inc ro

djnz r6,dl0

ret

dtab:3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh





本文关键字:单片机  51单片机单片机-工控设备 - 51单片机