0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于单片机+MAX7219驱动点阵程序

CHANBAEK 来源:逗比小憨憨 作者:逗比小憨憨 2023-06-16 16:41 次阅读

MAX7219数据手册

(从官方英文手册翻译过来)

一、概述

MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。其上包括一个片上的B型BCD编码器、多路扫描回路,段字驱动器,而且还有一个8*8的静态RAM用来存储每一个数据。只有一个外部寄存器用来设置各个LED的段电流。MAX7221与SPI™、QSPI™以及 MICROWIRE™相兼容,同时它有限制回转电流的段驱动来减少EMI(电磁干扰)。一个方便的四线串行接口可以联接所有通用的微处理器。每个数据可以寻址在更新时不需要改写所有的显示。MAX7219/MAX7221同样允许用户对每一个数据选择编码或者不编码。整个设备包含一个150μA的低功耗关闭模式,模拟和数字亮度控制,一个扫描限制寄存器允许用户显示1-8位数据,还有一个让所有LED发光的检测模式。在应用时要求3V的操作电压或segment blinking,可以查阅MAX6951数据资料

二、应用

条线图显示 仪表面板 工业控制 LED矩阵显示

三、管脚配置

图片

四、功能特点

  1. 10MHz 连续串行口
  2. 独立的LED 段控制
  3. 数字的译码与非译码选择
  4. 150μA 的低功耗关闭模式
  5. 亮度的数字和模拟控制
  6. 高电压中断显示
  7. 共阴极LED 显示驱动
  8. 限制回转电流的段驱动来减少EMI(MAX7221)
  9. SPI, QSPI, MICROWIRE串行接口(MAX7221)
  10. 24 脚的DIP 和SO 封装

五、分类信息

芯片 工作温度范围 管脚封装

MAX7219CNG 0°C to +70°C 24 Narrow Plastic DIP

MAX7219CWG 0°C to +70°C 24 Wide SO

MAX7219C/D 0°C to +70°C Dice*

MAX7219ENG -40°C to +85°C 24 Narrow Plastic DIP

MAX7219EWG -40°C to +85°C 24 Wide SO

MAX7219ERG -40°C to +85°C 24 Narrow CERDIP

五、典型应用电路

图片

六、功能图表

图片

七、时序图

图片

MAX7219原理图

图片

MAX7219驱动程序

#include < reg51.h >
#include < intrins.h >


#define uchar unsigned char
#define uint  unsigned int


//定义Max7219端口
sbit Max7219_pinCLK = P2^2;
sbit Max7219_pinCS  = P2^1;
sbit Max7219_pinDIN = P2^0;
uchar code disp1[38][8]={
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//0
{0x10,0x18,0x14,0x10,0x10,0x10,0x10,0x10},//1
{0x7E,0x2,0x2,0x7E,0x40,0x40,0x40,0x7E},//2
{0x3E,0x2,0x2,0x3E,0x2,0x2,0x3E,0x0},//3
{0x8,0x18,0x28,0x48,0xFE,0x8,0x8,0x8},//4
{0x3C,0x20,0x20,0x3C,0x4,0x4,0x3C,0x0},//5
{0x3C,0x20,0x20,0x3C,0x24,0x24,0x3C,0x0},//6
{0x3E,0x22,0x4,0x8,0x8,0x8,0x8,0x8},//7
{0x0,0x3E,0x22,0x22,0x3E,0x22,0x22,0x3E},//8
{0x3E,0x22,0x22,0x3E,0x2,0x2,0x2,0x3E},//9
{0x8,0x14,0x22,0x3E,0x22,0x22,0x22,0x22},//A
{0x3C,0x22,0x22,0x3E,0x22,0x22,0x3C,0x0},//B
{0x3C,0x40,0x40,0x40,0x40,0x40,0x3C,0x0},//C
{0x7C,0x42,0x42,0x42,0x42,0x42,0x7C,0x0},//D
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x7C},//E
{0x7C,0x40,0x40,0x7C,0x40,0x40,0x40,0x40},//F
{0x3C,0x40,0x40,0x40,0x40,0x44,0x44,0x3C},//G
{0x44,0x44,0x44,0x7C,0x44,0x44,0x44,0x44},//H
{0x7C,0x10,0x10,0x10,0x10,0x10,0x10,0x7C},//I
{0x3C,0x8,0x8,0x8,0x8,0x8,0x48,0x30},//J
{0x0,0x24,0x28,0x30,0x20,0x30,0x28,0x24},//K
{0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x7C},//L
{0x81,0xC3,0xA5,0x99,0x81,0x81,0x81,0x81},//M
{0x0,0x42,0x62,0x52,0x4A,0x46,0x42,0x0},//N
{0x3C,0x42,0x42,0x42,0x42,0x42,0x42,0x3C},//O
{0x3C,0x22,0x22,0x22,0x3C,0x20,0x20,0x20},//P
{0x1C,0x22,0x22,0x22,0x22,0x26,0x22,0x1D},//Q
{0x3C,0x22,0x22,0x22,0x3C,0x24,0x22,0x21},//R
{0x0,0x1E,0x20,0x20,0x3E,0x2,0x2,0x3C},//S
{0x0,0x3E,0x8,0x8,0x8,0x8,0x8,0x8},//T
{0x42,0x42,0x42,0x42,0x42,0x42,0x22,0x1C},//U
{0x42,0x42,0x42,0x42,0x42,0x42,0x24,0x18},//V
{0x0,0x49,0x49,0x49,0x49,0x2A,0x1C,0x0},//W
{0x0,0x41,0x22,0x14,0x8,0x14,0x22,0x41},//X
{0x41,0x22,0x14,0x8,0x8,0x8,0x8,0x8},//Y
{0x0,0x7F,0x2,0x4,0x8,0x10,0x20,0x7F},//Z
{0x8,0x7F,0x49,0x49,0x7F,0x8,0x8,0x8},//中
{0xFE,0xBA,0x92,0xBA,0x92,0x9A,0xBA,0xFE},//国
};
void Delay_xms(uint x)
{
 uint i,j;
 for(i=0;i< x;i++)
  for(j=0;j< 112;j++);
}
//--------------------------------------------
//功能:向MAX7219(U3)写入字节
//入口参数:DATA 
//出口参数:无
//说明:
void Write_Max7219_byte(uchar DATA)         
{
      uchar i;    
    Max7219_pinCS=0;    
      for(i=8;i >=1;i--)
          {      
            Max7219_pinCLK=0;
            Max7219_pinDIN=DATA&0x80;
            DATA=DATA< < 1;
            Max7219_pinCLK=1;
           }                                 
}
//-------------------------------------------
//功能:向MAX7219写入数据
//入口参数:address、dat
//出口参数:无
//说明:
void Write_Max7219(uchar address,uchar dat)
{ 
     Max7219_pinCS=0;
   Write_Max7219_byte(address);           //写入地址,即数码管编号
     Write_Max7219_byte(dat);               //写入数据,即数码管显示数字 
   Max7219_pinCS=1;                        
}


void Init_MAX7219(void)
{
 Write_Max7219(0x09, 0x00);       //译码方式:BCD码
 Write_Max7219(0x0a, 0x03);       //亮度 
 Write_Max7219(0x0b, 0x07);       //扫描界限;8个数码管显示
 Write_Max7219(0x0c, 0x01);       //掉电模式:0,普通模式:1
 Write_Max7219(0x0f, 0x00);       //显示测试:1;测试结束,正常显示:0
}
void main(void)
{
 uchar i,j;
 Delay_xms(50);
 Init_MAX7219();  
 while(1)
 {
  for(j=0;j< 38;j++)
  {
   for(i=1;i< 9;i++)
    Write_Max7219(i,disp1[j][i-1]);
   Delay_xms(1000);
  }  
 } 
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6030

    文章

    44501

    浏览量

    632270
  • 驱动器
    +关注

    关注

    52

    文章

    8120

    浏览量

    145863
  • 显示器
    +关注

    关注

    21

    文章

    4934

    浏览量

    139765
  • 接口
    +关注

    关注

    33

    文章

    8467

    浏览量

    150757
  • MAX7219
    +关注

    关注

    4

    文章

    94

    浏览量

    24551
收藏 人收藏

    评论

    相关推荐

    基于51单片机的智能小车驱动MAX7219控制点阵屏显示小车运动状态?

    智能小车点阵屏显示 个人是小白,想求各位大佬帮忙!!!用51单片机控制小车运动,并驱动MAX7219控制点阵屏显示小车运动状态,就是当小车向
    发表于 02-05 00:50

    MAX7219驱动***点阵

    MAX7219驱动***点阵屏,程序测试是可以用的,自己画板子驱动点阵屏亮不起来,原理图画的也是
    发表于 10-18 23:51

    MAX7219是什么

    MAX7219芯片的学习使用最近从TB买了一大堆各种各样的模块来玩,其中就有用MAX7219芯片来设计的8X8点阵模块,于是乎去查找了这个芯片的资料,现将笔记留下。概述  MAX7219
    发表于 07-13 06:03

    max7219驱动程序

    max7219驱动程序 //max7219 led drive program//for 51 mcu//designed by zhaoliang//2005-6-12 13:52#i
    发表于 04-14 12:50 3664次阅读

    MAX7219单片以及级联驱动程序

    本人作为菜鸟,第一次使用 MAX7219 就用了两片级联来驱动15个数码管,按照原版程序驱动一片MAX7219是没有问题的,但是
    发表于 07-26 17:07 171次下载

    MAX7219单片机的接口方式及C51编程方法

    本文简述串行LED显示驱动MAX7219 的特性,介绍MAX7219与MCS51单片机的两种接口方式: 串行口驱动
    发表于 07-26 17:19 239次下载
    <b class='flag-5'>MAX7219</b>与<b class='flag-5'>单片机</b>的接口方式及C51编程方法

    PIC单片机MAX7219显示程序

    文档里是PIC单片机MAX7219显示程序
    发表于 09-01 10:09 10次下载

    max7219驱动数码管程序(51单片机+STM32 MAX7219数码管程序案例)

    本文主要介绍了max7219驱动数码管:STM32硬件SPImax7219驱动8位数码管显示模块程序设计和51
    发表于 01-15 16:51 1.9w次阅读
    <b class='flag-5'>max7219</b><b class='flag-5'>驱动</b>数码管<b class='flag-5'>程序</b>(51<b class='flag-5'>单片机</b>+STM32 <b class='flag-5'>MAX7219</b>数码管<b class='flag-5'>程序</b>案例)

    max7219点阵驱动程序分享

    本文主要介绍了max7219点阵驱动程序max7219驱动8*8共阴点阵。下面介绍了
    发表于 01-17 08:55 1.9w次阅读
    <b class='flag-5'>max7219</b><b class='flag-5'>点阵</b><b class='flag-5'>驱动程序</b>分享

    MAX7219驱动共阴极LED原理图及程序

    本文主要介绍了MAX7219驱动共阴极LED原理图及程序MAX7219是一种串入、并出的共阴极LED数码管显示驱动器,每片可
    发表于 01-17 09:10 2.4w次阅读
    <b class='flag-5'>MAX7219</b><b class='flag-5'>驱动</b>共阴极LED原理图及<b class='flag-5'>程序</b>

    max7219与arduino驱动设计例程

    本文主要介绍了max7219与arduino驱动设计例程。重点介绍了Arduino Uno 使用MAX7219驱动单个8*8点阵LED模块;
    发表于 01-17 10:53 4.7w次阅读
    <b class='flag-5'>max7219</b>与arduino<b class='flag-5'>驱动</b>设计例程

    使用51单片机驱动MAX7219芯片的程序和电路图免费下载

    本文档的主要内容详细介绍的是使用51单片机驱动MAX7219芯片的程序和电路图免费下载。
    发表于 09-04 17:27 15次下载
    使用51<b class='flag-5'>单片机</b><b class='flag-5'>驱动</b><b class='flag-5'>MAX7219</b>芯片的<b class='flag-5'>程序</b>和电路图免费下载

    使用51单片机应用MAX7219驱动器的C语言程序免费下载

    本文档的主要内容详细介绍的是使用51单片机应用MAX7219驱动器的C语言程序免费下载。
    发表于 07-22 17:37 15次下载
    使用51<b class='flag-5'>单片机</b>应用<b class='flag-5'>MAX7219</b><b class='flag-5'>驱动</b>器的C语言<b class='flag-5'>程序</b>免费下载

    MAX7219点阵驱动程序和原理图及MAX7219的数据手册免费下载

    本文档的主要内容详细介绍的是MAX7219点阵驱动程序和原理图及MAX7219的数据手册免费下载。
    发表于 04-10 08:00 32次下载
    <b class='flag-5'>MAX7219</b><b class='flag-5'>点阵</b><b class='flag-5'>驱动程序</b>和原理图及<b class='flag-5'>MAX7219</b>的数据手册免费下载

    基于单片机+MAX7219驱动点阵程序

    MAX7219/MAX7221是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。
    的头像 发表于 04-26 18:01 1682次阅读
    基于<b class='flag-5'>单片机</b>+<b class='flag-5'>MAX7219</b><b class='flag-5'>驱动</b>的<b class='flag-5'>点阵</b><b class='flag-5'>程序</b>