【Proteus仿真】| 51单片机——MAX7219 驱动数码管
系列文章
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 驱动数码管相关推荐
- Proteus仿真51单片机生日快乐音乐播放器
实验名称:基于51单片机音乐播放器 实验目的: 声音的音调不同是因为声音的频率不同造成的.那么,就可以通过单片机发送不同频率的脉冲信号给蜂鸣器,来达到让蜂鸣器发出不同音调声音的目的.不同频率的脉冲信号 ...
- 使用proteus仿真51单片机来实现十字路口红绿灯
一.实验内容 1.需要仿真的元件:51单片机,一个动态显示的双数码管,六个LED灯. 2.实验要求:做一个十字路口红绿灯,每一向各一个,红绿灯要求能够按照通行的要求来亮灯.南北向红绿灯,红灯亮60秒, ...
- proteus仿真-51单片机定时器程序
定时器0初始化和定时器中断函数 void Timer0Init() {TMOD|=0x01;//0000 0001,最后2位-工作方式的选择,这里选择16位定时器'01'TH0 = (65536-10 ...
- Proteus仿真--51单片机最小系统
1.单片机的最小系统是由组成单片机系统必需的一些元件构成的,除了单片机之外,还需要包括电源供电电路.时钟电路.复位电路. 下面着重介绍时钟 电路和复位电路. 1)时钟电路 单片机工作时,从取指令到译码 ...
- 【Proteus仿真】51单片机+74HC164驱动两个四位数码管
[Proteus仿真]51单片机+74HC164驱动两个四位数码管 Proteus仿真 程序代码 #include <STC89C5xRC.H>sbit DAT=P1^1; sbit CL ...
- 51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真
51单片机+L298驱动步进电机+L297测速+LCD1602显示+按键调试+Proteus仿真 *Proteus仿真 L298N是双H桥式驱动器. L297是步进电机控制集成芯片(包括环形分配器), ...
- 51单片机+LCD12864驱动显示汉字模板+Proteus仿真
51单片机+LCD12864驱动显示汉字模板+Proteus仿真 Proteus仿真效果 汉字显示方法 汉字通过取模软件取模. 取模软件:pctolcd2002 取模方式: 工程文件架构 主程序代码 ...
- 51单片机最完美数码管驱动,仿真无缺显,实物无鬼影,最高亮度无黯淡.
51单片机最完美数码管驱动,仿真无缺显,实物无鬼影,最高亮度无黯淡 驱动程序https://blog.csdn.net/xianfajushi/article/details/89448933 #in ...
- 51单片机双机串口数码管显示排队叫号仿真设计( proteus仿真+程序+报告+讲解视频)
51单片机双机串口数码管显示排队叫号仿真设计 1.主要功能: 2.仿真 3.程序 4.设计报告 1.1 设计背景与意义 1.2 设计目的 1.3 设计要求及内容 1.4 本文结构安排 2 总体设计方案 ...
最新文章
- 表单提交、页面注册案例
- 操作像素(一)--存取像素值
- jQuery11 data() : 数据缓存
- 帝国Cms批量上传多图morepic上传超过最大文件2m的限制的方法
- Key Components and Internals of Spring Boot Framework--转
- github上关于机器学习的awesome项目(资源大全)
- 关于Golang的4个小秘密
- 多元回归理论及R语言实现
- Memcached启动提示:cann't run as root without the -u switch
- 做JSP大学实用教程实验
- linux麒麟认证,【麒麟在线讲堂】优麒麟生物特征认证系统-03驱动开发
- android的sd卡分区,超强Android系统SD卡分区教程!
- Docker常见错误
- 移动端--web开发
- Gym - 100519 B Bring Your Own Bombs 离散化+二分+思维
- 牛客网SQL大厂面试真题(一)
- 请编写一个程序,使用字典存储学生信息,学生信息包含学号和姓名,请根据学生学号从小到大输出学生信息
- avatar-view
- java edt,Java Swing 学问篇 - EDT
- 教你如何利用php.exe运行php文件