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

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

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

  DJNzR6,LP1;8次结束,否则

  循环LPL

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

  序返回

  END;程序结束

  几个注意事项

  1.用单片机的串口与MAX7219

  的DIN连接时,注意数据传送的方向。

  2.数码管是共阴极的。

  3.数码管可以换成64个发光二极

  管或者LCD。

  如果在实际应用中需要更多的数

  码管,大于8个,还可以利用DOUT

  进行多片MAX7219的连接,感兴趣

  的读者可试一下。

  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产生上升沿,数

  据被移入内部移位寄存器

  DJNzR6,LP1;8次结束,否则

  循环LPL

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

  序返回

  END;程序结束

   几个注意事项

  1.用单片机的串口与MAX7219的DIN连接时,注意数据传送的方向。

  2.数码管是共阴极的。

  3.数码管可以换成64个发光二极管或者LCD。

  如果在实际应用中需要更多的数码管,大于8个,还可以利用DOUT进行多片MAX7219的连接,感兴趣的可试一下。



上一页  [1] [2] 


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