黃 文 鋒
(廈門海洋職業技術學院 信息技術系, 福建 廈門 361100)
基于74LS192的可倒計時數字鐘設計以Multisim10為例
黃 文 鋒
(廈門海洋職業技術學院 信息技術系, 福建 廈門 361100)
采用Multisim10軟件,以74LS192為基礎設計了23時59分59秒的可倒計時數字鐘,所設計的數字鐘具有計時和倒計時功能,同時具有清零、校時、報時等功能。設計過程中碰到了初始置數錯誤、提前清零、進位錯誤等許多問題,通過不斷測試,找到了產生這些問題的原因并進行了解決,同時給出了具體的實現電路。
74LS192; 倒計時; 數字鐘
常見的數字鐘都是以74LS160或74LS290作計數器,如果希望加入倒計時功能,就必須選擇可同時作加減計數的計數器,考慮到數字鐘還需要清零、校時、報時等諸多功能,因此,本設計選擇74LS192作為計數器。因為74LS192屬于加減計數器,同時具有置數和清零的功能,方便在同一電路中實現更多功能。
數字鐘首先要實現的是6位計數,分別是秒個位、秒十位、分個位、分十位、時個位、時十位。以下以秒個位和秒十位為例進行重點闡述[1]24-26。具體電路如圖1所示。
該電路重點在如何同時實現00-59的加計數和59-00的減計數,具體實現方式如下:
(1)秒個位實現十進制計數功能,即從0計數到9或者從9計數到0。因為74LS192本身即是十進制計數器,因此無需多加反饋電路,直接按照功能表的計數功能連接即可[2]111-113。

圖1 秒個位和十位60進制加減計數實現電路
(2)秒十位實現六進制計數功能,即從0計數到5或者從5計數到0。加計數是計數到5跳轉6時清零,需要通過反饋置數或者反饋清零的方法實現[3]43。本設計采用反饋清零法,即將秒十位的QC、QB通過與門接入CLR端,當計數計到0110時,與門輸出1,CLR高電平有效,實現清零,如圖2(a)所示。在進行減計數時,因為減計數的初始狀態為99,需要將初始狀態置為59,即秒十位的初始值應該置為5。采用將QD、QA通過與非門接入LOAD端,當開關打開時,初始狀態為9即1001,與非門輸出0,LOAD置數端有效,將置數端初始值設置為0101,則輸出為0101,即5[4]146,如圖2(b)所示。

(a)加計數秒十位清零電路 (b)減計數秒十位清零電路
圖2 加、減計數秒十位清零電路
(3)要實現秒倒計時功能,需要通過開關使74LS192在加計數和減計數之間進行切換,即對UP/DOWN功能的切換。分別在秒個位和秒十位的UP和DOWN之間加兩個開關。
(4)要實現加計數從00開始,減計數從59開始,必須在進行加減計數切換的時候同時切換秒十位的初始置數值,即加計數時秒十位初始置數值為0000即0,減計數時秒十位初始置數值為0101即5,同樣采用開關進行切換。
為了實現加減計數的初始置數,在秒十位LOAD端接入一個觸發開關,在切換瞬間將LOAD接地,使其實現置數功能,從而設置加減計數的初始值。
在該電路的實現過程中,遇到了許多問題,具體問題、原因及解決辦法如下:
(1)問題:通過個位CO反饋給十位UP時,在開關打開瞬間十位初始狀態變成1而不是0,產生錯誤。
原因:進位信號CO和BO在正常狀態下是高電平1,因此開關打開瞬間CO和BO會產生一個0到1的跳變,這個跳變剛好滿足秒十位的UP上升沿要求,使十位加1,初始狀態變成1。
解決辦法:在CO和UP中間加一個非門74LS04,可以使上升沿延后一位,使問題得到解決。
(2)問題:在加計數時,秒十位由0-5計數,在計數到6的時候需要反饋清零,常見做法是將秒十位的QC、QB通過與門反饋給十位CLR進行反饋清零。但按此接法,當計數到4時秒十位即清零,產生錯誤。
原因:經測試,74LS192的QB和QC信號不同步,當輸出QD.QC.QB.QA由0011變成0100時,QC已經由0變1,而QB還停留在1,導致變換瞬間QC.QB為11,通過與門后輸出高電平反饋給CLR清零。

(3)問題:在秒個位計數到9和0之間時,秒十位會先跳1,稍微提前。
原因:CO進位信號是低電平有效,使輸出提前了一位。
解決辦法:可以在秒個位的CO和秒十位的UP之間接一個脈沖延遲電路,如圖3所示:
注意:延遲時間必須與脈沖時間配合,太快或者太慢都會出錯。本電路對應的時鐘脈沖為100 Hz,如果調整時鐘脈沖,則延時電路要同步調整。另外,延時脈沖設置不當可能會使秒十位提前加一,本電路為了方便調試時隨時改變時鐘脈沖,暫時沒有加入該脈沖延遲電路,但已進行過測試,該方法可行。
(一)59分59秒加減計數實現方式及問題
分和秒兩位計數的方式相同,只需復制秒的連接方式即可。要進行分和秒的級聯,只需將秒十位的加法計6反饋信號接到分個位的UP輸入端,將秒十位的減法計9反饋信號接到分個位的DOWN輸入端,即可實現加計數秒計到59秒后分個位加一,減計數秒計到00后分個位減一[5]67-69。
按照以上方式連接好電路,仍然出現了一些問題。問題:減計數時分的初始值是50而不是59。原因:74LS192在進行減計數時要使初始值變成9,需要在DOWN有下降沿脈沖輸入。但是分個位需要在秒減一個周期,即由59秒減至00秒再減至59秒時才能輸出脈沖使分個位置9,因此分個位的初始狀態無法置成9。解決辦法:在分個位的輸入端加一個觸發開關,在由加計數切換到減計數的時候立刻給DOWN輸入一個脈沖,將分個位初始狀態置為9,問題解決。
另外,常用的倒計時基本是在60秒內,而且分切換倒計時后再切換回正計時需要重新校分,因此分的倒計時可以作為備用功能,需要時再啟用。不用時只需將分的8個開關設置成與秒的8個開關不同的按鍵即可,需要用時將分的8個開關設置成與秒的8個開關相同的按鍵。
(二)23時59分59秒計數器實現方式
考慮59分59秒的減計數已經能滿足大多數需求,無需在時上再實現減計數。因此在時的計數方式上選擇較穩定的十進制加法計數器74LS160。時采用24進制計數設置,通過一個與非門反饋到CLR端,實現0至23計數。
該電路還包含了三個功能:(1)任何時刻的清零功能;(2)可以手動調整分個位、分十位、時個位、時十位的校時功能;(3)59分53秒、55秒、57秒低音報時,59分59秒高音報時的報時功能[6]115-117。電路分別如下,具體原理在此不在贅述。

圖4 任意時候清零功能電路

圖5 任意時刻校時校分功能電路

圖6 整點報時功能電路
本文基于74LS192實現可倒計時數字鐘設計,數字鐘范圍為23時59分59秒,倒計時范圍為59分59秒,同時該電路還可實現清零、校時、報時等功能。本文重點介紹了秒計數和分計數的實現方式以及在實現過程中產生的問題、原因、解決辦法。希望本文能對數字電路教師的實訓安排或數字電路愛好者有所幫助。
[1] 杜 妍,楊玉華.基于EWB軟件的數字鐘設計及實現[J].電子技術,2012(4).
[2] 吳勇靈,朱增輝,楊 潔,等.基于74LS192千進制可逆計數器的設計與研究[J].制造業自動化,2012(20).
[3] 湯德榮.淺談用74LS90設計任意進制計數器[J].大眾科技,2009(6).
[4] 王連英.數字電子技術[M].北京:高等教育出版社,2014.
[5] 鄧旭聰.數字電子鐘邏輯電路設計[J].四川電力技術,2008(S1).
[6] 李 偉,胡榮強,李 濤.基于EWB的數字鐘設計與實現[J].現代電子技術,2006(8).
Design of Timing and Countdown Digital Clock Based on 74LS192 Taking Multisim10 As an Example
HUANG Wen-feng
(Department of Information Technology, Xiamen Ocean Vocational College, Xiamen 361109, China)
This paper uses the Multisim10 software to design the 23 hours 59 minutes and 59 seconds digital clock with countdown based on 74LS192. The digital clock has a timing and countdown function; besides, it has clear, check time, reporting time and other functions. This paper introduces the design idea of digital clock. During the design process, it encounters many problems such as initial setting error, early clearing and carries error. Through continuous testing, the cause of the problem is found and the solution is given. At the same time, the realization circuit is given.
74LS192; countdown; digital clock
2016-10-17
黃文鋒(1982-),男,福建廈門人,實驗師,工程碩士,主要從事電子技術應用研究。
TN709
A
1672-2388(2017)01-0073-04