注:本程序已验证可用,但只对本店模块做过适配测试,其他模块我们没法保证一定能用
实物参考链接 直戳跳转
一、资源说明
二、基本参数
1、电气参数
2、引脚说明
三、通信协议说明
工作时序
对应程序
//写一个字节
void Write_Max7219_byte(uint8_t DATA)
{
uint8_t i;
Max7219_pinCS=0;
for(i=8;i>=1;i--)
{
Max7219_pinCLK=0;
Max7219_pinDIN=DATA&0x80;
DATA=DATA<<1;
Max7219_pinCLK=1;
}
}
四、部分代码说明
1、接线说明
需要自定义引脚可在此处更改,STM32要自定义引脚的话也要注意引脚时钟使能的更改
1.1、STC89C52RC+8位数码管模块
//定义Max7219端口
sbit Max7219_pinCLK = P1^2;
sbit Max7219_pinCS = P1^1;
sbit Max7219_pinDIN = P1^0;
1.2、STM32F103C8T6+8位数码管模块
/* 定义LED连接的GPIO端口, 用户只需要修改下面的代码即可改变控制的LED引脚 */
#define DIN_GPIO_PORT GPIOA /* GPIO端口 */
#define DIN_GPIO_CLK RCC_APB2Periph_GPIOA /* GPIO端口时钟 */
#define DIN_GPIO_PIN GPIO_Pin_1
#define CS_GPIO_PORT GPIOA /* GPIO端口 */
#define CS_GPIO_CLK RCC_APB2Periph_GPIOA /* GPIO端口时钟 */
#define CS_GPIO_PIN GPIO_Pin_2
#define CLK_GPIO_PORT GPIOA /* GPIO端口 */
#define CLK_GPIO_CLK RCC_APB2Periph_GPIOA /* GPIO端口时钟 */
#define CLK_GPIO_PIN GPIO_Pin_3
#define DIN_H GPIO_SetBits(DIN_GPIO_PORT, DIN_GPIO_PIN)
#define DIN_L GPIO_ResetBits(DIN_GPIO_PORT, DIN_GPIO_PIN)
#define CS_H GPIO_SetBits(CS_GPIO_PORT, CS_GPIO_PIN)
#define CS_L GPIO_ResetBits(CS_GPIO_PORT, CS_GPIO_PIN)
#define CLK_H GPIO_SetBits(CLK_GPIO_PORT, CLK_GPIO_PIN)
#define CLK_L GPIO_ResetBits(CLK_GPIO_PORT, CLK_GPIO_PIN)
2、亮度调节
只要改宏定义就好
//亮度调节宏定义,0x00~0x0f
#define Brightness 0x0F
五、相关资料链接
STC89C52RC程序下载 直戳跳转
STM32F103C8T6程序下载
1、串口下载 直戳跳转
2、ST-LINK下载 直戳跳转
3、J-LINK下载 直戳跳转
4、DAP-LINK下载 直戳跳转
六、视频效果展示与程序资料获取
实物参考链接 直戳跳转
七、注意事项
1、VCC GND请勿接反,接反易烧
2、显示异常时,排除接线接触不良
3、同程序换其他同类屏幕后需要按单片机复位才会正常显示
4、下载后显示多出一些杂点的时候可以重新上电复位下
九、接线说明
可参考程序main.c最上面接线说明