0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

FPGA學(xué)習(xí)系列:21. 自動(dòng)售貨機(jī)的設(shè)計(jì)

FPGA學(xué)習(xí)交流 ? 來源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-06-20 10:41 ? 次閱讀

設(shè)計(jì)背景:

我們從開始學(xué)習(xí)FPGA。到現(xiàn)在也慢慢的學(xué)到了血多的東西,那么我們就應(yīng)該慢慢的去學(xué)習(xí)深一點(diǎn)的東西,我就給大家分享一個(gè)自動(dòng)售貨機(jī)的簡單歷程,幫助大家理解和學(xué)習(xí)我們的FPGA,為以后的學(xué)習(xí)做一個(gè)鋪墊。

設(shè)計(jì)原理:

設(shè)計(jì)要求:一聽飲料需要2.5美元,規(guī)定只能投入一美元,0.5美元的硬幣

設(shè)計(jì)架構(gòu)圖:

image.png

設(shè)計(jì)代碼:

設(shè)計(jì)模塊

0modulesell(clk,rst_n,one_dole,half_dole,des

1 inputclk;

2 inputrst_n;

3 inputone_dole; //輸入1美元

4 inputhalf_dole; //輸入0.5美元

5

6 outputregdescense; //是否買到的標(biāo)志

7 outputreg[2:0]back_money;//找回的錢

8

9 parameters0 =2'b00,s1 =2'b01,s2 =2'b10

10

11 reg[1:0]state;

12 reg[4:0]money;

13

14 reg[1:0]state_x;

//狀態(tài)機(jī)兩段式表示

15 always@(posedgeclk ornegedgerst_n)

16 if(!rst_n)

17 begin

18 state_x <=s0;

19 end

20 else

21 begin

22 state_x <=state;

23 end

24

25 always@(posedgeclk ornegedgerst_n)

26 if(!rst_n)

27 begin

28 money <=5'b0;

29 state <=s0;

30 end

31 else

32 begin

33 case(state)

34 s0:begin

35 //判斷投入的錢是多少

36 if(one_dole)

37 begin

38 money <=money

39 state <=s1;

40 end

41 elseif(half_dole)

42 begin

43 money <=money

44 state <=s1;

45 end

46 else

47 begin

48 state <=s0;

49 money <=money

50 end

51 end

52 //判斷和商品的價(jià)格是否一樣

53 s1:begin

54 if(money <25)

55 begin

56 state <=s0;

57 end

58 else

59 begin

60 state <=s0;

61 money <=5'b0;

62 end

63 end

64 endcase

65 end

66

67 reg[1:0]state_s;

68 always@(posedgeclk ornegedgerst_n )

69 if(!rst_n)

70 begin

71 descense <=1'b0;

72 back_money <=3'b0;

73 state_s <=s0;

74 end

75 else

76 begin

77 case(state_s)

78 s0:begin

79 if(money <25)

80 begin

81 back_money <=

82 descense <=1'

83 end

84 else

85 //找回的錢和買到的標(biāo)志

86 begin

87 back_money <=

88 descense <=1'

89 state_s <=s1;

90 end

91 end

92 s1:begin

93 descense <=1'b0;

94 state_s <=s0;

95 end

96 endcase

97 end

98endmodule

測(cè)試模塊

0`timescale1ns/1ps //時(shí)間精度

1

2modulesell_tb();

3

4 //定義我們的端口

5 regclk;

6 regrst_n;

7 regone_dole;

8 reghalf_dole;

9

10 wiredescense;

11 wire[2:0]back_money;

12

13 initialbegin

14 clk =1'b1;

15 rst_n =1'b0;

16 one_dole =1'b0;

17 half_dole =1'b0;

18 #200.1rst_n =1'b1;

19

20 //模擬蔬輸入的錢數(shù)

21

22 #200 one_dole =1'b1;

23 #20 one_dole =1'b0;

24

25 #200 one_dole =1'b1;

26 #20 one_dole =1'b0;

27

28 #200 one_dole =1'b1;

29 #20 one_dole =1'b0;

30

31 #1000.1

32 #200 half_dole =1'b1;

33 #20 half_dole =1'b0;

34

35 #200 one_dole =1'b1;

36 #20 one_dole =1'b0;

37

38 #200 one_dole =1'b1;

39 #20 one_dole =1'b0;

40

41 #1000$stop; //停止仿真

42 end

43

44 always#10clk =~clk;

45

46 sell sell_dut( //例化端口

47 .clk(clk),

48 .rst_n(rst_n),

49 .one_dole(one_dole),

50 .half_dole(half_dole),

51 .descense(descense),

52 .back_money(back_money)

53 );

54endmodule

仿真圖:

image.png

我們從仿真中可以看到當(dāng)我們的錢數(shù)投夠的時(shí)候,就給一個(gè)買到的標(biāo)志位,如果投的超過商品的價(jià)格,那么我們就給一個(gè)買的標(biāo)志位,然后找回我們投的多的錢。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1630

    文章

    21768

    瀏覽量

    604623
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    FPGA設(shè)計(jì)實(shí)例】自動(dòng)售貨機(jī)VHDL程序與仿真

    本帖最后由 eehome 于 2013-1-5 09:56 編輯 自動(dòng)售貨機(jī)VHDL程序與仿真(1)自動(dòng)售貨機(jī)VHDL程序如下:--文件名:pl_auto1.vhd。--功能:貨
    發(fā)表于 03-05 15:03

    至芯昭哥帶你學(xué)FPGA之_100天之旅_自動(dòng)售貨機(jī)設(shè)計(jì)

    本文屬于本人原創(chuàng),和大家一起學(xué)習(xí)FPGA,交流FPGA,希望大家多多支持。今天內(nèi)容自動(dòng)售貨機(jī)設(shè)計(jì),詳細(xì)內(nèi)容看以下文件,文檔為設(shè)計(jì)文檔,pro
    發(fā)表于 09-20 14:40

    無線遠(yuǎn)程對(duì)自動(dòng)售貨機(jī)的管理

    現(xiàn)在很多支付商家都在推舉1分錢購買自動(dòng)售貨機(jī)的飲料,那么這些自動(dòng)售貨機(jī)是怎么普及過來的呢? 隨時(shí)隨地可見的自動(dòng)
    發(fā)表于 07-26 09:06

    被無線遠(yuǎn)程控制管理的自動(dòng)售貨機(jī)

    現(xiàn)在很多支付商家都在推舉1分錢購買自動(dòng)售貨機(jī)的飲料,那么這些自動(dòng)售貨機(jī)是怎么普及過來的呢? 隨時(shí)隨地可見的自動(dòng)
    發(fā)表于 07-28 09:23

    4G無線工業(yè)路由器自動(dòng)售貨機(jī)的應(yīng)用

    方案需求自動(dòng)售貨機(jī)的應(yīng)用日漸廣泛,如城市街頭、酒店、機(jī)場(chǎng)、居民社區(qū)、娛樂公共場(chǎng)所、辦公大樓、商場(chǎng)、學(xué)校等場(chǎng)所,便捷式的服務(wù)和管理漸漸深入工作生活。自動(dòng)售貨機(jī)的管理逐步趨于無線管理方式,
    發(fā)表于 11-29 23:47

    嵌入式自動(dòng)售貨機(jī)能實(shí)現(xiàn)什么功能?

    我們知道,智能設(shè)備的根本在于嵌入式系統(tǒng)的開發(fā)應(yīng)用(嵌入式系統(tǒng)開發(fā)流程),隨著電子技術(shù)不斷的發(fā)展,很多智能化設(shè)備逐步取代了人工勞動(dòng),自動(dòng)售貨機(jī)就是其中一種基于嵌入式系統(tǒng)的智能化設(shè)備(什么是嵌入式系統(tǒng)
    發(fā)表于 04-17 08:14

    基于80C51單片機(jī)的自動(dòng)售貨機(jī)設(shè)計(jì)

    自動(dòng)售貨機(jī)自動(dòng)化技術(shù)在人們生活中的重要應(yīng)用。隨著人們生活質(zhì)量的不斷提高,對(duì)自動(dòng)售貨機(jī)的性能要求越來越高。
    發(fā)表于 12-02 07:30

    自動(dòng)售貨機(jī)短信報(bào)警系統(tǒng)

    關(guān)鍵詞 ZWG-03A 智能短信設(shè)備、自動(dòng)售貨機(jī)、短信報(bào)警摘 要 本文介紹 ZWG-03A 在自動(dòng)售貨機(jī)短信報(bào)警系統(tǒng)中的應(yīng)用
    發(fā)表于 11-04 11:18 ?86次下載

    基于FPGA自動(dòng)售貨機(jī)主控制系統(tǒng)的設(shè)計(jì)

    從總體上介紹了自動(dòng)售貨機(jī)主控制系統(tǒng)的組成和功能,討論了自動(dòng)售貨機(jī)工作原理,詳細(xì)闡述了主控制系統(tǒng)FPGA的軟、硬件設(shè)計(jì)及其主要控制模塊的仿真實(shí)
    發(fā)表于 11-30 17:27 ?184次下載

    基于VHDL的自動(dòng)售貨機(jī)控制模塊FPGA實(shí)現(xiàn)

    本文采用VHDL作為工具描述了自動(dòng)售貨機(jī)控制模塊的邏輯控制電路,并在FPGA上實(shí)現(xiàn)。該自動(dòng)售貨機(jī)能夠根據(jù)投入硬幣額度,按預(yù)定的要求在投入硬幣
    發(fā)表于 01-14 10:10 ?3476次閱讀
    基于VHDL的<b class='flag-5'>自動(dòng)</b><b class='flag-5'>售貨機(jī)</b>控制模塊<b class='flag-5'>FPGA</b>實(shí)現(xiàn)

    智能自動(dòng)售貨機(jī)售貨

    英特爾打造核心技術(shù)智能自動(dòng)售貨機(jī)售貨 .
    發(fā)表于 12-28 18:09 ?0次下載

    C語言教程之模擬自動(dòng)售貨機(jī)

    C語言教程之模擬自動(dòng)售貨機(jī),很好的C語言資料,快來學(xué)習(xí)吧。
    發(fā)表于 04-25 09:38 ?0次下載

    使用FPGA實(shí)現(xiàn)自動(dòng)售貨機(jī)的VHDL程序與仿真資料

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用FPGA實(shí)現(xiàn)自動(dòng)售貨機(jī)的VHDL程序與仿真資料。
    發(fā)表于 12-21 17:10 ?24次下載
    使用<b class='flag-5'>FPGA</b>實(shí)現(xiàn)<b class='flag-5'>自動(dòng)</b><b class='flag-5'>售貨機(jī)</b>的VHDL程序與仿真資料

    自動(dòng)售貨機(jī)項(xiàng)目教程及文件下載

    自動(dòng)售貨機(jī)項(xiàng)目教程及文件下載
    發(fā)表于 05-06 11:12 ?0次下載

    自動(dòng)售貨機(jī)方案/設(shè)計(jì)/開發(fā)/項(xiàng)目

    廠商輕松實(shí)現(xiàn)角色轉(zhuǎn)換。目前國內(nèi)智能零售設(shè)備市場(chǎng)剛剛起步便已熱火朝天,指數(shù)級(jí)的增長絕不只是夢(mèng)想。目錄一、自動(dòng)售貨機(jī)方案介紹二、自動(dòng)售貨機(jī)方案的優(yōu)點(diǎn)三、
    發(fā)表于 11-10 12:50 ?47次下載
    <b class='flag-5'>自動(dòng)</b><b class='flag-5'>售貨機(jī)</b>方案/設(shè)計(jì)/開發(fā)/項(xiàng)目