这么简单的数码管,直接用带LED串行点阵的单片机就可以驱动了,最多9个IO驱动64个LED,而且还能调亮度,不仅能调16级亮度,还可以让同时亮的LED显示两种不同的亮度。
BF6612SCXXB-XJLK-MCU CN-Datasheet-V1.0-22-03-03.pdf
(5.52 MB, 下载次数: 13)
|
| P3M1/P3M0是STC单片机的P3口配置寄存器,拿来设置I/O口工作模式的 |
|
关于188数码管,经过研究与实践,几点总结: 1.单片机IO口要有推挽输出和高阻输入模式,我用的是STC32G单片机,在实践中采用推挽输出和高阻输入两种模式配合驱动。(使用准双向和高阻模式时,亮度暗,不推荐)。 2.先测试各引脚的电平与字段的对应关系,得出引脚驱动电平关系表(红色为高电平、蓝色为低电平)。
3.根据驱动电平关系表配置IO口。 下图为IO配置代码表,本案例使用P1.3-P1.7驱动。
4.逐段驱动(总20段),动态扫描。 以第三位为例,扫描程序如下:
每扫描完成一个字段,都需要消隐,不然会出现鬼影。 显示效果如下图:
|
| 问下P3M1/P3M0分别指代什么?是分别指代共阳端和负极吗? |
| 我是CSDN的原创作者,评论区各位都是在瞎扯淡,这个代码已经是用在量产产品了,根本没有你们所说的问题,肯定是楼主单片机的寄存器没有配置好, |
蚂蚁科技 发表于 2023-7-22 20:03 楼主文中有链接。
|
| 这个数组是怎么得来的?怎么取模的? |
|
你这代码就是查理复用。沙发的一次只点亮一个灯,亮度为你现在驱动的1/4,还没你现在驱动好。 消隐后要先准备数据,再拉低相应脚,使需要亮的LED同时亮。 你代码框架不好,整理了一下。
|
| 能不能分享完整的源代码,我想学习一下,谢谢! |
| 哎呀!我也遇到这样的问题了 |
wulin 发表于 2022-2-12 21:10 谢谢学习一下 |
| 先显示再消影,你先消影再显示就相当于程序跑了一圈,然后你开头灭一下 大部分时间都是亮的 |
采用查理复用IO驱动方式,扫描周期小于1.25ms,每次只需点亮一个笔段,分16次完成一轮,不必消隐。
查理复用IO驱动数码管.docx
(92.31 KB, 下载次数: 166)
|