1. 问题
在< 电子工程师自学成才手册中>关于51单片机驱动双4位数码管的演示案例中的电路配置如图,51单片机P0总线出来接U1,U2(74HC573),U1负责段选,U2负责位选,Proteus中搭建电路完成后,程序测试不通。数码管用的共阴极;
1.1. < 电子工程师自学成才手册中>中电路原理图示意。
1.2. Proteus还原的电路原理图如下:
1.3. 测试程序如下:
#include <REGX52.H>
#define WDM P0
sbit Duansuo=P2^2;
sbit Weisuo=P2^3;
void main()
{
while(1)
{
WDM=0xfe;
Weisuo=1;
Weisuo=0;
WDM=0x5b;
Duansuo=1;
Duansuo=0;
}
}
1.4. 电路模拟后问题表象:
74HC573输入口部分口为灰色,没有高低电平,输出口全低电平,无输出;
数码管无显示;
2. 尝试的解决方案
2.1. 刚开始怀疑是否是74HC573的接线问题或者其他问题导致,需要排除74HC573的自身问题,所以搭建手动开关电路测试74HC573是否有模拟问题,搭建的手动开关电路如下;
2.2. 手动测试输入全部是高电位,SW2置于高电位后,SW1接地后数码管正常显示;
2.3. 联系最初74HC573锁存器数据入口灰色,疑似数据并未真正到达锁存器入口,或者其他原因,CSDN和网上其他地方搜索发现如下类似电路,需要在74HC573前接排阻升压。
2.4. 随即修改原理图进行测试如下;貌似问题依旧存在。数码管显示还有溢出的感觉。
3. 最终方案,直接更换数码管为8位一体的7SEG-MPX8-CC解决
测试结果如下。