系列文章
todo:

文章目录

  • 前言
  • 1. 简单了解MAX7219
    • 1.1 引脚说明
    • 1.2 寄存器说明
      • 1.2.1 选位寄存器
      • 1.2.2 BCD译码器设置寄存器
      • 1.2.3 亮度寄存器
      • 1.2.4 扫描限制寄存器
      • 1.2.5 显示测试寄存器
      • 1.2.6 关停寄存器
    • 1.3 spi总线通信时序
    • 1.4 数据格式
  • 2. 使用MAX7219驱动数码管
    • 2.1 驱动数码管的原理图
    • 2.2 MAX7219驱动程序
      • 2.2.1 定义spi信号引脚和寄存器地址
      • 2.2.2 根据时序图实现写字节
      • 2.2.3 根据通信数据格式需要实现写数据(16bit)
      • 2.2.4 初始化MAX7219
  • 3. 仿真效果

前言

该文章目的:让大家快速上手——知道如何使用MAX7219。故MAX7219就不做详细介绍了(需要了解的话可以看其他博文及数据手册)。

1. 简单了解MAX7219

max7219是一个串行输入/输出共阴极数码管(点阵)驱动芯片。1个MAX7219最多可以驱动8位数码管。它具有自动扫描(切换位),BCD译码器(即 不用管数码管段码值 需要让其显示几直接填几就好)、内部8X8的静态RAM(可以存放显示数据 用作驱动8x8点阵)、亮度控制等功能。我们需要通过SPI总线驱动它。
注意:只能驱动共阴极的哦

1.1 引脚说明


可以看到 spi总线的3条控制线 DIN、LOAD(CS)、CLK

1.2 寄存器说明

主要有以下几个寄存器

1.2.1 选位寄存器


后面对应的地址 比如我要给 让第一位数码管显示1 那么 我先发 第一位选位寄存器地址 然后发内容

1.2.2 BCD译码器设置寄存器


配置是否使用 译码器 可按位设置

1.2.3 亮度寄存器


可以看到亮度设置范围 0x00-0x0F

1.2.4 扫描限制寄存器


配置要显示的位数

1.2.5 显示测试寄存器


测试模式 配置该寄存器为0X01 效果:所有都亮
即显示8.8.8.8.8.8.8.8.

1.2.6 关停寄存器

配置关闭显示/正常显示

1.3 spi总线通信时序

1.4 数据格式

如图 一共16位 其中 8-11 4位地址 0-7 8位数据内容
所以每次传16位的数据

后面驱动程序都是根据 时序图完成的 一个简单的spi写时序

2. 使用MAX7219驱动数码管

2.1 驱动数码管的原理图


级联时

2.2 MAX7219驱动程序

2.2.1 定义spi信号引脚和寄存器地址

根据原理图 接线定义

定义寄存器地址

2.2.2 根据时序图实现写字节

2.2.3 根据通信数据格式需要实现写数据(16bit)

2.2.4 初始化MAX7219

3. 仿真效果

【Proteus仿真】| 51单片机——MAX7219 驱动数码管相关推荐

  1. Proteus仿真51单片机生日快乐音乐播放器

    实验名称:基于51单片机音乐播放器 实验目的: 声音的音调不同是因为声音的频率不同造成的.那么,就可以通过单片机发送不同频率的脉冲信号给蜂鸣器,来达到让蜂鸣器发出不同音调声音的目的.不同频率的脉冲信号 ...

  2. 使用proteus仿真51单片机来实现十字路口红绿灯

    一.实验内容 1.需要仿真的元件:51单片机,一个动态显示的双数码管,六个LED灯. 2.实验要求:做一个十字路口红绿灯,每一向各一个,红绿灯要求能够按照通行的要求来亮灯.南北向红绿灯,红灯亮60秒, ...

  3. proteus仿真-51单片机定时器程序

    定时器0初始化和定时器中断函数 void Timer0Init() {TMOD|=0x01;//0000 0001,最后2位-工作方式的选择,这里选择16位定时器'01'TH0 = (65536-10 ...

  4. Proteus仿真--51单片机最小系统

    1.单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路.时钟电路.复位电路. 下面着重介绍时钟 电路和复位电路. 1)时钟电路 单片机工作时,从取指令到译码 ...

  5. 【Proteus仿真】51单片机+74HC164驱动两个四位数码管

    [Proteus仿真]51单片机+74HC164驱动两个四位数码管 Proteus仿真 程序代码 #include <STC89C5xRC.H>sbit DAT=P1^1; sbit CL ...

  6. 51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真

    51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真 *Proteus仿真 L298N是双H桥式驱动器. L297是步进电机控制集成芯片(包括环形分配器), ...

  7. 51单片机+LCD12864驱动显示汉字模板+Proteus仿真

    51单片机+LCD12864驱动显示汉字模板+Proteus仿真 Proteus仿真效果 汉字显示方法 汉字通过取模软件取模. 取模软件:pctolcd2002 取模方式: 工程文件架构 主程序代码 ...

  8. 51单片机最完美数码管驱动,仿真无缺显,实物无鬼影,最高亮度无黯淡.

    51单片机最完美数码管驱动,仿真无缺显,实物无鬼影,最高亮度无黯淡 驱动程序https://blog.csdn.net/xianfajushi/article/details/89448933 #in ...

  9. 51单片机双机串口数码管显示排队叫号仿真设计( proteus仿真+程序+报告+讲解视频)

    51单片机双机串口数码管显示排队叫号仿真设计 1.主要功能: 2.仿真 3.程序 4.设计报告 1.1 设计背景与意义 1.2 设计目的 1.3 设计要求及内容 1.4 本文结构安排 2 总体设计方案 ...

最新文章

  1. 表单提交、页面注册案例
  2. 操作像素(一)--存取像素值
  3. jQuery11 data() : 数据缓存
  4. 帝国Cms批量上传多图morepic上传超过最大文件2m的限制的方法
  5. Key Components and Internals of Spring Boot Framework--转
  6. github上关于机器学习的awesome项目(资源大全)
  7. 关于Golang的4个小秘密
  8. 多元回归理论及R语言实现
  9. Memcached启动提示:cann't run as root without the -u switch
  10. 做JSP大学实用教程实验
  11. linux麒麟认证,【麒麟在线讲堂】优麒麟生物特征认证系统-03驱动开发
  12. android的sd卡分区,超强Android系统SD卡分区教程!
  13. Docker常见错误
  14. 移动端--web开发
  15. Gym - 100519 B Bring Your Own Bombs 离散化+二分+思维
  16. 牛客网SQL大厂面试真题(一)
  17. 请编写一个程序,使用字典存储学生信息,学生信息包含学号和姓名,请根据学生学号从小到大输出学生信息
  18. avatar-view
  19. java edt,Java Swing 学问篇 - EDT
  20. 教你如何利用php.exe运行php文件

热门文章

  1. 生活,又怎能鱼和熊掌兼得?
  2. 【web安全】从2022中科大hackgame web中学习pdflatex RCE和python反序列化
  3. 人类dna信息量_古人类DNA揭人类演化史 白肤碧眼1万年前才出现
  4. 考公历程 #1 学习笔记
  5. 零基础小白入门Python,值得看的几本书籍
  6. 旅行商问题的蚁群算法
  7. oracle sql 简繁体转换
  8. 雪碧图PHP,雪碧图有什么用
  9. LTE关键技术之一:OFDM
  10. TTL,RTT,MSL的定义