![]() |
這個仿真圖貌似就有缺陷吧?用38譯碼器的目的很明顯是用少腳控制多腳,也就是用38的A、B、C的組合控制Y0 - Y7的輸出狀態(tài)(具體看真值表)樓主的仿真圖用3個腳控制4個腳,外加一個EN,那么38用來何用?還不如直接51三個腳驅(qū)動了。 38譯碼器的用法跟51的道理一樣,用51驅(qū)動驅(qū)動數(shù)碼管的時候是段驅(qū)動的IO口做個TABLE,而用38的時候這個TABLE是根據(jù)38的編碼端的3個腳做的。 比如51單片機(jī)驅(qū)動,先定義如下這個TABLE unsigned char code Tab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; 然后使用的時候讓驅(qū)動段的IO口Px = P0=Tab[i]; 這里是使用了單片機(jī)的7-8個IO口 使用38譯碼器的話只用了3個IO口,所以那個TABLE要按照3個IO口的編碼情況寫。 正確的仿真圖應(yīng)該是單片機(jī)使用4個IO口驅(qū)動數(shù)碼管的位,再用3個IO口編碼送給38譯碼器驅(qū)動數(shù)碼管的段。 |
建議使用74HC595級聯(lián)來實現(xiàn) |
Powered by 單片機(jī)教程網(wǎng)