數(shù)字邏輯電路課設(shè)-簡(jiǎn)易數(shù)字鐘設(shè)計(jì)_第1頁(yè)
數(shù)字邏輯電路課設(shè)-簡(jiǎn)易數(shù)字鐘設(shè)計(jì)_第2頁(yè)
數(shù)字邏輯電路課設(shè)-簡(jiǎn)易數(shù)字鐘設(shè)計(jì)_第3頁(yè)
數(shù)字邏輯電路課設(shè)-簡(jiǎn)易數(shù)字鐘設(shè)計(jì)_第4頁(yè)
數(shù)字邏輯電路課設(shè)-簡(jiǎn)易數(shù)字鐘設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩7頁(yè)未讀 繼續(xù)免費(fèi)閱讀

數(shù)字邏輯電路課設(shè)-簡(jiǎn)易數(shù)字鐘設(shè)計(jì).docx 免費(fèi)下載

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

經(jīng)典word整理文檔,僅參考,雙擊此處可刪除頁(yè)眉頁(yè)腳。本資料屬于網(wǎng)絡(luò)整理,如有侵權(quán),請(qǐng)聯(lián)系刪除,謝謝!數(shù)字邏輯電路課程設(shè)計(jì)報(bào)告多功能數(shù)組鐘設(shè)計(jì)通過(guò)MaxplusII使用VHDL語(yǔ)言編寫(xiě)設(shè)計(jì)一款多功能數(shù)字鐘,具體功能如下:1、2、3、4、時(shí)鐘時(shí),分,秒分別顯示且能正確計(jì)數(shù)。整點(diǎn)報(bào)時(shí),時(shí)鐘在將要到達(dá)整點(diǎn)的最后十秒,給予蜂鳴提示。校時(shí),可以通過(guò)相應(yīng)開(kāi)關(guān)按鈕對(duì)時(shí)鐘的時(shí)分秒進(jìn)行調(diào)整。鬧鐘,用戶可以預(yù)設(shè)鬧鈴時(shí)刻,當(dāng)時(shí)間到達(dá)該時(shí)刻時(shí),發(fā)出蜂鳴提示。1、設(shè)計(jì)框圖:2、外部輸入輸出要求:外部輸入要求:輸入信號(hào)有1024Hz時(shí)鐘信號(hào)、低電平有效的秒清零信號(hào)CLR、低電平有效的調(diào)分信號(hào)SETmin、低電平有效的調(diào)時(shí)信號(hào)SEThour;外部輸出要求:整點(diǎn)報(bào)時(shí)信號(hào)SOUND(59分51/3/5/7秒時(shí)未500Hz低頻聲,59分59秒時(shí)為1kHz高頻聲)、時(shí)十位顯示信號(hào)h1(a,b,c,d,e,f,g)、時(shí)個(gè)位顯示信號(hào)h0(a,b,c,d,e,f,g)、分十位顯示信號(hào)m1及分個(gè)位m0、秒十位s1及秒個(gè)位s0;數(shù)碼管顯示位選信號(hào)SEL0/1/2等三個(gè)信號(hào)。3、各模塊功能:1)FREQ分頻模塊:整點(diǎn)報(bào)時(shí)用的1024Hz與512Hz的脈沖信號(hào),這里的輸入信號(hào)是1024Hz信號(hào),所以只要一個(gè)二分頻即可;時(shí)間基準(zhǔn)采用1Hz輸入信號(hào)直接提供(當(dāng)然也可以分頻取得,這里先用的是分頻取得的信號(hào),后考慮到精度問(wèn)題而采用硬件頻率信號(hào)。2)秒計(jì)數(shù)模塊SECOND:60進(jìn)制,帶有進(jìn)位和清零功能的,輸入為1Hz脈沖和低電平有效的清零信號(hào)CLR,輸出秒個(gè)位、時(shí)位及進(jìn)位信號(hào)CO。3)分計(jì)數(shù)模塊MINUTE60進(jìn)制,帶有進(jìn)位和置數(shù)功能的,輸入為1Hz脈沖和高電平有效的使能信號(hào)EN,輸出分個(gè)位、時(shí)位及進(jìn)位信號(hào)CO。4)時(shí)計(jì)數(shù)模塊HOUR:24進(jìn)制,輸入為1Hz脈沖和高電平有效的使能信號(hào)EN,輸出分個(gè)位、時(shí)位。5)掃描模塊SELTIME:輸入為秒(含個(gè)/十位)、分、時(shí)、掃描時(shí)鐘CLK1K,輸出為D和顯示控制信號(hào)SEL。6)整點(diǎn)報(bào)時(shí)功能模塊ALERT:輸入為分/秒信號(hào),輸出為高頻聲控Q1K和Q500。7)譯碼顯示功能模塊DISPLAY:輸入為D,輸出為Q。4、VHDL程序設(shè)計(jì):1)分頻模塊(使用原理圖輸入):2)秒模塊程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitySECONDisport(clk,clr:instd_logic;sec1,sec0:outstd_logic_vector(3downto0);co:outstd_logic);endSECOND;architectureSECofSECONDisbeginprocess(clk,clr)variablecnt1,cnt0:std_logic_vector(3downto0);beginifclr='1'thencnt1:="0000";cnt0:="0000";elsifclk'eventandclk='1'thenifcnt1="0101"andcnt0="1000"thenco<='1';cnt0:="1001";elsifcnt0<"1001"thencnt0:=cnt0+1;elsecnt0:="0000";ifcnt1<"0101"thencnt1:=cnt1+1;elsecnt1:="0000";co<='0';endif;endif;endif;sec1<=cnt1;sec0<=cnt0;endprocess;endSEC;3)分模塊程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityMINUTEisport(clk,en:instd_logic;min1,min0:outstd_logic_vector(3downto0);co:outstd_logic);endMINUTE;architectureMINofMINUTEisbeginprocess(clk,en)variablecnt1,cnt0:std_logic_vector(3downto0);beginifclk'eventandclk='1'thenifen='1'thenifcnt1="0101"andcnt0="1000"thenco<='1';cnt0:="1001";elsifcnt0<"1001"thencnt0:=cnt0+1;elsecnt0:="0000";ifcnt1<"0101"thencnt1:=cnt1+1;elsecnt1:="0000";co<='0';endif;endif;endif;endif;min1<=cnt1;min0<=cnt0;endprocess;endMIN;4)時(shí)模塊程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityHOURisport(clk,en:instd_logic;h1,h0:outstd_logic_vector(3downto0));endHOUR;architecturehour_arcofHOURisbeginprocess(clk)variablecnt1,cnt0:std_logic_vector(3downto0);beginifclk'eventandclk='1'thenifen='1'thenifcnt1="0010"andcnt0="0011"thencnt1:="0000";cnt0:="0000";elsifcnt0>="1001"thencnt1:=cnt1+1;cnt0:="0000";elsecnt0:=cnt0+1;endif;endif;endif;h1<=cnt1;h0<=cnt0;endprocess;endhour_arc;5)位選模塊程序:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;useieee.std_logic_arith.all;entitySELTIMEisport(clk:instd_logic;sec1,sec0,min1,min0,h1,h0:instd_logic_vector(3downto0);daout:outstd_logic_vector(3downto0);sel:outstd_logic_vector(2downto0));endSELTIME;architecturefunofSELTIMEissignalcount:std_logic_vector(2downto0);beginsel<=count;process(clk)beginif(clk'eventandclk='1')thenif(count>="101")thencount<="000";elsecount<=count+1;endif;endif;casecountiswhen"000"=>daout<=sec0;when"001"=>daout<=sec1;when"010"=>daout<=min0;when"011"=>daout<=min1;when"100"=>daout<=h0;whenothers=>daout<=h1;endcase;endprocess;endfun;)顯示模塊程序:libraryieee;useieee.std_logic_1164.all;entityDISPLAYisport(d:instd_logic_vector(3downto0);q:outstd_logic_vector(6downto0));endDISPLAY;architecturedisp_areofDISPLAYisbeginprocess(d)begincasediswhen"0000"=>q<="0111111";when"0001"=>q<="0000110";when"0010"=>q<="1011011";when"0011"=>q<="1001111";when"0100"=>q<="1100110";when"0101"=>q<="1101101";when"0110"=>q<="1111101";when"0111"=>q<="0100111";when"1000"=>q<="1111111";whenothers=>q<="1101111";endcase;endprocess;enddisp_are;)整點(diǎn)報(bào)時(shí)模塊:libraryieee;useieee.std_logic_1164.all;entityALERTisport(m1,m0,s1,s0:instd_logic_vector(3downto0);clk:instd_logic;q500,qlk:outstd_logic);endALERT;architecturesss_arcofALERTisbeginprocess(clk)beginifclk'eventandclk='1'thenifm1="0101"andm0="1001"ands1="0101"thenifs0="0001"ors0="0011"ors0="0101"ors0="0111"thenq500<='1';elseq500<='0';endif;endif;ifm1="0101"andm0="1001"ands1="0101"ands0="1001"thenqlk<='1';elseqlk<='0';endif;endif;endprocess;endsss_arc;8)頂層原理圖:一周半的數(shù)字邏輯電路課程設(shè)計(jì)如期結(jié)束,經(jīng)過(guò)一個(gè)多周的努力付出,我終于設(shè)計(jì)出了自己的多功能數(shù)字鐘。一個(gè)多周的經(jīng)歷,讓我感知到了自己以前完全沒(méi)有體會(huì)到的感受,認(rèn)識(shí)到了自己從理論轉(zhuǎn)化到實(shí)際的能力的欠缺,還有很多事情需要自己去做來(lái)完善自己。從簡(jiǎn)單而概括的問(wèn)題出發(fā)到真正的實(shí)驗(yàn)成功,其間我經(jīng)歷很多的困難。首先考慮的是,是否應(yīng)該將整個(gè)數(shù)字鐘全部用VHDL語(yǔ)言來(lái)描述?完全用VHDL語(yǔ)言來(lái)描述整個(gè)數(shù)字鐘顯然要有十分清晰的設(shè)計(jì)思路和熟稔的VHDL語(yǔ)言描述能力,對(duì)于我這樣的初學(xué)者的確有很大的困難,于是我放棄了完全用描述語(yǔ)言來(lái)實(shí)現(xiàn)數(shù)字鐘的方法,轉(zhuǎn)而將整個(gè)數(shù)字鐘劃分成幾個(gè)模塊來(lái)實(shí)現(xiàn),每個(gè)模塊可以用VHDL語(yǔ)言來(lái)描述,也可以用繪制原理圖的方法來(lái)實(shí)現(xiàn),選其簡(jiǎn)單的方法來(lái)實(shí)現(xiàn)。相繼的,我將數(shù)字鐘劃分為分頻模塊,校時(shí)模塊,時(shí)分秒計(jì)時(shí)模塊,整點(diǎn)報(bào)時(shí)模塊,位選掃描模塊,顯示模塊和揚(yáng)聲器模塊,并將他們用語(yǔ)言或者繪圖的方法實(shí)現(xiàn)且生成器件,最后根據(jù)數(shù)字鐘實(shí)現(xiàn)的原理連接各個(gè)器件形成頂層原理圖,編譯成功后下載。其中有一個(gè)地方我印象十分深刻,就是下載到器件后我發(fā)現(xiàn)數(shù)碼管不能正常的掃描顯示,并且每一個(gè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論