課程名稱: 數字電子課程設計
題 目: 數字式跑表 學生姓名: 專 業: 班 級: 學 號: 指導教師: 日 期:2017年4 月 8日 數字式跑表 設計一個以0.01s為基準計時信號的實用數字式跑表。 基本要求: (1)跑表計時顯示范圍0~99min59.99s (2)具有清零、啟動計時、暫停計時及繼續計時功能,操作按鍵(或開關) 不超過2個 (3)時鐘源誤差不超過0.01s 提高要求: (4)顯示最大值可達23h59min59.99s,有整點、半點提醒功能 (5)有定時功能 (6)有倒計時功能
滿足的要求: 1.基本要求 ①具有清零、啟動計時、暫停計時及繼續計時功能(清零、啟動計時、暫停計時及繼續計時按鍵為兩個) ②時鐘源誤差不超過0.01s(計算誤差約為0.00005s) 2.提高要求 ③顯示最大值可達23h59min59.99s,有整點、半點提醒功能(LED燈的亮作為提醒,亮時為一分鐘) ④有定時功能(通關按鍵的置數實現) ⑤有倒計時功能(初始時間為23h50min50.00s,可調為23h59min59.99s) 設計圖如下
1.001.jpg (89.72 KB, 下載次數: 158)
下載附件
2017-7-30 20:37 上傳
圖1 數字式跑表設計總圖
操作說明: 清零:紅字標注的清零按鍵實現清零功能 開始計時、繼續、暫停:紅字標注的開始暫停按鍵按下則實現開始計時或繼續計時,斷開為暫停計時 加計時減計時:將除0.01秒與1秒的置數開關(K1~K6)往上打為加計數往下打為減計數。最大加計數為24小時,最大減計數要設初始值為24小時減0.01秒。 定時:首先斷開開始/暫停開關 (以下開關為藍色字標注) ⑴0.01s置數:斷開K2開閉K1為加置數,結束后都斷開; 斷開K1開閉K2為減置數,結束后都斷開 ⑵ 1s置數:斷開K4,開閉K3為加置數,結束后打開K4,斷開K3,K4初始閉合; 斷開K6,開閉K5為加置數,結束后打開K6,斷開K5,K6初始閉合 ⑶1min置數:藍色字標注的1分置數開關,斷開閉合即可置數 ⑷ 1h置數:藍色字標注的1時置數開關,斷開閉合即可置數 首先,選題后要明白這是個什么東西。本次實驗選做的題目是數字式跑表,要求是只能選用基本的數字元器件。跑表要求的是顯示時間,而顯示時間就要用到顯示器,所學的基本顯示器為數碼管,故需要數碼管。已知的數碼管有七段數碼管和BCD碼數碼管,七段數碼管需要輸入七個變量,所以一般情況下需要譯碼器來實現。考慮到驅動數碼管的時序邏輯電路部分時,需要的是計時器,用到的只能是計數器,74161/163為16進制的加法計數器,不帶減法,而且所設計的電路大部分為10進制的計時,所以不考慮,74160/162也是加法計數器,不考慮。最后選擇的是74192,相比74190,74192的置數與清零功能是分開的,選擇74190的話,在實驗是,只能犧牲置數功能來清零,不考慮。74192屬于雙時鐘同步十進制可逆計數器。輸出為四位輸出,與BCD碼顯示的數碼管完全符合,故選擇BCD碼顯示的數碼管。在74192的輸入端,輸入的是時鐘信號,故需要時鐘信號的發生器,在protues中,有產生時鐘的脈沖源,但是不符合實驗要求。經查資料,最后選擇的是555定時器組成的多諧振蕩器來產生時鐘信號,其為震蕩頻率可調的電路。 1、555定時器組成的多諧振蕩器
1.002.jpg (21.83 KB, 下載次數: 132)
下載附件
2017-7-30 20:37 上傳
圖2 555定時器組成的多諧振蕩器 工作原理: 由555定時器構成的多諧振蕩器如圖2所示,R1,R2和C是外接定時元件,電路中將高電平觸發端(6腳)和低電平觸發端(2腳)并接后接到R2和C的連接處,將放電端(7腳)接到R1,R2的連接處。由于接通電源瞬間,電容C來不及充電,電容器兩端電壓為低電平,小于(1/3)Vcc,故高電平觸發端與低電平觸發端均為低電平,輸出為高電平。這時,電源經R1,R2對電容C充電,使電壓按指數規律上升,當上升到(2/3)Vcc時,輸出為低電平,把從(1/3)Vcc上升到(2/3)Vcc,電容C通過電阻R2和放電管放電,電路進人第二暫穩態,其維持時間的長短與電容的放電時間有關,隨著C的放電,下降,當下降到(1/3)Vcc時,輸出為高電平,Vcc再次對電容C充電,電路又翻轉到第一暫穩態。 電容放電時間tPL為:
1.003.jpg (1.62 KB, 下載次數: 147)
下載附件
2017-7-30 20:37 上傳
(1.0) 電容充電時間tPH為:
1.004.jpg (2.2 KB, 下載次數: 143)
下載附件
2017-7-30 20:37 上傳
(1.1) 所以振蕩周期T為:
1.005.jpg (2.14 KB, 下載次數: 151)
下載附件
2017-7-30 20:37 上傳
(1.2) 振蕩頻率f為:
1.006.jpg (2.38 KB, 下載次數: 143)
下載附件
2017-7-30 20:37 上傳
(1.3)
1.007.jpg (918 Bytes, 下載次數: 131)
下載附件
2017-7-30 20:37 上傳
1.008.jpg (32.44 KB, 下載次數: 151)
下載附件
2017-7-30 20:37 上傳
圖3 設計實驗的555多諧振蕩器部分 設計部分: 圖3為設計實驗中的555多諧振蕩器部分,要想多諧振蕩器產生每個震蕩周期為0.01s的脈沖,則f的值為100Hz,取常見的不大不小的電容值C1為1uF,此時經計算可得(R1+2R2)的值14500歐姆,此時,查閱常見的電阻阻值,經過計算對比,可取R1為4.3K,R2為5.1K。經計算可得震蕩周期T誤差為0.00005s,小于實驗允許誤差0.01s。 七段顯示BCD碼數碼管。74LS192 的四個輸出正好對應數碼管的四個輸入。實現數字的顯示。使用的是四個輸入端的數碼管,數碼管本身有譯碼器,不需要外接譯碼器。數碼管是共陰極,74LS192的輸出高電平,直接輸入數碼管就可以顯示。 實驗部分:
1.009.jpg (12.74 KB, 下載次數: 133)
下載附件
2017-7-30 20:37 上傳
圖4 數碼管接74LS192 3、74LS192計數器 74LS192的功能表 74LS192是同步十進制可逆計數器,它具有雙時鐘輸入,并具有清除和置數等功能,其引腳排列及邏輯符號如下所示:
1.010.jpg (20.84 KB, 下載次數: 151)
下載附件
2017-7-30 20:37 上傳
圖5 74LS192的引腳排列及邏輯符號 CPU為加計數時鐘輸入端,CPD為減計數時鐘輸入端。 LD為預置輸入控制端,異步預置。 CR為復位輸入端,高電平有效,異步清除。 CO為進位輸出:1001狀態后負脈沖輸出, BO為借位輸出:0000狀態后負脈沖輸出。 | | |
1.011.jpg (1016 Bytes, 下載次數: 138)
下載附件
2017-7-30 20:37 上傳
|
1.012.jpg (1.01 KB, 下載次數: 130)
下載附件
2017-7-30 20:37 上傳
|
1.013.jpg (1.02 KB, 下載次數: 139)
下載附件
2017-7-30 20:37 上傳
| | | | | | | | | | | | | | | | | | | | | | |
1.014.jpg (635 Bytes, 下載次數: 155)
下載附件
2017-7-30 20:37 上傳
× | | | | | | | | | | | | | | | | | | | | | | | | | | | |
表1 74LS192功能表 設計部分:
1.015.jpg (54.29 KB, 下載次數: 140)
下載附件
2017-7-30 20:37 上傳
圖6 74LS192在設計實驗中的部分電路圖 圖6為省區0.1s和省去0.01s時74LS192的電路接線圖。
1.016.jpg (36.74 KB, 下載次數: 150)
下載附件
2017-7-30 20:37 上傳
圖7 加減置數開關電路圖 設計思路: 1、將UP與DN在高電平1與時鐘之間切換的開關 74LS192在實現加計數時由其功能表可知當減計數時鐘端DN接1,加計數時鐘端UP接脈沖時即可實現加計數;相反的,則實現減計數。圖7左上角的開關部分就是將DN與UP在高電平1與時鐘CL自由切換的開關,從而實現加計數和減計數。(設計時,開關往上,則UP接時鐘,DN接高電平1;反之,UP接1,DN接時鐘) 2、10s位與10min位的置數時機與置數按鍵的實現 在加計數時10s位與10min位滿6進1所以可以設置與非門在這兩個位在計數到6,即0110時返回一個低電平0給本身的的置數口LD非,從而實現置數0000,同時在與非門的非之前產生一個高電平1到下一個192的上升時鐘UP口,使之加1。 在減計數時10s位與10min位減到0時,在下一個時鐘來臨時與非門如果檢測到9即1001時與非門的輸出端輸出一個低電平0給本身的的置數口LD非,從而實現置數為5即0101,同時在與非門的非之前產生一個高電平1到下一個192的下降時鐘DN口,使之加1,實現借位,從而下一個192實現減一。 c、(置數按鍵)通過觀察可知,無論是加計數還是減計數時,總有某些置數端口(D0~D3)是一直接地的故可如圖7左下角(加減置數開關)般的部分置數端口接地,從而實現某些端口可以在接0與1間切換,具體操作如上。 d、圖7中間的下方座半部分開關為10s位與10min位在加減計數時對使用兩個與非門之間的切換,提高其利用率。右半部分為其與門部分的輸出端口加減輸出開關,從而決定輸出的信號是接下一個UP或DN。 3、時位與10時位部分 圖7最右端的兩個與非門為時位與10時位開關對兩個與非門在加計數和減計數的使用。加計數時僅在24時時即0010和0100兩個1需要與非;在減計數時,則在99時時即1001和1001四個1需要與非,故需要四輸入端與非門,同時使兩位芯片分別置數為2和3.置數由之前所說的置數開關實現。 - 將所有74LS192的清零端連在一起接地,同時接可以彈起的開關BUTTON,開關的另一端接電源,當按下按鍵時,所有的192芯片的清零端同時為高電平,即可實現清零。
- 原本的電路是利用開關使0.01s的192芯片的UP和DN同時變為1可實現數據的保持,但是使電路更加復雜,不利于其他功能的實現。后改為直接在脈沖的輸出端接一個開關。修改后,UP和DN其中一個為高電平一個為高阻態,由于時鐘信號不再輸入,可以實現暫停功能。缺點在于,暫停時,開閉置數開關會使數據的改變,需要更多的置數,造成不便。
1.017.jpg (25.32 KB, 下載次數: 152)
下載附件
2017-7-30 20:37 上傳
圖8置數開關 定時功能:在開關打向暫停時由置數功能實現。設計的置數開關分為4個置數開關,分別為0.01s,1s,1min和1h的置數開關,可實現8位時間的置數。 具體實現:分與時部分是由于暫停時,與非門中與門的輸出為低電平,故使得這兩個位UP和DN其中一個一直為高電平,另一個則因開關的變換使其中一個UP或DN在高低電平中變換,從而產生時鐘脈沖實現置數功能。在0.01s和1s處,由于設計時沒有思考得完全,只能外加一個低電平,使其中的UP或DN其能夠在高低電平中由開關自由切換,從而實現置數,需要注意的是,不能直接加低電平作為0信號輸入,否則會警告電平沖突。
1.018.jpg (26.62 KB, 下載次數: 156)
下載附件
2017-7-30 20:37 上傳
圖9 半整點提醒電路部分 半整點功能的實現比較簡單,簡單來說,就是滿足某個條件或者某幾個條件就能使LED燈燈變亮。 半整點提醒:當10分位為3,即0011時,LED1則亮,想讓LED1只亮1分鐘的話又要使分位等于0時,LED1亮,將兩者與則可實現半點時,LED1亮1分鐘。同理,當1時位不為0,10分位為0,1分位為0時,將它們三個與即可實現LED2在整點時亮一分鐘,在兩者間接一個二極管可讓整點時LED1與LED2同時亮,具體的調試不可行。 5、仿真的調試 在每一部分電路的設計好時,先進行調試,再進行下一部分電路的設計。在調試時,調試的方法可以分為兩種:第一,在進行較高位的調試時,由于等太長時間進行調試不現實,可以將其電路換至低位進行調試,也可以分解電路為一部分一部分進行調試。第二,利用置數功能進行調試,暫停時,把相應的開關放到位,再進行置數加減,觀察其變化情況。 經過逐步調試,本次設計的數字式跑表絕大多數部分可行。
首先,拿到題目后,看到跑表器這個詞還是有點抽象,要經過查資料才逐步了解到跑表器的工作狀態,然后再開始著手實驗。試驗前,對于上個學期的數電知識也逐漸模糊,但是知道跑表器的工作情況后還是有入手的地方,不過又要重新溫習一下相關的內容,這一步做的比較快也比較順利。 第二步,需要對整體功能的構思,然后再對局部電路圖的構思,最后再考慮局部電路圖的實現, 在實驗圖逐步成型之后,發現了諸多在一開始所想不到的問題。例如,在完成本實驗的基本要求時是比較輕松的,比較不自在的地方是對電路圖的修改,其中比較令人頭疼的地方是本來排好版的地方突然又需要加多一部分元件或者是線路,拉開所需的位置的話,本來連好的線變得彎曲不自然,又要清除原來的線,再畫過,在制作附加功能的時候更是如此。這樣,不得不使用大量的跳線,這樣的話會使審視電路圖的時候不夠直觀,會影響思路。 在許多地方,完全可以將圖簡化,但是需要太多的地方思考,由于前面的制作過多,簡化圖可能會使前面的功能不能實現,而且要改的話也比較復雜,容易弄混思路,要的時間也多,所以在制作時,考慮最簡單的思路。半整點提示燈就是一個很明顯的例子。 在調試時,經常會碰到不如自己料想的情況,這樣常常會使人氣餒,要改的話也可能要從頭到尾分析,這樣,對前面思考不深刻的話很難改,所以在制作的時候,最好加上一些有必要的標注,而且,當的第二天再看前一天的內容,在思路方面也比較連接起來。 本次設計仍然有很多不足的地方,上面所提到的圖太復雜只是其中的一個方面,但是在做完實驗設計后也讓人覺得在數電方面提高了很多。這也讓人不得不思考到,單單只利用一些簡單的基本數字邏輯元件是遠遠不夠的,必須懂得綜合利用,才能使得圖更加簡化,成本更加低,設計更利于市場的采納。
013849yuww3uiazcuo4331.png (47.24 KB, 下載次數: 126)
下載附件
2017-7-30 20:37 上傳
完整論文下載帶仿真文件(word格式 可編輯):
|