自動(dòng)售貨機(jī)設(shè)計(jì)Verilog_第1頁
自動(dòng)售貨機(jī)設(shè)計(jì)Verilog_第2頁
自動(dòng)售貨機(jī)設(shè)計(jì)Verilog_第3頁
免費(fèi)預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、自動(dòng)售貨機(jī)設(shè)計(jì)verilog 自動(dòng)售貨機(jī)設(shè)計(jì) 一、實(shí)驗(yàn)?zāi)康?1、實(shí)現(xiàn)自動(dòng)售貨機(jī)的功能; 2、運(yùn)用狀態(tài)機(jī)原理設(shè)計(jì)。 二、實(shí)驗(yàn)內(nèi)容 ? 這種自動(dòng)售貨機(jī)只銷售聽裝與瓶裝兩種罐裝可樂,售價(jià)均為1.5元。顧客只能通過 兩個(gè)不同的投幣口分別投入五角的硬幣或者一元硬幣。一次交易可以買多罐,且自動(dòng)找零。若錢不夠,則自動(dòng)退幣。并且在購買之前只要一按下取消鍵cancel就馬上無條件退幣。 ? 此機(jī)器的硬件示范電路,以二個(gè)按鍵電路代替二個(gè)投幣孔,以兩個(gè)八段數(shù)碼管顯示 投幣數(shù)量,再以4hz閃爍之led來顯示退幣,以兩個(gè)八段數(shù)碼管顯示退幣數(shù)量。此機(jī)器就采用1024hz的系統(tǒng)clock信號同步所有的買賣行為,并且作為彈跳

2、消除電路的基準(zhǔn)參考脈沖。這個(gè)電路雖然是純數(shù)位電路但是可作為一個(gè)自動(dòng)售貨機(jī)的控制核心電路加上驅(qū)動(dòng)器就可以用來驅(qū)動(dòng)機(jī)械裝置。 ? 下圖為自動(dòng)售貨機(jī)的操作盤,有兩個(gè)投幣按鈕,分別為五角硬幣與一元硬幣。每投 入一個(gè)硬幣就將下方的led指示燈號點(diǎn)亮到具體數(shù)額,并且最高上限只能接受9.5元的金額。另外,每一種飲料商品都配置3個(gè)燈號(分別顯示存貨、選擇數(shù)量與出貨等三個(gè)信息)與一個(gè)選擇購買的按鈕。每按一次選擇購買按鈕,選擇數(shù)量顯示加1,并且存貨自動(dòng)計(jì)算,若沒有貨存,則貨存燈滅,一旦選擇商品與投幣金額足夠,就需要按下確定要購買的按鍵;當(dāng)然也可以后悔不買而按下取消鍵,讓機(jī)器退回已經(jīng)投入的硬幣。如若投入的錢幣不足以

3、購所有的飲料,則退幣。退幣時(shí)貨存更改為原狀態(tài)。 三、程序設(shè)計(jì) module auto_vending(clk,cel_cola,cel_diet,reset,coin_ten,coin_five,ok_buy,cancel_buy,/輸入 led_cola_ok,led_diet_ok,led_buy,led_cancel,led_cola_out,led_diet_out,shu_cola_sel,shu_diet_sel, led_display,shu_money_return,hex);/輸出 input clk,cel_cola,cel_diet,reset,coin_ten,coi

4、n_five,ok_buy,cancel_buy; output led_cola_ok,led_diet_ok,/表示還有存貨 led_buy,led_cancel,/表示選擇購買和取消購買 led_cola_out,led_diet_out;/顯示表示已出貨 /led_return;/每四秒閃爍一次代表被退之硬幣 wire 10:0led_cola_sel,led_diet_sel;/選中飲料的數(shù)量 output 6:0shu_cola_sel,shu_diet_sel; output 13:0led_display;/表示投幣的金額 output 13:0shu_money_return

5、; wire ok,cancel,money_ok;/在ok_or_cancel出來的 /wire 10:0no_diet,no_cola;/售貨機(jī)內(nèi)的飲料數(shù)量 wire 10:0money_return; /reg 10:0no_sock_cola,no_sock_diet; wire 10:0total_count,total_consum; output 13:0hex; assign hex=14b111_111_111_11111; parameter idle = 2d0, s1 = 2d1, s2 = 2d2; reg 1:0state; reg clk_1; reg rst;

6、reg 29:0count; always(posedge clk)/sheng cheng 1s de shi zhong begin if(count=30d25000000) begin clk_1 countalways(posedge clk_1 or negedge reset) if(!reset) begin state wire buyok; toubi u1(rst,clk,coin_five,coin_ten,led_display,total_count); select_drink u2(clk,rst,cel_cola,cel_diet,/*no_cola,no_d

7、iet,*/ led_cola_sel,led_diet_sel,/*led_cola_ok,led_diet_ok,*/total_consum); ok_or_cancel u3(clk,rst,ok_buy,cancel_buy,ok,cancel,led_buy,led_cancel); give_check u4(reset,buyok,clk,ok,money_ok,rst,led_cola_out,led_diet_out, led_cola_sel,led_diet_sel,led_cola_ok,led_diet_ok/*no_cola,no_diet*/); coin_re

8、turn u5(clk,rst,ok_buy,money_return,total_count,total_consum,money_ok,cancel_buy,cancel); xianshi q1(led_cola_sel,shu_cola_sel); xianshi q2(led_diet_sel,shu_diet_sel); xianshi2 w2(money_return,shu_money_return); endmodule /顯示數(shù)量的 module xianshi(a,b); /用來顯示 input 10:0a; output reg 6:0b; always(a) case

9、(a) 11d0:bmodule xianshi2(total_count,led_display); input 10:0total_count; output reg 13:0led_display; always(total_count) case(total_count) 11d0: led_display 11d2: led_display/去抖模塊 module qudou(clk,reset,k,key); input k,reset,clk; output reg key; reg 10:0clock; always(posedge clk) if(!reset) clock

10、end end end endmodule /投幣電路 module toubi(reset,clk,coin_05,coin_10,led_display,total_count);/加一個(gè)去抖模塊 input reset,clk,coin_05,coin_10; output 13:0led_display; output reg10:0total_count;/統(tǒng)計(jì)投入里面的金幣 wire qu_coin_05,qu_coin_10; qudou a1(clk,reset,coin_05,qu_coin_05); qudou a2(clk,reset,coin_10,qu_coin_10); reg 10:0count_1,count_2; always(negedge qu_coin_05 or negedge reset) begin if(!reset) begin count_1always(negedge qu_coin_10 or negedge reset) if(!reset) begin count_2 count_2always(count_1 or count_2) total_countxianshi2 a4(total_count,led_display); endmodule /飲料選擇處理模塊 module s

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論