查看: 1486|回复: 4

数码管直驱库

[复制链接]

29

主题

73

帖子

1664

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1664
发表于 2023-7-11 18:34:26 | 显示全部楼层 |阅读模式
本帖最后由 LZY825597017 于 2023-7-13 13:40 编辑

image.png 数码管的各个段选 A-B-C-D-E-F-G-DP ,让对应段选的灯亮,数码管就会显示不同的数字或者字母

对于直驱数码管,最好不要直接使用IO驱动,芯片的输出电流比较有限,数码管的亮度会受影响。如有需求请参考下面的电路(以4位共阴数码管驱动为例)

image.png

数码管扩展库说明

ASRPRO数码管扩展库
image.png

TW32F003数码管扩展库
image.png

CH32V003数码管扩展库
image.png
CH32V103数码管扩展库
image.png

扩展库都比较类似,初始化存在一些差异,故一起讲解。

注意:使用库时,某一些IO被复用成特殊功能,不建议用作GPIO口,源文件中并未做处理,如有需求,请在源文件中的smg_init()函数中将复用功能IO设置成普通IO。初始化函数带有扫描位的需要特别注意,要根据选择数码管的位确定,否则编译会报错。这里的扫描位的指的是程序中选择重复扫描的有那几位数码管


CH32V103初始化
image.png
1、首先确认好自己的数码管是共阴还是共阳数码管,选择对应的选项;
段输出:可以选择PA、PB或者PC口的高8位(PA0-PA7)或者低8位(PA8-PA15)作为数码管的段选,且使用低8位时PA0对应数码管的段A,PA1对应数码管的段B,以此类推,使用高8位时PA8对应数码管的段A,PA9对应数码管的段B,以此类推.
第x位:位选择位,勾选择使能对应的数码管,初始默认4位数码管。每一位可以选择任意空闲GPIO口;
扫描位:根据勾选的数码管选择,使用1-4,则选择低四位,使用5-8,选择高4位,若同时使用则选择整8位;
注意:如果使能低4位未满4个同时使能高4位未满4个,则扫描位必须为整8位,且必须使能8个位。(没有用到的可以选择空闲IO)

CH32V003初始化
image.png
1、对比V103,数码管的段选固定PC口,且PC0->数码管段A,PC1->数码管段B...PC7->数码管段DP;
第x位:位选择位,勾选择使能对应的数码管,初始默认4位数码管。每一位可以选择任意空闲GPIO口;

TW32F003初始化
image.png
1、对比V003,TW32F003每一个端口(PA、PB)都有16个IO(0-15),因此可以选择高8位(0-7)或者低8位(8-15)作为数码管的段选,其他和上面的一样。

ASRPRO初始化
image.png
1、段选只有PA和PB,带扫描位。

后面则通用:

image.png
2、数码管清屏:可以选择1-8位中的任意一位或者全部清除


image.png
3、数码管从x位显示整数:从选择的位开始显示给出的整数。注:超出位限制,则取低位。


image.png
4、数码管指定x位显示:从选择的位开始显示给出的数字或字母


image.png
5、数码管从x位显示小数:从选择的位开始显示给出的小数。注:小数显示精度为0.1,超出位限制,则取低位。


image.png
6、数码管指定x位小数点亮:将选择的位对应的小数点点亮。


image.png
7、数码管扫描1ms调用:可以使用定时器或者多线程调用此函数块,定时周期为1ms。


以CH32V103举例:                   注:不要使用PA高8位,SWJ和USB占用
image.png


常见问题解析:
数码管显示乱码:1、检查数码管共阳、共阴是否选择错误。2、

数码管显示的数字共同缺少某一位:1、检查线路是否松动、连接是否有误。2、该PXx引脚被复用成其他特殊功能,不能作为普通IO,可以选择换端口,或者将复用的IO调用库里面的函数变成普通IO。

数码管显示的数字缺少某一位:1、检查线路是否松动、连接是否有误。2、该PXx引脚被复用成其他特殊功能,不能作为普通IO,可以选择换IO口,或者将复用的IO调用库里面的函数变成普通IO。





image.png

CH32V103_SHUMAGUAN.zip

1.54 KB, 下载次数: 10

共阴数码管

共阳直驱.zip

6.58 KB, 下载次数: 14

共阳数码管

回复

使用道具 举报

29

主题

73

帖子

1664

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1664
 楼主| 发表于 2023-7-12 08:57:11 | 显示全部楼层
TW32F003数码管直驱库与CH32V103相似,完全可以借鉴
回复

使用道具 举报

1

主题

3

帖子

47

积分

注册会员

Rank: 2

积分
47
发表于 2023-7-24 00:19:39 | 显示全部楼层
我用TWF003,直驱,会和那个串口冲突
回复

使用道具 举报

1

主题

3

帖子

47

积分

注册会员

Rank: 2

积分
47
发表于 2023-7-24 00:35:46 | 显示全部楼层
TWF003,数码管和串口会冲突,啥问题,
回复

使用道具 举报

29

主题

73

帖子

1664

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1664
 楼主| 发表于 2023-7-31 17:52:22 | 显示全部楼层
海宁电脑520 发表于 2023-7-24 00:19
我用TWF003,直驱,会和那个串口冲突

已经修改完毕,您可以更新最新版本
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|好好搭搭在线 ( © 好好搭搭在线 浙ICP备19030393号-1 )

GMT+8, 2024-11-1 09:05 , Processed in 0.109928 second(s), 25 queries .

Powered by Discuz!

© 2001-2024 Comsenz Inc.

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