10路彩燈分別用10個發光二極管L0、L1…..L9模擬,發光二極管L0、L1…..L9從左到右排列。編碼
1) 10路彩燈按照L0、L1…..L9的順序依次點亮至全亮,再按照L9、L8…..L0的順序依次熄滅至全滅。spa
2) 10路彩燈按照L0L1亮、L1 L2亮、L2L3亮、…L8L9亮、L9L0亮的順序輪流點亮。翻譯
3) 10路彩燈按照L0L9、L1L8、L2L7、L3L6、L4L5的順序依次點亮,而後按相反的順序依次滅掉。設計
按下啓動按鈕,進入花型(1)並反覆循環運行。按下切換按鈕,進入花型(2)並反覆循環運行;再次按下切換按鈕,進入花型(3)並反覆循環運行;再次按下切換按鈕,則三個花型順序運行並反覆循環;若再次按下切換按鈕,則又進入花型(1)並反覆循環;不斷按下切換按鈕,則按上面順序進行花型切換。任什麼時候候按下復位按鈕,所有燈滅。3d
該電路單元用74192計數器來實現。74192是雙時鐘十進制計數器。本電路用74192來實現0000—1001的十進制計數,同時用另一個74192的來對第一片芯片進位進行計數,第二個芯片計數到2時同時對兩個計數器進行清0操做。其電路圖以下圖所示blog
編碼電路全局如圖:ci
因爲我最後燈泡的輸出電路前面接了一個反相器,因此這裏用0來表示燈泡亮。table
該序列對應了20種狀態,這個序列的狀態如表所示:原理
A2循環 |
D1C1B1A1 |
L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 |
0 |
0000 |
0 1 1 1 1 1 1 1 1 1 |
0 |
0001 |
0 0 1 1 1 1 1 1 1 1 |
0 |
0010 |
0 0 0 1 1 1 1 1 1 1 |
0 |
0011 |
0 0 0 0 1 1 1 1 1 1 |
0 |
0100 |
0 0 0 0 0 1 1 1 1 1 |
0 |
0101 |
0 0 0 0 0 0 1 1 1 1 |
0 |
0110 |
0 0 0 0 0 0 0 1 1 1 |
0 |
0111 |
0 0 0 0 0 0 0 0 1 1 |
0 |
1000 |
0 0 0 0 0 0 0 0 0 1 |
0 |
1001 |
0 0 0 0 0 0 0 0 0 0 |
1 |
0000 |
0 0 0 0 0 0 0 0 0 1 |
1 |
0001 |
0 0 0 0 0 0 0 0 1 1 |
1 |
0010 |
0 0 0 0 0 0 0 1 1 1 |
1 |
0011 |
0 0 0 0 0 0 1 1 1 1 |
1 |
0100 |
0 0 0 0 0 1 1 1 1 1 |
1 |
0101 |
0 0 0 0 1 1 1 1 1 1 |
1 |
0110 |
0 0 0 1 1 1 1 1 1 1 |
1 |
0111 |
0 0 1 1 1 1 1 1 1 1 |
1 |
1000 |
0 1 1 1 1 1 1 1 1 1 |
1 |
1001 |
1 1 1 1 1 1 1 1 1 1 |
根據表格可知,編號數較低的燈泡在編號數較高的燈泡亮時也必須亮,故可用與門將較低燈泡的電路與較高燈泡的輸出電路相關聯起來。
爲了實現三個花型的順序輸出,該天然序列顯示電路仍是要通過7442譯碼器和74153多路選擇器。7442譯碼器的做用在於將4位BCD碼的10組代碼翻譯成10個與十進制數字符號對應的輸出信號,圖中輸入端ABCD爲8421碼,輸出端O0N—O9N分別表明十進制數字0—9。74153是個雙4路選擇器,其功能是選擇輸出四個編碼單元電路的值。本電路中用了5個74153來對應10個燈泡。74153的器件上用1C0和2C0來鏈接對應的輸出端O0N—O9N。當74153器件的A和B爲00時,順序輸出天然序列的值。最後通過指示燈和數碼管顯示出來。
與門實現電路截圖:
1)前10種狀態:
2)後10種狀態
爲了使燈泡按照順序01,12,23,34,45,56,67,78,89,90的輸出,可使用與門同時關聯譯碼器對應的兩種狀態,好比L0要在計數器爲0和9的時候亮。
序列的狀態如表:
DCBA |
L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 |
0000 |
0 0 1 1 1 1 1 1 1 1 |
0001 |
1 0 0 1 1 1 1 1 1 1 |
0010 |
1 1 0 0 1 1 1 1 1 1 |
0011 |
1 1 1 0 0 1 1 1 1 1 |
0100 |
1 1 1 1 0 0 1 1 1 1 |
0101 |
1 1 1 1 1 0 0 1 1 1 |
0110 |
1 1 1 1 1 1 0 0 1 1 |
0111 |
1 1 1 1 1 1 1 0 0 1 |
1000 |
1 1 1 1 1 1 1 1 0 0 |
1001 |
0 1 1 1 1 1 1 1 1 0 |
電路截圖:
爲了使按照L0L九、L1L八、L2L七、L3L六、L4L5的順序依次點亮,而後按相反的順序依次滅掉,要使用與門相關聯。
序列的狀態如表:
DCBA |
L0 L1 L2 L3 L4 L5 L6 L7 L8 L9 |
0000 |
0 1 1 1 1 1 1 1 1 0 |
0001 |
0 0 1 1 1 1 1 1 0 0 |
0010 |
0 0 0 1 1 1 1 0 0 0 |
0011 |
0 0 0 0 1 1 0 0 0 0 |
0100 |
0 0 0 0 0 0 0 0 0 0 |
0101 |
0 0 0 0 1 1 0 0 0 0 |
0110 |
0 0 0 1 1 1 1 0 0 0 |
0111 |
0 0 1 1 1 1 1 1 0 0 |
1000 |
0 1 1 1 1 1 1 1 1 0 |
1001 |
1 1 1 1 1 1 1 1 1 1 |
電路與門實現截圖:
主要由加法器和一些基本門電路組成。AB從00-11計數,分別對應三個花型和三個花型循環播放,再結合前面計數電路單元中的第二個芯片A端輸出0/1以及循環播放時控制花型的計數器芯片,能夠畫出對應的真值表:
QA(計數電路) QB QA (U3) QB QA (U63) |
A B (多路選擇器) |
0 0 0 0 0 |
0 0 |
1 0 0 0 0 |
1 1 |
d 0 1 0 0 |
0 1 |
d 1 0 0 0 |
1 0 |
0 1 1 0 1 |
0 0 |
1 1 1 0 1 |
1 1 |
0 1 1 1 0 |
0 1 |
1 1 1 1 1 |
1 0 |
其餘 |
d d |
能夠畫出對應的卡諾圖:(這裏爲了便於區分將輸入三個值設爲D0 D1 D2,輸出仍爲A B)
根據上圖中AB的式子,在電路中用基本門鏈接到多路選擇器的AB端。
經過鏈接對應多路選擇器的輸出端口,再加一個非門,便可獲得燈泡的亮滅狀況。
經過控制計數電路單元兩片計數器的清零來控制啓動。
切換開關一次或點擊空格,就至關於輸出一次電平,可以使計數器進行計數操做。
當到達三個花型循環切換以後,再按一次,三種花型自動循環播放,經過另一片74192來控制。
當U3計數到3時,U63進1,當記錄狀態的芯片計數到20時且U63爲1時,U63進2,當記錄狀態計數到10時且U63爲2或3時,U63計數。這幾個經過基本邏輯門電路來實現。
每一個燈泡前面鏈接着一個與門,只有當復位按鈕鏈接高電平一端時燈泡才能正常顯示,當復位按鈕鏈接低電平一端時燈泡所有都熄滅。
根據老師給出的設計要求,彩燈循環控制器主要是完成10個燈泡的亮滅。由此可想到用74192計數器從0-9計數,能夠分別對應每一種花型不一樣時刻下對應燈泡的亮滅狀況。其中花型1較爲特殊,須要計數兩輪才能完成花型的展現。因爲74192芯片的輸出對應的是8421編碼,能夠用7442譯碼器將計數值輸出。因爲一共有三種花型,能夠經過74153多路選擇器來控制花型的切換。
彩燈循環控制器的結構框圖:
該彩燈循環控制器的原理是:由方波信號發生器產生穩定的高頻脈衝信號,做爲計時基準。用兩個計數器來實現電路計數,第一個花型須要20個狀態來展現彩燈,故須要兩片計數器,而另外兩種花型只須要10個狀態來實現花型,不考慮第二片計數器的位數。計數器的實時狀態同時輸出到數碼管。接下來由譯碼器輸出對應狀態,經過不一樣的編碼電路(主要由與門實現)接到對應的多路選擇器。多路選擇器的控制端由花型控制電路來控制,花型控制電路主要由兩個計數器的低兩位實現0-4計數和0-3計數,再結合前面計數電路的第二個芯片的輸出值進行邏輯電路的設計完成選擇器控制端相對應的值。因爲74153有兩個輸出值,故本次一共須要5個多路選擇器輸出到對應的彩燈顯示電路。
總電路如圖所示: