为什么数码管显示不完全啊有没有人给我解释一下 求解释感谢!请知道的朋友帮我解答一下
4条回答 默认 最新
关注 引自免费微信小程序:皆我百晓生
从提供的代码来看,有几个可能的原因导致数码管显示不完全:
-
锁存器控制问题:在
display1
函数中,对于每个数码管,你先将公共端置为低电平,然后控制锁存器使能端,发送数据到锁存器,之后关闭锁存器,并将公共端置高电平。然而,在处理不同数码管时,你似乎没有正确地控制对应的锁存器使能端。例如,当更新第二个数码管时,你使用了lel
而不是le2
。 -
代码逻辑错误:在
main
函数中的定时器初始化部分,你使用了注释符//
来注释掉一些关键的初始化语句,这可能导致定时器无法正常工作,从而影响数码管的刷新频率,最终导致显示不全。 -
数码管连接错误:硬件连接也可能是一个原因。根据图2所示,你使用了74HC573作为锁存器,但未提供具体的连接方式。确保数码管的连接与代码中的控制信号相匹配。
解决方案:
1. 修改锁存器控制逻辑:
在
display1
函数中,确保你使用正确的锁存器控制信号。例如,更新第二个数码管时,应该使用le2
而非lel
。we2=0; le2=1; P0=tabl[ge]; delayms(2); le2=0;
2. 确保定时器正确初始化:
移除
main
函数中定时器初始化部分的注释,确保以下代码有效执行:TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1;
3. 核实硬件连接:
检查数码管与锁存器之间的连接是否正确。确认锁存器的输出端与数码管的输入端匹配,且锁存器的使能端被正确控制。
4. 调整显示代码:
确保
display1
函数中的所有数码管都遵循相同的显示逻辑,且每次只更新一个数码管。5. 测试与调试:
使用示波器或逻辑分析仪检查锁存器的使能信号,确保它们按照预期工作。同时,检查数码管的输入信号,确保数据被正确传输。
通过上述步骤,你应该能够定位并解决数码管显示不完全的问题。如果问题仍然存在,建议进一步检查电源电压、接地情况以及是否存在其他电路干扰。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录-
悬赏问题
- ¥15 Windows下部署Asmjit
- ¥15 请问双层规划模型的上下层目标函数不一致,是如何保证迭代收敛性的
- ¥15 微信小程序 前端页面内容搜索
- ¥15 cpu是如何判断当前指令已经执行完毕,然后去执行下条指令的
- ¥15 安装visual studio2022时visualstudiosetup启动不了,闪退。问题代号0x0和0x1389
- ¥30 java spring boot2.5.3版本websocket连不上
- ¥15 angular js调外部链接查看pdf
- ¥15 openFOAM DPMFoam
- ¥15 将查询到的值,赋值到table指定行中
- ¥50 docker容器内部启动shell脚本多命令