您当前的位置:五五电子网电子知识元器件介绍元器件特点及应用MAX7219:单片机进行LED显示帮手 正文
MAX7219:单片机进行LED显示帮手

MAX7219:单片机进行LED显示帮手

点击数:7718 次   录入时间:03-04 11:42:55   整理:http://www.55dianzi.com   元器件特点及应用

I/O口资源

如果用MAX7219帮忙的话,只用三根I/0口就可以完成任务,电路图见下图。

电路图

   接下来我们就来看看如何使用MAX7219实现LED数码管的显示:

  MAxT219简介

  MAX7219的封装常见是DIP24,引脚如下图所示。

MAX7219引脚图

  其引脚功能如下:

  1.VCC:+5V电源端。

  2.GND:接地端。

  3.ISET:LED段峰值电流提供端。它通过一只电阻与电源相连,以便给LED段提供峰值电流。帮助位选信号显示。

  4.SEGA-SEGG=LED七段显示器段驱动端。

  5.SEGDP:小数点驱动端。

  6.DIG7-DIGO:8位数值驱动线。输出位选信号,从每个LED公共阴极吸人电流。

  7.DIN:串行数据输入端。在CLK的上升沿,数据被装入到内部的16位移位寄存器中。

  8.CLK:串行时钟输入端。最高输入频率为lOMHz,在CLK的上升沿,数据被移人内部移位寄存器;在CLK的下降沿,数据被移至DOUT端。

  9.LOAD:装载数据控制端。在LOAD的上升沿,最后送人的16位串行数据被锁存到数据或控制寄存器中。

  10.DOUT:串行数据输出端。进人DIN的数据在16.5个时钟脉冲后送到DOUT端,以便在级联时传送到下一片MAX7219。

  MAK7219的工作原理图4是MAX7219的时序图(DINCLKLOAD原理),这个图很简单,就是告诉大家三个端口是怎么合作传送数据的。其中,DIN是串行数据输入端,CLK和LOAD实际上是充当了组织者。

  下面结合下图介绍一下数据传送的过程:

6

  首先,在CLK的下降沿,无效,在CLK的上升沿,第一位二进制数据被移人内部移位寄存器,然后CLK再出现下降沿,无效,然后CLK再出现上升沿,第二位二进制数据被移入内部移位寄存器,就这样工作16个周期,完成16个二进制(前八个是地址,后8个是数据)的传送,这当中LOAD一直是低电平,当完成16个二进制的传送后。把LOAD置成高电平,产生上升沿,把这16位串行数据锁存到数据或控制寄存器中,完成装载。然后再把LOAD还原为低,重复开始的动作,周而复之.....

  例如:把数据O9H传送到地址OAH(亮度控制寄存器)。即设定LED为16级亮度的第10级。编程如下:

   MOV A,#OAH;亮度控制寄存器地

  址以数据形式送累加器A

  MOV B,#O9H;亮度控制码(第十

  级)送寄存器B

  LCALL    WRIITE;调用“写

  MAX7219子程序”

  WRITE:;“写MAX7219子程序”

  开始

  CLR LOAD;设置LOAD无效

  LCALL WRI:TE8;调用“写 8 位

  数据子程序”(送的是前8位,所以是

  亮度控制寄存器的地址)

  MOV A.B;亮度控制码(第十级)

  通过寄存器B送累加器A

  LCALL WRITE8;调用写 8位数

  据子程序(送的是后8位,所以是亮度

  控制码)

  SETB LOAD;使LOAD产生上升

  沿,把刚送入的16位串行数据锁存到

  数据或控制寄存器中。

  RET;WRIITE子程序返回

  WRTE8:;“写8位数据子程序”开始

  MOV R6,#O8H;数据位写入次数,

  8次

  LPI:CLR CLK;CLK无效

  RLC A1取累加器A的最高位

  MOV D:IN,C1将累加器A的最高

  位送 D:IN

  NOP;等待,为了有足够的时间传

  送数据,可省略

  SETB CLK;CLK产生上升沿,数

  据被移入内部移位寄存器

  DJNZ R6,LPI;8 次结束,否则

  循环LP1

  RET:;“写 8位数据子程序”子程

  序返回

   MAX7219的工作寄存器

  MAX7219主要由8个数位寄存器和6个控制寄存器组成:

  1.数位寄存器7~0:它决定该位LED显示内容,地址依次为O1H一08H,2.译码方式寄存器:地址为O9H,它决定数位寄存器的译码方式,它的每一位对应一个数位。其中,1代表译码方式;0表示不译方式。比如,OOH,表示都不译码。若用于驱动LED数码管,一般都设置为译码方式,方便编程;当用于驱动条形图显示器时,应设置为不译码方式。

  3.扫描位数寄存器:地址为OBH,设置显示数据位的个数。该寄存器的D2-DO(低三位)指定要扫描的位数,支持0-7位,比如要显示数据位的个数为三,则应送往地址OBH的数据就应为O3H。各数位均以1.3kHz的扫描频率被分路驱动。

  4.亮度控制寄存器:地址为OAH,该寄存器通常用于数字控制方式,利用其D3-DO位控制内部脉冲宽度调制DAC的占空比来控制LED段电流的平均值,实现LED的亮度控制。

  D3-DO取值可从0000-1111,对应电流占空比则从1/32变化到31/32,共16级,D3-DO的值越大,LED显示越亮。而亮度控制寄存器中的其他各位末使用,可置任意值。前面已经举例。



www.55dianzi.com

  7.无操作寄存器:它主要用于多片MAX7219级联,允许数据通过而不对当前MAX7219产生影响。

  MAX7215应用实例

      按图2把单片机、MAX7219和数码管连接起来,由于只用了单片机(MCU)三个管脚,所以用简化版的AT89S2051单片机就足够了。图中DIN接P1.0,CLK接P1.1,LOAD接P1.2。

  下面来做个简单的小实验:让数码管从左到右分别显示0、1、2、3、4、5、6、7,程序清单如下:

  0RG0000H;程序开始

  AJMPMAIN:跳转到MAIN主程

  序处

  DINBITP2.0:定又变量

  cLKBITP1.2:定义变量

  LOADBITP1.2:定义变量

  0RGO080H;主程序MAIN从地

  址0080H开始

  ;MAX7229(各工作寄存器)初

  始化开始

  MAIN:NOVA,#0BH;扫描位数寄存

  器地址以数据形式送累加器A

  MOVB,#07H;扫描位数(8位)

  送寄存器B

  LcALLWRITE:调用“写

  MAX7219子程序”

  MOVA,#09H;译码方式寄存器

  地址以数据形式送累加器A

  NOVB,#OFFH;译码方式(译码)

  送寄存器B

  LCALLWRITE:调用“写

  HAX7219子程序”

  NOVA,#OAH;亮度控制寄存器

  地址以数据形式送累加器A

  NOVB,#09H;亮度调节(10级)

  送寄存器B

  LCALLWRITE;调用“写

  NAX7219子程序”

  MOVA,#OCH;关断寄存器地址

  以数据形式送累加器A

  MOVB,#01H;待机开关(关)送

  寄存器B

  LCALLWRITE;调用“写

  MAX7219子程序”

  START:NOVR3,#08H;显示数据循

  环次数送寄存器R3

  NOVRO,#OOH;寄存器RO存放

  TAB表格间接指针

  LOOP:M0VDPTR,#TAB;送TAB首

  地址入DPTR

  MOVR4,#01H;数位寄存器0的

  地址(01H)以数据形式入R4

  LP:M0VA,RO;TAB表格间接指针入A

  MOVCA,@A+DPTR;取TAB首地

  址中的显示数据入A

  NOVB,A;TAB首地址中的显示

  数据入B

  M0VA,R4;数位寄存器0的地址

  入A

  LCALLWRITE:调用“写

  MAX7219子程序”

  INCRO;RO加一(TAB表格间接

  指针指向下一个)

  INCR4:R4加一(换下一个数位

  寄存器)

  DJNZR3,LP;循环八次结束

  LJMPSTART;重新开始显示0~

  7

  TAB:DB00H,01H,02H,U3H,

  04H,05H,06H,07H;前面对“译码

  方式寄存器”采用了BCD译码方式,所

  以TAB数据这么写

  WRLTE:;写MAX7219子程序(写

  16位,前8位地址,后8位数据)

  CLRLOAD:设置LOAD无效

  LCALLWRITE8:调用写8位数

  据子程序

  HOVA,B;B中内容送A

  LCALLWRITE8:调用写8位数

  据子程序

  SETBLOAD;使LOAD产生上升

  沿,把刚送入的16位串行数据锁存到

  数据或控制寄存器中。

  RET;WRITE子程序返回

  WRITE8:;“写8位数据子程序”

  开始

  NOVR6,#08H:数据位写入次

  数.8次

  LP1:CLRCLK:CLK无效

  RLCA;取累加器A的最高位

  MOVDIN,C;将累力口器A的最高

  位送DIN

  NOP;等待,为了有足够的时间传

  送数据,可省略

  SETBCLK;CLK产生上升沿,数

  据被移入内部移位寄存器

[1] [2]  下一页


本文关键字:单片机  元器件特点及应用元器件介绍 - 元器件特点及应用