一、概述
這次的課程設計任務是設計一個可預置的定時器顯示報警系統。該可預置的定時器顯示報警系統可用于任意定時系統,要求是設計電路時預置30秒的時間,在這30秒內,完成從預置的30秒減到0秒報警或是預置0秒計數到30秒報警,并且要求每隔5秒顯示一次時間,即要顯示30秒,25秒,20秒,15秒,10秒, 5秒,0秒時,同時系統能準確地預置和清零。
本次課程設計可以采用電路仿真軟件Multisim來設計電路,或者是采用VHDL語言編寫程序,并在MAX+plusⅡ平臺中進行仿真,下載到EDA實驗箱進行驗證,或編寫單片機程序并在單片機上進行仿真。綜合上面的方法,我選擇用電路仿真軟件來完成課設要求。
先用555芯片生成頻率為1HZ的脈沖信號,用這個信號接在后面需要計數的芯片上。然后用兩片74LS192級聯,來設計一個0到30的加法計數器,使之每隔一秒計數一次,再通過74LS47芯片編譯成7段數碼管所識別的高低電平,用它的輸出來驅動共陽極數碼管,來顯示時間。最后用比較器來實現每隔五秒后來顯示一次。原理框圖如圖1所示:
利用VHDL語言編寫程序,生成相應的模塊,最后在整體的電路形成中實現預置報警功能,相關的電路生成思路和方案一一致。
在本次綜合課程設計中,選用方案一來實現課程設計的要求。利用相關芯片可以降低題目設計的難度,且可以降低設計成本,并能順利實現電路功能。
1.脈沖產生電路
該脈沖產生電路是利用555定時器生成多諧振蕩電路,來產生頻率為1HZ的脈沖信號。在接入VCC之后,電容C1開始充電,當C1兩端電壓到達2/3VCC時充電完成,并開始放電,當C1兩端電壓降到1/3VCC時,放電完成,接下來又開始放電,周而復始不斷循環。C1充電與放電產生振蕩,并最終從U。端輸出脈沖信號。根據C1的充電與放電的時間可求出輸出脈沖信號的周期
充電時間:T1=(R1+R2)× C1×ln2
放電時間:T2=R1×C1×ln2
總的振蕩周期為T=T1+T2=(R2+2×R1) ×C1×ln2
利用以上公式可計算相應的電容和電阻,其中R1=50kΩ,R2=10kΩ,C1=13.1μF,C2=10nF。脈沖電路如圖2所示:
圖2 脈沖產生電路
2.計數電路
計數器選用的是雙時鐘方式的十進制可逆計數器74192芯片,74192芯片的引腳圖如圖3所示:
圖3 74LS192芯片引腳圖
所用的74LS192芯片,是在當LOAD’,CLR端均為0時,計數器處在置數的位置。在CLR=1時,計數器可以清零。最終在LOAD’=1,CLR=0,UP=1時,且有上升沿脈沖加到DOWN端時,則計數器進行減法計數。 74192芯片的功能表如表1所示:
表1 74LS192芯片功能表
輸入 | 輸出 | |||||
CLR | LOAD’ | UP | DOWN | A B C D | Qa Qb Qc Qd | |
1 | ╳ | ╳ | ╳ | ╳ ╳ ╳ ╳ | 0 0 0 0 | |
0 | 0 | ╳ | ╳ | A B C D | A B C D | |
0 | 1 | 1 | ↑ | ╳ ╳ ╳ ╳ | 計數減 | |
0 | 1 | ↑ | 1 | ╳ ╳ ╳ ╳ | 計數加 |
由74LS192的功能表所知,需要兩片74LS192芯片來實現30到0的計數功能,U1為高位片U2為低位片,具體的芯片連接電路如圖4所示:
圖4 由74LS192芯片組成的31進制計數電路
3.預置,清零電路
當LOAD’=0,CLR=0時,計數器處在置數狀態,因十位數和個位數計數器四位數據輸入端上的DCBA端分別為0011和0000,因此預置數為30。在CLR=0時,LOAD’=0為置數狀態,而在LOAD’=1時為計數狀態,因此當雙擲開關接上端時,電路置數30,雙擲開關接至下端時計數器開始減數。數字減到0后,電路會默認從99開始遞減,因此需要開關來控制它的置數端和置零端,來達到電路的功能。30秒預置數電路如圖5所示:
圖5 30秒預置數電路
將雙擲開關接至計數器的CLR端即可實現清零功能,當雙擲開關接至上端,即CLR=0時,計數器開始進行減法計數,在當雙擲開關接至下端即CLR=1時,計數器清零。清零電路如圖6所示:
圖6 清零電路
4.數值比較電路
74LS85芯片組成的數值比較系統,可以進行數字的選取,選擇出在0到30的5的倍數,進而觸發74LS47芯片的控制端,讓顯示器顯示相應的數字,達到預期效果。74LS85芯片的功能表如表2所示:
表2 74LS85芯片的功能表
比較輸入 | 級聯輸入 | 輸出 | |||||||
A3,B3 | A2,B2 | A1,B1 | A0,B0 | A>B | A<B | A=B | A>B | A<B | A=B |
A3>B3 | ╳ | ╳ | ╳ | ╳ | ╳ | ╳ | H | L | L |
A3<B3 | ╳ | ╳ | ╳ | ╳ | ╳ | ╳ | L | H | L |
A3=B3 | A2>B2 | ╳ | ╳ | ╳ | ╳ | ╳ | H | L | L |
A3=B3 | A2<B2 | ╳ | ╳ | ╳ | ╳ | ╳ | L | H | L |
A3=B3 | A2=B2 | A1>B1 | ╳ | ╳ | ╳ | ╳ | H | L | L |
A3=B3 | A2=B2 | A1<B1 | ╳ | ╳ | ╳ | ╳ | L | H | L |
A3=B3 | A2=B2 | A1=B1 | A0>B0 | ╳ | ╳ | ╳ | H | L | L |
A3=B3 | A2=B2 | A1=B1 | A0<B0 | ╳ | ╳ | ╳ | L | H | L |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | H | L | L | H | L | L |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | L | H | L | L | H | L |
A3=B3 | A2=B2 | A1=B1 | A0=B0 | L | L | H | L | L | H |
數值比較電路采用兩片74LS85芯片,分別由U1設置數值“5”和U2設置數值“0”與個位數進行比較,當個位輸出5時,U1的0AEQB端輸出高電平,當個位輸出0時,U2的0AEQB端輸出高電平,經過或門后,一旦有高電平輸出給74LS47芯片,則將會觸發鎖存器將0到30之間的5的倍數來顯示出來,當不是5的倍數時,顯示器不顯示數字,具體數字選擇電路如圖7所示:
圖7 數字選擇電路
5.鎖存顯示電路電路
此次所設計的鎖存顯示電路主要是由芯片74LS47芯片組成的,將數據選擇電路選擇出來的個位數和十位數再經過芯片74LS47芯片的編譯來顯示在7段碼的數碼管上。
由74LS47芯片和共陽極數碼管顯示電路,其中U3和U1組成十位數,U4和U2組成個位數,并且為了保證電路的安全,在每個數碼顯示管上端加上限流電阻,具體的數碼顯示電路由圖8所示,以及74LS47芯片的功能表如表3所示:
表3 74LS47芯片的功能表
數字 | 輸入 | 輸出 | ||||||||||||
LT’ | RBI’ | A3 | A2 | A1 | A1 | BI’/RBO’ | a | b | c | d | e | f | g | |
0 | H | H | L | L | L | L | H | L | L | L | L | L | L | H |
1 | H | ╳ | L | L | L | H | H | H | L | L | H | H | H | H |
2 | H | ╳ | L | L | H | L | H | L | L | H | L | L | H | L |
3 | H | ╳ | L | L | H | H | H | L | L | L | L | H | H | L |
4 | H | ╳ | L | H | L | L | H | H | L | L | H | H | L | L |
5 | H | ╳ | L | H | L | H | H | L | H | L | L | H | L | L |
6 | H | ╳ | L | H | H | L | H | H | H | L | L | L | L | L |
7 | H | ╳ | L | H | H | H | H | L | L | L | H | H | H | H |
8 | H | ╳ | H | L | L | L | H | L | L | L | L | L | L | L |
9 | H | ╳ | H | L | L | H | H | L | L | L | H | H | L | L |
10 | H | ╳ | H | L | H | L | H | H | H | H | L | L | H | L |
11 | H | ╳ | H | L | H | H | H | H | H | L | L | H | H | L |
12 | H | ╳ | H | H | L | L | H | H | L | H | H | H | L | L |
13 | H | ╳ | H | H | L | H | H | L | H | H | L | H | L | L |
14 | H | ╳ | H | H | H | L | H | H | H | H | L | L | L | L |
15 | H | ╳ | H | H | H | H | H | H | H | H | H | H | H | H |
圖8 顯示電路
四、性能的測試
1.電路清零測試
圖9 電路清零測試
在清零電路測試中,左邊為0到30每個數字均顯示的電路表示,右邊的是0到30的5的倍數的電路表示,當電路給出清零信號后,兩邊的數碼管均顯示0,因此由圖可知,清零電路可以順利實現它的功能。
2.置數電路測試
圖10置數電路測試
在置數電路測試中,左邊為0到30每個數字均顯示的電路表示,右邊的是0到30的5的倍數的電路表示,當電路給出置數信號后,兩邊的數碼管均會顯示30,并且會自動進入數字減得狀態。
3.總體功能測試
在測試電路的整體新能時,需要通過對0到30之間的普通數字的測試,還需要對5的倍數數字的測試,應該出現的結果是在除5的倍數之外的數字左邊的數碼顯示管顯示0到30之間的數字,而右側的數碼管并不顯示數字。只有當出現5的倍數時,兩邊的數碼顯示管會顯示數字,且顯示的數字是一樣的,圖11和圖12分別顯示了兩種不同的情況,具體內容如圖11和圖12所示:
圖11 非5的倍數的測試
圖12 5的倍數的測試
五、結論
這是一次綜合性很強的課程設計,畢竟是大學生涯中最后一次課設,綜合了很多以前所學的專業知識,一個題目可以通過電路仿真,單片機語言設計以及VHDL語言來實現,這次我選擇了電路仿真來實現相應功能。同時通過上面的功能測試,也可以知道該電路在設計思路沒有明顯問題,但在設計的過程中,所遇見的問題并不少,我通過查找書籍和資料,解決很多問題。通過這次課程設計,我掌握了很多解決問題的方法,同時對專業課相關知識有了新的認識,并有了更深的了解和把握。
六、性價比
該電路設計的成本較低,沒有特別昂貴的芯片和部件,總體電路設計的并不繁瑣,沒有通過簡化電路可以減掉的芯片和與非門。同時,電路設計之初本著簡化的思想,因此可以通過幾個簡單的開關來實現相應要求的功能和要求。總體電路設計的性價比還是比較高的。
七、課設體會
這個課程設計的題目是我自己選取的,當時只是感覺這個題目是利用相關芯片,就可以實現,并起初就有了一定的想法和思路,但在用仿真軟件進行仿真之后才發現這個過程并沒有那么容易實現,在連接電路后才知道針對法光二極管在沒有連接阻值較小的電阻時,會產生仿真錯誤,同時7段數碼管的開啟電壓為5伏而你的VCC也是5伏,那你的數碼管是無法發光的。在解決這些問題時,耗費了我大量的時間,不過能夠獨立解決這些問題,這個過程給予我很大的信心,并最終完成這次課設任務。
參考文獻
[1] 閻石主編.數字電子技術.[M]北京:高等教育出版社,2006年
[2] 陳振官等編著.新穎高效聲光報警器.[M]北京:國防工業出版社,2005年
[3] 謝自美.電子線路設計·實驗·測試[M].武漢:華中理工大學出版社,2000
[4] 付家才.電子實驗與實踐[M].北京:高等教育出版社,2004年
附錄I 總電路圖
附錄II 元器件清單
序號 | 編號 | 名稱 | 型號 | 數量 |
1 | U1,U2 | 十進制計數器 | 74LS192 | 2 |
2 | U3 | 定時器 | LM555CN | 1 |
3 | U4,U5 | 顯示譯碼器 | 74LS47 | 2 |
4 | U6,U7 | 數據比較器 | 74LS85 | 2 |
5 | U8,U9 | 七段數碼管 | BS201B | 2 |
6 | U10A | 或門 | 74LS32D | 1 |
7 | U11A | 非門 | 74LS04BM | 1 |
8 | R1,R4 | 電阻 | 668Ω | 2 |
9 | LED1,LED2 | 發光二極管 | GaP | 2 |
10 | R2 | 電阻 | 50000Ω | 1 |
11 | R3 | 電阻 | 10000Ω | 1 |
12 | C1 | 電容 | 13.1μF | 1 |
13 | C2 | 電容 | 10nF | 1 |
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |