极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

楼主: eagler8

【Arduino】108种传感器模块系列实验(资料+代码+图形+仿真)

[复制链接]
 楼主| 发表于 2019-8-6 08:05:32 | 显示全部楼层
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发光的检测模式。

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 08:15:57 | 显示全部楼层
管脚描述
管脚 名称 功能
1 DIN 串行数据输入端口。在时钟上升沿时数据被载入内部的16位寄存器。 2,3,5-8,10,11 DIG 0–DIG7 八个数据驱动线路置显示器共阴极为低电平。关闭时7219此管脚输出高电平,7221呈现高阻抗。
4,9 GND 地线 (4脚和9脚必须同时接地)
12 LOAD (MAX7219) 载入数据。连续数据的后16位在LOAD端的上升沿时被锁定。
CS (MAX7221) 片选端。该端为低电平时串行数据被载入移位寄存器。连续数据的后16位在cs端的上升沿时被锁定。
13 CLK 时钟序列输入端。最大速率为 10MHz.在时钟的上升沿, 数据移入内部移位寄存器。 下降沿时, 数据从DOUT端输出。MAX7221来说,只有当cs端为低电平时时钟输入才有效。
14-17,20-23 SEG 7 段和小数点驱动,为显示器提供电流。当一个段驱
A–SEG G, 动关闭时,7219的此端呈低电平,7221呈现高阻抗。
DP
18 SET 通过一个电阻连接到VDD 来提高段电流。
19 V+ 正极电压输入,+5V
24 DOUT 串行数据输出端口,从DIN输入的数据在16.5个时钟周期后在此端有效。当使用多个MAX7219/MAX7221时用此端方便扩展。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 12:53:10 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 13:25:59 | 显示全部楼层
MAX7219是一种集成化的串行输入/输出共阴极显示驱动器,它连接微处理器与8位数字的7段数字LED显示,也可以连接条线图显示器或者64个独立的LED。电原理图。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 15:43:53 | 显示全部楼层
PCB板四个角采用铜螺柱固定,可有效防止短路等意外情况发生!
数码管为0.36寸4位一体共阴极数码管
本模块兼容5V/3.3V各种单片机(51/AVR/STM32.......)



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 16:04:57 | 显示全部楼层
接线说明(以提供的程序为例,可以接任意IO口,
在程序中修改端口定义即可):
VCC→5V
GND→GND
DIN→D2
CS  →D3
CLK→D4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 16:08:18 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 17:18:27 | 显示全部楼层
  1. /*
  2.   【Arduino】66种传感器模块系列实验(84)
  3.    实验八十四: 8位LED数码管MAX7219模块
  4.    能通过验证,上传成功
  5.    仅显示“23456E86”,列为失败的程序,技术有限,只能以后再说了
  6. */

  7. #include <LedControl.h>

  8. int CLK = 4;
  9. int CS = 3;
  10. int DIN = 2; //这里定义了那三个脚
  11. int PIECENUM = 8;//数码管片数

  12. void setup() {

  13.   pinMode(CLK, OUTPUT);
  14.   pinMode(CS, OUTPUT);
  15.   pinMode(DIN, OUTPUT); //让三个脚都是输出状态
  16.   Delay_xms(50);
  17.   Init_MAX7219(PIECENUM);
  18.   Delay_xms(2000);
  19. }

  20. void loop() {

  21.   Write_Max7219(1, 0x0f, 0x00, 0);     //显示测试:1;测试结束,正常显示:0

  22.   for (int i = 1; i <= 5; i++) {
  23.     Write_Mynum(1, i, i + 1, 1);
  24.   }
  25.   //Write_Mynum(1, 7, '_', 0);
  26. // Write_Mynum(1, 8, '_', 0);
  27.   for (int i = 1; i <= 8; i++) {
  28.     Write_Mynum(2, i, 2, 0);
  29.   }

  30.   for (int i = 1; i <= 8; i++) {
  31.     Write_Mynum(3, i, 3, 0);
  32.   }

  33.   for (int i = 1; i <= 8; i++) {
  34.     Write_Mynum(4, i, 8 - i, 1);
  35.   }

  36.   while (1);
  37. }


  38. void Delay_xms(unsigned int x)
  39. {
  40.   unsigned int i, j;
  41.   for (i = 0; i < x; i++)
  42.     for (j = 0; j < 112; j++);
  43. }

  44. //切换地址,方便写
  45. void Write_Mynum(int pnum,  unsigned char address, unsigned char dat , int dp) {
  46.   Write_Max7219(pnum, 9 - address, dat, dp);
  47. }

  48. //功能:向MAX7219写入字节
  49. //入口参数:DATA,dp显示小数点与否
  50. void Write_Max7219_byte(unsigned char DATA, int dp)
  51. {
  52.   unsigned char i;
  53.   digitalWrite(CS, LOW);
  54.   for (i = 8; i >= 1; i--)
  55.   {
  56.     digitalWrite(CLK, LOW);
  57.     if (i == 8 && dp == 1)
  58.       digitalWrite(DIN, HIGH);
  59.     else {
  60.       if (DATA & 0X80)
  61.         digitalWrite(DIN, HIGH);
  62.       else
  63.         digitalWrite(DIN, LOW);
  64.     }
  65.     DATA <<= 1;
  66.     digitalWrite(CLK, HIGH);
  67.   }
  68. }

  69. //功能:向MAX7219写入数据
  70. //入口参数:pnum数码管片序号,address,dat,dp显示小数点与否
  71. void Write_Max7219(int pnum, unsigned char address, unsigned char dat, int dp)
  72. {
  73.   digitalWrite(CS, LOW);
  74.   Write_Max7219_byte(address, 0);          //写入地址,即数码管编号
  75.   Write_Max7219_byte(dat, dp);              //写入数据,即数码管显示数字
  76.   if (pnum > 1) {
  77.     digitalWrite(CLK, HIGH);
  78.     for (int i = 1; i < pnum; i++) {
  79.       Write_Max7219_byte(0X00, 0);
  80.       Write_Max7219_byte(0X00, 0);
  81.     }
  82.   }
  83.   digitalWrite(CS, HIGH);
  84. }


  85. //Max7219初始化
  86. void Init_MAX7219(int pienum)
  87. {
  88.   for (int i = 1 ; i <= pienum ; i++) {
  89.     Write_Max7219(i, 0x09, 0xff, 0);     //译码方式:BCD码
  90.     Write_Max7219(i, 0x0a, 0x03, 0);     //参数3:亮度
  91.     Write_Max7219(i, 0x0b, 0x07, 0);     //扫描界限;参数3:8个数码管显示
  92.     Write_Max7219(i, 0x0c, 0x01, 0);     //掉电模式:参数3:0,普通模式:1
  93.     Write_Max7219(i, 0x0f, 0x01, 0);     //显示测试:参数3:1;测试结束,正常显示:0
  94.   }
  95. }
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 17:24:22 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 18:13:00 | 显示全部楼层
【Arduino】66种传感器模块系列实验(84)
实验八十四: 8位LED数码管MAX7219模块
程序之一,显示字符3和4,小数点流水移动

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 18:23:56 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 18:31:46 | 显示全部楼层

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 18:37:46 | 显示全部楼层
【Arduino】66种传感器模块系列实验(84)
实验八十四: 8位LED数码管MAX7219模块
程序之四,循环调整屏幕的16级亮度

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 18:47:11 | 显示全部楼层
本帖最后由 eagler8 于 2019-8-6 19:55 编辑

实验八十五:开源 Mini MP3 Player SD卡播放器模块(YX5200-24SS)


YX5200-24SS
是一个提供串口的MP3芯片,完美的集成了MP3、WMV的硬解码。同时软件支持TF卡驱动和USB驱动,以及外挂FLASH。支持FAT16、FAT32文件系统。通过简单的串口指令即可完成播放指定的音乐,以及如何播放音乐等功能,无需繁琐的底层操作,使用方便,稳定可靠是此款产品的最大特点。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-8-6 20:14:07 | 显示全部楼层
YX5200-24SS串口语音芯片参数

MP3文件格式:支持所有比特率11172-3和ISO13813-3layer音频解1码,采样支持(KHZ):8/11.025/12/16/22.05/24/32/44.1/48,支持Normal、Lazz、Classic、Pop、ROCK等

USB接口:2.0标准

UART接口:标准串口,TTL电平,波特率可设

输入电压:3.3-5V

额定电流:15ma(不带U盘)

尺寸:8.4*8mm

封装:SSOP24封装

工作温度:-40度—80度

湿度:5%-95%。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

Archiver|联系我们|极客工坊

GMT+8, 2026-6-7 14:43 , Processed in 0.046246 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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