版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 課 程 設(shè) 計(jì) 報(bào) 告</p><p> 設(shè)計(jì)題目:用VHDL語(yǔ)言實(shí)現(xiàn)數(shù)字鐘的設(shè)計(jì)</p><p> 班 級(jí):電子1002班</p><p><b> 學(xué) 號(hào): </b></p><p><b> 姓 名: </b></p><p&
2、gt;<b> 指導(dǎo)教師: </b></p><p> 設(shè)計(jì)時(shí)間:2012年12月</p><p><b> 摘 要</b></p><p> 數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的鐘表。本設(shè)計(jì)主要是實(shí)現(xiàn)數(shù)字鐘的功能,程序用VHDL語(yǔ)言編寫(xiě),整體采用TOP-TO-DOWN設(shè)計(jì)思路,具有基本的顯示年月日時(shí)分
3、秒和星期的功能,此外還有整點(diǎn)報(bào)時(shí)功能。該數(shù)字鐘的實(shí)現(xiàn)程序分為頂層模塊、年月模塊、日模塊、時(shí)分秒定時(shí)模塊、數(shù)碼管顯示模塊、分頻模塊、星期模塊,此外還有一個(gè)庫(kù)。該程序主要是用了元件例化的方法,此外還有進(jìn)程等重要語(yǔ)句。</p><p> 沒(méi)有脈沖時(shí),顯示時(shí)分秒,set按鈕產(chǎn)生第一個(gè)脈沖時(shí),顯示年月日,第2個(gè)脈沖到來(lái)時(shí)可預(yù)置年份,第3個(gè)脈沖到來(lái)時(shí)可預(yù)置月份,依次第4、5、6、7、8個(gè)脈沖到來(lái)時(shí)分別可預(yù)置日期、時(shí)、分、秒
4、、星期,第 9個(gè)脈沖到來(lái)時(shí)設(shè)置星期后預(yù)置結(jié)束,正常工作,顯示的是時(shí)分秒和星期。調(diào)整設(shè)置通過(guò)Up來(lái)控制,UP為高電平,upclk有脈沖到達(dá)時(shí),預(yù)置位加1,否則減1。當(dāng)整點(diǎn)到達(dá)時(shí),報(bào)時(shí)器會(huì)鳴響,然后手動(dòng)按鍵停止報(bào)時(shí)。</p><p> 關(guān)鍵詞:數(shù)字鐘,VHDL,元件例化,數(shù)碼管</p><p><b> 課程設(shè)計(jì)目的</b></p><p>
5、 掌握利用可編程邏輯器件和EDA設(shè)計(jì)工具進(jìn)行電子系統(tǒng)設(shè)計(jì)的方法</p><p> 課程設(shè)計(jì)內(nèi)容及要求 </p><p> 設(shè)計(jì)實(shí)現(xiàn)一個(gè)具有帶預(yù)置數(shù)的數(shù)字鐘,具有顯示年月日時(shí)分秒的功能。用6個(gè)數(shù)碼管顯示時(shí)分秒,set按鈕產(chǎn)生第一個(gè)脈沖時(shí),顯示切換年月日,第2個(gè)脈沖到來(lái)時(shí)可預(yù)置年份,第3個(gè)脈沖到來(lái)時(shí)可預(yù)置月份,依次第4、5、6、7個(gè)脈沖到來(lái)時(shí)分別可預(yù)置日期、時(shí)、分、秒,第 8個(gè)脈沖到來(lái)后
6、預(yù)置結(jié)束,正常工作,顯示的是時(shí)分秒。Up為高電平時(shí),upclk有脈沖到達(dá)時(shí),預(yù)置位加1.否則減1,還可以在此基礎(chǔ)上增加其它功能。</p><p><b> VHDL程序設(shè)計(jì)</b></p><p><b> 3.1整體設(shè)計(jì)思路</b></p><p> 本設(shè)計(jì)采用top-down 模式設(shè)計(jì),分模塊進(jìn)行,各功能都使用元
7、件例化方式設(shè)計(jì),主要有LED顯示模塊、時(shí)分秒定時(shí)模塊、日期模塊、年月模塊、分頻模塊、星期模塊,此外還創(chuàng)建了一個(gè)程序包,用來(lái)實(shí)現(xiàn)年月日、時(shí)分秒的加減調(diào)整。主要運(yùn)用了過(guò)程語(yǔ)句、元件例化語(yǔ)句、信號(hào)賦值語(yǔ)句、和順序語(yǔ)句</p><p> 圖3-1-1 整體結(jié)構(gòu)圖</p><p> 圖3-1-2 頂層模塊引腳圖</p><p> 3.2各模塊設(shè)計(jì)思路</p&g
8、t;<p> 3.2.1 普通計(jì)數(shù)器(時(shí)、分、秒、月、年計(jì)數(shù)器)設(shè)計(jì)</p><p> 時(shí)鐘模塊通過(guò)調(diào)用程序包的時(shí)分秒加減過(guò)程語(yǔ)句實(shí)現(xiàn)兩個(gè)六十進(jìn)制,一個(gè)二十四進(jìn)制,秒的進(jìn)位信號(hào)作為分的計(jì)數(shù)時(shí)鐘信號(hào),分的進(jìn)位信號(hào)作為時(shí)的時(shí)鐘信號(hào)。時(shí)的進(jìn)位信號(hào)通過(guò)管腳映射到日期模塊的計(jì)數(shù)時(shí)鐘信號(hào)。</p><p> 定時(shí)功能在時(shí)分秒模塊中,是由分計(jì)數(shù)器在到達(dá)59時(shí)產(chǎn)生一個(gè)脈沖,讓speak
9、er產(chǎn)生高電位鳴響。</p><p> 年月模塊主要實(shí)現(xiàn)月份的十二進(jìn)制計(jì)數(shù)器,和100進(jìn)制的年份計(jì)數(shù)器。月份的計(jì)數(shù)信號(hào)由日期模塊的進(jìn)位信號(hào)傳遞過(guò)來(lái),年份的時(shí)鐘信號(hào)由月份的進(jìn)位信號(hào)產(chǎn)生。</p><p> 圖3-2-1 時(shí)分秒引腳圖 圖3-2-2 年月引腳圖</p><p> 3.2.2 可變進(jìn)制計(jì)數(shù)器(天計(jì)數(shù)器)模塊設(shè)計(jì)</p
10、><p> 不同月中的天的數(shù)量是不同的,例如“大月”就有31“天”, “小月”有30“天”,平年“二月”有28“天”,而閏年“二月”有29“天”。所以天計(jì)數(shù)器應(yīng)該具備進(jìn)制可變的性能。日期模塊主要分為三個(gè)部分,預(yù)置日期加,預(yù)置日期減和產(chǎn)生進(jìn)位信號(hào),使月份增加。平閏年的判斷是通過(guò)年月模塊傳輸過(guò)來(lái)年份信號(hào)(兩個(gè)4位的BCD碼),如果高位的信號(hào)為“xxx0”且低位的信號(hào)為“xx00”(如20,84等),或高位為“xxx1”
11、且低位為“xx10”(如32等)則判斷為閏年。這種方法的包含了一百年中的所有閏年的情況。然后判斷大月小月可以判斷月份來(lái)確定30進(jìn)制還是31進(jìn)制。進(jìn)位信號(hào)也是分為大月、小月、平年閏年來(lái)確定是否產(chǎn)生。</p><p> 圖3-2-3 日模塊引腳圖</p><p> 3.2.3 LED顯示模塊</p><p> 主要通過(guò)接受setpin的控制信號(hào)來(lái)選擇顯示的內(nèi)容,
12、把不同的信號(hào)賦給輸出的端口,從而實(shí)現(xiàn)時(shí)分秒,年月日的切換。</p><p> 3.2.4 星期模塊</p><p> 通過(guò)七進(jìn)制計(jì)數(shù)器實(shí)現(xiàn),同時(shí)帶有預(yù)置的功能,不能同年月調(diào)整聯(lián)動(dòng),但是能單獨(dú)調(diào)整。</p><p> 圖3-2-4 星期模塊引腳圖</p><p><b> 仿真與分析</b></p>
13、<p><b> 4.1 日模塊</b></p><p> 4.1.1 年份為2000年,月份為2月,有29天,初值設(shè)為2000年2月28日,仿真中日為:28、29、1、2、…</p><p> 4.1.2 年份為1999年,月份為2月,有28天,初值設(shè)為1999年2月28日,仿真中日為:28、1、2、…</p><p> 4
14、.1.3 年份為2000年,月份為3月,有31天,初值設(shè)為2000年3月30日,仿真中日為:30、31、1、2、…</p><p> 4.1.4 年份為2000年,月份為4月,有30天,初值設(shè)為2000年4月30日,仿真中日為:30、1、2、…</p><p><b> 4.2 年月模塊</b></p><p> 初值設(shè)為1999年12月
15、,lock為1時(shí),顯示年月,lock為3時(shí),預(yù)置月,lock為2時(shí),預(yù)置年</p><p> 4.3 時(shí)分秒定時(shí)模塊</p><p> lock為0時(shí),顯示時(shí)分秒,lock為5時(shí),預(yù)置時(shí),lock為6時(shí),預(yù)置分,lock為7時(shí),預(yù)置秒。當(dāng)分到達(dá)59時(shí),整點(diǎn)報(bào)時(shí)器響,speaker高電位,隨著手動(dòng)清零,恢復(fù)原位。</p><p><b> 4.4 星期
16、模塊</b></p><p> 初值設(shè)為星期1,仿真中顯示為:1、2、3、4、5、6、7、1、…</p><p><b> 4.5 分頻模塊</b></p><p> 4.6 頂層設(shè)計(jì)模塊</p><p><b> 課程設(shè)計(jì)總結(jié)</b></p><p>
17、 本次課程設(shè)計(jì)歷時(shí)兩天半,經(jīng)過(guò)自己不斷的努力完成了數(shù)字鐘的設(shè)計(jì),程序代碼的編寫(xiě)調(diào)試及仿真。以前只是看書(shū)或者編一些很小的程序用來(lái)仿真,覺(jué)得沒(méi)怎么難,但當(dāng)進(jìn)行此次課程設(shè)計(jì)真正處理一個(gè)較大程序時(shí),問(wèn)題便都顯現(xiàn)出來(lái)。雖然在這個(gè)過(guò)程中遇到了很多的問(wèn)題,但是最終都得到了很好的解決。</p><p> 我此次設(shè)計(jì)的程序是在課本原有數(shù)字鐘程序的基礎(chǔ)上進(jìn)行添加更改得來(lái)的,最初在運(yùn)行原有程序時(shí)很順利,但是隨著加的東西越來(lái)越多,程序
18、中出現(xiàn)的問(wèn)題也就越來(lái)越多。很多同學(xué)都覺(jué)得在已有程序上再添加?xùn)|西看似簡(jiǎn)單,實(shí)則很容易混亂,理不清頭緒,而且這個(gè)原有程序是用進(jìn)程所寫(xiě),比較麻煩。雖然這樣容易出現(xiàn)問(wèn)題,不過(guò)我覺(jué)得這是一個(gè)鍛煉的好機(jī)會(huì)。、</p><p> 在處理分頻模塊時(shí),最開(kāi)始按照老師的要求設(shè)置了頻率,但是當(dāng)運(yùn)行時(shí),發(fā)現(xiàn)根本出不來(lái),后來(lái)與同學(xué)討論后,發(fā)現(xiàn)頻率過(guò)大,后來(lái)改為八分頻,使得分頻模塊能夠使用。在一開(kāi)始加星期模塊時(shí),沒(méi)怎么考慮,可是當(dāng)加進(jìn)去后
19、才發(fā)現(xiàn),星期模塊不能與其他模塊很好的相連,不能很好的做到與“日模塊”相合,后來(lái)雖有改動(dòng),但最終沒(méi)能改成功。在加定時(shí)器功能時(shí),一開(kāi)始單獨(dú)為定時(shí)器列了一個(gè)模塊,所寫(xiě)的程序也很復(fù)雜,錯(cuò)誤百出,最后程序改好后,仿真卻出不來(lái)。后來(lái)經(jīng)過(guò)同學(xué)的提點(diǎn),就把程序改簡(jiǎn)單了,單純的來(lái)個(gè)脈沖就出現(xiàn)高電平,但后來(lái)仿真發(fā)現(xiàn)高電平一直在高位,沒(méi)法給脈沖,最后沒(méi)辦法便手動(dòng)脈沖。與頂層模塊連接后,又發(fā)現(xiàn)分滿(mǎn)59的脈沖沒(méi)給,因?yàn)槲业臅r(shí)分秒全都放在了一起,只能將定時(shí)模塊挪到
20、時(shí)分秒模塊中,這樣反而使得整個(gè)工程簡(jiǎn)單了一些。</p><p> 在各個(gè)模塊都能仿真成功后,頂層模塊的程序與仿真卻出現(xiàn)了很多問(wèn)題。首先是頂層模塊程序有很多警告,例如“second_waver”沒(méi)有用到之類(lèi)的,后來(lái)在改動(dòng)的過(guò)程中,便把內(nèi)變量換為了外變量,但是有些原來(lái)的警告沒(méi)有了,但是新的警告又出現(xiàn)了,原本能夠連好的U3與U4 模塊均不能正常連接,后來(lái)與同學(xué)自習(xí)查找,才終于將錯(cuò)誤找出,由于粗心大意誤動(dòng)了一些元件例化
21、時(shí)的變量,使得時(shí)間拜拜浪費(fèi)。最后在仿真的時(shí)候,仿真結(jié)果出不來(lái),經(jīng)過(guò)與同學(xué)商量在每個(gè)程序中都給年月日等變量均付了初值,才讓仿真出來(lái)。</p><p> 此次課程設(shè)計(jì)雖然只有短短的兩天半的時(shí)間,但是經(jīng)過(guò)前期的查找資料,后來(lái)的實(shí)驗(yàn)室實(shí)際操作,再到現(xiàn)在的報(bào)告總結(jié),我收獲了很多。其實(shí)完成一個(gè)設(shè)計(jì),編程只是很小的一部分,最主要的在于查找資料以及調(diào)試程序,此次設(shè)計(jì)我在查找資料方面做的不是很充分,以至于設(shè)計(jì)的面很小,而且在遇到
22、問(wèn)題后不能很快的找出,以后一定要做好準(zhǔn)備工作。此次課程設(shè)計(jì)中遇到的問(wèn)題看似不大,但都是很好的問(wèn)題,對(duì)我以后的設(shè)計(jì)有很大的幫助,一定會(huì)牢牢記住。</p><p> 最后,此次課程設(shè)計(jì)的完成很大程度上取決于老師和同學(xué)對(duì)我的指導(dǎo)與幫助,這更能說(shuō)明,一個(gè)較大設(shè)計(jì)的完成及實(shí)現(xiàn),不是僅限于自身,我們要學(xué)會(huì)與別人交流溝通,才能做到更好。</p><p><b> 參考文獻(xiàn)</b>
23、;</p><p> [1]李景華,杜玉遠(yuǎn).可編程邏輯器件與EDA技術(shù).沈陽(yáng):東北大學(xué)出版社,2000</p><p> [2] 姜如東,VHDL語(yǔ)言程序設(shè)計(jì)及應(yīng)用,北京郵電大學(xué)出版社</p><p> [3] 康華光.電子技術(shù)基礎(chǔ)(數(shù)字部分)[M].北 京:高等教育出版社,2001.</p><p><b> [4]<
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- eda數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘--eda課程設(shè)計(jì)
- eda數(shù)字鐘課程設(shè)計(jì)
- vhdl課程設(shè)計(jì)--數(shù)字鐘的設(shè)計(jì)
- eda課程設(shè)計(jì)報(bào)告--基于vhdl的數(shù)字鐘的設(shè)計(jì)
- 數(shù)字鐘eda課程設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)報(bào)告--數(shù)字鐘
- eda課程設(shè)計(jì)報(bào)告---數(shù)字鐘設(shè)計(jì)
- eda實(shí)現(xiàn)多功能數(shù)字鐘課程設(shè)計(jì)
- vhdl課程設(shè)計(jì)---多功能數(shù)字鐘
- eda課程數(shù)字鐘設(shè)計(jì)報(bào)告
- eda課程設(shè)計(jì)——多功能數(shù)字鐘
- eda課程設(shè)計(jì)--vhdl語(yǔ)言實(shí)現(xiàn)數(shù)字電子鐘的設(shè)計(jì)
- vhdl語(yǔ)音數(shù)字鐘設(shè)計(jì)()
- 數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)
- 數(shù)字鐘課程設(shè)計(jì)
- 用vhdl語(yǔ)言編寫(xiě)的數(shù)字鐘程序
評(píng)論
0/150
提交評(píng)論