当前位置:首页>> 真的很实用!串行LED显示电路设计

真的很实用!串行LED显示电路设计

发布时间:2017-04-01作者:林静

在单片机系统设计中,LED显示方式由于具有使用方便、价格低廉等优点而得到广泛应用。在采用并行显示方式时,显示电路的段码与位控码要占用单片机的较多口线,尽管可采用8155等接口芯片进行扩展,但口线利用率仍较低,不能满足大型控制系统的要求。采用串行显示方式则只需占用2至3根口线,节约单片机大量的I/O线,且使用效果很好。本任务利用74HC595A实现多位LED串行显示。


真的很实用!串行LED显示电路设计


74HC595芯片

1.74HC595A工作原理

74HC595A内部含有8位移位寄存器和8位D锁存器,内部结构见图所示。


真的很实用!串行LED显示电路设计


74HC595A内部逻辑结构


真的很实用!串行LED显示电路设计


74HC595与数码管连接

串行移位寄存器接收外部输入串行数据,一方面可进行串行数据输出,同时向锁存器提供8位并行输入数据,并具有异步复位功能;8位锁存器可三态输出并行数据。该芯片具有串行输入、并行输出两个独立的时钟信号。


真的很实用!串行LED显示电路设计


74HC595A逻辑功能表

注:U:不变;N:数据刷新;Z:高阻。

2.应用电路设计

下图为12位LED显示器应用电路。若采用普通的LED并行显示方式需扩展单片机接口,电路复杂、成本高。本系统利用三片74HC595A芯片实现12位串行LED显示控制。使用时,在串行时钟的控制下,可将显示器位控码与段控码逐位串行输入至三个芯片中,然后利用锁存信号实现并行输出,完成12数数码显示更新。利用此显示方式仅占用单片机三根口线,极大节约单片机口线资源。采用串行数据输入,显示速度相对较慢,实际使用时显示效果稳定、可靠,完全满足设计要求。


真的很实用!串行LED显示电路设计


12位LED串行显示应用电路

初始位控码设定为显示第一位数码管(共阴极),见下表第一行位控码。每显示完一位,需要改变位控码以显示下一位,下表反映了位控码的变化情况。1区寄存器R6、R7用于存放处理位控码。


真的很实用!串行LED显示电路设计


12位LED显示器位控码形成示意图

3. 显示程序工作方式

本程序采用定时方式控制显示器工作。12位显示器采用动态扫描显示,每位显示器显示时间大约为1.67ms,由定时器T0控制。T0定时时间到产生显示中断,进入显示中断程序显示下一位数据。这种显示方式可提高CPU的工作效率,可准确控制显示器的刷新速度。

4.中断显示子程序应用

编制一程序,在12位数码管上依次显示0、1、2、3、4、5、6、7、8、9、0、1

ORG 0000H

DSDATE BIT P1.0 ;串行数据输入

DSCLK BIT P1.1 ;串行移位时钟

DSLUCK BIT P1.2 ;并行锁存时钟

DISBUF EQU 51H ;显示缓冲区首址

DS20 EQU 34H ;20ms定时寄存器(12位显示计数器)

LJMP MAIN ;转主程序

ORG 000BH

LJMP TIMINT ;转定时显示中断子程序

MAIN: MOV SP,#70H ;置椎栈指针

MOV 51H,#00H ;预置显示缓冲区

MOV 52H,#01H

MOV 53H,#02H

MOV 54H,#03H

MOV 55H,#04H

MOV 56H,#05H

MOV 57H,#06H

MOV 58H,#07H

MOV 59H,#08H

MOV 5AH,#09H

MOV 5BH,#00H

MOV 5CH,#01H

MOV 08H,#DISBUF ;1区R0指向显示缓冲区首址

MOV 0EH,#07H ;置初始位控码(1区R6)

MOV 0FH,#0FFH ;置初始位控码(1区R7)

MOV TMOD,#01H ;置T0为1.67ms定时器

MOV TL0,#00H

MOV TH0,#0FAH

MOV DS20,#12 ;置显示位数计数器

SETB TR0 ;启动T0

SETB EA ;开中断

SETB ET0 ;开T0中断

HERE: SJMP HERE

TIMINT: PUSH PSW ;定时显示中断子程序,状态字进栈

MOV PSW,#08H ;重置状态字,选择1区工作寄存器

PUSH ACC ;累加器进栈

PUSH B ;B寄存器进栈

CLR TR0 ;停止T0定时

MOV TH0,#0FAH ;重置1.67ms定时初值

MOV TL0,#00H

SETB TR0 ;启动T0定时

MOV R5,0FH ;位控码送R4、R5

MOV R4,0EH

LCALL DIS1 ;调用显示一位数码管子程序

SETB C ;形成显示下一位位控码并置于1区R6、R7中

MOV A,R6

SETB ACC.4

RRC A

MOV R6,A

MOV A,R7

RRC A

MOV R7,A

DJNZ DS20,LOOP1 ;12位显示完了否,没完退出,若显示完重置

MOV DS20,#12 ;重置显示计数器

MOV R0,#DISBUF ;重置显示缓冲区指针

MOV R7,#0FFH ;重置初始位控码

MOV R6,#07H

LOOP1: POP B ;恢复现场

POP ACC

POP PSW

RETI ;中断返回

DIS1: MOV DPTR,#TAB ;显示一位数码管子程序,指向段码表

MOV A,@R0 ;取待显示字符数据

INC R0 ;修改缓冲区指针

MOVC A,@A+DPTR ;查表取显示字符段码

MOV R3,A ;将段码与位控码组合成20位有效串行码

MOV R1,#0CH ;20位有效串行码置于R3、R4、R5中

MOV A,@R1

SWAP A

MOV @R1,A

MOV A,R3

XCHD A,@R1

MOV A,@R1

SWAP A

MOV @R1,A

MOV A,R3

SWAP A

MOV R3,A

MOV R1,#20 ;置串行输出计数器

DIS0: MOV A,R3 ;R3、R4、R5串行移位,由R5高位输出。

RRC A

MOV R3,A

MOV A,R4

RRC A

MOV R4,A

MOV A,R5

RRC A

MOV R5,A

MOV DSDATE,C ;最高位送至595芯片串行输入端

SETB DSCLK ;产生595芯片串行输入信号

NOP

CLR DSCLK ;串行输入锁存

DJNZ R1,DIS0 ;20位二进码输出完否,没完继续

SETB DSLUCK ;产生595芯片并行输出信号,字符开始显示

NOP

CLR DSLUCK ;输出字符数据由595芯片锁存

RET

TAB: DB 3FH,06H,5BH ;显示段码表

DB 4FH,66H,6DH

DB 7DH,07H,7FH

DB 6FH,00H,40H

END


公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1