这个仿真图貌似就有缺陷吧?用38译码器的目的很明显是用少脚控制多脚,也就是用38的A、B、C的组合控制Y0 - Y7的输出状态(具体看真值表)楼主的仿真图用3个脚控制4个脚,外加一个EN,那么38用来何用?还不如直接51三个脚驱动了。
38译码器的用法跟51的道理一样,用51驱动驱动数码管的时候是段驱动的IO口做个TABLE,而用38的时候这个TABLE是根据38的编码端的3个脚做的。
比如51单片机驱动,先定义如下这个TABLE
unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
然后使用的时候让驱动段的IO口Px = P0=Tab[i];
这里是使用了单片机的7-8个IO口
使用38译码器的话只用了3个IO口,所以那个TABLE要按照3个IO口的编码情况写。
正确的仿真图应该是单片机使用4个IO口驱动数码管的位,再用3个IO口编码送给38译码器驱动数码管的段。 |