UQYT

专用数码管显示电路(MAX7219)

专用数码管显示电路(MAX7219)

  常用的专用数码管显示电路有8279和MAX7219,前者因近年来停产而很少人使用;后者因使用方便灵活,连线简单,不占用数据存储器空间,使用的人则越来越多。
  MAX7219是八位串行共阴LED数码管动态扫描驱动电路,其峰值段电流可达40mA,最高串行扫描速率为10MHz,典型扫描速率为 1300Hz,仅使用单片机3个I/O口,即可完成对八位LED数码管的显示控制和驱动, 线路非常简单,控制方便,外围电路仅需一个电阻设定峰值段电流,同时可以通过软件设定其显示亮度;还可以通过级联,完成对多于八位的数码管的控制显示。值 得一提的是,当工作于关闭(SHUTDOWN)方式时,不仅单片机仍可对其传送数据和修改控制方式,而且芯片耗电仅为150uA。下图是MAX7219的 典型连接方法:

下面是MAX7219的C51源程序:下载源程序

 #include <reg52.h>
 #include <stdio.h>
 typedef unsigned char uchar;
 sbit DIN=P1^0;
 sbit CLK=P1^1;
 sbit LOAD=P1^2;
 
 void send(uchar add,uchar dat) //发送16字节子函数
 { uchar ADS,i,j;
 LOAD=0;
 i=0;
 while(i<16)
 {
   if(i<8)
    {ADS=add;}
   else {ADS=dat;}
     for(j=8;j>=1;j--)
     {

      DIN=ADS&0x80;
      ADS=ADS<<1;
      CLK=1;
      CLK=0;
     }
    i=i+8;
   }
  LOAD=1;
 }

 main()
 {
  send(0x0c,0x01);   //初始化MAX7219
  send(0x0b,0x07);
  send(0x0a,0xf5);
  send(0x09,0xff);
  while(1)
  {
  send(0x01,0x81);   //在八个数码管上显示1-8,带小数点显示
  send(0x02,0x82);
  send(0x03,0x83);
  send(0x04,0x84);
  send(0x05,0x85);
  send(0x06,0x86);
  send(0x07,0x86);
  send(0x08,0x88);
  }
 }

分类:

技术点:

相关文章:

  • 2021-11-18
  • 2021-05-13
  • 2022-12-23
  • 2022-12-23
  • 2021-11-18
  • 2021-11-02
猜你喜欢
  • 2021-11-11
  • 2021-04-21
  • 2021-11-12
  • 2021-12-14
  • 2021-09-22
  • 2022-01-02
相关资源
相似解决方案