求教关于74HC573锁存器控制数码管显示的问题!

2024-12-03 06:53:43
推荐回答(2个)
回答(1):

这是我自己的电路图,你提到的问题应该这样理解:

1)显示函数里面是需要先打开位锁存,送入位码,然后关闭位锁存,这样要显示的位码就被保存在了控制位那一个74HC573芯片中了。要先给wela(pwei)送入1的原因是接下来需要关闭wela(pwei)端才能保存数据,但是当你再次调用显示函数的时候,如果不打开位锁存的话(wela=1或者pwei=1)是不能送入新的位码的。

2)送入位选是不会影响到段选的。因为你送入的位选信号已经进入到74HC573中,并且因为你关闭了位锁存(wela=0或者我的pwei=0),这是573的数据是不会因为输入端改变而改变输出端的。觉得满意请采纳。谢谢!也可以交流qq:983254

sbit pduan=P2^0;

sbit pwei=P2^1;


void display(uchar FirstBit,uchar Bit)

{

  static uchar i;


  pwei=1;

  P3=WEICC[i+FirstBit];

  pwei=0;


  pduan=1;

  P0=DATA[i];

  pduan=0;


  i++;

  if(i==Bit)

    i=0;

}

回答(2):

74HC573有两个输出控制端口,一个是1脚(OE),为1时,输出为高阻,为0时,输出0或1。另一个是11脚(LE),为0时,输出不改变,为1时,输出随输入状态变化。
像你说的这种情况,应该是这两个端口没有给对电位,所以数码管显示没有变化吧,所以程序里才有“wela=1”。不过这一句是否是控制74HC573的语句,要看到电路图和程序才能确定。