實(shí)驗(yàn)報(bào)告循環(huán)彩燈控制器_第1頁
實(shí)驗(yàn)報(bào)告循環(huán)彩燈控制器_第2頁
實(shí)驗(yàn)報(bào)告循環(huán)彩燈控制器_第3頁
實(shí)驗(yàn)報(bào)告循環(huán)彩燈控制器_第4頁
實(shí)驗(yàn)報(bào)告循環(huán)彩燈控制器_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

湖南科技大學(xué)信息與電氣工程學(xué)院《VHDL語言》課程設(shè)計(jì)報(bào)告題目:VHDL語言課程設(shè)計(jì)專業(yè):班級(jí):姓名:學(xué)號(hào):課程設(shè)計(jì)任務(wù)書題目設(shè)計(jì)時(shí)間設(shè)計(jì)目的:設(shè)計(jì)要求:總體方案實(shí)現(xiàn):指導(dǎo)教師評(píng)語:課程設(shè)計(jì)的目的:1,通過本次課程設(shè)計(jì),熟練掌握MAX-PLUS2的應(yīng)用,操作,并對(duì)VHDL語言的編程做一實(shí)踐檢驗(yàn),編出程序,并進(jìn)行仿真,并根據(jù)所得仿真圖形分析和推斷并改進(jìn)所涉及的程序,讓程序在現(xiàn)實(shí)生活中得以更貼近的應(yīng)用。2,本次操作的命題一是:循環(huán)彩燈控制器,本設(shè)計(jì)的要求是:設(shè)計(jì)一個(gè)循環(huán)彩燈控制器,該控制器控制紅,綠,黃三個(gè)發(fā)光管循環(huán)點(diǎn)亮。要求紅發(fā)光管亮3秒,綠發(fā)光管亮2秒,黃發(fā)光管亮1秒。3,本次操作的命題二是:數(shù)字顯示的秒表,本設(shè)計(jì)的要求是:設(shè)計(jì)一塊用數(shù)碼管顯示的秒表,能夠準(zhǔn)確的計(jì)時(shí)并顯示。最大計(jì)時(shí)為59秒,最小精確到0.1秒。二、設(shè)計(jì)方案的論證:命題一循環(huán)彩燈控制器的方案一:在本題中要求控制器可以控制紅,綠,黃三個(gè)發(fā)光管循環(huán)點(diǎn)亮,并且要求發(fā)光的時(shí)間不一樣,這樣,本質(zhì)設(shè)計(jì)思想是循環(huán)累加,即時(shí)鐘信號(hào)高電平開始,m值開始累加,CASEmISWHEN"001"=>dout<="100";WHEN"010"=>dout<="100";WHEN"011"=>dout<="100";WHEN"100"=>dout<="010";WHEN"101"=>dout<="010";WHEN"110"=>dout<="001";WHENOTHERS=>dout<="111";ENDCASE;前三個(gè)值都將賦值給dout1,也就是紅燈發(fā)光的三秒,然后兩個(gè)賦值給綠燈,最后一秒賦值給黃燈。這樣,dout的不同值將點(diǎn)亮不同顏色的燈,下面是表示三種燈的點(diǎn)亮程序。red<=dout(2);green<=dout(1);yellow<=dout(0);以此類推,我們可以實(shí)現(xiàn)三個(gè)彩燈不同時(shí)間的循環(huán)點(diǎn)亮。真值表如下:mm值燈1(001)2010301141005101611071110000紅燈11100000綠燈00011000黃燈00000100命題一循環(huán)彩燈控制器方案二:根據(jù)題目要求,可以設(shè)計(jì)一個(gè)計(jì)數(shù)器來實(shí)現(xiàn),在開始計(jì)數(shù)前,我們采用計(jì)數(shù)器將每一個(gè)數(shù)字進(jìn)行技術(shù),然后再根據(jù)不同的點(diǎn)亮?xí)r間一次分派不同顏色的燈讓他們顯示。這樣就需要編程三個(gè)進(jìn)程,在需要依次膚質(zhì)就可以達(dá)到效果。綜上兩種方案:方案一,簡(jiǎn)單可行性好,容易理解,編程簡(jiǎn)單,使讀者更容易懂,設(shè)計(jì)者也方便設(shè)計(jì),而方案二也可以達(dá)到課設(shè)的要求,但是,有很多不足之處,編程繁瑣,給設(shè)計(jì)者帶來諸多不便,相對(duì)之下,還是選擇第一種方案,命題二數(shù)字顯示的秒表設(shè)計(jì)方案,在設(shè)計(jì)過程中要求設(shè)計(jì)的秒表能夠準(zhǔn)確顯示時(shí)間,最大計(jì)時(shí)為59秒,最小精確到0.1秒。通過分析,我們可以通過三個(gè)進(jìn)程分別顯示一個(gè)數(shù)字,每一個(gè)進(jìn)程分別計(jì)數(shù),因?yàn)樵赩HDL語言中,進(jìn)程是同時(shí)進(jìn)行的,只有在進(jìn)程內(nèi)部才是按照順序進(jìn)行的,所以,計(jì)數(shù)是同時(shí)進(jìn)行的,我們可以通過采取計(jì)數(shù)的原理來實(shí)現(xiàn)秒表的顯示,后面兩位都是十進(jìn)制,最前面的計(jì)數(shù)到5結(jié)束,在進(jìn)行設(shè)計(jì)過程中考慮到實(shí)際現(xiàn)實(shí)中的應(yīng)用,做了相應(yīng)改進(jìn),我們可以通過一個(gè)時(shí)鐘控制它無法顯示到59.9秒的時(shí)候,然后重新開始,即復(fù)位,我們也可以在計(jì)數(shù)的時(shí)候按照我們的意愿讓秒表暫停。這樣設(shè)計(jì)更符合實(shí)際應(yīng)用。命題二改進(jìn)(1):IF(CLR='1')THENOUT1<="0000";遇到中途計(jì)數(shù)清零設(shè)計(jì),我們可以通過對(duì)clr的控制來控制秒表的計(jì)數(shù)。命題二改進(jìn)(2):IF(START='1')THENOUT1<=OUT1+'0';增加這個(gè)程序段,我們可以中途暫停,如果不加,那么整個(gè)程序只能在到達(dá)計(jì)數(shù)末端才能清零,即每次都是從0到59.9秒的計(jì)數(shù),但是增加該段,那么,我們就可以在0到59.9之間,任何一個(gè)時(shí)間點(diǎn)暫停,以供我們的需求。三、設(shè)計(jì)仿真及結(jié)果分析:命題一循環(huán)彩燈控制器:根據(jù)程序調(diào)試仿真圖如下:(仿真圖中的us表示現(xiàn)實(shí)中表示s)分析:從圖形可以看出,清零端低電平,時(shí)鐘信號(hào)上升沿時(shí)m值開始計(jì)數(shù),隨著m值的變化,彩燈的顯示一塊變化,圖示顯示,red燈點(diǎn)亮3秒,gree燈點(diǎn)亮2秒,yellow燈點(diǎn)亮1秒,整個(gè)周期是六秒一個(gè)循環(huán),基本上實(shí)現(xiàn)了題目的要求。命題二數(shù)字顯示的秒表數(shù)字顯示秒表仿真結(jié)果如下:仿真結(jié)果分析:根據(jù)程序仿真,時(shí)鐘上升沿開始計(jì)數(shù),從圖形可以看出,out1從1開始計(jì)數(shù)到9,然后循環(huán)繼續(xù)重復(fù)上述計(jì)數(shù),在out1計(jì)數(shù)到9的時(shí)候,現(xiàn)實(shí)中,應(yīng)給out2開始計(jì)數(shù),從圖形來看,符合實(shí)際應(yīng)用,當(dāng)out2計(jì)數(shù)到9的時(shí)候,out3開始計(jì)數(shù),也就是說,每一個(gè)都符合計(jì)數(shù)的要求和現(xiàn)實(shí)生活的應(yīng)用。但是這樣只能計(jì)數(shù)從0開始到59.9秒,符合題目的要求,但是,在現(xiàn)實(shí)中,我們需要一個(gè)多用的計(jì)數(shù)器,所以,進(jìn)行了改進(jìn),我們可以根據(jù)需要,讓秒表停到我們需要的數(shù)字,這樣便于應(yīng)用,而且,我們?cè)跊]計(jì)數(shù)到59.9秒的時(shí)候進(jìn)行清零,這樣我們更貼切生活的應(yīng)用。上述的仿真結(jié)果分析:處理在前面的計(jì)數(shù)和正常顯示外,從圖上我們可以看出,當(dāng)CLR為高電平時(shí),所有計(jì)數(shù)都清零,從新開始計(jì)數(shù),在START為高電平時(shí),計(jì)數(shù)暫停在該點(diǎn),也符合我們?nèi)粘I畹膽?yīng)用。這樣就解決了前面遇到的問題。四、設(shè)計(jì)及仿真中的體會(huì)。這次課程設(shè)計(jì)中,我們不但學(xué)習(xí)了maxplus軟件的應(yīng)用,而且鞏固了以前所學(xué)的理論知識(shí),特別是VHDL語言的學(xué)習(xí)和編程,我們也學(xué)習(xí)了數(shù)電和電路的相關(guān)知識(shí),也是一次很好的復(fù)習(xí),也是一次很好的實(shí)踐。下面就本次課程設(shè)計(jì)中遇到的問題和解決方案做一總結(jié):第一:初次接觸maxplus,剛開始的時(shí)候只是對(duì)軟件的熟悉,通過老師的指導(dǎo)和書本的查閱,基本掌握該軟件的簡(jiǎn)單應(yīng)用。第二:程序的編程和調(diào)試。我們?cè)诶碚搶W(xué)習(xí)中就編程,所以,編程不會(huì)是很大的問題,但是以前只是理論上的編程,只是隨著認(rèn)得意識(shí)而編寫的,所以,當(dāng)我們編程完成以后開始調(diào)試的時(shí)候發(fā)現(xiàn)很多問題。在進(jìn)行程序調(diào)試的時(shí)候首先發(fā)現(xiàn)了路徑無法打開,進(jìn)過老師的指導(dǎo),結(jié)合理論知識(shí)的解釋,我們做了很多改變開得以解決。其次,受C語言的影響,編程有些太復(fù)雜,出現(xiàn)特多警告,后來在老師的耐性指導(dǎo)和修改下,然后通過自己的思考將其改正。在調(diào)試的過程中還會(huì)出現(xiàn)很多很普通的錯(cuò)誤,比如說,標(biāo)點(diǎn)符號(hào),定義變量名的時(shí)候出現(xiàn)了相當(dāng)多的錯(cuò)誤,這些只要編程序時(shí)細(xì)心認(rèn)真就可以解決。

第三:程序的仿真。程序的仿真應(yīng)該說是這次課程設(shè)計(jì)中最有收獲的,因?yàn)橹皬臎]接觸過,通過仿真,我們可以清楚的看出程序的應(yīng)用,和相關(guān)需要出現(xiàn)的結(jié)果,還有一些我們?cè)诰幊踢^程中的變量等等的顯示,這樣也有助于我們的程序編程的改進(jìn),貼別是在設(shè)計(jì)命題二的時(shí)候,只要仿真完就可以發(fā)現(xiàn)問題,并及時(shí)修改,最后達(dá)到完美。第四,程序優(yōu)化,改進(jìn)。在按照課題的設(shè)計(jì)過程中,發(fā)現(xiàn),如果按照題目的要求設(shè)計(jì),那么,這個(gè)硬件的設(shè)計(jì)太單一,而且在應(yīng)用中不太理想,所以,就做了些許改進(jìn),命題二在題目的要求基礎(chǔ)上,加了中途暫停和在沒有計(jì)數(shù)滿的情況下清零功能,這樣,更符合實(shí)際的應(yīng)用。五、對(duì)本次課程設(shè)計(jì)的體會(huì)和建議:通過兩周的緊張努力,我們成功完成了這次課程設(shè)計(jì),我們不但學(xué)會(huì)了maxplus軟件的應(yīng)用,而且復(fù)習(xí)了前面學(xué)過的很多理論知識(shí),我們統(tǒng)籌兼顧的學(xué)習(xí)了理論和實(shí)踐應(yīng)用的區(qū)別,讓我體會(huì)深刻的是,實(shí)踐是檢驗(yàn)整理的唯一標(biāo)準(zhǔn),如果沒有這次課程設(shè)計(jì),就沒法想到VHDL語言在我們學(xué)習(xí)和和生活中的重大應(yīng)用,這將給我們一個(gè)很好的體會(huì),給我們以后更好學(xué)習(xí)專業(yè)課程做了鋪墊,也是我們將來工作的一個(gè)幫手。在這次課程設(shè)計(jì)中也有很多遺憾,所以通過這次課程設(shè)計(jì)我們可以做以下建議:首先,在正常的理論教學(xué)中,引導(dǎo)學(xué)生學(xué)習(xí)maxplus軟件的應(yīng)用,在短時(shí)間的學(xué)習(xí)效果不是很好。二,希望有機(jī)會(huì),我們可以再自己做好編程和調(diào)試的基礎(chǔ)上做出實(shí)物,相信這樣會(huì)有更好的收獲。六、參考文獻(xiàn):參考書目:【1】侯伯亨編,《VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì)》,西安電子科技大學(xué)出版社,1999年版。【2】邢建平曾繁太編,《VHDL設(shè)計(jì)教程》,清華大學(xué)出版社,2005版【3】劉凱,VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計(jì),西安電子科技大學(xué)出版社,2009.8七、附錄:附錄一選題一源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYcaidengISPORT(clk,clr:INSTD_LOGIC;red,green,yellow:OUTSTD_LOGIC);ENDENTITYcaideng;ARCHITECTURExh_rtlOFcaidengISSIGNALdout:STD_LOGIC_VECTOR(2DOWNTO0);SIGNALm:STD_LOGIC_VECTOR(2DOWNTO0);BEGINred<=dout(2);green<=dout(1);yellow<=dout(0);PROCESS(clk)ISBEGINIF(clr='1')THENm<="001";ELSIF(clk'EVENTANDclk='1')THENIF(m="110")THENm<="001";ELSEm<=m+1;ENDIF;CASEmISWHEN"001"=>dout<="100";WHEN"010"=>dout<="100";WHEN"011"=>dout<="100";WHEN"100"=>dout<="010";WHEN"101"=>dout<="010";WHEN"110"=>dout<="001";WHENOTHERS=>dout<="111";ENDCASE;ENDIF;ENDPROCESS;ENDARCHITECTURExh_rtl;附錄二選題二源程序:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;USEIEEE.STD_LOGIC_UNSIGNED.ALL;ENTITYmiaobiaoISPORT(CLK:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(3DOWNTO0);WR3,WR2,WR1,CLR,START:INSTD_LOGIC;DOUT3:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DOUT2:OUTSTD_LOGIC_VECTOR(3DOWNTO0);DOUT1:OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDENTITYmiaobiao;ARCHITECTUREEXAMPLEOFmiaobiaoISSIGNALOUT3:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALOUT2:STD_LOGIC_VECTOR(3DOWNTO0);SIGNALOUT1:STD_LOGIC_VECTOR(3DOWNTO0);BEGINDOUT3<=OUT3;DOUT2<=OUT2;DOUT1<=OUT1;PROCESS(CLK)ISBEGINIF(CLR='1')THENOUT1<="0000";ELSIF(CLK'EVENTANDCLK='1')THENIF(START='1')THENOUT1<=OUT1+'0';ELSIF(WR1='1')THENOUT1<=DIN;ELSIF(OUT1="1001")THENOUT1<="0000";ELSEOUT1<=OUT1+1;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK)ISBEGINIF(CLR='1')THENOUT2<="0000";ELSIF(CLK'EVENTANDCLK='1')THENIF(START='1')THENOUT2<=OUT2+'0';ELSIF(WR2='1')THENOUT2<=DIN;ELSIF(OUT1="1001")THENIF(OUT2="1001")THENOUT2<="0000";ELSEOUT2<=OUT2+1;ENDIF;ENDIF;ENDIF;ENDPROCESS;PROCESS(CLK)ISBEGINIF(CLR='1')THENOUT3<="0000";IF(CLK'EVENTANDCLK='1'

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論