HDL(Verilog)課程教學(xué)設(shè)計(jì)報(bào)告(自動(dòng)售貨機(jī))3721_第1頁(yè)
HDL(Verilog)課程教學(xué)設(shè)計(jì)報(bào)告(自動(dòng)售貨機(jī))3721_第2頁(yè)
HDL(Verilog)課程教學(xué)設(shè)計(jì)報(bào)告(自動(dòng)售貨機(jī))3721_第3頁(yè)
HDL(Verilog)課程教學(xué)設(shè)計(jì)報(bào)告(自動(dòng)售貨機(jī))3721_第4頁(yè)
HDL(Verilog)課程教學(xué)設(shè)計(jì)報(bào)告(自動(dòng)售貨機(jī))3721_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、HDL(Verilog)課程教課方案報(bào)告(自動(dòng)售貨機(jī))_3721HDL(Verilog)課程教課方案報(bào)告(自動(dòng)售貨機(jī))_372110/10HDL(Verilog)課程教課方案報(bào)告(自動(dòng)售貨機(jī))_3721-/VerilogHDL課程設(shè)計(jì)報(bào)告實(shí)驗(yàn)名稱:鑒于VerilogHDL的自動(dòng)售貨機(jī)指導(dǎo)老師:王冠軍班級(jí):信科12-1姓名:吳濤學(xué)號(hào):06122485-/第一章系統(tǒng)設(shè)計(jì)1.1系統(tǒng)設(shè)計(jì)用四個(gè)發(fā)光二極管分別模擬售出價(jià)值為5角、1元、1.5元和2元的小商品,購(gòu)置者能夠經(jīng)過開關(guān)選擇隨意一種標(biāo)價(jià)中的小商品。燈亮?xí)r表示該小商品售出。(3)用開關(guān)分別模擬5角、1元硬幣和5元紙幣投入,能夠用幾個(gè)發(fā)光二極管(或數(shù)碼

2、管)分別代表找回節(jié)余的硬幣。每次只好售出一種小商品,當(dāng)所投硬幣達(dá)到或超出購(gòu)置者所選面值時(shí),售出貨物并找回節(jié)余的硬幣,回到初始狀態(tài);當(dāng)所投硬幣值不足面值時(shí),可經(jīng)過一個(gè)復(fù)位鍵退回所投硬幣,回到初始狀態(tài)。第二章詳盡設(shè)計(jì)2.1自動(dòng)售貨機(jī)狀態(tài)描繪判斷開關(guān)被按下的個(gè)數(shù)N。若N=2表示所選本次選擇無效,返回初始狀態(tài);若N=1則顯示所選商品,并持續(xù)履行下邊的流程。3個(gè)開關(guān)分別代表三種商品。4個(gè)開關(guān)分別代表投入0.5元,1元,2元,5元,統(tǒng)計(jì)投入總數(shù)。投入總數(shù)與商品價(jià)錢做比較,假如總數(shù)=商品價(jià)錢,則持續(xù)履行下邊的程序。找零=總數(shù)-商品價(jià)錢,數(shù)碼管顯示找零金額。狀態(tài)圖如圖2.1所示:2.2詳盡狀態(tài)描繪初始狀態(tài)各變

3、量都設(shè)置為零,按下rst鍵后,全部恢復(fù)到初始狀態(tài)。選商品狀態(tài)分別有價(jià)錢為0.5元、1元、1.5元和2元的商品,每次選擇商品前,設(shè)置一個(gè)標(biāo)記位btn_sell表示選擇商品狀態(tài)。此自動(dòng)售貨機(jī)每一次售貨時(shí)只好一次選擇一種商品,當(dāng)同時(shí)選擇兩種以上時(shí),選擇商品無效,數(shù)碼管顯示清零,從頭進(jìn)行商品選擇。選擇商品后,數(shù)碼管顯示所選商品價(jià)錢。投幣狀態(tài)-/入選好商品后,開始投幣。相同有一標(biāo)記位btn_price表示投幣金額。投幣口只接受三種面值的錢幣0.5元、1元和5元,能夠同時(shí)投入多種面值錢幣。投完幣后,先有一個(gè)確認(rèn)買商品的過程,若投了幣但又不購(gòu)置商品了,就將所有投幣金額退回;若確認(rèn)購(gòu)置商品,則進(jìn)入下一狀態(tài)找零

4、狀態(tài)。找零狀態(tài)投完幣,并確認(rèn)購(gòu)置商品后,進(jìn)入找零狀態(tài)。第一要將所投的金額與所選商品的價(jià)錢做比較,若所投金額小于商品價(jià)錢,則退回所投錢幣;若大于等于商品價(jià)錢,則二者做差,得到需要找零的錢。第三章軟件設(shè)計(jì)3.1程序總流程圖3.2程序-/moduleseller(clk,rst,dis_mony,btn_ok,btn_mon,btn_sell,led_warn,led,beep);inputclk,rst,btn_ok;input2:0btn_mon;/選擇放入的錢input3:0btn_sell;/選擇商品bbt_5,gz_10,kqs_15,kl_20output3:0led;/led_5,le

5、d_10,led_15,led_20outputled_warn;/錢不足,指示燈output10:0dis_mony;/數(shù)碼管顯示投入面值,dia_mony10:8=com位選,dis_mony7:0=段碼outputbeep;integerr;regclk_500Hz;reg3:0led;/led_5,led_10,led_15,led_20regled_warn;/警示放入錢不足reg10:0dis_mony;reg31:0counter;reg9:0price,price_all;reg1:0flag=2b00;/數(shù)碼管顯示標(biāo)記位regbeep=0;parameterCOUNT1=25

6、d10000;/*分頻使數(shù)碼管顯示穩(wěn)固*/always(posedgeclk)beginif(counter=0)begincounter=COUNT1;clk_500Hz=clk_500Hz;endelsecounter=counter-1;end-/always(negedgerstorposedgeclk)beginif(rst=0)beginled=4b0000;/LED滅price_all=0;/價(jià)錢清零led_warn=0;price=0;beep=0;endelsebegin/*三種面值共8種組合*/case(btn_mon)3b001:beginprice_all=5;end3

7、b010:beginprice_all=10;end3b100:beginprice_all=50;end3b011:beginprice_all=15;end3b101:beginprice_all=55;end3b110:beginprice_all=60;end3b111:beginprice_all=65;enddefault:beginprice_all=0;endendcasecase(btn_sell)4b0001:beginprice=5;end4b0010:beginprice=10;end4b0100:beginprice=15;-/end4b1000:beginprice

8、=20;enddefault:beginprice=0;endendcaseif(btn_ok=1)beginif(price_allprice)/放入錢不足beginled_warn=1;price=0;endelsebegin/金錢足夠price_all=price_all-price;beep=1;case(price)/LED燈顯示貨物賣出beginled=4b0001;end10:beginled=4b0010;end15:beginled=4b0100;end20:beginled=4b1000;endendcaseendendelsebeep=0;-/endend/*分頻后將時(shí)鐘

9、給數(shù)碼管,數(shù)碼管分別顯示放入錢的多少、商品價(jià)錢*/always(posedgeclk_500Hz)begincase(flag)2b00:beginr=price_all%10;case(r)0:begindis_mony=11b111_0011_1111;end1:begindis_mony=11b111_0000_0110;end2:begindis_mony=11b111_0101_1011;end3:begindis_mony=11b111_0100_1111;end4:begindis_mony=11b111_0110_0110;end5:begindis_mony=11b111_0

10、110_1101;end6:begindis_mony=11b111_0111_1101;end7:begindis_mony=11b111_0000_0111;end8:begindis_mony=11b111_0111_1111;end9:begindis_mony=11b111_0110_1111;endendcaseflag=2b01;end2b01:beginr=price_all/10;case(r)0:begindis_mony=11b110_1011_1111;end1:begindis_mony=11b110_1000_0110;end2:begindis_mony=11b1

11、10_1101_1011;end-/3:begindis_mony=11b110_1100_1111;end4:begindis_mony=11b110_1110_0110;end5:begindis_mony=11b110_1110_1101;end6:begindis_mony=11b110_1111_1101;end7:begindis_mony=11b110_1000_0111;end8:begindis_mony=11b110_1111_1111;end9:begindis_mony=11b110_1110_1111;endendcaseflag=2b00;endendcaseend

12、/*數(shù)碼管段碼表*/function7:0led7;input3:0dis_input;begincase(dis_input)0:led7=8b0011_1111;1:led7=8b0000_0110;2:led7=8b0101_1011;3:led7=8b0100_1111;4:led7=8b0110_0110;5:led7=8b0110_1101;6:led7=8b0111_1101;7:led7=8b0000_0111;8:led7=8b0111_1111;9:led7=8b0110_1111;default:led7=8b0011_1111;endcaseend-/endfuncti

13、onendmodule第四章結(jié)果與議論4.1實(shí)驗(yàn)調(diào)試調(diào)試步驟運(yùn)轉(zhuǎn)QuartusII軟件,新建工程。成立文本文件VerilogHDLFile。在文件中寫入程序。保留,編譯。分派管腳。保留,編譯。將生成的.sof文件寫入FPGA試驗(yàn)箱中。依據(jù)要求選擇幾種買東西的可能狀況,在實(shí)驗(yàn)箱上實(shí)驗(yàn),察看記錄結(jié)果。實(shí)驗(yàn)現(xiàn)象選擇買0.5元的商品,投5元的金額,調(diào)試現(xiàn)象以下:選擇0.5元商品數(shù)碼管顯示0.5,再選擇一種商品,數(shù)碼管顯示清零,從頭進(jìn)行商品選擇。按下5元投幣鍵,對(duì)應(yīng)數(shù)碼管顯示5.0。按下確認(rèn)購(gòu)置開關(guān),找零時(shí),對(duì)應(yīng)數(shù)碼管顯示4.5,蜂鳴器響,對(duì)應(yīng)0.5元商品的LED燈亮。選擇1.5元的商品,投1元的金額,

14、調(diào)試現(xiàn)象以下:選擇1.5元的商品,對(duì)應(yīng)數(shù)碼管顯示1.5。按下1元的投幣鍵,對(duì)應(yīng)數(shù)碼管顯示1。找零顯示1元,退回所投的錢,表示警示的LED燈亮(交易不可功)。4.2結(jié)果與剖析調(diào)試過程中出現(xiàn)的問題及原由:本程序定義了函數(shù),注意函數(shù)構(gòu)造的定義以及函數(shù)的調(diào)用(函數(shù)不可以作為獨(dú)自的語句進(jìn)行調(diào)用)。在編寫完程序以后,編譯運(yùn)轉(zhuǎn)成功后,注意數(shù)碼管管腳的連結(jié),參照實(shí)驗(yàn)指導(dǎo)書。后邊全部正常后,可是仍舊出不了正確的結(jié)果,經(jīng)過和同學(xué)的互相議論,才發(fā)現(xiàn)按鈕按下是0,懸空是1。最后實(shí)時(shí)發(fā)現(xiàn)并得出了正確的實(shí)驗(yàn)結(jié)果。第五章總結(jié)-/經(jīng)過幾次實(shí)驗(yàn),讓我對(duì)VerilogHDL有了很深刻的認(rèn)識(shí),從剛開始接觸EDA到此刻的VerilogHDL的學(xué)習(xí),讓我對(duì)這些硬件描繪語言有了進(jìn)一步的理解。這些語言和c+,java軟件編程語言比

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論