admin管理员组

文章数量:1530842

2024年7月10日发(作者:)

维普资讯

自动化与仪器仪表 

ZlDONGHUA YU YIQI YIBIAO 2002年第2期(总第100期) 

文章编号:1001—9227(2002)02—0056—04 

串行显示驱动器 

PS7219及单片机的SPI接口设计 

吴蓓潘天红 

(甘肃工业大学科技处兰州,730050) 

(江苏大学电气信息工程学院 镇江,212013) 

摘要:串行显示驱动器PS7219是由武汉力源公司推出的一种新型的、高性能、低价格的多位 

LED显示驱动器。本文介绍该芯片的引脚、内部结构、功能、以及工作过程,并分析了它与单片机的 

SPI接口设计方法,给出了用89C51与PS7219的应用实侧。 

关键词:I:'5"7219单片机静态显示SPI接口 

AB mACT:The new patem,hi perforrtmnce,low price,irtol ̄bits LED display driver PS7219 i8 pro- 

dueed by corporation of Wuhan Power and Source.hTe package,inter S(1'tltCtltll ̄,function and wo【kil principle 

of PS7219 is introduced,and it’s SPI interface with single chip computer in this paper.A applled example of 

PS7219 with 89C51 is introduced. 

KE-,1^fORDS:PS7219 Single—chip computer Static state display SPI interrace 

中国分类号:TP368.1 文献标识码:B 

0引言 

(2)并行总线上挂靠的器件太多,系统工作的 

在单片机的应用系统中,为了便于人们观察和 

稳定性和可靠性低; 

监视单片机的运行情况,常常需要用显示器显示运 

(3)体积较大,集成度不高。 

行的中间结果及状态等等。因此显示器往往是单片 正是由于上述原因,近年来,各厂家相继开发出 

机系统必不可少的外部设备之一。常用的显示器有 

了集成度较高、驱动能力较强、驱动位数较多、功能 

很多种,其中LED(发光二极管显示器)是应用较多 

齐全的LED显示驱动器。 

的一种,它特别适用于强光和光线极弱的场合。 本文介绍一种低价位、高性能的多位LED显示 

要使LED显示,必须提供段选码和位选码。传 驱动器PS7219芯片,以及它与单片机89C51具体的 

统的硬件译码显示接口广泛采用由中央处理器cPU 

SPI接口设计与应用软件。 

(如:Intel 8031)扩展I/O口(如:8255),然后再使用 

逻辑门驱动芯片(如7407等)驱动相应的位码和段 

1 PS7219简介 

码。这种设计,芯片间连线十分复杂,系统工作可靠 PS7219是一种新型的串行接口的8位数字静 

性不高,已越来越不适应单片机系统集成化、小型化 态显示芯片。它是由武汉力源公司新推出的24脚 

的发展要求。特别是系统并行扩展I/0,其缺点十 

双列直插式芯片,采用流行的同步串行外设接口 

分明显: 

(SPI),可与任何一种单片机方便接口,并可同时驱 

(1)连线太多,系统连线复杂,印制板布线不方 

动8位LED(或64只独立LED),其引脚图如图1所 

便; 

示。 

56 

维普资讯

每位具有闪烁使能控制位。当引脚coN(13脚)置 

高电平,可禁止所有显示,达到降低功耗的效果,但 

同时并不影响对控制寄存器的修改。Ps72l9还有 

个掉电模式、一个允许用户从1位数显示刭8位 

数显示选择的扫描界限寄存器和一个强迫所有LED 

接通的测试模式。另外,PS7219A型内置一个可靠 

的【】P监控电路,可为外部提供一个脉宽14Oms,触 

发门限典型值为4.63V的高电平复位信号。 

如果N个PS7219级联,可实现N×8位LED显 

图1 PST219引脚图 

示 

PS7219内部具有15 x 8RAM功能控制寄存器, 

¨ 轴辐 站 呲删 

可方便选址,对每位数字可单独控制、刷新、不需重 

写整个显示器。显示数字亮度可由数字进行控制 

表1 PS7219引脚功能 

引脚 

1 

名称 

复位弓I脚 

2 PS7219引脚功能 

PS7219引脚功能如表1所示。 

功能 

RSr 

2 

3 

4 

5一l1、14 

12 

【』】AD 

D矾 

cLK 

装载数据输入。当LOAD为高电平,串行输人数据的最后16位被锁定 

串行数据输入。在CLK的下降沿,数据被加载到内部16位移位寄存器中 

时钟输入。最高频率为500ktk。在CLK的下降沿,数据被移位到内部移位寄存器。在时钟的 

下降沿

数据从DOUr输出 

DIG1一D脚 8位数字驱动线,它从显示器吸人电流 

CND 地 

13 

24 

C0N 

V+ 

显示控制端,低电平选通,高电平显示无效 

电流电压 

23一卵、16 SA—SG、DP 7段驱动器和小数点线,它供给显示器源电流 

15 DoUT 串行数据输出。输入到DIN的数据在16.5个时钟周期后在DOUr端有效 

3 Ps7219工作过程 

图2为PS7219工作时序图。由图2可行,DIN 

是串行数据输入端,在CLK的上升沿,一位数据被 

加载到内部16位移位寄存器中,CLK端最高输入频 

率可达500kHz,在输入时钟信号的每个上升沿,均 

有1位数据由DIN移人到内部寄存器中,LOAD用 

来装载数据,在LOAD的上升沿,16位串行输人数 

据被锁存到数字或控制寄存器中。LOAD必须在第 

16个时钟上升沿的同时或之后,在下一个时钟上升 

沿之前变高,否则数据将会丢失。 

规定一组数据为16位二进制数据包,其格式如 

下 

D15~D12 Dl1~璐 IT/~Do 

图2 PS7219的工作时苷图 

其中D15一DI2位不用,D11—138为内部5个控 

制寄存器和8个LED显示数据寄存器的地址,地址 

编码如表2。D7 DO为5个控制寄存器命令字或8 

个LED数码管待显示的数据。因为控制寄存器与 

显示数据寄存器均独立编址,所以可以通过程序单 

独对每个寄存器进行操作。一般情况下,程序先送 

控制命令,后向显示寄存器送数据,但必须注意,每 

四位寄存器地址 8位控制命令或 

待显示数据 

16位为一组.从高位地址节最高位开始送起,直到 

维普资讯

低位数据字最后一位为止。 

表2 PS7219寄存器地址分配表 

寄存器 地 址 16进制代码 

D15~D12I D11 D1O /99 D8 (mgX) 

无操作 × {0 O O O ×0 

DlGrr1 ×0 O O l ×1 

DI(|m ×0 O l O ×2 

DI(|m ×0 O l l ×3 

DI(|丌4 × 1 0 l O O ×4 

DI( × 0 l O l ×5 

DI( ×0 l l O ×6 

DI(册 ×0 l l 】 ×7 

DI(m × 1 O O O ×8 

译码方式 × l O O 】 ×9 

显示亮度 ×  Jl O l O x A 

扫描界限 × l O 】 1 ×B 

掉电控制 × l l O O ×C 

闪烁控制 × f l l O 1 xD 

未用 × l 1 1 1 O ×E 

测试控制 × I l 1 1 O ×F 

PS7219按5个控制寄存器规定的方向对待显 

示的数字自动扫描显示,所以有必要对各控制寄存 

器的功能有所了解,现分述如下: 

(1)译码方式寄存器:对每个数字设置BCD码 

B(O一9、E、H、L、P和一)或非代码操作。寄存器中 

的每一位与一个数字对应。逻辑高电平选择代码 

BCD译码,而低电平选择旁路译码器。 

(2)显示亮度寄存器:其中D7一D4位可任意, 

而D3一 可选择0000—1111。93~Do的值越大, 

LED显示器越亮。 

(3)扫描范围寄存器:其扫描范围寄存器设置 

所显示数据的多少,可从1至8。它们一般以扫描 

速率1.5kHz、8位数据、多路复用方式显示。 

(4)掉电控制寄存器:其中D7一Dl位可任意, 

Do=0.关闭所有显示器;Do=1,允许显示。 

(5)显示测试寄存器:其中D7~D1位可任意; 

Do=O0.LED处于正常工作状态;Do=1,允许显示。 

LED处于显示测试状态。 

在送完控制字后,可根据实际需要调用显示子 

程序,改变1—8个数据寄存器的内容,完成显示功 

能。 

4 SPI接口 

SPI是同步串行外设接口.主要用于与各种外 

围器件以串行方式进行通讯、交换信息。这些外围 

器件可以是简单的TTL移位寄存器、或是复杂的 

58 

LCD显示驱动器或A/D转换子系统。SPI接口很容 

易与许多厂家的各种外围器件直接相连。 

它使用4条线:串行时钟线(SCK)、主机输入/ 

从机输出线(Mtso)、主机输出/从机输入线(MoSI)、 

低电平有效的使能信号线(CS)。如图3所示。这 

样,仅需3—4根数据线和控制线即可扩展具有SPI 

接口的各种I/O器件。其典型结构如图3。 

scK 

M∞ 

圉3 SPI串行接口的典型结构 

5接口设计 

5.1硬件设计 

PS7219的SPI接口是一个高速的同步串行I/O 

口,它允许1—8位的串行比特流以特定的传输速率 

移进移出芯片。但这要求馓处理器带有SPI接口能 

力。对不带SPI或相同接口能力的馓处理器,需用 

软件合成SPI操作来和Fb-"7219接口,这里笔者以目 

前应用广泛的AT89(251为饲,进行了电路设计,接 

口电路图见图4所示。 

这里,89(251的P1.6作串行数据输出,连接到 

PS7219的DIN脚,P1.7和P1.5通过程序分别模拟 

PS7219的时钟脉冲CLK及数据加载LOAD信号。 

PS7219的SA~Sc、SDP端连接到各lED数码管对 

应的a—f及dp端,DIGO—DIG3分别接4位LED数 

码管的共阴极,以实现位选。另外,选用XICOR公 

司的X25045作为看门狗监控电路。 

实际上,数码管的位数可在1—8位之间任意选 

择,这可由写入的扫描界线寄存器的命令字决定。 

注意,为了使由峰值数字驱动器电流引起的纹波减 

到最小,需要在v+和GND之间尽可能靠近芯片的 

地方外接一个10 的电解电容和一个0.1btF的瓷 

片电容。PS7219应放在紧靠LED显示器的地方,且 

连线尽可能短,两个C-ND引脚都必须连接到地线 

上。 

PS7219只需一组+5V电源和89C51的三个输 

出口,且无附加电路,可驱动1~8个LED显示器, 

显示亮度可调,工作可靠。 

维普资讯

图4 PS7219和891251的接口 

5.2软件编程 

在89C51的程序存储器区开辟一些存储单元, 

专门用来定义控制命令字,这些命令字的具体数值 

根据你要选择的工作方式、显示内容、显示位数等等 

来定义。 

由于PS"/219的控制寄存器和显示寄存器均独 

立编址,显示程序实际上就是89C51在P1.7(cLK), 

P1.5(LOAD)时序的配合下不断通过P1.6(DIN)向 

PS7219的相应控制寄存器和数据显示寄存器写入 

16位二进制数据包的过程。所以问题的关键在于 

图5写人子程序流程图 

编写一个通用的写入子程序,将VWO的内容从高 

参考文献 

位到低位在P1.7(CLX)的作用下依次移入移位寄存 

1潘天红.分布式控翩系统智能控制器的研究.江苏理工大 

器,最后由P1.5的上升沿(LOAD信号)锁存到相应 

学硕士研究生论文,200o.1 

的内部控制寄存器和数据显示寄存器中去。写人子 

2武汉力源.PS7219带有高速申行接口的8位LED控制驱 

动器.武汉:武汉力源电子股份有限公司,1999.2 

程序的程序流程图如图5所示。 

3潘天红.SPI串行总线与单片机系统的优化设计.嗣l控技 

无论初始化PS7219的控制寄存器,还是在相应 

术,2001.2 

的数码管显示数字,均可通过调用上述通用写入子 

4李华.NCSSI系列单片机实用接口技术.北京:北京航空 

程序完成。 

航天大学出版社,1999.12 

本文标签: 显示寄存器控制数据系统