資源描述:
《eda數(shù)字鐘課程設(shè)計(jì)--用vhdl語言實(shí)現(xiàn)數(shù)字鐘的設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在學(xué)術(shù)論文-天天文庫(kù)。
1、課程設(shè)計(jì)報(bào)告設(shè)計(jì)題目:用VHDL語言實(shí)現(xiàn)數(shù)字鐘的設(shè)計(jì)班級(jí):電子1002班學(xué)號(hào):20102625姓名:于曉指導(dǎo)教師:李世平、李寧設(shè)計(jì)時(shí)間:2012年12月摘要數(shù)字鐘是一種用數(shù)字電路技術(shù)實(shí)現(xiàn)時(shí)、分、秒計(jì)時(shí)的鐘表。本設(shè)計(jì)主要是實(shí)現(xiàn)數(shù)字鐘的功能,程序用VHDL語言編寫,整體采用TOP-TO-DOWN設(shè)計(jì)思路,具有基本的顯示年月日時(shí)分秒和星期的功能,此外還有整點(diǎn)報(bào)時(shí)功能。該數(shù)字鐘的實(shí)現(xiàn)程序分為頂層模塊、年月模塊、日模塊、時(shí)分秒定時(shí)模塊、數(shù)碼管顯示模塊、分頻模塊、星期模塊,此外還有一個(gè)庫(kù)。該程序主要是用了元件例化的方法,此外還有進(jìn)程等重要語句。沒有脈沖時(shí),顯示時(shí)分
2、秒,set按鈕產(chǎn)生第一個(gè)脈沖時(shí),顯示年月日,第2個(gè)脈沖到來時(shí)可預(yù)置年份,第3個(gè)脈沖到來時(shí)可預(yù)置月份,依次第4、5、6、7、8個(gè)脈沖到來時(shí)分別可預(yù)置日期、時(shí)、分、秒、星期,第9個(gè)脈沖到來時(shí)設(shè)置星期后預(yù)置結(jié)束,正常工作,顯示的是時(shí)分秒和星期。調(diào)整設(shè)置通過Up來控制,UP為高電平,upclk有脈沖到達(dá)時(shí),預(yù)置位加1,否則減1。當(dāng)整點(diǎn)到達(dá)時(shí),報(bào)時(shí)器會(huì)鳴響,然后手動(dòng)按鍵停止報(bào)時(shí)。關(guān)鍵詞:數(shù)字鐘,VHDL,元件例化,數(shù)碼管1、課程設(shè)計(jì)目的掌握利用可編程邏輯器件和EDA設(shè)計(jì)工具進(jìn)行電子系統(tǒng)設(shè)計(jì)的方法2、課程設(shè)計(jì)內(nèi)容及要求設(shè)計(jì)實(shí)現(xiàn)一個(gè)具有帶預(yù)置數(shù)的數(shù)字鐘,具有顯示年月
3、日時(shí)分秒的功能。用6個(gè)數(shù)碼管顯示時(shí)分秒,set按鈕產(chǎn)生第一個(gè)脈沖時(shí),顯示切換年月日,第2個(gè)脈沖到來時(shí)可預(yù)置年份,第3個(gè)脈沖到來時(shí)可預(yù)置月份,依次第4、5、6、7個(gè)脈沖到來時(shí)分別可預(yù)置日期、時(shí)、分、秒,第8個(gè)脈沖到來后預(yù)置結(jié)束,正常工作,顯示的是時(shí)分秒。Up為高電平時(shí),upclk有脈沖到達(dá)時(shí),預(yù)置位加1.否則減1,還可以在此基礎(chǔ)上增加其它功能。3、VHDL程序設(shè)計(jì)3.1整體設(shè)計(jì)思路本設(shè)計(jì)采用top-down模式設(shè)計(jì),分模塊進(jìn)行,各功能都使用元件例化方式設(shè)計(jì),主要有LED顯示模塊、時(shí)分秒定時(shí)模塊、日期模塊、年月模塊、分頻模塊、星期模塊,此外還創(chuàng)建了一個(gè)程序
4、包,用來實(shí)現(xiàn)年月日、時(shí)分秒的加減調(diào)整。主要運(yùn)用了過程語句、元件例化語句、信號(hào)賦值語句、和順序語句圖3-1-1整體結(jié)構(gòu)圖圖3-1-2頂層模塊引腳圖3.2各模塊設(shè)計(jì)思路3.2.1普通計(jì)數(shù)器(時(shí)、分、秒、月、年計(jì)數(shù)器)設(shè)計(jì)時(shí)鐘模塊通過調(diào)用程序包的時(shí)分秒加減過程語句實(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)通過管腳映射到日期模塊的計(jì)數(shù)時(shí)鐘信號(hào)。定時(shí)功能在時(shí)分秒模塊中,是由分計(jì)數(shù)器在到達(dá)59時(shí)產(chǎn)生一個(gè)脈沖,讓speaker產(chǎn)生高電位鳴響。年月模塊主要實(shí)現(xiàn)月份的十二進(jìn)制計(jì)數(shù)器,和100進(jìn)制的年份計(jì)
5、數(shù)器。月份的計(jì)數(shù)信號(hào)由日期模塊的進(jìn)位信號(hào)傳遞過來,年份的時(shí)鐘信號(hào)由月份的進(jìn)位信號(hào)產(chǎn)生。圖3-2-1時(shí)分秒引腳圖圖3-2-2年月引腳圖3.2.2可變進(jìn)制計(jì)數(shù)器(天計(jì)數(shù)器)模塊設(shè)計(jì)不同月中的天的數(shù)量是不同的,例如“大月”就有31“天”,“小月”有30“天”,平年“二月”有28“天”,而閏年“二月”有29“天”。所以天計(jì)數(shù)器應(yīng)該具備進(jìn)制可變的性能。日期模塊主要分為三個(gè)部分,預(yù)置日期加,預(yù)置日期減和產(chǎn)生進(jìn)位信號(hào),使月份增加。平閏年的判斷是通過年月模塊傳輸過來年份信號(hào)(兩個(gè)4位的BCD碼),如果高位的信號(hào)為“xxx0”且低位的信號(hào)為“xx00”(如20,84等)
6、,或高位為“xxx1”且低位為“xx10”(如32等)則判斷為閏年。這種方法的包含了一百年中的所有閏年的情況。然后判斷大月小月可以判斷月份來確定30進(jìn)制還是31進(jìn)制。進(jìn)位信號(hào)也是分為大月、小月、平年閏年來確定是否產(chǎn)生。圖3-2-3日模塊引腳圖3.2.3LED顯示模塊主要通過接受setpin的控制信號(hào)來選擇顯示的內(nèi)容,把不同的信號(hào)賦給輸出的端口,從而實(shí)現(xiàn)時(shí)分秒,年月日的切換。3.2.4星期模塊通過七進(jìn)制計(jì)數(shù)器實(shí)現(xiàn),同時(shí)帶有預(yù)置的功能,不能同年月調(diào)整聯(lián)動(dòng),但是能單獨(dú)調(diào)整。圖3-2-4星期模塊引腳圖1、仿真與分析4.1日模塊4.1.1年份為2000年,月份為
7、2月,有29天,初值設(shè)為2000年2月28日,仿真中日為:28、29、1、2、…4.1.2年份為1999年,月份為2月,有28天,初值設(shè)為1999年2月28日,仿真中日為:28、1、2、…4.1.3年份為2000年,月份為3月,有31天,初值設(shè)為2000年3月30日,仿真中日為:30、31、1、2、…4.1.4年份為2000年,月份為4月,有30天,初值設(shè)為2000年4月30日,仿真中日為:30、1、2、…4.2年月模塊初值設(shè)為1999年12月,lock為1時(shí),顯示年月,lock為3時(shí),預(yù)置月,lock為2時(shí),預(yù)置年4.3時(shí)分秒定時(shí)模塊lock為0時(shí),
8、顯示時(shí)分秒,lock為5時(shí),預(yù)置時(shí),lock為6時(shí),預(yù)置分,lock為7時(shí),預(yù)置秒。當(dāng)分到達(dá)5