左语杰 发表于 2024-12-26 17:37 我觉得不如使用数码管芯片比如TM1650这样的,电路更简洁,还能调整亮度,电阻也省了。还支持按键,省很多IO |
WL0123 发表于 2024-12-26 11:32 好的 ,感谢 我重打一个板试一试 老师目前还没有要求完全跟原版一样 ,我试试您这个方案,这个板我也不放,继续试一试 ,感谢 |
左语杰 发表于 2024-12-26 09:50 IO口不够用可以通过合理规划IO口复用。比如驱动数码管的8个段,3个位只有第一位有小数点,另两位的小数点空闲,可以分时复用驱动两个LED。4个按键可以与两路ADC检测分时复用(只要被检模拟量动态范围大于0小于VCC,按键分别接地和VCC即可准确识别),也可以另开一路ADC同时检测4个按键。这样可以轻松节省4-5个IO口,既不影响数码管和ADC功能,编程也不复杂。 |
左语杰 发表于 2024-12-26 09:54 不是CASE0的问题。是每次更新段之前都先熄灭,更新完了再打开。 |
lkc8210 发表于 2024-12-25 23:11 抱歉 我上一句理解错了 是段选点亮了 到下一位的时候没有熄灭 |
lkc8210 发表于 2024-12-25 23:11 是这个吗 有熄灭位选 啊 case 0: DIGIT1 = 0; DIGIT2 = 1; DIGIT3 = 1; break; case 1: DIGIT1 = 1; DIGIT2 = 0; DIGIT3 = 1; break; case 2: DIGIT1 = 1; DIGIT2 = 1; DIGIT3 = 0; break; 只有选中的位选是亮的 |
WL0123 发表于 2024-12-25 21:29 他给的io口确实是不够用的 4个独立按键 11个数码管 2个2ADC检测 1个PCA 的pwm 还有一个io口用于某个元器件的使能脚 |
| 你的代码段位只有点亮,没有熄灭啊 |
左语杰 发表于 2024-12-25 16:24 单就这个硬件设计就决定了数码管笔段亮度不容易搞均匀。此电路如不是高手炫技就是初学者的习作。单片机引脚使用混乱无序,还搞些复用,18个I/O口不够用? |
左语杰 发表于 2024-12-25 16:24 居然可以这样搞,限流接在COM上面,目前的数码管这样其实亮度均匀性也还好,即便要分时均衡亮度,在每次更新段数据前要关闭所有段再打开应该亮的吧。那个板子上大面积的空闲,不至于省这5颗电阻吧。板子看起来好像没有什么大的耗电,还用一颗类似2575这么大的零件。我实际用一颗限流电阻驱动8个LED灯,同时点亮居然亮度都一样的,基本上看不到亮度不一样的。 |
左语杰 发表于 2024-12-25 16:00 事实上只要时序弄对了,50US和2MS的关系不大,显示效果也几乎一样的 |
左语杰 发表于 2024-12-25 16:00 你这样才亮度不均匀吧,在更新段码前要先消隐的。 |
左语杰 发表于 2024-12-25 09:33 板子不是你自己设计的,原理图也还原不了,那你还写什么程序?所有软件都是基于硬件条件编写的。stc8g1k17-20做个三位数码管显示的电压表是轻而易举的事。你那数码管动态显示代码写得实在不敢恭维。数码管、按键、还有一个灯同时复用,没有原理图谁能搞得清你怎么接线的。 |
| 我上午发了原理图 不知道 为什么 没发出来 C:\Users\JS16\Desktop |
xiaobendan001 发表于 2024-12-25 12:51 嗯呐, 注释上是两毫秒是之前的没改 实际是 50us 进一次中断 ,就想设计每一段的扫描时间相同 保证 亮度一样 , 最早的一版是 一次更新八个段 ,即一个段码 ,但是亮度显示不均匀 |
左语杰 发表于 2024-12-25 14:16 还是先把原理图弄出来吧 |
| 不是自己设计的板子 ,布置的% 这个P12 同时与 按键 数码管 灯三方连接复用 按键与数码管 用定时器分时复用解决了 但灯实在解决不来哦 |
|
实在看不太懂,你这意思是每2MS调用一次显示,每次显示F++,然后只更新8段的一段,8个段更新完成后再更新一个位。为啥要这样呢?八个段一次更新完了直接显示不好吗?为何要搞这么复杂?你是觉得2ms更新太快了?芯片大概是SSOP20的,应该有一个完整的口给你用的啊。 况且在F==9的时候更新了位,此时直接F = 0;不行吗?还要再等下一次才能F = 0; |
xiaobendan001 发表于 2024-12-25 07:48 ,刚开始做这个好多地方不会,您说的这个 我后面都会注意 去改的,刚开始打 的是绿色的,测试的时候不小心烧了 ,后面打板的时候看见有白色的阻焊,就像试一下,打出来发现,好看是挺好看的,但是透明度不行,线路不如绿色的清楚 |
WL0123 发表于 2024-12-24 21:13 板子不是自己设计的 是给的测试 他的板子 有一个IO口 P12 跟数码管 按键 还有一个灯同时复用了,有点没想明白怎么做 |
power-man 发表于 2024-12-24 21:09 设置了 推挽了 |
|
一个8位机,float,double都用上了。还用了乘 mask<<这里直角用0x01<<不行吗?弄个变量会更快吗?后面的?运算有意义吗? SEG是段码,设计时不在同一组IO里面吗?这么费劲。 白色阻焊不好,透明度不行。还是绿色好看。 |
| 把原理图发上来 |
| 连接数码管的IO口设置为强推模式了么 |
| 连接数码管的IO口设置为强推模式了吗 |