2017|7

1532

帖子

1

TA的资源

五彩晶圆(初级)

楼主
 

【GD32L233C-START评测】串行数码管显示模块的驱动 [复制链接]

串行数码管显示模块是以MAX7219芯片来控制8位的7段数码管,它在芯片内部集成了一个B型的BCD码编码多路扫描回路、段字驱动器。而且还含有一个8*8的静态RAM来存储显示数据,且有一个外部寄存器用来设置各LED的段电流。它也同样允许用户对每个数据选择编码或是不编码。在显示过程中,它没有抖动和闪烁现象,支持级联方式进行显示位数的扩展。

该模块的外观如图1所示,在使用时只需3个GPIO口即可驱动其显示。

https://bbs.21ic.com/data/attachment/forum/202108/25/095427pn68aq49deow9w8w.jpg.thumb.jpg

图1   8位串行数码管模块

要使用GD32L233C来驱动串行数码管模块,其首要要确定开发板与显示模块的连接关系,其引脚使用情况如下:

DIN--- PB10

CLK--- PB11

CS --- PB13

其中:DIN为串行数据输入端、CLK为串行时钟输入端、CS为片选引脚。

图2 电路连接

由于是以GPIO口来模拟串行数据发送,其串行数据发送的函数为:

void Write_Max7219_byte(char DATA)
{
     char i;
     SMG_CS_Clr();
     for(i=8;i>=1;i--)
     {                
            SMG_CLK_Clr();
            if(DATA&0x80)
            {
                SMG_DIN_Set();
            }
            else
            {
                SMG_DIN_Clr();
            }
            DATA=DATA<<1;
            SMG_CLK_Set();
     }
}

向寄存器写入数据的函数为:

void Write_Max7219(char address,char dat)
{
     SMG_CS_Clr();
     Write_Max7219_byte(address);
     Write_Max7219_byte(dat);
     SMG_CS_Set();
}

该模块的初始化函数为:

void Init_MAX7219(void)
{
     Write_Max7219(0x09, 0xff);
     Write_Max7219(0x0a, 0x03);
     Write_Max7219(0x0b, 0x07);
     Write_Max7219(0x0c, 0x01);
     Write_Max7219(0x0f, 0x01);
}

利用串行数码管显示模块实现计时器模拟显示的主程序为:

int main(void)
{
    int i;
    systick_config();
    gd_eval_smg_init();
    Init_MAX7219();
    delay_1ms(2000);
    Write_Max7219(0x0f,0x00);
    i=0;
    while(1)
    {
        Write_Max7219(1,i%10);
        Write_Max7219(2,i/10%10);
        Write_Max7219(3,i/100%10);
        Write_Max7219(4,i/1000%100);
        Write_Max7219(5,0x0f);
        Write_Max7219(6,0x0f);
        Write_Max7219(7,0x0f);
        Write_Max7219(8,0x0f);
        delay_1ms(500);
        i++;
    }
}

经程序的编译和下载,其运行效果如图3至图5所示。

图3 清零状态

图4 开始计数

图5 计数过程中

相较于常规的数码管显示,该显示方式具有占用引脚资源少,显示亮度高的特点,故适用于工业控制方面。

此帖出自GD32 MCU论坛

最新回复

哈哈,我比较喜欢收藏这些小东西。   详情 回复 发表于 2022-2-16 22:57
点赞 关注
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

图1   8位串行数码管模块

图没有显示出来

此帖出自GD32 MCU论坛
 
 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

板凳
 

现在可以了

此帖出自GD32 MCU论坛
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

4
 

只显示了一半?4位?

此帖出自GD32 MCU论坛

点评

屏蔽了只使用了4位就可以了,也可显示全部8位。  详情 回复 发表于 2022-2-15 08:43
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

5
 
freebsder 发表于 2022-2-14 19:56 只显示了一半?4位?

屏蔽了只使用了4位就可以了,也可显示全部8位。

此帖出自GD32 MCU论坛

点评

数码管有年代感,掏一个。  详情 回复 发表于 2022-2-15 21:22
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

6
 
jinglixixi 发表于 2022-2-15 08:43 屏蔽了只使用了4位就可以了,也可显示全部8位。

数码管有年代感,掏一个。

此帖出自GD32 MCU论坛

点评

串行的好使!  详情 回复 发表于 2022-2-16 00:05
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

1532

帖子

1

TA的资源

五彩晶圆(初级)

7
 
freebsder 发表于 2022-2-15 21:22 数码管有年代感,掏一个。

串行的好使!

此帖出自GD32 MCU论坛

点评

哈哈,我比较喜欢收藏这些小东西。  详情 回复 发表于 2022-2-16 22:57
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

8
 

哈哈,我比较喜欢收藏这些小东西。

此帖出自GD32 MCU论坛
 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表