簡易數字鍾設計


簡易數字鍾設計

一、摘要

信息時代,時間觀念深入人心,所以掌握數字鍾的設計具有一定的時代意義,並且使用Multisim進行分立元件設計數字鍾,可以大大提升個人數字電路的素養。

設計思路是從上至下,先進行數字鍾整體框架的設計,考慮各個子芯片的預留端口,再逐個設計各個子電路模塊。最終完成了時鍾顯示,調時,鬧鍾,定點報時以及萬年歷的功能。並且總的控制點預留了新功能的接入口,這樣子就可以十分方便的進行新功能的加入。

目錄

簡易數字鍾設計... 1

一、摘要... 1

二、前期准備... 2

1、數電知識的復習... 2

2、Multisim相關知識的學習... 2

三、電路總設計思路... 4

四、子電路設計... 4

1、控制電路(切換功能電路)... 4

2、基本計數功能的實現:... 5

3、時鍾調時設計... 10

4、秒表功能設計... 13

5、定點報時功能設計... 14

6、鬧鍾功能設計... 15

7、萬年歷查詢功能:... 16

8、顯示功能設計... 19

五、心得體會... 21

二、前期准備

1、數電知識的復習

門電路,計數器,觸發器,555觸發器以及卡諾圖等相關知識。

2、Multisim相關知識的學習

除基本操作之外,還應該學習兩個設計大型電路的相關知識。

(1)總線技術:

clip_image002

圖2-2-1 總線功能選擇

A、 點擊總線按鈕,然后進行繪制,便可以得到總線。

clip_image004

圖2-2-2 總線圖樣。

B、 雙擊總線進行總線端口的添加:

clip_image006

圖2-2-3 總線端口添加圖

C、 單擊添加后,可以進行端口的添加,有2種方式,第一種便是一次只能加一種端口,第二種是可以加入前綴相同,但是標號不同的多個端口

clip_image008

圖2-2-4 總線端口方式二添加圖

D、 之后選擇連線確認即可

clip_image010

圖2-2-5 總線連線圖

(2)子電路技術:

A、新建一個子模塊

clip_image012clip_image013clip_image015clip_image016clip_image018

圖2-3-1 子電路添加方法圖示

B、添加管腳

clip_image020clip_image021clip_image023clip_image024clip_image026

圖2-3-2 子電路管腳添加圖示

三、電路總設計思路

clip_image028

圖3-1 電路總設計思路圖示

首先考慮數字鍾所有的功能:有時鍾顯示,調時,秒表,萬年歷,定點報時和鬧鍾一共6個功能,所以切換電路要預留6個以上的功能切換項。(切換鍵設為“=”)

其次,對於數字鍾必須要有精確的秒發生器作為基礎,由於Multisim本身軟件的刷新頻率問題,所以只好使用信號發生器作為數字鍾的秒發生器。

最后,考慮顯示功能,由於只能使用4個數碼管,所以需要一個顯示切換功能,然后再接入數碼管。(切換鍵設為“E”)。

四、子電路設計

1、控制電路(切換功能電路)

clip_image030

圖4-1-1 控制電路搭建圖

(1)使用的是CD4017十路十節拍順序脈沖發生器,由於暫時只有6個功能,所以改接為六路六節拍順序脈沖發生器。這樣還可以方便新功能的擴展。

(2)通過按下功能切換按鈕(“=”)進行功能的選擇。

(3)功能端口如下:

輸出端

功能

Q0

時鍾顯示

Q1

時鍾調時

Q2

秒表

Q3

鬧鍾

Q4

萬年歷

Q5

定點報時開關

表4-1-1 切換電路端口功能表

2、基本計數功能的實現:

(1)總體構想

clip_image032

圖4-2-1 基本計數功能總體構想

首先,根據現實因素,采用8421BCD碼進行編制,然后按照生活習慣分離成7個計數片,采用片內同步,片間異步的設計方法。

其次,星期計數有兩種模式,模式一為正常時鍾計數所使用的,即24小時后星期數進一,模式二為萬年歷查詢模式,即需要查詢相應日期對應的星期時所使用的模式。

最后,預留出調時所需要的端口。

(2)秒、分和時計數的設計:

clip_image034

圖4-2-2-1 秒(分)計數器的設計

clip_image036

圖4-2-2-2 秒(分)計數器封裝芯片圖

端口

功能

Q7-Q0

數值輸出,用於接入到數碼管

CTEN

片選開關

CVON

片內計數器級聯開關

Co

進位輸出

GND

接地端

CLOCK0-1

片內計數器時鍾端

表4-2-2-1 秒(分)計數器封裝芯片功能表

需要注意的地方是:

A、由於調時功能需要每一位都進行調節,所以必須預留每一位的時鍾端進行調時。

B、由於片內為了避免競爭冒險而使用同步級聯,所以必須有級聯的開關端口(CVON)。

C、 由於時計數器和分(秒)計數器只是進制的不同,所以不再詳細敘述時計數器電路圖。

(3)年計數器的設計

同樣采用片內同步級聯的設計思路,預留調時所需的CVON和CLOCK0-3端口。

clip_image038

圖4-2-3-1 年計數器的級聯電路圖

為了日計數的正確需要判斷閏年的預留端口。

A、 計算閏年的方法為:能被4整除且不能被100整除與能被400整除的是閏年。

B、 考慮使用邏輯電路來實現此邏輯。

① 被400整除可以拆成被4且被100整除,所以需要實現的功能為能被4和能被100整除的功能的判斷。

② 能被100整除,只要滿足Q0到Q7都為0就可以被100整除。

③ 能被4整除的實現:

首先觀察能被4整除的數字規律,總結為:

定義一個數字的十位和各位組成的數字為AB,Y=1定義為能被4整除,Y=0不可以。則有

A

B

Y

奇數

2,6

1

偶數

0,4,8

1

其他

0

表4-2-3-1 能被4整除的規律

然后列真值表,化簡卡諾圖,得到的控制電路如下:

clip_image040

圖4-2-3-2 能被4整除電路圖

③ 判斷能被400整除,首先由能被100整除,且設千位和百位為A和B,同樣符合上述規律時,即可被400整除。

年計數器總電路如下:

clip_image042clip_image044

圖4-2-3-3 年計數器總電路圖和芯片封裝圖

年計數器功能表如下

端口

功能

Q15-Q0

數值輸出,用於接入到數碼管

CTEN

片選開關

CVON

片內計數器級聯開關

Vcc

電源端

GND

接地端

CLOCK0-3

片內計數器時鍾端

Leapyear

閏年判斷端口

表4-2-3-2 年計數功能表

(4)月計數器的設計

同樣采用片內同步級聯的設計思路,預留調時所需的CVON和CLOCK0-1端口。

clip_image046

圖4-2-4-1 月計數器的級聯電路圖

為了日計數的正確需要判斷擁有不同月份天數的預留端口。

A、 統計不同月份天數:

月份

天數

1、3、5、7、8、10、12

31

4、6、9、11

30

2

閏年為29,平年為28

表4-2-4-1 月份天數統計表

B、 對月份采用8421BCD碼進行編制,通過列真值表,卡諾圖化簡,得到控制邏輯電路為:

clip_image048

圖4-2-4-2 月份分類電路圖

月計數器總電路如下:

clip_image050clip_image052

圖4-2-4-3 月計數器總電路圖和芯片封裝圖

月計數器功能表如下:

端口

功能

Q17-Q0

數值輸出,用於接入到數碼管

CTEN

片選開關

CVON

片內計數器級聯開關

Vcc

電源端

GND

接地端

CLOCK0-3

片內計數器時鍾端

Y31

天數為31的月份輸出為1

Y30

天數為30的月份輸出為1

Y2829

天數為28、29的月份輸出為1

表4-2-4-2 月計數器統計表

(5)日計數器的設計

日計數器設計思路一樣是級聯,再但是由於每個月的天數不同,所以我們需要使用預留的閏年,Y31,Y30和Y2829端口進行置數。

通過列真值表,卡諾圖化簡得下面電路設計圖:

clip_image054

圖4-2-5 日計數器電路設計圖

(6)星期計數的設計:

clip_image056

圖4-2-6 星期計數電路設計圖

先設計一個8421BCD的加計數器,選0到6作為一個循環,這是為了后面的萬年歷查詢方便。

(7)基本計數功能總電路:

clip_image058

圖4-2-7 基本計數功能總電路

注意的地方是,如何切換正常計數和調時,我們需要斷開原來片選端輸入的時鍾,改為手動輸入時鍾。因此,加級聯端需要加入一個級聯開關,這樣子就可以斷開原來異步級聯的片,進行手動調時。

3、時鍾調時設計

(1)思路總括:

clip_image060

圖4-3-1 時鍾調時的設計思路

首先需要做一個11位的環形計數器對應年、月、日、星期、時、分和秒的每一位,當某一位為“1”時,便對其進行調時。

其次,便是加入手動調時的方法,需要引入一個按鈕“W”,按一下計數加一。

(2)環形計數器的實現:

使用四片74194四位移位寄存器構成11位環形移位寄存器。電路圖如下:

clip_image062

圖4-3-2-1 11位環形移位寄存器電路設計:

如何使之一開始有一個且只有一個“1”進入有效環形是一個關鍵問題。這里提供2鍾解決方法:

A、首先由74194的功能表得到,當S0=1,S1=1時,並行輸入,當S0=1,S0=0時,向右移動。所以我們使用一個積分電路,使得在切換到這個功能的時候產生一個短暫的脈沖,進行並行輸入。

clip_image064

圖4-3-2-2 積分電路設計:

B、另一種方法是使用一個RS觸發器。

clip_image066

圖4-3-2-3 采用RS觸發器實現並行輸入設計:

通過Vcc在供電的瞬間使得R端口產生一個1-0的越變,這樣子,置入一個有效數字“1”,再進入右移功能。

(3)手動調時功能

clip_image068 以秒的個位為例:

當CTEN(功能切換輸入)為“0”時,表示沒有進入此功能,Q0輸出為時鍾信號。

當CTEN(功能切換輸入)為’’1’’時,表示進入手動調試功能,Q0輸出的是手動調時信號。在此情況下,若D0(環形移位寄存器輸入)為’’1’’時,則允許按鈕“W”產生的脈沖通過Q0輸出,否則只能輸出為低電平,即無法調時。

其余位也是相同的連接方法。

圖4-3-3 手動調時

(4)手動調時功能子芯片連接

clip_image070

圖4-3-4 手動調時功能子芯片連接圖

4、秒表功能設計

(1)設計總思路

首先根據要求“能夠為馬拉松長跑計時”,所以需要能夠計數到小時以上,然后選擇計數器設計小時-分鍾-秒鍾設計計數器。

其次,需要預留一個CLR和一個STOP的端口進行秒表的清零和暫停。

clip_image072

圖4-4-1 秒表設計總思路

(2)電路設計:

clip_image074

圖4-4-2 秒表電路設計圖

5、定點報時功能設計

(1)設計思路:

clip_image076

圖4-5-1 定點報時功能設計圖

根據要求“需要報時的時間五短一長,不需要報時的時間不報時”,所以需要進入時鍾的一些輸出端進行一些邏輯判斷。做出在需要報時的時段59分55秒到59秒輸出一段高電平的一個輸出端,還有在00分00秒輸出一個高電平。

然后將其輸入到2個不同頻率的蜂鳴器中,就可以實現定點報時的功能。

(2)電路設計圖:

clip_image078

圖4-5-2 定點報時電路搭接圖

其中CTEN為功能輸入,左邊的端口為時鍾對應輸入,Switch表示定點報時功能的開關,CIO表示秒表的進位端。

6、鬧鍾功能設計

(1)設計思路:

clip_image080

圖4-6-1 鬧鍾功能設計思路

首先需要搭建一個計數器能夠儲存設定的報鬧時間,做出一個比較電路進行比較,如果相同的話構建一個鬧鍾響一分鍾。

(2)計數功能搭建:

clip_image082

圖4-6-2 計數功能搭建圖

跟基礎的計數器級聯相同,但是做了一個小改變,就是在調節計數時,當時的十位為2時,個位只是4進制計數器。

(3)比較電路搭建:

clip_image084

圖4-6-3 比較電路搭建

采用74LS85四位比較器芯片,將時鍾和設定的時間進行比較,如果相同就輸出為“1”,不同就輸出為“0”。

(4)調整設定時間電路設計:

clip_image086

圖4-6-4 設定時間電路設計

與調整始終時間的電路相同,只不過將三態門構建的時鍾切換控制改成了用與門來進行搭建的。

7、萬年歷查詢功能:

(1)思路設計:

clip_image088

圖4-7-1 萬年歷查詢星期設計思路

首先,再每次進入萬年歷查詢星期功能時,需要把當前日期導入萬年歷子芯片,考慮的方法就是在沒有進入此功能時,直接置數,一但進入此功能關閉置數端功能即可。

其次,查詢分為3鍾情況,調節日,調節月,調節年,在進行對應調節的時候,星期要進行相應的改變。

最后,要加入顯示功能的匹配輸出口。

(2)年查詢設計:

首先搭建一個年計數器,直接重用原來在時鍾使用的年計數器,然后以加一年為例子:

A、 分析情況:

情況

結果

閏年的3月1號之后到平年的對應日期

星期加一

閏年的3月1號之前到平年的對應日期

星期加二

平年的3月1號之后到閏年的對應日期

星期加二

平年的3月1號之前到閏年的對應日期

星期加一

平年到平年對應的日期

星期加一

表4-7-2 年對應星期規律總結

B、 通過卡諾圖化簡,可以得到電路設計為:

clip_image089

圖4-7-2 年對應星期設計電路圖

即使用加計器,通過控制電路,控制在不同情況下,B4B3B2B1端口對應的是數值。

(3)月對應日期查詢

首先搭建一個月計數器,直接重用原來在時鍾使用的月計數器,然后以加一個月為例子:

A、 分析情況:

情況

結果

上個月是31天的

加3天

上個月是30天的

加2天

上個月是29天的

加1天

上個月是28天的

加0天

從12月跳到1月(同31天)

加3天

表4-7-3 月對應星期規律總結

B、 通過卡諾圖化簡,可以得到電路設計如下:

clip_image091

圖4-7-3 月對應星期查詢電路查詢設計

(4)日對應日期查詢:

首先搭建一個日計數器,直接重用原來在時鍾使用的日計數器,然后以加一個日為例子:

A、 分析情況:

分類

情況

結果

從31號跳到1號

上個月是31天的

加2天

上個月是30天的

加1天

上個月是29天的

加0天

上個月是28天的

加6天

其他

加一天

加1天

表4-7-4 日對應星期查詢規律總結

B、 通過卡諾圖化簡可得電路設計圖如下:

clip_image093

圖4-7-4 日對應星期查詢電路設計圖

(5)3種查詢方式的切換:

首先同調時電路一樣,需要有相應的調整切換按鈕,並且還需要選擇運算輸出的結果:

clip_image095

圖4-7-5 運算輸出的結果電路設計圖

選擇輸出的數值,且如果超過6的時候,進行減7的操作。保證輸出的星期都在0到6(即星期一到星期日之中)。

(6)閥值開關:

clip_image097

圖4-7-6 閥值開關設計圖

假如不加入一個閥值開關,就會形成一個閉環,變成一個環形計數器,但是我們可以通過假如一個計數器來做一個開關,當置數端打開時,才會進行置數輸出,否則不會繼續輸出。而置數端的開啟則是由調時按鈕觸發的脈沖得到的。

8、顯示功能設計

clip_image099

圖4-8-1 顯示功能預覽圖

(1)顯示功能及設計思路

clip_image101

圖4-7-1-2 顯示功能介紹圖

A、 左上角:表示鬧鍾和定點報時的開關,燈亮表示有開,否則則沒有打開。

B、 上方:表示在時鍾顯示和調時功能下,數碼管所顯示的內容是:

1:表示分和秒

2:表示時和分

3:表示月和日

4:表示年和月

C、 右邊:表示功能選擇,哪一個燈亮說明在哪一個功能下。

D、 中間:數顯,直接顯示數字

E、 下方:星期輸出,星期幾就是哪一個燈亮

(2)切換顯示功能

A:分析:

由於只有4個數碼管,所以必須進行數據的選擇輸出,顯而易見應該采用數據選擇器來完成,更好的是可以采用74AS157N進行數據選擇。

B:以年月日時分秒的切換作為例子:

clip_image103

圖4-7-2 年月日時分秒功能選擇輸出

左邊的方框:又一個順序脈沖發生器構成,當按下按鈕時會進行不同路脈沖的輸出。我們通過不同路賣出的輸出,進行對數據選擇控制端的編程。

上面的方框:三態門,控制端為相應功能切換電路使能,表示只有在當前功能時,才會輸出這個芯片內的數據,意味着每個需要接數碼管的子電路都需要有這個電路。

數據搭建的選擇電路:主要是使用順序脈沖發生器的輸出進行編程,對數據選擇器進行編程,這樣子的話可以選擇輸出相應的所需值。

(3)調時位閃爍功能:

clip_image105

圖4-7-3 調時位閃爍功能電路設計圖

A、 首先判斷需要閃爍的位要滿足的條件:

① 必須在當前顯示頁

② 調時所用的順序脈沖發生器輸出端對應有效

③ 進入調時功能選項

B、 因此,分塊完成對應功能

從下往上分別為第1,2,3,4模塊

模塊一:對應A所提的功能項所設計的邏輯電路來作為模塊二的控制端

模塊二:當輸入的控制端為1,則輸出閃爍信號,否則輸出不閃爍信號(接地)。

模塊三:當在時鍾顯示功能時無論如何不閃爍,只有在調試功能下才閃爍。

模塊四:只有當進入此功能時,才會有輸出。

五、心得體會

1、更深刻更熟練的掌握數電技術進行設計,熟練掌握各種基本電路,比如說計數器,觸發器,寄存器,555以及單穩多諧等等知識的總和運用。

2、巧妙使用微積分電路,可以造出一個所需的脈沖,化簡電路。

3、所有的仿真都忽略了實際器件的參數,其實很多地方需要加入電阻,電容,這樣子才可以使電路正常工作,例如七段數碼管,需要在輸入端口加入電阻,否則會發生閃爍不同步的問題。

4、Multisim軟件的局限性很大,刷新頻率不夠大,每次改變都要完全遍歷數組,如此不科學的方法實在讓大型電路的設計難以進行。但是在我們沒有辦法改變規則的情況下,只好自己做出妥協:

(1)每個子電路都在一個新的設計中設計,這樣子不會產生連線卡頓的問題。

(2)當出現邏輯功能對卻沒有產生對應的效果,例如進位,這樣的時候是因為器件的參數沒匹配,但是Multisim不會進行報錯提示,需要我們自己進行解決,一種是加入電阻電容使之匹配,另一種方法是加入探針,它會進行自適配。

(3)在進行端口連接時,一次性盡量連接多個口,因為遍歷一次數組就可以將所有的加入。所以必須如此。

5、設計電路的時候最好先構思,從上而下先宏觀布局,從下而上修改布局。然后反復幾遍,確認思路可行之時,開始從基礎搭起,預留端口。做好備注。

6、電路設計是一件耗時的事情,需要大家一起討論,每個人的想法都不同,大家討論,互相改進,最后就會使得效率提高。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM