這個仿真圖貌似就有缺陷吧?用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譯碼器驅動數碼管的段。 |