手把手教你设计数字钟(基于protues8.6)
手把手教你設計數字鐘(基于protues8.6)
本次實驗內容在protues仿真中可以實現:
①一個具有“時”、“分”、“秒”顯示的數字鐘;
②具有校時功能;
③具有整點報時功能;
④具有定時鬧鐘功能。
由于水平有限,秒信號沒有用產生電路采用石英晶體構成的振蕩器實現4M Hz或32768 Hz),直接用1HZ的脈沖代替。
最終,可以實現以下結果
1: 通過兩個單刀雙擲開關,分別實現分和時的快速累加,實現校時功能。
2: 整點報時功能則是到幾點,響多少下,(例如到了17:00:00,蜂鳴器會響17下)和家里的掛鐘一樣。
3: 定時鬧鐘,可以通過改變LOGICSTATE的值,實現精確到秒的鬧鐘,并且可以控制鬧鐘蜂鳴器響的時間(這個點相比要求中算是一個創新)。
想要完整電路圖的小伙伴可直接可加我微信:wxid_c82ezb72s7cf22或QQ:1871478767。
模塊講解
1. 60秒計數模塊
由于本人學校不僅要仿真,還要用面包板搭器件電路(學校只有八段數碼管),所以本次實驗選用共陰極八段數碼管,并用CD4511進行譯碼,附上數碼管和CD4511引腳圖
CD4511的A1-A3依次為低位到高位依次連上74LS90的QA-QD
附上74LS90的真值表
這里我們把CP2連上QA,輸出8421BCD碼,CP1直接給1HZ的脈沖,置數端S9(1),S9(2)接地。10在8421BCD碼中是1010,所以把QD和QB分別接入R0(1)和R0(2),這樣,一個10進制計數器就完成了。
對于60進制,只需要將QC接入第二個74LS90的CP1,6在8421BCD碼中是0110,所以將QB和QC接入R0(1)和R0(2)。其余的大體和上面10進制的差不多,這里就不再贅述。
另外要將QB和QC接入一個與門(這里采用的是74LS08)的輸入,輸出作為60分鐘計時器的輸入(進位信號)。
也可以用4段數碼管,這樣更加方便,直接從右到左依次與74LS90的QA-QD相連,其余的也沒有變化。(四段數碼管最右端為最低位,最左端為最高位)
2. 60分鐘計數模塊
本模塊基本上和60秒計數模塊相同,這里不再贅述。
3. 24小時計數模塊
如圖
這樣,就可以很巧妙的完成一個24進制計數器,U36的CPA接上60分鐘的進位信號。到這里,一個數字鐘的基本顯示功能就完成了。
4. 校時模塊
要求
(1)只進行分、時的校時。
(2)在小時校時時不影響分、秒的正常計數;在分校時時不影響小時、秒的正常計數。
先看校分鍵,2腳接入的是60秒進制的進位信號,3腳作為60分鐘進制的時鐘輸入,接入個位的CP1。
我們都知道,74LS90的時鐘信號CP1,是靠時鐘脈沖來驅動并且開始計數的,單刀雙擲開關平常打到上面時,秒進位信號和GND(0)相或,秒進位信號傳來脈沖時,60分鐘計數接受一個脈沖,即開始正常計數;當單刀雙擲開關,打到下面時,下面是一個1HZ的時鐘,這時候就是秒進位信號和1HZ的單位脈沖相或(這里采用的或門是74LS32),60分鐘計數則接收1HZ脈沖,即像60秒計數模塊一樣,1秒1下遞增,當分鐘1秒加一下,加到用戶想要的時間點后,只需將單刀雙擲開關打到上邊,就可以進行正常時鐘功能。
如果想要校時更快,上圖中的SW(1)(2)也可以用5HZ,10HZ等。
校時鍵原理相同,不再贅述。
5. 整點報時模塊
為了實現“整點為幾報幾下”,此處需要一個減計數器,每減一下,輸出一個脈沖,從而使蜂鳴器鳴叫一下。
本實驗采用的是兩片74LS192。附上功能表:
每個74LS192的Q0-Q3都要分別連上小時模塊的CD4511的ABCD,或者74LS90的Q0-Q3(都是一根線),即小時位的個位,十位直接作為74LS192的輸入端,意思就是小時模塊的時間是多少,就從這個數減到0,并且每減一下,輸出一個高電平(通過后面的電路)。
如果是四段數碼管,兩個74LS192的Q0-Q3都要分別連上小時位的四段數碼管的最低位至最高位。
小時個位的74LS192的TCD,連上十位的74LS192的DN,就可以進行減計數。
由于PL(置數控制端)是低電平有效,所以需要輸入低電平脈沖來觸發。本實驗用的是74LS123。附上74LS123的功能表。
從功能表中可以看出,拿A輸入來舉例,當輸入的電平由高電平翻轉為低電平時,可以在Q非收到一個低電平脈沖,即可用來連接PL,來觸發這個減計數器。
6. 定時鬧鐘模塊
定時鬧鐘本實驗采用的是74LS85比較器,附上74LS85功能表:
從功能表中,可看出,輸入IA=IB為高電平1時,比較器會從A3,B3一直比較到A0,B0,當A3A2A1A0與B3B2B1B0的值相同時,比較器會在QA=QB輸出一個高電平。
74LS85的A0-A3可以連接每個計數模塊的CD4511的ABCD,或者74LS90的Q0-Q3(都是一根線),B0-B3則是連接自己設置的鬧鐘時間,通過8421BCD碼調整每個LOGICSTATE的值,比如
本實驗設置的時間是00(時):01(分):00(秒),將每個時、分,秒接入一個6輸入與門的輸入(本實驗用的是4068,八輸入與非門,因為沒找到6輸入與門,只能用4068代替,多出來的兩個腳接高電平1,后面接一個非門,就可以構成一個6輸入與門)
即如果到了1分鐘的時候,此處會輸出一個高電平。根據整點報時減計數器的思想,可以把這個高電平接入一個74LS123的A端,即上升沿觸發,后面就是把那個減計數模塊復制一次,
我這里設置的是:十位8421BCD碼0000,個位8421BCD碼0011。也就是到達一分鐘后,蜂鳴器響三下,用戶可以根據自己的需要自行設置時間。
寫在后面的話
整個數字鐘只有真正理解其中的原理,才能把他運用好,就像那個減計數器一樣,只有在整點報時那里搞清楚,才能在定時鬧鐘那個地方應用出來。
想要完整電路圖的同學可直接可加我微信:wxid_c82ezb72s7cf22或QQ:1871478767。
1: 關于校時模塊,有人因該有疑問,為什么用單刀雙擲開關,而不用按鍵?其實一開始我就是用按鍵,但是如下圖:
他的電平那一塊是灰色的,也就是沒有電器屬性,只有當按鍵按下時,才有電器屬性,但是此時已經進入了校時功能,也就是說影響了正常工作,方案一pass。
2:后來我想到,我可以這樣,如下圖
我直接在按鍵和或門之間加一個非常小的電壓,這樣就有了電器屬性,但是當我的按鍵按下時,
按鍵就失去了控制功能。當時我本以為加一個比較小的電壓,只是將脈沖信號整體往上抬了一點點,但是現實將方案二也pass了。(個人感覺如果在是實體電路中,對于精度沒有那么高的器件,還是可行的)
3: 對于如何讓蜂鳴器在proteus中響,也是困擾了我蠻久的(后來才知道可以用發光二極管代替),為了解決這個問題,查了很多資料,發現只有如下圖
這樣,蜂鳴器才能鳴叫。這個電路也很簡單,利用NPN三極管的放大原理,只需在B極(基極)又很小的電流,C極(集電極)和E極(發射極)就會有很大的電流,從而使蜂鳴器發聲。注意配置蜂鳴器的工作電壓如下圖
我配置的是2V,對應的VCC也應該設置2V
想要完整電路圖的小伙伴可直接可加我微信:wxid_c82ezb72s7cf22或QQ:1871478767。
最后希望大家多多關注,多多打賞,多多點贊。我是不吃土豆絲。
仿真文件的鏈接https://download.csdn.net/download/qq_56304301/19832274
總結
以上是生活随笔為你收集整理的手把手教你设计数字钟(基于protues8.6)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: spark-sql 方差和标准差
- 下一篇: 计算机文化基础作品ppt,计算机文化基础