




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 . PAGE21 / NUMPAGES26 . 課程設(shè)計(jì)任務(wù)書學(xué)生: 董勇濤專業(yè)班級(jí):電子科學(xué)與技術(shù)0902班 指導(dǎo)教師:梁小宇工作單位:信息工程學(xué)院 題 目: 數(shù)字鐘 設(shè)計(jì)目的:1、掌握在Quartus軟件的使用方法,并能熟練的在Quartus環(huán)境中運(yùn)用VHDL語言完成一些簡(jiǎn)單程序的設(shè)計(jì);2、掌握數(shù)字鐘的主要功能與在FPGA中的實(shí)現(xiàn)方法。要求完成的主要任務(wù): 1、課程設(shè)計(jì)工作量:1周。2、技術(shù)要求:(1)設(shè)計(jì)一個(gè)6位LED動(dòng)態(tài)掃描顯示的數(shù)字鐘,根據(jù)一個(gè)控制鍵能選擇顯示時(shí)、分、秒或年、月、日;(2)通過撥碼開關(guān)可以進(jìn)行時(shí)、分、年、月、日的調(diào)整,可以實(shí)現(xiàn)翻屏;3、查閱至少5篇參考文獻(xiàn)。按理工大
2、學(xué)課程設(shè)計(jì)工作規(guī)要求撰寫設(shè)計(jì)報(bào)告書。全文用A4紙打印,圖紙應(yīng)符合繪圖規(guī)。時(shí)間安排:1、 2012年6月11日集中,作課設(shè)具體實(shí)施計(jì)劃與課程設(shè)計(jì)報(bào)告格式的要求說明。2、 2012年6月12日至 2012年6月15日查閱相關(guān)資料,學(xué)習(xí)電路的工作原理。3、 2012年6月17日至 2012年6月19日,方案選擇和電路設(shè)計(jì)。4、 2012年6月20日至 2012 年6月21日,電路調(diào)試和設(shè)計(jì)說明書撰寫。5、 2011年6月22日上交課程設(shè)計(jì)成果與報(bào)告,同時(shí)進(jìn)行答辯。指導(dǎo)教師簽名:年 月日系主任(或責(zé)任教師)簽名:年月日目 錄TOC o 1-3 h z uHYPERLINK l _Toc25239164
3、0摘 要 PAGEREF _Toc252391640 h IHYPERLINK l _Toc252391641Abstract PAGEREF _Toc252391641 h IIHYPERLINK l _Toc2523916421 緒論 PAGEREF _Toc252391642 h 1HYPERLINK l _Toc2523916432 設(shè)計(jì)容與要求 PAGEREF _Toc252391643 h 1HYPERLINK l _Toc2523916442.1設(shè)計(jì)目的與主要任務(wù) PAGEREF _Toc252391644 h 1HYPERLINK l _Toc2523916452.1.1設(shè)計(jì)目
4、的 PAGEREF _Toc252391645 h 1HYPERLINK l _Toc2523916462.1.2 設(shè)計(jì)任務(wù)與要求 PAGEREF _Toc252391646 h 1HYPERLINK l _Toc2523916472.2設(shè)計(jì)思想 PAGEREF _Toc252391647 h 2HYPERLINK l _Toc2523916533 數(shù)字鐘的設(shè)計(jì) PAGEREF _Toc252391653 h 4HYPERLINK l _Toc2523916543.1 設(shè)計(jì)原理與方法 PAGEREF _Toc252391654 h 4HYPERLINK l _Toc2523916553.2 單
5、元模塊設(shè)計(jì) PAGEREF _Toc252391655 h 4HYPERLINK l _Toc2523916563.2.1 分頻計(jì)模塊設(shè)計(jì) PAGEREF _Toc252391656 h 4HYPERLINK l _Toc2523916573.2.2 消抖電路模塊設(shè)計(jì) PAGEREF _Toc252391657 h 5HYPERLINK l _Toc2523916583.2.3 計(jì)數(shù)器模塊設(shè)計(jì) PAGEREF _Toc252391658 h 5HYPERLINK l _Toc2523916593.2.4 鬧鐘與蜂鳴器設(shè)計(jì) PAGEREF _Toc252391659 h 7HYPERLINK l
6、 _Toc2523916603.2.5 多路復(fù)用器模塊設(shè)計(jì) PAGEREF _Toc252391660 h 8HYPERLINK l _Toc2523916603.2.6八段譯碼模塊設(shè)計(jì) PAGEREF _Toc252391660 h 8HYPERLINK l _Toc2523916613.3 數(shù)字鐘設(shè)計(jì)總原理圖 PAGEREF _Toc252391661 h 8HYPERLINK l _Toc2523916534 編譯報(bào)告8HYPERLINK l _Toc2523916544.1 設(shè)計(jì)原理與方法HYPERLINK l _Toc2523916568HYPERLINK l _Toc2523916
7、625 電路仿真與硬件調(diào)試 PAGEREF _Toc252391662 h 9HYPERLINK l _Toc2523916635.1 電路仿真 PAGEREF _Toc252391663 h 9HYPERLINK l _Toc2523916645.2 硬件調(diào)試10HYPERLINK l _Toc2523916656 總結(jié)與心得體會(huì) PAGEREF _Toc252391665 h 10HYPERLINK l _Toc252391666參考文獻(xiàn) PAGEREF _Toc252391666 h 11HYPERLINK l _Toc252391667附錄 PAGEREF _Toc252391667
8、h 12摘 要EDA技術(shù)在進(jìn)入21世紀(jì)后,得到了更大的發(fā)展。在仿真和設(shè)計(jì)兩方面支持標(biāo)準(zhǔn)硬件描述語言的功能越來越強(qiáng)大,軟硬件技術(shù)也進(jìn)一步得到了融合,在電子行業(yè)的產(chǎn)業(yè)領(lǐng)域、技術(shù)領(lǐng)域和設(shè)計(jì)應(yīng)用領(lǐng)域得到了進(jìn)一步的肯定,使得復(fù)雜電子系統(tǒng)的設(shè)計(jì)和驗(yàn)證趨于簡(jiǎn)單化。1本設(shè)計(jì)是通過Quartus 軟件、VHDL語言編程與FPGA芯片來實(shí)現(xiàn)常見的數(shù)字鐘,該數(shù)字鐘可以根據(jù)一個(gè)控制鍵能選擇顯示時(shí)、分、秒或年、月、日。本設(shè)計(jì)中用8位LED數(shù)碼管顯示時(shí)、分和秒,年、月、日,同時(shí)可以通過按鍵調(diào)整時(shí)、分、與對(duì)秒進(jìn)行清零。關(guān)鍵詞:Quartus ;VHDL;數(shù)字鐘;AbstractEDA technology in the 2
9、1 century has achieved great success. In the simulation and design two aspects of hardware description language support standard function more and more powerful, software and hardware technology also further got fusion, in the electronics industry industry field, technology and design application fi
10、eld has been further sure, making complex electronic system design and validation tend to be simple.1The design is by Quartus software, VHDL language programming and CPLD chip to achieve a common digital clock, the digital clock according to a control keys can choose to display hours, minutes and se
11、conds or year, month, day, and can display scroll off. This design using 6 LED digital tube display hours, minutes and seconds, but with the 8-bit LED digital tube display year, month, day, at the same time can be adjusted through the DIP switches hour, minute, year, month and day, and on the second
12、s to Clear.Keywords:Quartus ;VHDL;Digital Clock;1 緒論FPGA(現(xiàn)場(chǎng)可編程門陣列)和CPLD(復(fù)雜可編程邏輯器件)都是可編程邏輯器件,他們是在PAL,GAL等邏輯器件的基礎(chǔ)上發(fā)展起來的。同以往的PAL,GAL相比較,F(xiàn)PGA/CPLD的規(guī)模比較大,它可以替代幾十甚至幾千塊通用IC芯片。這樣的FPGA/CPLD實(shí)際上就是一個(gè)子系統(tǒng)部件。比較典型的就是Altera公司和Xilinx公司的CPLD器件系列和FPGA器件系列,他們開發(fā)較早,占用了較大的PLD市場(chǎng)。2本設(shè)計(jì)是通過對(duì)數(shù)字鐘個(gè)組要組成部分的VHDL源程序編程和頂層文件的生成來實(shí)現(xiàn)的。在本設(shè)計(jì)
13、中數(shù)字鐘的主要組成部分有撥碼開關(guān)模塊、按鍵修改模塊,計(jì)數(shù)器模塊、分頻計(jì)模塊、七段譯碼器模塊和數(shù)據(jù)選擇器模塊。通過按鍵可以實(shí)現(xiàn)選擇顯示時(shí)、分、秒或年、月、日,同時(shí)可以顯示翻屏,還可以通過按鍵調(diào)整時(shí)、分與對(duì)秒進(jìn)行清零。2 設(shè)計(jì)容與要求2.1設(shè)計(jì)目的與主要任務(wù)2.1.1設(shè)計(jì)目的(1)初步掌握Quartus軟件的使用方法,提高運(yùn)用硬件描述語言VHDL的能力,初步 了解時(shí)序電路的設(shè)計(jì)。(2)利用對(duì)生活中熟悉的電子表,用語言設(shè)計(jì)相似功能的數(shù)字鐘。 2.1.2 設(shè)計(jì)任務(wù)與要求完成以下基本要求與進(jìn)行提高:(1)設(shè)計(jì)一個(gè)6位LED動(dòng)態(tài)掃描顯示的數(shù)字鐘,根據(jù)一個(gè)控制鍵能選擇顯示時(shí)、分、秒或年、月、日;(2)通過按
14、鍵可以進(jìn)行時(shí)、分、年、月、日的調(diào)整,可以實(shí)現(xiàn)翻屏;(3)可以設(shè)置鬧鐘時(shí)間與整點(diǎn)報(bào)時(shí),鬧鈴蜂鳴器頻率為1000Hz,整點(diǎn)報(bào)時(shí)頻率為2000Hz;(4)具有定時(shí)翻屏功能,每隔54s,顯示一次年月日;(5)運(yùn)用圖形設(shè)計(jì)方法完成頂層原理圖的設(shè)計(jì)。2.2設(shè)計(jì)思想本次設(shè)計(jì)中根據(jù)數(shù)字鐘的工作原理首先進(jìn)行計(jì)數(shù)器的設(shè)計(jì),其中包括分秒60進(jìn)制計(jì)數(shù)器、時(shí)24進(jìn)制計(jì)數(shù)器、日30進(jìn)制計(jì)數(shù)器、月12進(jìn)制計(jì)數(shù)器和年10進(jìn)制計(jì)數(shù)器,然后根據(jù)要求設(shè)置一個(gè)6選1的數(shù)據(jù)選擇器并且通過控制鍵實(shí)現(xiàn)選擇顯示時(shí)、分、秒或年、月、日,最后再設(shè)置3個(gè)按鍵調(diào)整數(shù)字鐘,并且通過一個(gè)七段譯碼器和8進(jìn)制計(jì)數(shù)器控制七段數(shù)碼管實(shí)現(xiàn)顯示。3 數(shù)字鐘的設(shè)計(jì)3
15、.1 設(shè)計(jì)原理與方法數(shù)字電子鐘由振蕩器、分頻器 計(jì)數(shù)器、譯碼顯示、報(bào)時(shí)等電路組成。振蕩器產(chǎn)生穩(wěn)定的高頻脈沖信號(hào),作為數(shù)字鐘的時(shí)間基準(zhǔn),然后經(jīng)過分頻器輸出標(biāo)準(zhǔn)秒脈沖。秒計(jì)數(shù)器滿60后向分計(jì)數(shù)器進(jìn)位,分計(jì)數(shù)器滿60后向小時(shí)計(jì)數(shù)器進(jìn)位,小時(shí)計(jì)數(shù)器按照“24翻1”規(guī)律計(jì)數(shù)。計(jì)滿后各計(jì)數(shù)器清零,重新計(jì)數(shù)。計(jì)數(shù)器的輸出分別經(jīng)譯碼器送數(shù)碼管顯示,計(jì)時(shí)出現(xiàn)誤差時(shí),可以用校時(shí)電路“校時(shí)”“校分”“清零”。秒脈沖可以通過分頻電路得到。通過報(bào)時(shí)設(shè)計(jì)模塊可以實(shí)現(xiàn)整點(diǎn)報(bào)時(shí)與定時(shí)鬧鈴,譯碼顯示由七段譯碼器完成,顯示由數(shù)碼管構(gòu)成,采用的是動(dòng)態(tài)顯示方式。數(shù)碼管動(dòng)態(tài)顯示:動(dòng)態(tài)掃描電路將計(jì)數(shù)器輸出的8421BGD碼轉(zhuǎn)換為數(shù)碼管需
16、要的邏輯狀態(tài),并且輸出數(shù)碼管的片選信號(hào)和為選信號(hào)。所謂動(dòng)態(tài)掃描顯示方式是在顯示某一位LED顯示塊的數(shù)據(jù)的時(shí)候,讓其它位不顯示,然后再顯示下一位的數(shù)據(jù)。只要保證每一位顯示的時(shí)間間隔不要太大,利用人眼的視覺暫留的現(xiàn)象,就可以造成各位數(shù)據(jù)同時(shí)顯示的假象。一般每一位的顯示時(shí)間為110ms。33.2 單元模塊設(shè)計(jì)3.2.1 分頻器模塊設(shè)計(jì)根據(jù)設(shè)計(jì)要求,需要將開發(fā)板的50MHZ信號(hào)分出1HZ和1KHZ共2種時(shí)鐘信號(hào),1HZ脈沖信號(hào)用來提供計(jì)數(shù)模塊的時(shí)鐘信號(hào)在1HZ的脈沖下,每隔一秒,秒自加一次,1KHZ脈沖信號(hào)用來提供消抖電路的時(shí)鐘信號(hào),cnt用于數(shù)碼管掃描。完成程序后可以創(chuàng)建原理圖元件,其元件符號(hào)如圖3
17、-1 所示。圖3-1 分頻器3.2.2 按鍵消抖電路模塊通常的按鍵所用開關(guān)為機(jī)械彈性開關(guān),當(dāng)機(jī)械觸點(diǎn)斷開、閉合時(shí),電壓信號(hào)并不穩(wěn)定,由于機(jī)械觸點(diǎn)的彈性作用,一個(gè)按鍵開關(guān)在閉合時(shí)不會(huì)馬上穩(wěn)定地接通,在斷開時(shí)也不會(huì)一下子斷開。4因而在閉合與斷開的瞬間均有一連串的抖動(dòng),抖動(dòng)的時(shí)間的長(zhǎng)短有按鍵的機(jī)械特性決定,一般為5ms10ms。完成程序后可以創(chuàng)建元件,其元件符號(hào)如圖3-2 所示。圖3-2 消抖電路3.2.3 計(jì)數(shù)器模塊設(shè)計(jì)計(jì)數(shù)器模塊主要由秒60進(jìn)制計(jì)數(shù)模塊、分60進(jìn)制計(jì)數(shù)模塊、時(shí)24進(jìn)制計(jì)數(shù)模塊、日30進(jìn)制計(jì)數(shù)模塊、月12進(jìn)制計(jì)數(shù)模塊、年計(jì)數(shù)模塊和8進(jìn)制計(jì)數(shù)器。下圖3-3 是將60進(jìn)制計(jì)數(shù)模塊、分6
18、0進(jìn)制計(jì)數(shù)模塊、時(shí)24進(jìn)制計(jì)數(shù)模塊融合為一個(gè)模塊。圖3-3 時(shí)鐘電路秒60進(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號(hào)為1HZ的脈沖信號(hào),每計(jì)數(shù)到59便會(huì)產(chǎn)生一次進(jìn)位作為分60進(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號(hào),該模塊加入一個(gè)清零端,當(dāng)CS為1時(shí),秒計(jì)數(shù)模塊中的個(gè)位和十位同時(shí)為零,當(dāng)CS為1時(shí)正常計(jì)數(shù).分60進(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號(hào)為秒計(jì)數(shù)模塊的進(jìn)位信號(hào),其通過一個(gè)增加鍵CM對(duì)其調(diào)整。時(shí)24進(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號(hào)為分計(jì)數(shù)模塊的進(jìn)位信號(hào),其通過一個(gè)增加鍵CH對(duì)其調(diào)整。其中UP,CHANGE信號(hào)說明如下,當(dāng)UP 信號(hào)為高時(shí)時(shí),表示數(shù)碼管翻屏了,即顯示年月日的時(shí)間為6ms。UP信號(hào)為低電平時(shí),顯示時(shí)分秒。在UP有效時(shí),CHANGE為低
19、電平,所有數(shù)碼管上部分熄滅,下部分顯示年月日的下半部分,CHANGE為高電平時(shí),正常顯示年月日部分,直到UP 為低。5日30進(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號(hào)為時(shí)計(jì)數(shù)模塊的進(jìn)位信號(hào),其通過一個(gè)置數(shù)端load對(duì)其調(diào)整。日30進(jìn)制計(jì)數(shù)器的VHDL程序如附錄所示,完成程序后可以創(chuàng)建元件,其元件符號(hào)如圖3-4所示。圖3-4 日30進(jìn)制計(jì)數(shù)器月12進(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號(hào)為日計(jì)數(shù)模塊的進(jìn)位信號(hào),其通過一個(gè)置數(shù)端對(duì)其調(diào)整。月12進(jìn)制計(jì)數(shù)器的VHDL程序如附錄所示,完成程序后可以創(chuàng)建元件,其元件符號(hào)如圖3-5所示。圖3-5月12進(jìn)制計(jì)數(shù)器年進(jìn)制計(jì)數(shù)模塊的時(shí)鐘信號(hào)由月計(jì)數(shù)模塊的進(jìn)位信號(hào)產(chǎn)生,年計(jì)數(shù)模塊又由四個(gè)十進(jìn)制計(jì)數(shù)器組
20、成,分別是個(gè)位、十位、百位和千位計(jì)數(shù)模塊組成,中間由進(jìn)位信號(hào)連接。其VHDL程序如附錄所示,完成程序后可以創(chuàng)建元件,其元件符號(hào)分別如圖3-6、圖3-7、圖3-8和圖3-9所示。 圖3-6 年個(gè)位計(jì)數(shù)器 圖3-7 年十位計(jì)數(shù)器圖3-8 年百位計(jì)數(shù)器元件 圖3-9 年千位計(jì)數(shù)器元件符號(hào) 同時(shí),本設(shè)計(jì)中還需要設(shè)計(jì)一個(gè)8進(jìn)制計(jì)數(shù)器用來提供七段數(shù)碼管的位選碼和數(shù)據(jù)選擇器的狀態(tài)信號(hào)。其程序如附錄所示,其元件符號(hào)如圖3-2-10所示。圖3-108進(jìn)制計(jì)數(shù)器3.2.4 鬧鐘與蜂鳴器設(shè)計(jì)本設(shè)計(jì)只針對(duì)時(shí)分秒進(jìn)行定時(shí),并可任意設(shè)定定時(shí)時(shí)間。整點(diǎn)報(bào)時(shí)蜂鳴器的頻率是2000Hz,鬧鐘是1000Hz。元件符號(hào)如圖3-11
21、所示。圖3-11鬧鐘與蜂鳴器3.2.5多路復(fù)用器模塊設(shè)計(jì)將經(jīng)過七段譯碼后的時(shí)分秒,年月日在數(shù)碼管上顯示出來。為了實(shí)現(xiàn)自動(dòng)向上滾動(dòng)和手動(dòng)翻屏,加入了UP,CHANGE,信號(hào)來實(shí)現(xiàn)向上滾動(dòng)。加入撥碼開關(guān)KEY_SEL,來實(shí)現(xiàn)手動(dòng)翻屏。元件符號(hào)如圖3-12所示。圖3-12多路復(fù)用器3.2.6 八段譯碼模塊設(shè)計(jì)一個(gè)數(shù)碼管是由8段LED顯示的,0-9對(duì)應(yīng)著不同的字形。數(shù)碼管是共陽的,使用共陽字型碼。需要將BCD碼轉(zhuǎn)換成數(shù)碼管可以顯示的碼,該模塊的程序如附錄所示,其元件符號(hào)如圖3-13所示。圖3-13八段譯碼3.3 數(shù)字鐘設(shè)計(jì)總原理圖利用至頂向下的設(shè)計(jì)方法,新建一個(gè)Block Diagram,在Quart
22、us 環(huán)境下連接各模塊組成數(shù)字鐘的總原理圖如圖3-14所示。圖3-14 數(shù)字鐘總原理圖4 編譯報(bào)告4.1 數(shù)字鐘設(shè)計(jì)編譯報(bào)告將各模塊正確連線后,編譯無警告,生成編譯報(bào)告如圖。發(fā)現(xiàn),總的邏輯單元使用了184,其中組合邏輯使用184,時(shí)序邏輯使用98,由此看出,在Alter的EP2C5Q208芯片中,一個(gè)LE包括一個(gè)Combination logic和一個(gè)Timing logic。如圖4-1。圖4-1 數(shù)字鐘編譯報(bào)告5 電路仿真與硬件調(diào)試5.1 電路仿真經(jīng)過嘗試,發(fā)現(xiàn)數(shù)字鐘的設(shè)計(jì)用波形仿真看到與實(shí)際相符的數(shù)據(jù)很困難,因?yàn)?0M的時(shí)鐘要分成1HZ的時(shí)鐘,1000HZ的時(shí)鐘,分在秒跳動(dòng)60才跳一次,時(shí)
23、在分跳動(dòng)60才跳一次,受到simulator tool 工作界面的限制,并不能完整的觀察到時(shí)分秒,年月日的信息,因此只選擇的clock模塊的進(jìn)行了仿真。如下圖。圖5-1 計(jì)數(shù)模塊仿真波形圖七段數(shù)碼顯示譯碼器LED的仿真,其中Din3.0為BCD碼輸入,LED7S6.0為七段譯碼輸出(高電平有效)。其仿真輸出波形如圖5-2所示。圖5-2 七段譯碼模塊仿真波形圖5.2 硬件調(diào)試經(jīng)過調(diào)試,仿真結(jié)果正確后,將sof文件轉(zhuǎn)換成固化到芯片的適合JTAG下載的jic文件。連接硬件系統(tǒng)后,通上電源,經(jīng)Quartus中的PROGRAMMER菜單,調(diào)出編程器窗口,刪掉sof文件,現(xiàn)在轉(zhuǎn)換成功的jic文件。一切就緒
24、后,按下編程器窗口中的“START”按鈕,設(shè)計(jì)的容就開始下載到FPGA芯片中。通過實(shí)驗(yàn)箱上的撥碼開關(guān)和按鍵開關(guān)可以逐一對(duì)數(shù)字鐘的功能進(jìn)行驗(yàn)證。通過數(shù)碼管顯示可知本設(shè)計(jì)可以實(shí)現(xiàn)基本的時(shí)、分、秒與年、月、日的計(jì)數(shù),通過按鍵和撥碼開關(guān)的配合可以實(shí)現(xiàn)時(shí)、分、秒和年、月、日的校準(zhǔn)以與顯示翻屏。故本設(shè)計(jì)完全符合設(shè)計(jì)要求。6 總結(jié)與心得體會(huì)由于一直在學(xué)習(xí)FPGA,所以拿到課程設(shè)計(jì)的題目時(shí)胸有成竹,我想對(duì)于我來說,設(shè)計(jì)出來毫無困難,所以就想在題目的要求上上一個(gè)高度。之前都是用VHDL語言生成模塊直接例化,這次我選擇了利用更直觀的原理圖設(shè)計(jì)方法。連線時(shí)也遇到過小小的麻煩,比如剛開始總線不知怎么解決,PIN_NA
25、ME不知道怎么命名。圖連完后,編譯通過,對(duì)原理圖設(shè)計(jì)有了整題把握,以后做設(shè)計(jì)的時(shí)候,對(duì)于接口比較復(fù)雜的還是用原理圖設(shè)計(jì)比較方便。后來就考慮如何玩點(diǎn)花樣,畢竟單調(diào)的顯示時(shí)分秒還是駕輕就熟的。改動(dòng)如下:1.將區(qū)分時(shí)分秒,年月日的-改成動(dòng)態(tài)的了,隨著1HZ的時(shí)鐘兩滅,看著形象多了。2.在利用按鍵手動(dòng)翻屏的基礎(chǔ)上,加了個(gè)自動(dòng)翻屏,畢竟有時(shí)候并不想動(dòng)手去看日期,自動(dòng)翻屏的目的是想讓日期從下往上浮動(dòng),可惜不是16*16的點(diǎn)陣,效果不佳。路漫漫其修遠(yuǎn)兮,吾將上下而求索。參考文獻(xiàn)1 盧毅,賴杰. VHDL與數(shù)字電路設(shè)計(jì). 科學(xué),2009.2 理工大學(xué)ASIC研究所.VHDL語言100例詳解. 清華大學(xué),200
26、1.3 麗英.電路EDA技術(shù)與應(yīng)用. 清華大學(xué),2011.4 自美.電子線路設(shè)計(jì)(第二版).華中科技大學(xué),2000.5 世強(qiáng).電子電路EDA技術(shù).電子科技大學(xué),2006.附錄library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;package my_package isfunction bcd_to_seg7(signal bcd:integer range 0 to 9) return std_logic_vector;procedure se
27、c_min_hour(signal n:in integer range 0 to 59;signal shi,ge:out integer);end my_package;package body my_package isfunction bcd_to_seg7(signal bcd:integer range 0 to 9)return std_logic_vector isvariable seg7:std_logic_vector(7 downto 0);begincase bcd iswhen 0= seg7:=xc0;when 1= seg7:=xf9;when 2= seg7:
28、=xa4; when 3= seg7:=xb0;when 4= seg7:=x99; when 5= seg7:=x92; when 6= seg7:=x82;when 7= seg7:=xf8; when 8= seg7:=x80;when 9=seg7:=x90;when others=end case;return seg7;end bcd_to_seg7;procedure sec_min_hour(signal n:in integer range 0 to 59;signal shi,ge:out integer)isbegincase n iswhen 0|1|2|3|4|5|6
29、|7|8|9=shishishishishishinull;end case;case n iswhen 0|10|20|30|40|50=gegegegegegegegegegenull;end case;end sec_min_hour;end my_package;main.vhd library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;use work.my_package.all;entity digitalclock isport(cl
30、k:in std_logic; rst_n:in std_logic; cs:in std_logic; cm:in std_logic; ch:in std_logic; key_sel:in std_logic; buzz:inout std_logic; wei_sel:out std_logic_vector(7 downto 0); data_out:out std_logic_vector(7 downto 0);end digitalclock;architecture behavior of digitalclock issignal sec:integer range 0 t
31、o 59:=50;signal min:integer range 0 to 59:=59;signal hour:integer range 0 to 23:=0;signal sec_ge:integer range 0 to 9;signal min_ge:integer range 0 to 9;signal hour_ge:integer range 0 to 9;signal sec_shi:integer range 0 to 9;signal min_shi:integer range 0 to 9;signal hour_shi:integer range 0 to 9;si
32、gnal clk_1:std_logic;signal clk_1000:std_logic;signal buzz_freque:integer;signal key_value:integer;signalt:integer range 0 to 7;the scan frequencesignal H:std_logic;signal up,change:std_logic;beginprocess(clk,rst_n)-divider the clk to different hzvariablet1:integer range 0 to 5000;-9999variablet2:in
33、teger range 0 to 2;variablet3:integer range 0 to 1500;-2500beginif(rst_n=0)then elsif(clkevent and clk=1)thenif(cnt1=5000)thencnt1:=0;clk_1000=not clk_1000;-1000hzif(cnt2=2)thencnt2:=0;if(cnt=7)thencnt=0;elsecnt=cnt+1;end if;if(cnt3=1500)thencnt3:=0;clk_1=not clk_1;elsecnt3:=cnt3+1;end if;elsecnt2:=
34、cnt2+1;end if;elsecnt1:=cnt1+1;end if;end if;end process;process(clk_1,rst_n,key_value)variable delay:integer range 0 to 10;beginif(rst_n=0)then sec=0;min=0;hoursecif(min=59)thenmin=0;elseminif(hour=23)thenhour=0;elsehourif(sec=59)thensec=0;if(min=59)thenmin=0;if(hour=23)thenhour=0;elsehour=hour+1;e
35、nd if;elsemin=min+1;end if;elsesec=54 and sec=59)thenup=1;if(sec=55)thenchange=0;elsif(sec=59)thenchange=1;end if;elseupnull; end case;end if;end process;process(clk_1000,ch,cm,cs)variable delay:integer range 0 to 10;variable key:std_logic_vector(2 downto 0);beginkey:=ch&cm&cs;if(clk_1000event and c
36、lk_1000=1)thencase key iswhen 011=if(delay=10)thendelay:=0;key_valueif(delay=10)thendelay:=0;key_valueif(delay=10)thendelay:=0;key_valuekey_value=0;end case;end if;end process;process(sec,min)beginif(min=0 and sec=0)thenbuzz_freque=20000;elsif(min=59)thenif (sec=50 or sec=52 or sec=54 or sec=56 or sec=58)thenbuzz_freque=10000;elsebuzz_freque=0;end if;elsebuzz_freque=0;end if;end process;process(clk,buzz_freque)variablet:integer:=0;beginif(buzz_freque/=0)thenif(clke
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年捐款協(xié)議模板
- 二年級(jí)上冊(cè)數(shù)學(xué)教案-除法的初步認(rèn)識(shí)(2)-西師大版
- 三年級(jí)上冊(cè)數(shù)學(xué)教學(xué)設(shè)計(jì)-5.1什么是周長(zhǎng) 北師大版
- 六年級(jí)下冊(cè)數(shù)學(xué)教案-第一單元第3課時(shí) 問題解決(1) 西師大版
- 2025年購(gòu)房合同模板文件
- 借住合同(2025年版)
- 學(xué)習(xí)2025年雷鋒精神六十二周年主題活動(dòng)實(shí)施方案 (3份)-98
- 2025年學(xué)習(xí)雷鋒精神六十二周年主題活動(dòng)方案
- 《線段、射線和直線》(教學(xué)設(shè)計(jì))-2024-2025學(xué)年四年級(jí)上冊(cè)數(shù)學(xué)冀教版
- 《小小設(shè)計(jì)師》(教學(xué)設(shè)計(jì))-2023-2024學(xué)年二年級(jí)下冊(cè)數(shù)學(xué)人教版
- 人教版八年級(jí)美術(shù)下冊(cè)全冊(cè)課件匯總
- 質(zhì)量管理-AQL抽樣基礎(chǔ)知識(shí)培訓(xùn)課件
- 藥事管理與法規(guī)考試題庫(kù)及答案(可下載)
- 2023年煙臺(tái)南山學(xué)院?jiǎn)握芯C合素質(zhì)考試筆試題庫(kù)及答案解析
- 基于Matlab的并行計(jì)算課件
- 2021年熔化焊與熱切割基礎(chǔ)知識(shí)課件
- 瀝青試驗(yàn)講解精品課件
- 秒的認(rèn)識(shí) 完整版PPT
- 創(chuàng)新藥產(chǎn)業(yè)鏈研究培訓(xùn)框架
- 燃?xì)鈽I(yè)務(wù)代辦授權(quán)書模板
- 《中國(guó)人閱讀書目(三)——中國(guó)初中生基礎(chǔ)閱讀書目-導(dǎo)賞手冊(cè)》新書簡(jiǎn)介2014.8.14 (1)
評(píng)論
0/150
提交評(píng)論