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