切换到宽版
  • 17372阅读
  • 48回复

7段式数码管任意IO接线的驱动方法(代码更新成截图,这下应该能看明白了) [复制链接]

上一主题 下一主题
离线hardzoo

发帖
2880
M币
3032
专家
2
粉丝
15
只看该作者 30楼 发表于: 2016-12-25
对于只有6个引脚的3位数码屏如何驱动?
离线qiang7260

发帖
276
M币
1820
专家
2
粉丝
12
只看该作者 31楼 发表于: 2017-04-10
回 595953427@qq 的帖子
595953427@qq:帖子更新了截图,你应该能看明白了 (2016-11-23 12:25) 回 595953427@qq 的帖子

看明白了,SEG1--8是对应数码管的ABCDEFG位吗。
离线13753554370

发帖
2
M币
-8
专家
0
粉丝
0
只看该作者 32楼 发表于: 2017-04-10
亮度不匀楼主怎么解决
离线595953427@qq

发帖
443
M币
29
专家
0
粉丝
12
只看该作者 33楼 发表于: 2017-07-09
回 hardzoo 的帖子
hardzoo:对于只有6个引脚的3位数码屏如何驱动?
 (2016-12-25 17:47) 回 hardzoo 的帖子

看一下数码管内部的接线,按接线来写程序
3位数有24段,6个IO最多可以驱动30段,你当它有5个COM,每个COM上有6个SEG

发帖
172
M币
14
专家
1
粉丝
5
只看该作者 34楼 发表于: 2017-07-10
是个不错的思路,就是不知道跟直接用switch 切换数据,再分别设置io口状态哪个更占用代码空间
离线2083759

发帖
1428
M币
2066
专家
5
粉丝
12
只看该作者 35楼 发表于: 2017-07-10
一个数码管修改很简单吧
离线595953427@qq

发帖
443
M币
29
专家
0
粉丝
12
只看该作者 36楼 发表于: 2017-07-11
回 13753554370 的帖子
13753554370:亮度不匀楼主怎么解决 (2017-04-10 21:43) 回 13753554370 的帖子

SEG脚加限流电阻
离线2083759

发帖
1428
M币
2066
专家
5
粉丝
12
只看该作者 37楼 发表于: 2017-08-20
//这样好点,就不用关数码管子程序了
void scan_led()
{
//数码管第1位显示dig1
//数码管第2位显示dig2
//数码管第3位显示dig3
//数码管第4位显示dig4
switch(cnt_led)//每次显示一个COM
{
case 0: com4=1; set_seg(table[dig1]);com1=0; cnt_led=1; break;//设置SEG的状态,打开COM1显示
case 1: com1=1; set_seg(table[dig2]);com2=0; cnt_led=2; break;
case 2: com2=1; set_seg(table[dig3]);com3=0; cnt_led=3; break;
case 3: com3=1; set_seg(table[dig4]);com4=0; cnt_led=0; break;
default:break;
}
}
离线lf8013

发帖
32
M币
708
专家
0
粉丝
2
只看该作者 38楼 发表于: 2017-08-21
谢谢楼主分享,思路不错的
离线中庸123
发帖
1
M币
-497
专家
0
粉丝
0
只看该作者 39楼 发表于: 2017-09-24
回 595953427@qq 的帖子
595953427@qq:不复杂呀,只需要定义好SEG口,然后根据要显示的数字查找数组中的数据,然后根据查找来的数据设置每个SEG口的高低电平 (2016-11-22 17:09) 回 595953427@qq 的帖子

dig1,dig2,dig3.......这些是哪来的?