datasheet

基于74HC595A实现多位LED串行显示电路设计

2018-02-04 15:07:26来源: 互联网 关键字:74HC595A  led

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


1.74HC595A工作原理


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


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


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


2.应用电路设计


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


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


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

关键字:74HC595A  led

编辑:王磊 引用地址:http://www.eeworld.com.cn/LED/article_2018020412485.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于12C508A控制的LED循环点亮电路
下一篇:最后一页

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
74HC595A
led

小广播

热门关键词

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

颜工专栏

LED专区

现任华润矽威科技(上海)有限公司市场部经理/高工,上海市传感技术学会理事、副秘书长。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved