找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2556|回复: 0
打印 上一主题 下一主题
收起左侧

串行输入输出共阴极显示驱动器MAX7219应用 带源程序

[复制链接]
跳转到指定楼层
楼主
    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℃

  1. /********************************************************************
  2.                             天马电子
  3. *********************************************************************/
  4. #include <reg52.h>
  5. #include <stdio.h>
  6. #define uchar unsigned char
  7. /************************************************************************
  8.                               I/O定义
  9. *************************************************************************/
  10. sbit DIN=P3^1;//数据输入端           
  11. sbit LOAD=P3^2;//地址锁存端
  12. sbit CLK=P3^3; //时钟输入端
  13. sbit P2_0=P2^0;
  14. sbit P2_1=P2^1;
  15. sbit P2_2=P2^2;
  16. sbit P2_5=P2^5;
  17. sbit P2_6=P2^6;
  18. sbit P2_7=P2^7;
  19. /************************************************************************
  20.                               数据输入
  21. *************************************************************************/
  22. void send(uchar add,uchar dat)
  23. {
  24.    uchar ADS,i,j;
  25.        CLK=0;
  26.        LOAD=0;
  27.        DIN=0;
  28.        i=4;
  29.    while(i<16)
  30.    {
  31.           if(i<8)
  32.             {
  33.                    ADS=add;
  34.               }
  35.          else
  36.             {
  37.                    ADS=dat;
  38.               }
  39.          for(j=8;j>=1;j--)
  40.             {
  41.                               if((ADS&0x80)==0)

  42.                      {     DIN=0 ;}
  43.                                           else
  44.                                          {     DIN=1;}
  45.                      ADS=ADS<<1;
  46.                      CLK=1;         
  47.                                          CLK=0;
  48.               }
  49.           i=i+8;
  50.     }
  51.    LOAD=1;
  52. }

  53. /************************************************************************
  54.                                主函数
  55. *************************************************************************/

  56. void main(void)

  57. {

  58.    send(0x0c,0x01);//正常状态

  59.    send(0x0b,0x07);//设置扫描范围DIG0-7

  60.    send(0x0a,0x05);//设置亮度11/32

  61.    send(0x09,0xff);//采用译码方式



  62.    while(1)

  63.    {
  64.    /*
  65.    send(0x01,0x01);

  66.    send(0x02,0x02);

  67.    send(0x03,0x03);

  68.    send(0x04,0x84);

  69.    send(0x05,0x05);

  70.    send(0x06,0x06);

  71.    send(0x07,0x07);

  72.    send(0x08,0x08);
  73.           */
  74.          
  75.    if(P2_0==0) {P2_5=0;P2_6=1;P2_7=1;send(0x01,0x01);send(0x02,0x02);}
  76.    if(P2_1==0) {P2_5=1;P2_6=0;P2_7=1;send(0x01,0x04);send(0x02,0x07);}
  77.    if(P2_2==0) {P2_5=1;P2_6=1;P2_7=0;send(0x01,0x08);send(0x02,0x05);}



  78.    }

  79. }
复制代码


仿真工程文件及所有完整程序等资料下载地址(压缩包一共有45个单片机仿真,全部下载后找到第019个项目即可):
http://www.51hei.com/bbs/dpj-56298-1.html
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表