1 ?設計任務目的與要求
1.1????設計目的:
1. ? 此次課程設計的目的是一方面使我們能夠進一步理解課程內容,基本掌握數字系統設計和調試的方法,增加集成電路應用知識,培養我們的實際動手能力以及分析、解決問題的能力。另一方面也使我們更好地鞏固和加深對基礎知識的理解,學會設計中小型數字系統的方法,獨立完成調試過程,增強我們理論聯系實際的能力,提高電路分析和設計能力,通過實踐引導我們在理論指導下有所創新,為專業課的學習和日后工程實踐奠定堅實的基礎。
1.2?設計要求:
10路彩燈分別用10個發光二極管L0、L1…..L9模擬,發光二極管L0、L1…..L9從左到右排列。
要求顯示三種不同的花型:
(1)10路彩燈按照L0、L1…..L9的順序依次點亮至全亮,再按照L9、L8…..L0的順序依次熄滅至全滅。
(2)10路彩燈按照L0L1亮、L1?L2亮、L2L3亮、…L8L9亮、L9L0亮的順序輪流點亮。
(3)10路彩燈按照L0L9、L1L8、L2L7、L3L6、L4L5的順序依次點亮,然后按相反的
順序依次滅掉。
控制電路設有啟動、切換、復位按鈕。按下啟動按鈕,進入花型(1)并反復循環運行。按下切換按鈕,進入花型(2)并反復循環運行;再次按下切換按鈕,進入花型(3)并反復循環運行;再次按下切換按鈕,則三個花型順序運行并反復循環;若再次按下切換按鈕,則又進入花型(1)并反復循環;不斷按下切換按鈕,則按上面順序進行花型切換。任何時候按下復位按鈕,全部燈滅。
2 ?模塊及其原理介紹
2.1 計數電路單元
該電路單元由兩片74192計數器組成。74192計數器是雙時鐘十進制計數器。本電路用一片74192來實現0到9,即0000到1001的十進制計數,同時用另外一個74192的來對第一片芯片進位進行計數,第二個芯片計數到2時同時對兩個計數器進行清0操作,構成一個二十進制的計數器。其電路圖如下圖所示。
2.2 編碼電路單元
總編碼電路圖:
從上圖我們可以明顯的看出來,按縱列排序,從右到左分別是花型1第一部分、花型1第二部分、花型2和花型3的實現的門電路。
花型1:
下面是花型1 的真值表,由于在高位燈泡亮的時候,低位燈泡一定會亮,則可以利用與門將高位的輸出信號與低位的輸入信號相與來作為低位的輸出信號,依次類推。
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 |
花型2:
下面是花型2的真值表,在將花型1解決之后,花型2的連接也就順手拈來了。按照真值表連接即可。
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 |
花型3:
下面是花型3的真值表,這里可以從中往兩邊看,即在4之前,高位亮低位必亮,在5之后,低位亮高位必亮,所以也可以套用花型1的化簡辦法,4之前高位的輸出與低位的輸入相與,5之后低位的輸出與高位的輸入相與,稍作調整,即可得到化簡后的連接方式,即如我總編碼圖最左側所連接的方式。
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 |
2.3 花型控制電路單元
列出對應的真值表:
QA(計數電路) QB QA (U69) QB QA (U70) | 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 |
根據真值表畫出卡諾圖
并化簡得到邏輯函數。
2.4 彩燈顯示電路單元
由于前面輸送過來的是低電平信號才是亮的信號,所以在前面接個反相器,然后與一個控制信號相與,得到了最終輸出到燈泡的信號,而控制信號則作為復位鍵。
2.5 切換電路單元
在切換電路中,主要思想是由切換鍵的點擊構成計數器的計數信號,然后將花型與數字狀態關聯起來,這樣便能做到通過計數來切換花型。而在這之中最為重要的則是第二片計數器,這片計數器是用于單獨控制三花型循環的,即在第一片計數器計數到第四個狀態,即3的時候,第二片計數器同步進入計數,要完成這點則需要將第二片計數器的計數信號也與切換鍵關聯起來,這樣才能夠與第一片計數器同時獲得計數的信號,作為開始計數的標志,在獲得第一次開始計算的信號后,第二片計數器進入狀態1,這時我們要求他應在1到3之間循環,對應三個花型的循環,根據需求,我就直接寫出第二片計數器的計數信號的邏輯函數了,如下圖所示。
3 ?設計方案
3.1????設計思路
根據老師給出的設計要求,彩燈循環控制器主要是完成10個燈泡按照不同排列組合的亮滅。由此可想到用74192計數器從0-9計數,分別對應十個燈泡的亮滅情況。而其中花型1較為特殊,因其完成循環需要的是20次計數,需要計數兩輪才能完成花型的展示。然后由于74192芯片的輸出對應的是8421編碼,可以用7442譯碼器將計數的值轉化成十路對應0到9的輸出。又因為需要完成的一共有三種花型,四種狀態(花型1可分為正序和倒序的兩種狀態),可以通過四選一多路選擇器,即74153多路選擇器來控制花型的切換。
3.2?設計框圖及原理
設計框圖如下
設計原理:
該彩燈循環控制器的原理是:由方波信號發生器產生穩定的高頻脈沖信號,作為計時基準。用兩個十進制計數器構成二十進制的計數器來實現電路計數,花型一需要20個狀態來展示彩燈,故需要二十進制的計數器,而花型二和三則只需要十進制計數器來實現花型,故無需考慮第二個計數器的狀態。將第一片計數器接到譯碼器上編譯,按照各花型的要求通過簡單的門電路接到對應的多路選擇器的4個輸入端中。多路選擇器的控制端由花型控制電路來控制,花型控制電路主要由兩個計數器來實現對應花型的計數,再結合前面計數電路的第二個芯片的輸出值進行邏輯電路的連接完成選擇器控制端相對應的值。由于74153有兩個輸出值,故本次一共需要5個多路選擇器輸出到對應的彩燈顯示電路。
3.3?流程圖
3.4?總電路圖
4 ?實驗結果與數據分析
4.1?實驗現象及數據分析
首先將開關撥到如圖所示
,此為關閉狀態,數碼管顯示皆為0,而后將開關撥到與地相連,計數器開始計數,上面那個計數器做正常的十進制計數,并將進位信號發送到下面的計數器作為計數信號,下面的計數器做二進制計數,即整體為二十進制計數器。無異常現象。
再來做切換按鈕的測試,
圖中用空格鍵控制的為切換按鍵,用C控制的為清零鍵,作用在接下來會說明。點擊切換按鈕,將信號傳入兩個計數器,使其計數,注意點擊的時間需久一點(約1秒),最好能觀察到數碼管顯示計數器已經計數再松開按鈕,否則會出現點擊了按鈕卻并沒有切換花型的問題。當上面的計數器處于2的計數狀態時,也就是下一個計數狀態為3,進入花型循環,即如圖
。如果按鍵按的時間不夠久,則會出現上面計數器進入3,而下面計數器因為信號時間太短不計數的情況,即這樣
,這種情況下,我們原本3花型循環狀態是通過下面的計數器實現的,而三個花型狀態分別對應計數器1、2、3的狀態,即0狀態是不對應花型的,也就是說,下面的計數器會卡在0狀態不進行計數循環。導致花型切換失敗,
由U70的進位信號的邏輯函數可以看的出來,從0到1 的跳變是需要開關控制的,如果由于按鍵時間過短導致無法進入到如圖的正常狀態
,則需要用到清零鍵,重新開始進行花型切換。
再看彩燈結果
,也是可以按照要求呈現的。只是在花型切換的時候會有些許問題。這個問題將在總結的時候討論。
5 ?結論與問題討論
5.1?結論與問題討論
在上一部分的測試中,可以看出在設計要求上我的完成度很高,基本完美滿足了設計的要求。在整個設計二點過程中,我遇到的最大的問題應該是花型切換按鍵的設計部分了吧,一開始我的方案是想著用4個計數器和4個譯碼器分別對應4種花型的(花型1占兩種),然后通過門電路來選擇給哪個計數器供應時鐘信號,但由于復雜程度的原因而不得不放棄這個想法,在查閱了一系列資料之后,終于在網絡上找到了一篇前人的設計思路,是通過多路選擇器來選擇輸出的花型的想法。第一次看到這個思路的時候我也不禁感嘆這思路的清晰與簡潔。然而美中不足的是,這套方案在切換花型的那一刻的信號輸出并不連續,導致花型切換的不夠連貫。為了弄清楚這是如何導致的,我在前面各級電路種也分別裝上了小燈泡來觀察,發現在信號傳輸過程中,燈泡是可以明顯看出呈逐級亮(滅)的狀態的,我也因此斷定花型切換問題是由于電路延遲導致切換不連貫的,遂將之說與老師,與老師討論一番之后,老師也提出了另一個可能:由于各電路器件的搭配問題而產生的信號延遲。從這兩種可能出發,我也嘗試做出補救,像是更換器件、在電路中增加電阻增大電路、重新設計簡化電路、或是并聯上小電容等,效果并不甚佳。
在使用軟件的過程中,我學習并掌握了該軟件的使用方法,加強了實際動手能力,并且明白了做事必須謹慎的道理,哪怕有一條線接錯了也會導致整個電路的失敗,使其不能正常運行從而達到我們的要求。這次的課程設計也讓我知道了必須掌握大量的相關知識,不能得過且過。
編輯:hfy
評論