第一篇:數(shù)字時鐘的設(shè)計實驗報告
實驗報告
數(shù)字時鐘的設(shè)計
一、實驗?zāi)康?/p>
1、掌握數(shù)字鐘的設(shè)計方法。
2、掌握計數(shù)器相互級聯(lián)的方法。學(xué)號:14040120049 姓名:陶澤
二、實驗設(shè)備和器件
1、數(shù)字邏輯電路實驗板2、74HC(LS)20(二四輸入與非門)
3、74HC(LS)160(4位十進(jìn)制計數(shù)器)
1塊 2片 4片、三、實驗原理
1、設(shè)計總框圖:
2、各部分單元的設(shè)計提示與分析: 1)時鐘源
它是數(shù)字式時鐘的核心,它保證了時鐘的走時準(zhǔn)確及穩(wěn)定。1Hz的脈沖信號由CPLD輸出的信號得到。
2)時間計數(shù)單元
時間計數(shù)單元有分計數(shù)和秒計數(shù)等幾個部分。分計數(shù)和秒計數(shù)單元為60進(jìn)制計數(shù)器,其輸出為8421BCD碼。
3)譯碼驅(qū)動及顯示單元 計數(shù)器實現(xiàn)了對時間的累計并以8421BCD碼形式輸出,顯示譯碼電路將計數(shù)器的輸出數(shù)碼轉(zhuǎn)換為數(shù)碼顯示器件所需要的輸出邏輯和一定的電流。4)校時電路
當(dāng)重新接通電源或走時出現(xiàn)誤差時都需要對時間進(jìn)行校正。通常,校正時間的方法是:首先截斷正常的計數(shù)通路,然后再進(jìn)行人工出觸發(fā)計數(shù)或?qū)㈩l率較高的方波信號加到需要校正的計數(shù)單元的輸入端,校正好后,再轉(zhuǎn)入正常計時狀態(tài)即可。5)鬧鐘電路
一般時鐘都應(yīng)具備鬧鐘功能,即在到達(dá)某預(yù)定時間時,時鐘會發(fā)出連續(xù)的或有節(jié)奏的音頻聲波,較復(fù)雜的也可以是實時語音提示,以示提醒。實驗用器件管腳介紹:
四、實驗內(nèi)容與步驟
1、用兩片74HC(LS)160連接構(gòu)成秒計數(shù)器,并連接數(shù)碼管顯示(基本命題)
例如采用整體置零法。實現(xiàn)計數(shù)范圍為0000 0000--0101 1001。電路連接完成后,檢驗其功能。
2、在實驗內(nèi)容與步驟1的基礎(chǔ)上再用兩片74 HC(LS)160實現(xiàn)分的計數(shù)(基本命題)
分計數(shù)器的個位和十位之間的連接類同于秒計數(shù)器。需實現(xiàn)從秒到分的進(jìn)位。電路連接完成后檢驗其功能。
3、實現(xiàn)校時功能(擴(kuò)展命題)
檢驗功能
4、實現(xiàn)鬧鐘功能(擴(kuò)展命題)
連接電路,檢驗其功能。
五、實驗注意事項 集成電路要輕插輕拔!
六.實驗電路圖
1.用兩片74HC(LS)160連接構(gòu)成秒計數(shù)器,并連接數(shù)碼管顯示
2.在實驗內(nèi)容與步驟1的基礎(chǔ)上再用兩片74 HC(LS)160實現(xiàn)分的計數(shù)
七.其他(實驗過程中出現(xiàn)的問題或心得體會)這次實驗增加了我對計數(shù)器的了解,增強(qiáng)了我的動手能力。這次實驗我們插錯了一根線,結(jié)果成了模100的計數(shù)器,經(jīng)過仔細(xì)的檢查才發(fā)現(xiàn)。
第二篇:數(shù)字電子時鐘實驗報告
華大計科學(xué)院
數(shù)字邏輯課程設(shè)計說明書
題目:
多功能數(shù)字鐘
專業(yè):
計算機(jī)科學(xué)與技術(shù)
班級:
網(wǎng)絡(luò)工程1班
姓名:
劉群 學(xué)號:
1125111023
完成日期:
2013-9
一、設(shè)計題目與要求
設(shè)計題目:多功能數(shù)字鐘 設(shè)計要求:
1.準(zhǔn)確計時,以數(shù)字形式顯示時、分、秒的時間。2.小時的計時可以為“12翻1”或“23翻0”的形式。
3.可以進(jìn)行時、分、秒時間的校正。
二、設(shè)計原理及其框圖 1.數(shù)字鐘的構(gòu)成
數(shù)字鐘實際上是一個對標(biāo)準(zhǔn)頻率1HZ)進(jìn)行計數(shù)的計數(shù)電路。由于計數(shù)的起始時間不可能與標(biāo)準(zhǔn)時間(如北京時間)一致,故需要在電路上加一個校時電路。圖 1 所示為數(shù)字鐘的一般構(gòu)成框圖。
圖1 數(shù)字電子時鐘方案框圖 ⑴多諧振蕩器電路
多諧振蕩器電路給數(shù)字鐘提供一個頻率1Hz 的信號,可保證數(shù)字鐘的走時準(zhǔn)確及穩(wěn)定。⑵時間計數(shù)器電路
時間計數(shù)電路由秒個位和秒十位計數(shù)器、分個位和分十位計數(shù)器及時個位和時十位計數(shù)器電路構(gòu)成。其中秒個位和秒十位計數(shù)器、分個位和分十位計數(shù)器為60 進(jìn)制計數(shù)器。而根據(jù)設(shè)計要求,時個位和時十位計數(shù)器為24 進(jìn)制計數(shù)器。⑶譯碼驅(qū)動電路
譯碼驅(qū)動電路將計數(shù)器輸出的8421BCD 碼轉(zhuǎn)換為數(shù)碼管需要的邏輯狀態(tài),并且為保證數(shù)碼管正常工作提供足夠的工作電流。⑷數(shù)碼管
數(shù)碼管通常有發(fā)光二極管(LED)數(shù)碼管和液晶(LCD)數(shù)碼管。本設(shè)計提供的為LED數(shù)碼管。2.數(shù)字鐘的工作原理 ⑴多諧振蕩器電路
555 定時器與電阻R1、R2,電容C1、C2 構(gòu)成一個多諧振蕩器,利用電容的充放電來調(diào)節(jié)輸出V0,產(chǎn)生矩形脈沖波作為時鐘信號,因為是數(shù)字鐘,所以應(yīng)選擇的電阻電容值使頻率為1HZ。⑵時間計數(shù)單元
六片74LS90 芯片構(gòu)成計數(shù)電路,按時間進(jìn)制從右到左構(gòu)成從低位向高位的進(jìn)位電路,并通過譯碼顯示。在六位LED 七段顯示起上顯示對應(yīng)的數(shù)值。⑶校時電源電路
當(dāng)重新接通電源或走時出現(xiàn)誤差時都需要對時間進(jìn)行校正。通常,校正時間的方法是:首先截斷正常的計數(shù)通路,然后再進(jìn)行人工出觸發(fā)計數(shù)或?qū)㈩l率較高的方波信號加到需要校正的計數(shù)單元的輸入端,校正好后,再轉(zhuǎn)入正常計時狀態(tài)即可。
根據(jù)要求,數(shù)字鐘應(yīng)具有分校正和時校正功能。因此,應(yīng)截斷分個位和時個位的直接計數(shù)通路,并采用正常計時信號與校正信號可以隨時切換的電路接入其中。圖8所示即為帶有基本RS 觸發(fā)器的校時電路。
三、元器件
1.實驗中所需的器材 單刀雙擲開關(guān)4 個.5V 電源.共陰七段數(shù)碼管 6 個.74LS90D 集成塊 6 塊.74HC00D 6個 LM555CM 1個 電阻 6個 10uF 電容 2個
2.芯片內(nèi)部結(jié)構(gòu)及引腳圖
圖2 LM555CM集成塊
圖3 74LS90D集成塊
五、各功能塊電路圖
1秒脈沖發(fā)生器主要由555 定時器和一些電阻電容構(gòu)成,原理是利用555 定時器的特性,通過電容的充放電使VC 在高、低電平之間轉(zhuǎn)換。其中555 定時器的高、低電平的門閥電壓分別是2/3VCC 和1/3VCC電容器充電使VC 的電壓大于2/3VCC 則VC 就為高電平,然
而由于反饋作用又會使電容放電。當(dāng)VC 小于1/3VCC 時,VC 就為低電平。同樣由于反饋作用又會使電容充電。通過555 定時器的這一性質(zhì)我們就可以通過計算使他充放電的周期剛好為1S這樣我們就會得到1HZ 的信號。其中555 定時器的一些功能對照后面目錄。其中 555 定時器組成的脈沖發(fā)生器電路見附圖4.圖4 555 定時器組成的脈沖發(fā)生器
由于我們要得到1HZ 的信號,所以我們就可以通過555 定時器充放電一次所需的時間的公式。將那時間設(shè)為1S然后設(shè)定兩個電阻計算出另外那個電容值.在設(shè)定電阻值時我們要記住將電阻值設(shè)為比較常用的那種電阻值,得到的電容值也盡可能讓它是比較普遍使用 的。這樣就避免了在實際組裝過程中很難買到當(dāng)初設(shè)定的那電阻和計算出 的電容值。
在這次設(shè)定中我們設(shè)定的電阻值RA=10KΩ,RB=62kΩ,C=10uF 經(jīng)公式
f = 1.43 ÷【(RA + 2RB)×C 】 可得近似為1HZ。
2、利用一個LED 數(shù)碼管一塊74LS90D 連接成一個十進(jìn)制計數(shù)器,電路在晶振的作用下數(shù)碼管從0—9 顯示見圖5。
圖5、利用2 片74LS90D 芯片連接成一個六十進(jìn)制電路,電路可從0—59 顯示。第一片74LS90D芯片構(gòu)成10 進(jìn)制計數(shù)器,第二片74LS90D 芯片構(gòu)成6 進(jìn)制計數(shù)器。74LS90D 具有異步清零功能。
在第一片74ls90 構(gòu)成的十進(jìn)制計數(shù)器中,當(dāng)?shù)谑畟€脈沖來到時。此時他的四級觸發(fā)器的狀態(tài)為“1001”。這時他就會自動清零。同時給第二片74ls90 構(gòu)成的6 進(jìn)制計數(shù)器進(jìn)一,第六個脈沖進(jìn)位到來時,此時第二片74ls90 芯片的觸發(fā)器的狀態(tài)為“0110”,這時QB,QC 均為高電平。將QB 與RO1 相連,將Ro2 與Qc 相連,就會進(jìn)行異步清零。如此循環(huán)就會構(gòu)成60 進(jìn)制計數(shù)器.見附圖6.圖6 十六進(jìn)制電路
4、利用2 片74LS90D 芯片構(gòu)成24 進(jìn)制計數(shù)器。一片構(gòu)成二進(jìn)制計數(shù)器,一片構(gòu)成四進(jìn)制計數(shù)器。由于74LS90D 芯片清零是由兩個清零端控制的,所以當(dāng)?shù)?4 個脈沖到來時,第一片74lLS90D芯片的Qc 為高電平。第二片74LS90D 芯片的Qb 為高電平,讓第一片74LS90D 芯片的Qc 與兩片芯片的Ro1 相連.讓第二片74ls90 芯片的QB 與兩片芯片的Ro2 相連。當(dāng)?shù)?4 個脈沖到來時就會進(jìn)行異步清零。如此循環(huán)就會構(gòu)成24 進(jìn)制計數(shù)器。見附圖7.圖7 24進(jìn)制電路
5、數(shù)字鐘電路由于秒信號的精確性和穩(wěn)定性不可能坐到完全準(zhǔn)確無誤,又因為電路中其他的原因數(shù)字鐘總會產(chǎn)生走時誤差的現(xiàn)象。所以,電路中就應(yīng)該有校準(zhǔn)時間功能的電路。在這次設(shè)計中教時電路用的是一個RS 基本觸發(fā)器的單刀雙置開關(guān),每搬動開關(guān)一次產(chǎn)生一個計數(shù)脈沖.實現(xiàn)校時功能。見附圖8。
7、利用兩個六十進(jìn)制和一個二十四進(jìn)制連接成一個時、分、秒都會進(jìn)位的電路總圖。見附圖8
圖8 總電路圖
六、心得體會
在這次設(shè)計中我們深深地體會到了理論跟實踐的不同,理論學(xué)的再好不會動手那也只能是紙上談兵。我們了解了集成電路芯片的型號命名規(guī)律,懂得了沒有某種芯片時的替代方法,以及在網(wǎng)上查找電子電路資料的方法,掌握了各芯片的邏輯功能及使用方法,進(jìn)一步熟悉了集成電路的引腳安排,掌握了數(shù)字鐘的設(shè)計方法,明白了數(shù)字鐘的組成原理以及工作原理。掌握了計數(shù)器的工作原理,以及計數(shù)器進(jìn)制的組成方法和級聯(lián)方法,實現(xiàn)了一次理論指導(dǎo)實踐、理論向?qū)嵺`過渡的跨越,雖然期間遇到一些困難,但這些困難卻增強(qiáng)了我們分析問題、解決問題的能力,使我們以后不僅只學(xué)習(xí)書本中的理論知識,而且知道學(xué)以致用,動過動手實踐是我們對書本中的理論知識掌握地跟牢固、理解地跟深刻,這對我們今后的工作及學(xué)習(xí)有積極的影響。這次課程設(shè)計不僅再次復(fù)習(xí)了數(shù)字電子和模擬電子,而且讓我對于芯片的使用更加了解。增加了我的動手操作能力,加深了對該軟件的了解。這就是這次課程設(shè)計的成果,相信這些實際的操作經(jīng)驗會是我們以后的寶貴財富。
第三篇:數(shù)字時鐘設(shè)計實驗報告
電 子 課 程 設(shè) 計
題
目:數(shù)字時鐘
數(shù)字時鐘設(shè)計實驗報告
一、設(shè)計要求:
設(shè)計一個 24 小時制的數(shù)字時鐘。
要求:計時、顯示精度到秒;有校時功能。采用中小規(guī)模集成電路設(shè)計。
發(fā)揮:增加鬧鐘功能。
二、設(shè)計方案:
由秒時鐘信號發(fā)生器、計時電路和校時電路構(gòu)成電路。
秒時鐘信號發(fā)生器可由振蕩器和分頻器構(gòu)成。
計時電路中采用兩個 60 進(jìn)制計數(shù)器分別完成秒計時和分計時;24 進(jìn)制計數(shù)器完成時計時;采用譯碼器將計數(shù)器的輸出譯碼后送七段數(shù)碼管顯示。
校時電路采用開關(guān)控制時、分、秒計數(shù)器的時鐘信號為校時脈沖以完成校時。
三、電路框圖:
圖一 數(shù)字時鐘電路框圖
四、電路原理圖:
(一)秒脈沖信號發(fā)生器 秒脈沖信號發(fā)生器是數(shù)字電子鐘的核心部分,它的精度和穩(wěn)定度決定了數(shù)字鐘的質(zhì)量。由振蕩器與分頻器組合產(chǎn)生秒脈沖信號。
? 振蕩器: 通常用 555 定時器與 RC 構(gòu)成的多諧振蕩器,經(jīng)過調(diào)整輸出 1000Hz 脈沖。
? 分頻器: 分頻器功能主要有兩個,一是產(chǎn)生標(biāo)準(zhǔn)秒脈沖信號,一是提供功能 擴(kuò)展電路所需要的信號,選用三片 74LS290 進(jìn)行級聯(lián),因為每片為 1/10 分頻器,三片級聯(lián)好獲得 1Hz 標(biāo)準(zhǔn)秒脈沖。其電路圖如下:
譯碼器 譯碼器 譯碼器 時計數(shù)器(24 進(jìn)制)分計數(shù)器(60 進(jìn)制)秒計數(shù)器(60 進(jìn)制)校 時 電 路 秒信號發(fā)生器
圖二 秒脈沖信號發(fā)生器
(二)秒、分、時計時器電路設(shè)計 秒、分計數(shù)器為 60 進(jìn)制計數(shù)器,小時計數(shù)器為 24 進(jìn)制計數(shù)器。
? 60 進(jìn)制——秒計數(shù)器 秒的個位部分為逢十進(jìn)一,十位部分為逢六進(jìn)一,從而共同完成 60 進(jìn)制計數(shù)器。當(dāng)計數(shù)到 59 時清零并重新開始計數(shù)。秒的個位部分的設(shè)計:利用十進(jìn)制計數(shù)器 CD40110 設(shè)計 10 進(jìn)制計數(shù)器顯示秒的個位。個位計數(shù)器由 0 增加到 9 時產(chǎn)生進(jìn)位,連在十位部計數(shù)器脈沖輸入端 CP,從而實現(xiàn) 10 進(jìn)制計數(shù)和進(jìn)位功能。利用 74LS161 和 74LS11 設(shè)計 6 進(jìn)制計數(shù)器顯示秒的十位,當(dāng)十位計數(shù)器由 0 增加到 5 時利用 74LS11 與門產(chǎn)生一個高電平接到個位、十位的 CD40110 的清零端,同時產(chǎn)生一個脈沖給分的個位。其電路圖如下:
圖三 60 進(jìn)制--秒計數(shù)電路
? 60 進(jìn)制——分計數(shù)電路 分的個位部分為逢十進(jìn)一,十位部分為逢六進(jìn)一,從而共同完成 60 進(jìn)制計數(shù)器。當(dāng)計數(shù)到 59 時清零并重新開始計數(shù)。秒的個位部分的設(shè)計:來自秒計數(shù)電路的進(jìn)位脈沖使分的個位加 1,利用十進(jìn)制計數(shù)器 CD40110 設(shè)計 10 進(jìn)制計數(shù)器顯示秒的個位。個位計數(shù)器由 0 增加到 9 時產(chǎn)生進(jìn)位,連在十位部計數(shù)器脈沖輸入端 CP,從而實現(xiàn) 10 進(jìn)制計數(shù)和進(jìn)位功能。利用 74LS161 和 74LS11 設(shè)計 6 進(jìn)制計數(shù)器顯示秒的十位,當(dāng)十位計數(shù)器由 0增加到 5 時利用 74LS11 與門產(chǎn)生一個高電平接到個位、十位的 CD40110 的清零端,同時產(chǎn)生一個脈沖給時的個位。其電路圖如下:
圖四 60 進(jìn)制--分計數(shù)電路
? 24 進(jìn)制——時計數(shù)電路 來自分計數(shù)電路的進(jìn)位脈沖使時的個位加,個位計數(shù)器由 0 增加到 9 是產(chǎn)生進(jìn)位,連在十位計數(shù)器脈沖輸入端 CP,當(dāng)十位計到 2 且個位計到 3 是經(jīng)過 74LS11 與門產(chǎn)生一個清零信號,將所有 CD40110 清零。其電路圖如下:
圖五 24 進(jìn)制--時計數(shù)電路
? 譯碼顯示電路 譯碼電路的功能是將秒、分、時計數(shù)器的輸出代碼進(jìn)行翻譯,變成相應(yīng)的數(shù)字。用以驅(qū)動 LED 七段數(shù)碼管的譯碼器常用的有 74LS148。74LS148 是 BCD-7 段譯碼器/驅(qū)動器,輸出高電平有效,專用于驅(qū)動 LED 七段共陰極顯示數(shù)碼管。若將秒、分、時計數(shù)器的每位輸出分別送到相應(yīng)七段數(shù)碼管的輸入端,便可以進(jìn)行不同數(shù)字的顯示。在譯碼管輸出與數(shù)碼管之間串聯(lián)電阻 R 作為限流電阻。其電路圖如下:
圖六 譯碼顯示電路
?
校時電路
校時電路是數(shù)字鐘不可缺少的部分,每當(dāng)數(shù)字鐘與實際時間不符時,需要根據(jù)標(biāo)準(zhǔn)時間進(jìn)行校時。一般電子表都具有時、分、秒等校時功能。為了使電路簡單,在此設(shè)計中只進(jìn)行分和小時的校時?!翱煨r”是通過開關(guān)控制,使計數(shù)器對 1Hz 校時脈沖計數(shù)。圖中
S1 為校正用的控制開關(guān),校時脈沖采用分頻器輸出的 1Hz 脈沖,當(dāng) S1 為“0”時可以進(jìn)行“快校時”。
其電路圖如下:
圖七 校隊電路
五、實驗方法:
1、秒脈沖產(chǎn)生部分
采用555多諧振蕩器產(chǎn)生1HZ頻率信號,作為秒脈沖及整體電路的信號輸入部分。其仿真電路圖如下圖所示:
圖八 秒脈沖發(fā)生器仿真電路
2、計數(shù)電路 電子鐘計時分為小時、分鐘和秒,其中小時為二十四進(jìn)制,分鐘和秒均為六十進(jìn)制,輸出可以用數(shù)碼管顯示,所以要求二十四進(jìn)制為 00000000~00100100 計數(shù),六十進(jìn)制為 00000000~01100000 計數(shù),并且均為 8421 碼編碼形式。
(1)
小時計數(shù)——二十四進(jìn)制電路仿真
用兩片 74LS160N(分 A 片、B 片)設(shè)計一個一百進(jìn)制的計數(shù)器,在 24(00100100)處直接取出所有為 1 的端口,經(jīng)過輸入與非門 74LS00D,再給兩個清零端 CLR。使用 74LS160N 異步清零功能完成二十四進(jìn)制循環(huán),計數(shù)范圍為 0~23。然后用七段顯示譯碼器 74LS47D 將 A、B 兩片8
U1074LS01
U1174LS0112
U1074LS00
R3.3 C0.01uS1
GN10
1U8E
74LS01HZ
S2/M2 +5
74LS160N 的輸出譯碼給 LED 數(shù)碼管。仿真電路如圖九所示。
:
圖九 24 進(jìn)制——時計數(shù)器仿真電路(2)分鐘、秒計數(shù)——六十進(jìn)制電路仿真
此電路類似于二十四進(jìn)制計數(shù)器,采用 74LS160N 設(shè)計出一百進(jìn)制的計數(shù)器,在 60(01100000)處直接取出所有為 1 的端口,經(jīng)過輸入與非門 74LS00D,再給兩個清零端 CLR。使用 74LS160N異步清零功能完成六十進(jìn)制循環(huán),計數(shù)范圍為 0~59。然后用七段顯示譯碼器 74LS47D 將 A、B兩片 74LS160N 的輸出譯碼給 LED 數(shù)碼管。仿真電路如圖所示:
圖十 60 進(jìn)制——秒計數(shù)器仿真電路
圖十一 60 進(jìn)制——分計數(shù)器仿真電路
(四)校時校分(秒)電路。
數(shù)字鐘應(yīng)具有分校正和時校正功能,因此,應(yīng)截斷分個位和時個位的直接計數(shù)通路,并采用正常計時信號與校正信號可以隨時切換的電路接入其中。這里利用兩個與非門加一個單刀雙擲開關(guān)來實現(xiàn)校時功能。第一個 74LS00D 與非門的輸入端一端接清零信號,另一端接第二個與非門的輸入端,第二個 74LS00D 的輸入端一端接計數(shù)脈沖,另一端接一個單刀雙擲開關(guān)。開關(guān)接通的一段接地,另一端接高電平。當(dāng)開關(guān)打到另一端時,時或分的個位就單獨開始計數(shù),這樣就能實現(xiàn)校時功能。其電路圖如圖所示:
圖十二 校分仿真電路
六、實驗結(jié)果和結(jié)論:
數(shù)字時鐘仿真電路圖如下圖所示,在 Multisim11.0 中進(jìn)行仿真,可以實現(xiàn)數(shù)字時鐘的顯示功能、校時功能。顯示功能中,小時實現(xiàn)的是 24 進(jìn)制,分和秒實現(xiàn)的是 60 進(jìn)制,通過校時電路能夠分別校對時和分。
圖十三 數(shù)字時鐘仿真電路
七、設(shè)計體會:
在本次 Multisim 仿真過程,從安裝軟件、選定課題、設(shè)計電路、進(jìn)行仿真、運行結(jié)果都自己實際操作完成。在數(shù)字時鐘設(shè)計中,根據(jù)老師上課所講的內(nèi)容,可以用兩片集成十進(jìn)制同步計數(shù)器 74LS160D 級聯(lián)為 100 進(jìn)制,再利用其異步清零功能,可以分別實現(xiàn)小時的 24 進(jìn)制和分秒的 60 進(jìn)制。當(dāng)然,在仿真過程中也遇到了很多困難和問題。比如說,無法直接從秒進(jìn)位到分和分進(jìn)位到時,并且在仿真中總是出錯。于是自己請教了一些也做數(shù)字時鐘的同學(xué),同時在網(wǎng)上查找了相關(guān)資料,最后終于用兩個與非門和單刀雙擲開關(guān)實現(xiàn)了從秒到分的進(jìn)位、分到時的進(jìn)位功能及校準(zhǔn)功能。
通過本次實驗對數(shù)電知識有了更深入的了解,將其運用到了實際中來,明白了學(xué)習(xí)電子技術(shù)基礎(chǔ)的意義,也達(dá)到了其培養(yǎng)的目的。也明白了一個道理:成功就是在不斷摸索中前進(jìn)實現(xiàn)的,遇到問題我們不能灰心、煩躁,甚至放棄,而要靜下心來仔細(xì)思考,分部檢查,找出最終的原因進(jìn)行改正,這樣才會有進(jìn)步,才會一步步向自己的目標(biāo)靠近,才會取得自己所要追求的成功。
當(dāng)然,自己的仿真技術(shù)和應(yīng)用能力還是很欠缺的,雖然完成了基本的設(shè)計要求,但是很多自己想要的擴(kuò)展功能還未能實現(xiàn)。而且很多時候會走過很多彎路,浪費了很多不必要的時間。不過,這次設(shè)計經(jīng)歷必將使我受益終身,讓我明白如何更好的獲取知識,如何更好的理論聯(lián)系實際。今后的學(xué)習(xí)更需要不斷努力,在獲得知識的同時獲得快樂,真正的主動探索,主動學(xué)習(xí),形成自己的思維方式,不斷應(yīng)用,不斷進(jìn)取。
第四篇:FPGA可調(diào)數(shù)字時鐘實驗報告
浙江大學(xué)城市學(xué)院
實驗報告紙
一、實驗要求
1、用vhdl編程,實現(xiàn)10進(jìn)制計數(shù)器
2、用vhdl編程,實現(xiàn)60進(jìn)制計數(shù)器
3、用vhdl編程,實現(xiàn)數(shù)字時鐘,時、分、秒、毫秒分別顯示在數(shù)碼管上。
4、實現(xiàn)可調(diào)數(shù)字時鐘的程序設(shè)計,用按鍵實現(xiàn)時、分、秒、毫秒的調(diào)整。
二、實驗原理
用VHDL,行為級描述語言實現(xiàn)實驗要求。思路如下:
1、分頻部分:由50MHZ分頻實現(xiàn)1ms的技術(shù),需要對50MHZ采取500000分頻。
2、計數(shù)部分:采用低級影響高級的想法,類似進(jìn)位加1的思路。對8個寄存器進(jìn)行計數(shù),同步數(shù)碼管輸出。
3、數(shù)碼管輸出部分:用一個撥碼開關(guān)控制顯示,當(dāng)sw0=0時,四位數(shù)碼管顯示秒、毫秒的計數(shù)。當(dāng)sw0=1時,四位數(shù)碼管顯示時、分得計數(shù)。
4、調(diào)整部分:分別用四個按鍵控制時、分、秒、毫秒的數(shù)值。先由一個開關(guān)控制計數(shù)暫停,然后,當(dāng)按鍵按下一次,對應(yīng)的數(shù)碼管相對之前的數(shù)值加1,,通過按鍵實現(xiàn)時間控制,最后開關(guān)控制恢復(fù)計數(shù),完成時間調(diào)整。
5、整個實現(xiàn)過程由一個文件實現(xiàn)。
三、實驗過程
各個引腳說明: Clk:50MHZ SW:數(shù)碼管切換,SW=’0’時,數(shù)碼管顯示為秒,毫秒。SW=’1’時,數(shù)碼管顯示為時,分。
SW1:暫停與啟動。SW1=’0’時,時鐘啟動,SW=’1’時,時鐘暫停。
SW2:時鐘調(diào)整接通按鈕,當(dāng)SW2=’0’時,不進(jìn)行調(diào)整,當(dāng)SW=’1’時,通過按鍵調(diào)整時間。
KEY0: 毫秒調(diào)整,按一次實現(xiàn)+1功能 KEY1:秒調(diào)整,按一次實現(xiàn)+1功能
浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
KEY2:分調(diào)整,按一次實現(xiàn)+1功能 KEY3:時調(diào)整,按一次實現(xiàn)+1功能 Q0;第一個數(shù)碼管 Q1;第二個數(shù)碼管 Q2: 第三個數(shù)碼管 Q3: 第四個數(shù)碼管
1、源代碼如下:
library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity paobiao is port(clk,sw,key0,key1,key2,key3,sw1,sw2:in std_logic;
q0:out std_logic_vector(6 downto 0);
q1:out std_logic_vector(6 downto 0);
q2:out std_logic_vector(6 downto 0);
q3:out std_logic_vector(6 downto 0));end paobiao;architecture behave of paobiao is signal cntt1 :integer range 0 to 10;signal cntt2 :integer range 0 to 10;signal cntt3 :integer range 0 to 10;signal cntt4 :integer range 0 to 6;signal cntt5 :integer range 0 to 10;signal cntt6 :integer range 0 to 10;signal cntt7 :integer range 0 to 10;signal cntt8 :integer range 0 to 6;浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
signal cntttt1 :integer range 0 to 10;signal cntttt2 :integer range 0 to 10;signal cntttt3 :integer range 0 to 10;signal cntttt4 :integer range 0 to 6;signal cntttt5 :integer range 0 to 10;signal cntttt6 :integer range 0 to 10;signal cntttt7 :integer range 0 to 10;signal cntttt8 :integer range 0 to 6;
begin
process(clk)--,key0,key1,key2,key3)
variable cnt :integer range 0 to 500000;
--variable cnt9 :integer range 0 to 3000000000;
variable cnt1 :integer range 0 to 10;
variable cnt2 :integer range 0 to 10;
variable cnt3 :integer range 0 to 10;
variable cnt4 :integer range 0 to 6;
variable cnt5 :integer range 0 to 10;
variable cnt6 :integer range 0 to 10;
variable cnt7 :integer range 0 to 10;
variable cnt8:integer range 0 to 6;
begin if(clk'event and clk='1')then
if(sw1='0')then if(cnt>=2)then
cnt:=0;
cnt1:=cnt1+1;浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
if(cnt1=10)then
cnt1:=0;
cnt2:=cnt2+1;
if(cnt2=10)then
cnt1:=0;
cnt2:=0;
cnt3:=cnt3+1;
if(cnt3=10)then
cnt1:=0;
cnt2:=0;
cnt3:=0;
cnt4:=cnt4+1;
if(cnt4=6)then
cnt1:=0;
cnt2:=0;
cnt3:=0;
cnt4:=0;
cnt5:=cnt5+1;
if(cnt5=10)then
cnt5:=0;
cnt6:=cnt6+1;
if(cnt6=6)then
cnt5:=0;
cnt6:=0;
cnt7:=cnt7+1;
if(cnt7=4)then
cnt5:=0;
cnt6:=0;
cnt7:=0;浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
cnt8:=cnt8+1;
if(cnt8=3)then
cnt5:=0;
cnt6:=0;
cnt7:=0;
cnt8:=0;
end if;
end if;
end if;
end if;
end if;
end if;
end if;
end if;
else cnt:=cnt+1;
end if;
if(sw2='0')then
cntt1<=cnt1;
cntt2<=cnt2;
cntt3<=cnt3;
cntt4<=cnt4;
cntt5<=cnt5;
cntt6<=cnt6;
cntt7<=cnt7;
cntt8<=cnt8;
else
cnt1:=cntttt1;
cnt2:=cntttt2;
cnt3:=cntttt3;浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
cnt4:=cntttt4;
cnt5:=cntttt5;
cnt6:=cntttt6;
cnt7:=cntttt7;
cnt8:=cntttt8;
cntt1<=cnt1;
cntt2<=cnt2;
cntt3<=cnt3;
cntt4<=cnt4;
cntt5<=cnt5;
cntt6<=cnt6;
cntt7<=cnt7;
cntt8<=cnt8;
end if;
end if;end if;end process;
process(key0)variable cnttt1 :integer range 0 to 10;variable cnttt2 :integer range 0 to 10;begin if(key0'event and key0='0')then
cnttt1:=cnttt1+1;
if(cnttt1=10)then
cnttt1:=0;
cnttt2:=cnttt2+1;
if(cnttt2=10)then 浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
cnttt2:=0;
end if;
end if;
cntttt1<=cnttt1;
cntttt2<=cnttt2;end if;
end process;process(key1)variable cnttt3 :integer range 0 to 10;variable cnttt4 :integer range 0 to 10;begin if(key1'event and key1='0')then
cnttt3:=cnttt3+1;
if(cnttt3=10)then
cnttt3:=0;
cnttt4:=cnttt4+1;
if(cnttt4=6)then
cnttt4:=0;
end if;
end if;cntttt3<=cnttt3;
cntttt4<=cnttt4;end if;end process;process(key2)variable cnttt5 :integer range 0 to 10;variable cnttt6 :integer range 0 to 10;begin
if(key2'event and key2='0')then 浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
cnttt5:=cnttt5+1;
if(cnttt5=10)then
cnttt5:=0;
cnttt6:=cnttt6+1;
if(cnttt6=6)then
cnttt6:=0;
end if;
end if;cntttt5<=cnttt5;
cntttt6<=cnttt6;
end if;end process;process(key3)variable cnttt7 :integer range 0 to 10;variable cnttt8 :integer range 0 to 10;begin
if(key3'event and key3='0')then
cnttt7:=cnttt7+1;
if(cnttt7=4)then
cnttt7:=0;
cnttt8:=cnttt8+1;
if(cnttt8=3)then
cnttt8:=0;
end if;
end if;
cntttt7<=cnttt7;
cntttt8<=cnttt8;
end if;浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
end process;
--end if;--end process;
process(cntt1,cntt5)
begin
if(sw='0')then
case cntt1 is
when 0=>q0<=“1000000”;
when 1=>q0<=“1111001”;
when 2=>q0<=“0100100”;
when 3=>q0<=“0110000”;
when 4=>q0<=“0011001”;
when 5=>q0<=“0010010”;
when 6=>q0<=“0000010”;
when 7=>q0<=“1011000”;
when 8=>q0<=“0000000”;
when 9=>q0<=“0010000”;
when others=>q0<=NULL;end case;else
case cntt5 is
when 0=>q0<=“1000000”;
when 1=>q0<=“1111001”;
when 2=>q0<=“0100100”;
when 3=>q0<=“0110000”;
when 4=>q0<=“0011001”;
when 5=>q0<=“0010010”;
when 6=>q0<=“0000010”;
浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
when 7=>q0<=“1011000”;
when 8=>q0<=“0000000”;
when 9=>q0<=“0010000”;
when others=>q0<=NULL;end case;
end if;
end process;
process(cntt2,cntt6)
begin if(sw='0')then
case cntt2 is
when 0=>q1<=“1000000”;
when 1=>q1<=“1111001”;
when 2=>q1<=“0100100”;
when 3=>q1<=“0110000”;
when 4=>q1<=“0011001”;
when 5=>q1<=“0010010”;
when 6=>q1<=“0000010”;
when 7=>q1<=“1011000”;
when 8=>q1<=“0000000”;
when 9=>q1<=“0010000”;
when others=>q1<=NULL;end case;else
case cntt6 is
when 0=>q1<=“1000000”;
when 1=>q1<=“1111001”;
when 2=>q1<=“0100100”;浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
when 3=>q1<=“0110000”;
when 4=>q1<=“0011001”;
when 5=>q1<=“0010010”;
when 6=>q1<=“0000010”;
when 7=>q1<=“1011000”;
when 8=>q1<=“0000000”;
when 9=>q1<=“0010000”;
when others=>q1<=NULL;end case;end if;
end process;process(cntt3,cntt7)
begin
if(sw='0')then
case cntt3 is
when 0=>q2<=“1000000”;
when 1=>q2<=“1111001”;
when 2=>q2<=“0100100”;
when 3=>q2<=“0110000”;
when 4=>q2<=“0011001”;
when 5=>q2<=“0010010”;
when 6=>q2<=“0000010”;
when 7=>q2<=“1011000”;
when 8=>q2<=“0000000”;
when 9=>q2<=“0010000”;
when others=>q2<=NULL;end case;else
case cntt7 is 浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
when 0=>q2<=“1000000”;
when 1=>q2<=“1111001”;
when 2=>q2<=“0100100”;
when 3=>q2<=“0110000”;
when 4=>q2<=“0011001”;
when 5=>q2<=“0010010”;
when 6=>q2<=“0000010”;
when 7=>q2<=“1011000”;
when 8=>q2<=“0000000”;
when 9=>q2<=“0010000”;
when others=>q2<=NULL;end case;end if;
end process;
process(cntt4,cntt8)
begin if(sw='0')then
case cntt4 is
when 0=>q3<=“1000000”;
when 1=>q3<=“1111001”;
when 2=>q3<=“0100100”;
when 3=>q3<=“0110000”;
when 4=>q3<=“0011001”;
when 5=>q3<=“0010010”;
when others=>q3<=NULL;end case;else
case cntt8 is
when 0=>q3<=“1000000”;浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
when 1=>q3<=“1111001”;
when 2=>q3<=“0100100”;
when 3=>q3<=“0110000”;
when 4=>q3<=“0011001”;
when 5=>q3<=“0010010”;
when 6=>q3<=“0000010”;
--when 7=>q3<=“1011000”;--when 8=>q3<=“0000000”;--when 9=>q3<=“0010000”;
when others=>q3<=NULL;end case;end if;
end process;end behave;
2、原理圖如下:
浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
3、功能仿真如下
1、秒、毫秒計數(shù)仿真
2、分、時計數(shù)仿真
注釋:由于仿真時間限制,小時不能顯示。注意SW由0變成1;
浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
3、暫停的仿真,數(shù)碼管顯示用秒,毫秒。
4、按鍵調(diào)整的仿真,主要仿真毫秒的仿真
四、實驗結(jié)果
實驗結(jié)果均完成所有要求,但有一個bug,在實現(xiàn)調(diào)整功能的時候,不能實時調(diào)整數(shù)碼管暫停下來的數(shù)字,只能從之前調(diào)整過的數(shù)值起開始調(diào)整,不過能實現(xiàn)調(diào)整之后,開啟時鐘,時鐘即在設(shè)定的時間開始跑。當(dāng)然找到解決的方法,當(dāng)由于思路和已經(jīng) 寫好的程序沖突性較大,所以此處不再修改。
五、心得體會
本次實驗在分頻的基礎(chǔ)上進(jìn)行拓展,同時應(yīng)用數(shù)碼管顯示,開關(guān)和按鍵的控制,比較系統(tǒng)的做了一個實驗,對自身的提高還是很有幫助的。
說到心得,此次實驗告訴我一下經(jīng)驗:
1、在開始寫程序之前最好先評估好自己的思路,簡易畫出想象中的原理圖,再進(jìn)行編程,對之后的修改有很大的幫助。
2、程序?qū)戦L了,發(fā)現(xiàn)錯得時候,修改比較麻煩,所有注意編程習(xí)慣很重要,適當(dāng)?shù)募右恍┳⑨?,提高程序的可讀性。
3、程序最好分模塊寫,比較清晰。
浙江大學(xué)城市學(xué)院 實 驗 報 告 紙
第五篇:數(shù)字電子時鐘設(shè)計
(電子技術(shù)課程)
設(shè)計說明書
數(shù)字電子時鐘
起止日期:
2016 年
11月23日 至
2016年 11月 27 日
學(xué)生姓名
班級 學(xué)號
成績
指導(dǎo)教師(簽字)
交通工程學(xué)院(部)2016年
11月
29日
數(shù)字電子鐘
設(shè)計一個數(shù)字電子鐘,具體要求:
1、以24小時為一個計數(shù)周期;具有“時”、“分”、“秒”數(shù)字?jǐn)?shù)碼管顯示電路;
2、具有校時功能;
3、整點前10秒,數(shù)字鐘會自動報時,以示提醒;
4、設(shè)計+5V直流電源。(設(shè)計220V輸入,+5V輸出)
5、啟動電路。
6、用PROTEUS畫出電路原理圖仿真成功再用數(shù)字電子技術(shù)實驗箱驗證。;
設(shè)計步驟及內(nèi)容:
一、首先對本次設(shè)計所需要用到的器件的引腳及功能進(jìn)行詳細(xì)的了解 1、555定時器
“1”腳為公共接地端GND;“8”腳為正電源電壓VCC;“2”腳是觸發(fā)端;“4”腳為復(fù)位輸出端; “7”腳為放電端;“6”腳位閾值端;“5”腳為控制電壓輸入端;“3”腳是輸出端。2、74LS163
CEP、CET:計數(shù)使能輸入端,高電平有效;CLK:時鐘脈沖,上升沿觸發(fā);
MR:清零端,低電平有效;LOAD:并行置數(shù)使能端,低電平有效;RCO:進(jìn)位信號輸出端; D[0:3]:并行二進(jìn)制數(shù)據(jù)輸入端;Q[3:0]:計數(shù)狀態(tài)輸出端。
二、實驗步驟
1、連接555定時器,產(chǎn)生1Hz方波。
首先將555定時器按照如圖所示的接法連接起來,并根據(jù)555定時器電容充放電時間的計算確定各元件的取值。
電容充電時間T=0.7(R1+R2)C1 為使555定時器輸入1Hz的方波,經(jīng)計算各元件的取值為 R1=43K,R2=51K,C1=10u F,C2=0.01u F。3腳作為時鐘脈沖的輸出連接到各個計數(shù)器的CLK。
2、時鐘電路的連接
本次設(shè)計使用的是74LS163芯片,因為它是16進(jìn)制計數(shù)器,所以需要在控制端加上適當(dāng)?shù)拈T電路使其構(gòu)成十進(jìn)制計數(shù)器,將計數(shù)器按照如圖所示的方式連接起來。
a、秒各位
將輸出端的Q3、Q1用與門(74LS08)連接起來并輸入到清零端MR,其目的是為了構(gòu)成十進(jìn)制,當(dāng)計數(shù)器計數(shù)到9時,與門U1打開,經(jīng)過非門U1A輸出低電平使得MR在下一個脈沖上升沿時清零。
b、秒十位
與秒各位不同的是,秒十位的使能端是由各位Q3、Q1相與的電平控制的,秒十位的進(jìn)位的條件是當(dāng)各位為9時,在下一個脈沖的上升沿來臨時進(jìn)位。秒十位的清零需要等到個位為9且十位為5時,U2與U3經(jīng)過U4輸出高電平再經(jīng)過U3A輸出低電平,是的MR在下一個脈沖上升沿是清零。
c、分個位
分各位的構(gòu)成原理與秒個位相似,不同的是控制端上的門電路換成了與非門U4(為了使之后方便連接門電路),分個位的使能信號由U3輸入,清零條件為分個位為9,秒為59時清零,清零信號由U5A輸出的低電平提供。
d、分十位
分十位的構(gòu)成原理與秒十位相似,使能信號由U4輸出的高電平提供,清零條件為分為59,秒為59,清零信號由U7A輸出的低電平提供。
e、時
時個位的使能信號由U7提供,時十位的使能信號由U9提供。時個位有兩個清零信號,一個是當(dāng)它自身為9時,等到下一個時鐘脈沖的上升沿時清零,另一個是當(dāng)十位為2,個位為3時,十位和個位同時清零。用與非門U12將個位Q2和十位Q1相連,再將兩個清零信號相與,實現(xiàn)清零工作。
完整的時鐘電路如下圖所示
3、校準(zhǔn)電路
校準(zhǔn)電路連線圖如圖所示,當(dāng)開關(guān)打在右邊時,U14B關(guān)閉不工作,U14C送出一個高電平信 6
號,等到秒對分的進(jìn)位信號來臨時和進(jìn)位信號通過U15A送出一個低電平,使得U15B打開,又因為U15B接入了分個位的使能端,所以相當(dāng)于開關(guān)打在右邊時校準(zhǔn)電路成為分個位的使能信號進(jìn)位信號;開關(guān)打在左邊時,U14C關(guān)閉不工作,U14B送出一個高電平信號,然后與秒脈沖信號通過U14D送出一個低電平接入分個位的使能端,所以相當(dāng)于開關(guān)打在左邊時,分個位接收了一個秒脈沖信號,使得它能像秒鐘一樣計時并且能向十位進(jìn)位,就相當(dāng)于校準(zhǔn)功能,當(dāng)分鐘跳到你想要的時間時把開關(guān)打到右邊(此時時鐘電路照常工作)從你調(diào)整好的時間繼續(xù)計數(shù),達(dá)到校準(zhǔn)的目的。(時的校準(zhǔn)電路與分的校準(zhǔn)電路一樣)
但是直接把校準(zhǔn)電路這樣連入時鐘電路會出現(xiàn)一些問題,就是在校準(zhǔn)的時候分會出現(xiàn)16進(jìn)制,所以就需要在電路中加入反饋,將它控制到10進(jìn)制,具體的反饋連接方式如圖所示(不能接在MR端,不然會使電路出現(xiàn)問題)時鐘電路與校準(zhǔn)電路如圖所示 將開關(guān)打到左邊進(jìn)行校準(zhǔn):
完成之后將開關(guān)打到右邊繼續(xù)計數(shù):
4、報時電路
報時電路使用的是74HC30芯片,它是一個8輸入與非門芯片,只有當(dāng)所有輸入都為1時輸出為0,使得喇叭能夠正常工作(喇叭一端接高電平一端接低電平),因為是整點報時,所以秒個位就不用接入芯片,只需在多余的兩個引腳接入電源就可以實現(xiàn)在59分50秒到59秒的報時,具體接法如下圖所示
整個可校準(zhǔn)可報時的數(shù)字電路如圖所示
三、心得體會
本次數(shù)字電子課程設(shè)計是我覺得收獲非常大的一次實習(xí),而這次課程設(shè)計給我們提供了一個應(yīng)用自己所學(xué)知識來設(shè)計作品的平臺。
在本次課程設(shè)計中,我更加熟悉Proteus軟件的操作了,同時對74LS163、74LS161、74HC30、555等芯片加深了了解,和對它們的使用,對于數(shù)字、模擬電路的綜合運用有了更深一步理解,為以后的電路分析和設(shè)計奠定了一定的基礎(chǔ)。
本次課程設(shè)計很遺憾沒能選擇最有挑戰(zhàn)性的課題來做,因為基礎(chǔ)知識不夠扎實,做數(shù)字電子時鐘也是費了很大勁。
這次設(shè)計我主要覺得有兩個難點:
一、從一開始沒選擇十進(jìn)制計數(shù)器來做,所以使設(shè)計的電路看起來很復(fù)雜,并且進(jìn)位需要考慮的很周全,越高位必要條件越多,所以用了許多門電路;
二、校準(zhǔn)電路直接連入電路會產(chǎn)生十六進(jìn)制,所以需要加反饋,在最開始不太理解反饋的意思,又去翻了數(shù)電書還問了老師很多次,接了很多遍才將反饋接出來。
但是最后成功了看著自己能把理論知識運用到實際,心里還是非常開心的,在做課題的這幾天學(xué)會了很多,對仿真也產(chǎn)生了濃厚的興趣,想自己試著在課余時間再做做幾個課題。