您的位置 首页 硬件

串行输入输出共阴极显现驱动器MAX7219使用

MAX7219是美国MAXIM(美信)公司生产的串行输入/输出共阴极显示驱动器。它采用了3线串行接口

MAX7219是美国MAXIM(美信)公司出产的串行输入/输出共阴极显现驱动器。它选用了3线串行接口,传送速率达10M数据,能驱动8位七段数字型LED或条形显现器或64只独立的LED。MAX7219内置BCD码译码器、多路扫描电路、段和数字驱动器和存储每一位的8*8静态RAM。能便利的用模仿或数字办法操控段电流的巨细,改动显现器的数量;能进入低功耗的关断形式(仅耗费150uA电流,数据保存);能便利地进行级联。可广泛用于条形图显现、七段显现、工业操控、仪器仪表面板等范畴。并且其最重要的一点是,每个显现位都能单个寻址和改写,而不需求重写其他的显现位,这使得软件编程非常简略且灵敏。MAX719后缀表明其封装方法和作业温度,如表所示:

后缀

封装

作业温度

CNG

窄24脚

0—-70℃

CWG

SO24脚

0—-70℃

ENG

窄24脚

-40—85℃

EWG

SO24脚

-40—85℃

一. MAX7219的结构和功用

1.引脚阐明

MAX7219的引脚摆放如图所示,各引脚功用叙说如下:

(1)脚:DIN,串行数据输入。在CLK的上升沿到来时,数据被移入到内部的16位移位寄存器中。

(2)、(3)、(5)~(8)、(10)、(11)脚:DIG0—DIG7,输入。8位数字位位选线,从共阴极显现器吸收电流。

(4)、(9)脚:GND,地。两个引脚有必要衔接在一起。

(12)脚:LOAD,数据装载输入端。在LOAD上升沿,移位寄存器承受的数据被锁存。

(13)脚:CLK,时钟输入端,最高时钟频率10MHz。在CLK的上升沿,数据被移入到内部的16位移位寄存器中。在CLK的下降沿,数据从DOUT脚输出。

(14)~(15)、(20)~(23)脚:输出。七段驱动器和小数点驱动器。它供应显现器电流。

(18)脚:ISET,电流调理端。经过一个电阻和VCC相连,来调理最大段电流。

(19)脚:VCC。电源输入端。

(24)脚:DOUT。串行数据输出。输入到DIN的数据在16.5各时钟周期后,在DOUT端有用。该脚常用于几个MAX7219的级联。

2.串行数据传送的阐明

MAX7219选用串行寻址方法,在传送的串行数据中包含内部RAM的地址。加在DIN脚上的串行数据,有必要在LOAD信号为高电平的前提下,以每个字节为一个数据包,在CLK信号上升沿移入16位的移位寄存器。然后在LOAD信号的上升沿锁存进数字或操控寄存器中。LOAD信号有必要在第16个CLK信号上升沿的一起,或在下一个CLK信号上升沿之前升高,不然,数据会丢掉。DIN脚上的串行数据在16.5个CLK信号后出现在DOUT脚上,以便级联使用时传到下一个MAX7219上。

其数据串行传送时序图如下图所示:

发送的16位串行数据格局为:

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

X

X

X

X

地址

高         数据               低

发送的16位串行数据格局如上表所示:D15在先,D15—D12位(4位)可为恣意值。D11—D8位(4位)指定14个内部寄存器的地址。D7—D0位(8位)为送入的指定寄存器的数据(包含显现数据和操控数据)。

3.寄存器功用及阐明

MAX7219内部共有14个可寻址的数字、操控寄存器和空操作寄存器。数字寄存器由一个片内8×8静态RAM组成。操控寄存器包含译码方法、亮度操控、扫描数量、停机形式、测验形式等寄存器组成,如下表所示:

寄存器称号

十六进制数地址

寄存器称号

十六进制数地址

空操作

00H

DIG6

07H

DIG0

01H

DIG7

08H

DIG1

02H

译码操控

09H

DIG2

03H

亮度操控

0AH

DIG3

04H

扫描操控

0BH

DIG4

05H

停机操控

0CH

DIG5

06H

显现测验操控

0FH

下面从运用的视点,对MAX7219内部操控器的功用加以阐明:

(1)译码操控寄存器(地址09H):译码方法寄存器能够对每个数进行设置,使其为BCD译码方法或不译码方法。寄存器的每一位和一个数位相对应。为“1”时,挑选BCD译码方法,为“0”挑选不译码方法。例如,0—7位不译码,则给译码寄存器09H送00H。第一位译码,其他位不译码,则给译码寄存器09H送01H。

译码方法操控寄存器举例(地址09H):

寄存器数据

16进制代码(HEX)

D7

D6

D5

D4

D3

D2

D1

D0

第1-8位LED不译码

0

0

0

0

0

0

0

0

00

第1位译码,其他不

0

0

0

0

0

0

0

1

01

低四位译码,高不

0

0

0

0

1

1

1

1

0F

第1-8位LED译码

1

1

1

1

1

1

1

1

FF

* 当选用BCD译码方法时,译码器仅对寄存器中数据的低四位(D3-D0)有用,高四位(D7-D4)位无效。BCD码的字形为:当数据为00-09H时,显现为0-9;当数据为0AH-0EH时,显现为-,E,H,L,P。当数据为0FH时,数据被消隐,处于不显现状况。

代码BCD字形表:

显现字符

寄存器数据

段码点亮=1

D7

D6

D5

D4

D3

D2

D1

D0

DP

A

B

C

D

E

F

G

0

×

×

×

0

0

0

0

1

1

1

1

1

1

0

1

×

×

×

0

0

0

1

0

1

1

0

0

0

0

2

×

×

×

0

0

1

0

1

1

0

1

1

0

1

3

×

×

×

0

0

1

1

1

1

1

1

0

0

1

4

×

×

×

0

1

0

0

0

1

1

0

0

1

1

5

×

×

×

0

1

0

1

1

0

1

1

0

1

1

6

×

×

×

0

1

1

0

1

0

1

1

1

1

1

7

×

×

×

0

1

1

1

1

1

1

0

0

0

0

8

×

×

×

1

0

0

0

1

1

1

1

1

1

1

9

×

×

×

1

0

0

1

1

1

1

1

0

1

1

×

×

×

1

0

1

0

0

0

0

0

0

0

1

E

×

×

×

1

0

1

1

1

0

0

1

1

1

1

H

×

×

×

1

1

0

0

0

1

1

0

1

1

1

L

×

×

×

1

1

0

1

0

0

0

1

1

1

0

P

×

×

×

1

1

1

0

1

1

0

0

1

1

1

×

×

×

1

1

1

1

0

0

0

0

0

0

0

小数点由D7设置,D7=1亮,D7=0不亮。

* 当选用不译码方法时,数据位D7-D0和字段的对应联系如图3所示:

需求阐明的是:不论对MAX7219设置的是译码方法还对错译码方法,D7位一直和数码位的小数点DP相连,当D7=1时,小数点亮,当D7=0时,小数点灭。

(2)亮度操控寄存器(地址0AH):MAX7219的亮度操控有两种方法:即模仿法和数字法。

* 模仿法:在引脚ISET和VCC之间接电阻RSET,各段驱动峰电流约为RSET中电流(Iset)的100倍,RSET的最小阻值为9.53KΩ,这时数码显现处于最亮状况。RSET可用电位器替代,放到面板上用来调理数码显现的亮度。

* 数字法:将数据写入到亮度操控寄存器中,即可按16各等级操控亮度。数值为00H,对应电流1/32Iset(最暗);数值为0FH,对应电流31/32Iset(最亮)。此数值加1,电流增大1/16。

亮度寄存器格局(地址0AH)

占空比

寄存器数据

16进制代码(HEX)

D7

D6

D5

D4

D3

D2

D1

D0

1/32

×

×

×

×

0

0

0

0

×0

3/32

×

×

×

×

0

0

0

1

×1

5/32

×

×

×

×

0

0

1

0

×2

7/32

×

×

×

×

0

0

1

1

×3

9/32

×

×

×

×

0

1

0

0

×4

11/32

×

×

×

×

0

1

0

1

×5

13/32

×

×

×

×

0

1

1

0

×6

15/32

×

×

×

×

0

1

1

1

×7

17/32

×

×

×

×

1

0

0

0

×8

19/32

×

×

×

×

1

0

0

1

×9

21/32

×

×

×

×

1

0

1

0

×A

23/32

×

×

×

×

1

0

1

1

×B

25/32

×

×

×

×

1

1

0

0

×C

27/32

×

×

×

×

1

1

0

1

×D

29/32

×

×

×

×

1

1

1

0

×E

31/32

×

×

×

×

1

1

1

1

×F

(3)扫描位数(边界)寄存器(地址0BH):扫描(边界)寄存器用来设定多少个数位处于显现态,规模为1到8。MAX7219的各个数位按1300Hz的扫描频率分路驱动,轮番点亮8各显现器。若需求显现的数位少,可下降扫描数量,以进步扫速和亮度。该寄存器的低3位指定要扫描的数位,即00-07H别离对应1-8个数位。但此值最好不要小于4,不然需求改动RSET的值。

扫描位数寄存器(地址0BH)的格局:

寄存器数据

16进制代码(HEX)

D7

D6

D5

D4

D3

D2

D1

D0

显现位1

×

×

×

×

×

0

0

0

×0

显现位1,2

×

×

×

×

×

0

0

1

×1

显现位1,2,3

×

×

×

×

×

0

1

0

×2

显现位1,2,3,4

×

×

×

×

×

0

1

1

×3

显现位1,2,3,4,5

×

×

×

×

×

1

0

0

×4

显现位1,2,3,4,5,6

×

×

×

×

×

1

0

1

×5

显现位1,2,3,4,5,6,7

×

×

×

×

×

1

1

0

×6

显现位1,2,3,4,5,6,7,8

×

×

×

×

×

1

1

1

×7

(4)停机操控寄存器(地址0CH):关断寄存器的D0位操控MAX7219处于怎样的显现状况。当D0=0时,MAX7219处于关断状况,当D0=1时,MAX7219处于正常显现状况。当处于关断状况时,扫描振荡器暂停,显现器平息,各寄存器中的数据不变,这时总电流小于150uA,,但仍能够编程。进入此状况后,至少250uS才干退出。当将D0方位1后(即0CH写01H),即可回到正常显现状况。

(5)显现测验寄存器(地址0FH):显现测验寄存器有两种作业方法:当送01H时,MAX7219便进入测验作业状况,一切数码管显现8及小数点,电流占空比为31/32,内部的一切数据及操控寄存器的值都不改动。当送00H时,MAX7219进入正常作业方法。

(6)空操作寄存器(地址00H):即写入0000H,可答应数据经过而不对当时的MAX7219产生影响,可用于两个或多个MAX7219进行级连。这样只需三根信号线就能够驱动,在操控时只需把待编程的MAX7219之前的那些MAX7219设置为空操作即可。

4.典型使用电路

典型使用

级联使用连线

二 MAX7219的PROTUES仿真电路

   

听说PROTEUS里的MAX7219模型在级连时仿真有问题,时序和实践电路的不同。

三 MAX7219的PROTUES仿真源程序

#include

#include

#define uchar unsigned char

sbit DIN=P3^1;

sbit CLK=P3^3;

sbit LOAD=P3^2;

void send(uchar add,uchar dat)

{

                 uchar ADS,i,j;

                 CLK=0;

              LOAD=0;

              DIN=0;

                 i=4;

                 while(i<16)

                 {

                   if(i<8)

                              {

                                            ADS=add;

                            }

                else

                              {

                                          ADS=dat;

                            }

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qianrushi/yingjian/91322.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部