问一个问题,高手们给看看:
看过别人一个产品,用的是EM78P156的单片机,其中驱动数码管用的是74HC164,然后164的串行数据输入端也就是156的P62口竟然也用来检测按键,我来说说怎么接的线吧。
164的并行输出通过120的电阻接共阴数码管的各笔段,是动态扫描显示,串入口DSA、DSB一起接156的P62口,移位时钟是P63,然后有四个按键开关一端接在驱动数码管的电阻的笔段端(只用了四根),一端通过1K的电阻接到了156的P62也就是串行数据口上,想了好久没想明白他是怎么做到P62的输出不会被按键的状态影响的。
我的想法是不是P62作串行数据的时候送0和送1分别设为上拉和下拉,那驱动数码管的电平才不会通过导通的按键对数据造成影响吧。只是个人想法,因为EMC的片子只能写一次,所以还没写入程序验证,希望各位爱动脑的高手们给个指导,看这儿人都还是挺热心的。 其实关键问题是怎么做到按键的状态不会影响P62的输出。这么来说吧:按键是随机的,按下的时间也是不确定的,假如某时刻Q4输出为低,S1又被按下,那这时候如果P62上拉的话可以输出确定的高电平吗??如果下拉呢???反过来如果Q4=1,S1按下,如果P62下拉的话能输出0吗???所以关键问题是解决P62怎么不被按键状态干扰,否则如果常按按键的话数码管会灭的。我用51试过了。谢谢先~ 下面有图 |