李 悅,孔維成,王宏干,楊海明
(總參通信訓練基地 河北 宣化 075100)
在電子技術實驗教學中,構建學生的電路設計理念,提高學生的電路設計能力,是教學的根本目的和核心內容。數字鐘電路的設計和仿真,涉及模擬電子技術、數字電子技術等多方面知識,能夠體現實驗者的理論功底和設計水平,是電子設計和仿真教學的典型案例。文中采用了555定時器電路、計數電路、譯碼電路、顯示電路和時鐘校正電路,來實現該電路。
數字鐘由振蕩器、分頻器、計時電路、譯碼顯示電路等組成[1-3]。振蕩器是數字鐘的核心,提供一定頻率的方波信號;分頻器的作用是進行頻率變換,產生頻率為1 Hz的秒信號,作為是整個系統的時基信號;計時電路是將時基信號進行計數;譯碼顯示電路的作用是顯示時、分、秒時間;校正電路用來對時、分進行校對調整。其總體結構圖,如圖1所示。

圖1 系統總體結構Fig.1 Systems architecture
本系統的振蕩器采用由555定時器與RC組成的多諧振蕩器來實現,如圖2所示即為產生1 kHz時鐘信號的電路圖。此多諧振蕩器雖然產生的脈沖誤差較大,但設計方案快捷、易于實現、受電源電壓和溫度變化的影響很小[4]。

圖2 多諧振蕩器Fig.2 Multivibrator
由于振蕩器產生的頻率高,要得到標準的秒信號,就需要對所得到的信號進行分頻。在此電路中,分頻器的功能主要有兩個:1)產生標準脈沖信號;2)提供電路工作需要的信號,比如擴展電路需要的信號。通常實現分頻器的電路是計數器電路,選擇74LS160十進制計數器來完成上述功能[5]。 如圖3所示,555定時器產生1 kHz的信號,經過3次1/10分頻后得到1 Hz的脈沖信號,為秒個位提供標準秒脈沖信號。
計數器是一種計算輸入脈沖的時序邏輯網絡,被計數的輸入信號就是時序網絡的時鐘脈沖,它不僅可以計數而且還可以用來完成其它特定的邏輯功能,如測量、定時控制、數字運算等等。

圖3 分頻電路Fig.3 Divider circuit
本部分的設計仍采用74LS160作為時間計數器來實現時間計數單元的計數功能。時間計數器由秒個位和秒十位計數器、分個位和分十位計數器、時個位和時十位計數器構成。
數字鐘的計數電路的設計可以用反饋清零法,當計數器正常計數時反饋門不起作用,只有當進位脈沖到來時,反饋信號將計數電路清零,實現相應模的循環計數。
2.3.1 分(秒)計數器
分(秒)計數器均為60進制計數,如圖4所示。它們的個位用十進制計數器74LS160構成,無需進制轉換,信號輸入端CLK與1 Hz秒信號相連,進位輸出作為十位的計數輸入信號。十位采用反饋清零法將十進制計數器74LS160變成六進制計數器,因為清零端為低電平有效、所以將QB、QC與非后連接到清零端,即計數器的輸出狀態為 “0110”時QB、QC輸出高電平與非后為低電平實現有效清零并對下一級進位。兩級電路組成一位60進制計數器,其計數規律為00→01→…→58→59→00。當秒計數滿60后向分個位提供一個進位信號,同理當分計數滿60后向時個位提供一個進位信號。

圖4 分(秒)計數電路Fig.4 Minute (Second) counting circuit
2.3.2 時計數器
時計數器為24進制計數,其計數規律是00→01→…→23→00,即當數字運行到23時59分59秒時,在下一個秒脈沖的作用下,數字鐘顯示00時00分00秒。計數器的計數狀態轉換表如表1所示。

表1 計數器狀態轉換表Tab.1 Counter state transition table
由表可知,計數器的狀態要發生兩次跳躍:一是計數到9,即個位計數器的狀態為1001后,在下一計數脈沖的作用下向十位計數器進位;二是計數到23后,在下一個計數脈沖的作用下,整個計數器歸零。
用兩片74LS160可實現24進制計數器的設計,如圖5所示。把時個位的QC與時十位的QB與非后送入到時個位和時十位的計數清零端,當時十位計數器的狀態為“0010”時個位計數器的狀態為“0100”時,時個位的QC與時十位的QB輸出高電平,它們與非后為低電平分別對時個位和十位進行清零。

圖5 時計數電路Fig.5 Hour counting circuit
校時是數字鐘應具備的基本功能,當數字鐘接通電源或者計時出現錯誤時都需要對時間進行校正。一般數字鐘都具有時、分、秒等校正功能。為使電路簡單,這里只進行分和時的校正。校正電路的要求在校正時位時不影響分和秒的正常計數,在校正分位時不影響秒和時的正常計數。
校正電路的方式有快校正和慢校正兩種。由于快校正電路復雜,成本高,而慢校正更經濟一些,所以設計采用慢校正對時鐘進行校正,如圖6所示。慢校正是用手動產生單脈沖做校正脈沖。電路由74LS08及電阻、電容、開關等組成,其中J為校分開關,H為校時開關。

圖6 慢校正Fig.6 Slow correction
顯示部分采用74LS48來進行譯碼,用于驅動LED-7段共陰極數碼管。由74LS48和LED-7段共陰極數碼管組成數碼顯示電路,如圖7所示。

圖7 數碼顯示電路Fig.7 Digital display circuit
譯碼驅動電路是將 “秒”、“分”、“時” 計數器輸出的8421BCD碼進行編譯,轉換為數碼管需要的邏輯狀態,驅動LED-7段數碼管顯示,并且為保證數碼管正常工作提供足夠的工作電流。若將秒、分、時計數器的每位輸出分別與相應七段譯碼器的輸出端連接,在脈沖的作用下,便可進行不同的數字顯示。由于使用的譯碼器74LS48輸出端高電平有效,所以選擇共陰極的數碼管來與之搭配。
在電子設計中,EDA設計和仿真是一個重要的設計環節。在眾多的EDA設計和仿真中,Multisim10以其強大的仿真設計應用功能,在電子電路的仿真和設計中得到了廣泛應用[6]。
在完成總體電路設計的基礎上,用Multisim10電子電路仿真軟件完成電路的仿真設計。首先對電路的各功能模塊進行仿真設計,并對其實現的功能進行調試與仿真,所有的子系統都能夠正常運行時,把所有功能模塊整合在一起,進行仿真和調試,最終完成整體電路的仿真設計。
值得注意的是,在數字鐘電路設計過程中,一定要注意檢測觸發器電路時鐘的觸發模式,確定是上升沿觸發還是下降沿觸發,避免在設計過程中出現計數故障;在振蕩器設計的過程中,為使振蕩器產生精確、穩定的頻率,要選擇精度較高的電阻器和電容器。
文中設計和仿真的數字鐘電路雖然只是基于實驗目的,但是如果需要走時精準的數字鐘完全可以通過改進時基信號來得到。具體方法為:用晶體振蕩器(Crystal Oscillators)產生更加準確的時基信號,其它分頻電路、計時電路、譯碼顯示電路等只要保持不變,即可實現。
[1]呂思忠.數字電路實驗與課程設計[M].哈爾濱:哈爾濱工業大學出版社,2001.
[2]謝自美.電子線路設計—實驗—測試[M].3版.武漢:華中電子科技出版社,2006.
[3]崔瑞雪.電子技術動手實踐[M].北京:航空航天大學出版社,2007.
[4]康華光.電子技術基礎—數字部分[M].5版.北京:高等教育出版社,2005.
[5]康華光.電子技術基礎—模電部分[M].5版.北京:高等教育出版社,2005.
[6]唐贑,吳翔,蘇建峰.Multisim 10&Ultiboard 10原理圖仿真與PCB設計[M].北京:電子工業出版社,2008.