challis
发表于 2024-1-25 11:40:18
添加EA=1后,烧录,数码管能正确显示2了,测量了下数码管阴极和阳极之间的电压,发现是1.86v,之前1.61v显示非常暗淡,只提高了0.2v,亮度差距居然这么大!
challis
发表于 2024-1-25 11:42:17
接着开始使用定时器循环显示4个数码管,利用高刷新率来欺骗人眼达到看起来是同时点亮的样子
challis
发表于 2024-1-25 11:44:13
定时器是1ms中断一次,每次中断切换显示下一个数码管,利用之前写好的ShowSeg函数,定时器中实现起来非常简单:uchar seg_pos = 0x01;
void Timer4_Isr(void) interrupt 20
{
if(seg_pos > 0x08)
seg_pos = 0x01;
ShowSeg(seg_led_data,seg_pos);
seg_pos<<=1;
}
这里简单显示1,2,4,8这4个数字用来测试
challis
发表于 2024-1-25 11:47:41
烧录程序,数码管能正常显示4位数字了,这里发现一个小问题,显示的1特别亮,而8会暗淡一些,是不是数码管中的发光二极管点亮的越多,显示就越暗淡?数码管中的发光二极管应该是并联的,不会分走电压,为什么亮度会变化呢?
challis
发表于 2024-1-25 11:50:11
不太明白为什么显示亮度会有明显差异,有知道的大佬麻烦告诉我一下,多谢了!
准备先跳过这个问题,晚上再接着做时间流逝控制,以及实现分/秒中间的 : 闪烁
peterwangjp
发表于 2024-1-25 12:10:27
端口直接驱动LED 没有串联电阻么?
wangxiangtan
发表于 2024-1-25 14:01:04
弄好了来汇报战果
小涵子爸爸
发表于 2024-1-25 14:10:58
A、B、C、D、E、F、G、DP都需要加限流电阻,可以试试1K,IO模式设置为推挽输出
challis
发表于 2024-1-26 10:59:51
共阳极的数码管电阻是加在阳极还是阴极的A、B、C、D、E、F、G、DP脚上?
challis
发表于 2024-1-26 11:01:06
peterwangjp 发表于 2024-1-25 12:10
端口直接驱动LED 没有串联电阻么?
嗯,我用3.7v电压,试了试感觉数码管不会烧掉,就没加电阻,这种情况也需要加电阻么?
页:
1
[2]
3
4
5
6
7
8
9
10
11