自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)_第1頁
自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)_第2頁
自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)_第3頁
自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)_第4頁
自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

精品文檔課程設(shè)計(jì)題目:自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)目的與任務(wù):1)進(jìn)一步掌握MAX+PLUSⅡ軟件的使用方法;2)會(huì)使用VHDL語言設(shè)計(jì)小型數(shù)字電路系統(tǒng);3)掌握應(yīng)用MAX+PLUSⅡ軟件設(shè)計(jì)電路的流程;4)掌握自動(dòng)售貨機(jī)的設(shè)計(jì)方法;5)會(huì)使用GW48實(shí)驗(yàn)系統(tǒng)。內(nèi)容和要求:設(shè)計(jì)一個(gè)簡易的自動(dòng)售貨機(jī),它能夠完成錢數(shù)處理、找零、顯示、退幣等功能。(1)用3個(gè)鍵表示3種錢,再用3個(gè)鍵表示3種物品。(2)用2個(gè)數(shù)碼管顯示輸入的錢數(shù),再用2個(gè)數(shù)碼管顯示所找的錢數(shù),以元為單位。3)買東西時(shí),先輸入錢,用數(shù)碼管顯示錢數(shù),再按物品鍵,若輸入的錢數(shù)大于物品的價(jià)格,用數(shù)碼管顯示所找的錢數(shù),并用發(fā)光二極管表示購買成功。4)若輸入的錢數(shù)少于物品的價(jià)格,用數(shù)碼管顯示退出的錢數(shù),并用發(fā)光二極管表示購買失敗??删庉嬀肺臋n設(shè)計(jì)內(nèi)容(原理圖以及相關(guān)說明、調(diào)試過程、結(jié)果)一、 系統(tǒng)設(shè)計(jì)方案根據(jù)系統(tǒng)要求,系統(tǒng)的組成框圖如圖 1所示。時(shí)鐘 分頻器錢數(shù)輸入控制器譯碼顯示商品選擇圖1 系統(tǒng)組成框圖系統(tǒng)按功能可分為分頻模塊、控制模塊和譯碼輸出模塊。1)分頻模塊的作用是獲得周期較長的時(shí)鐘信號(hào),便于操作,且不會(huì)產(chǎn)生按鍵抖動(dòng)的現(xiàn)象。其原理是定義兩個(gè)中間信號(hào)Q、DIV_CLK,Q在外部時(shí)鐘CLK的控制下循環(huán)計(jì)數(shù),每當(dāng)計(jì)數(shù)到一個(gè)設(shè)定的值時(shí) DIV_CLK的值翻轉(zhuǎn),最后將 DIV_CLK賦給NEW_CLK即可,改變設(shè)定值可改變分頻的大小。(a2)控制模塊是這個(gè)系統(tǒng)的核心模塊,它具有判斷按鍵、計(jì)算輸入錢數(shù)總和、計(jì)可編輯精品文檔算找零、控制顯示四個(gè)作用。它的工作原理是每當(dāng)時(shí)鐘上升沿到來時(shí), 判斷哪個(gè)按鍵按下,若按下的是錢數(shù)鍵,則將錢數(shù)保存于中間信號(hào) COIN,若下次按下的仍是錢數(shù)鍵, COIN的值則加上相應(yīng)的值并顯示于數(shù)碼管;當(dāng)物品鍵按下時(shí),則將 COIN 的值與物品價(jià)格進(jìn)行比較,然后控制找零。(3)由于錢數(shù)可能大于 9,所以譯碼顯示模塊的作用就是將錢數(shù)譯碼后用兩個(gè)數(shù)碼管顯示,這樣方便觀察。根據(jù)各個(gè)功能模塊的功能并進(jìn)行整合, 可得到一個(gè)完整的自動(dòng)售貨機(jī)系統(tǒng)的整體組裝設(shè)計(jì)原理圖,如圖 2所示。圖2設(shè)計(jì)原理圖二、 系統(tǒng)主要VHDL源程序(1)分頻器的源程序(外部時(shí)鐘選用 3MHz,實(shí)現(xiàn)3萬分頻)LIBRARYIEEE;ENTITYCLKGENISPORT(CLK:INSTD_LOGIC; 可編輯NEWCLK:OUTSTD_LOGIC);精品文檔ARCHITECTUREBEHAVEOFCLKGENISSIGNALQ:INTEGERRANGE0TO14999;SIGNALDIVCLK:STD_LOGIC;BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIFQ<14999THENQ<=Q+1;ELSEDIVCLK<=NOTDIVCLK;Q<=0;ENDIF;ENDIF;ENDPROCESS;NEWCLK<=DIVCLK;ENDBEHAVE;(2)自動(dòng)售貨機(jī)控制器源程序( 3種錢數(shù)為1元、2元、5元;3種物品的價(jià)格為 2元、5元、10元)LIBRARYIEEE;ENTITYSHOUHUOJIISPORT( CLK: INSTD_LOGIC;可編輯精品文檔COIN1:INSTD_LOGIC;--1元信號(hào)COIN2:INSTD_LOGIC;--2元信號(hào)COIN3:INSTD_LOGIC;--5元信號(hào)PRICE1:INSTD_LOGIC;--2元商品PRICE2:INSTD_LOGIC;--5元商品可編輯精品文檔PRICE2: INSTD_LOGIC; --5元商品PRICE3: INSTD_LOGIC; --10 元商品Y0: OUTSTD_LOGIC; --購買成功信號(hào)Y1: OUTSTD_LOGIC; --退幣信號(hào)MONEY: OUTSTD_LOGIC_VECTOR(3DOWNTO0);PAYBACK: OUTSTD_LOGIC_VECTOR(3DOWNTO0));ENDSHOUHUOJI;ARCHITECTUREBEHAVOFSHOUHUOJIISSIGNALCOIN:STD_LOGIC_VECTOR(3DOWNTO0); --保存錢數(shù)SIGNALCOUT:STD_LOGIC_VECTOR(3DOWNTO0); --保存找零BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENIF COIN1='1' THEN COIN<=COIN+1;Y0<='0';Y1<='0';ELSIFCOIN2='1' THEN COIN<=COIN+2;Y0<='0';Y1<='0';ELSIFCOIN3='1' THEN COIN<=COIN+5;Y0<='0';Y1<='0';可編輯精品文檔ELSIFPRICE1='1' THENIF COIN>="0010"THENY0<='1';Y1<='0';COUT<=COIN-2;ELSE Y0<='0';Y1<='1';COUT<=COIN;ENDIF;ELSIFPRICE2='1' THENIF COIN>="0101"THENY0<='1';Y1<='0';COUT<=COIN-5;ELSE Y0<='0';Y1<='1';COUT<=COIN ;ENDIF;ELSIFPRICE3='1' THENIF COIN>="1010"THENY0<='1';Y1<='0';COUT<=COIN-10;ELSE Y0<='0';Y1<='1';COUT<=COIN;ENDIF;ENDIF;ENDIF;ENDPROCESS;MONEY<=COIN; -- 輸入的錢數(shù)PAYBACK<=COUT; -- 找零ENDBEHAV;可編輯精品文檔(3)譯碼顯示源程序(總錢數(shù)應(yīng)小于 16元)LIBRARYIEEE;ENTITY XIANSHI ISPORT( DIN: INSTD_LOGIC_VECTOR(3DOWNTO0);DOUT: OUTSTD_LOGIC_VECTOR(7DOWNTO0));ENDXIANSHI;ARCHITECTURE BEHAV OF XIANSHI ISBEGINPROCESS(DIN)BEGINCASE DIN ISWHEN"0000"=>DOUT<="00000000";WHEN"0001"=>DOUT<="00000001";WHEN"0010"=>DOUT<="00000010";WHEN"0011"=>DOUT<="00000011";WHEN"0100"=>DOUT<="00000100";可編輯精品文檔WHEN"0101"=>DOUT<="00000101";WHEN"0110"=>DOUT<="00000110";WHEN"0111"=>DOUT<="00000111";WHEN"1000"=>DOUT<="00001000";WHEN"1001"=>DOUT<="00001001";WHEN"1010"=>DOUT<="00010000";WHEN"1011"=>DOUT<="00010001";WHEN"1100"=>DOUT<="00010010";WHEN"1101"=>DOUT<="00010011";WHEN"1110"=>DOUT<="00010100";WHEN"1111"=>DOUT<="00010101";WHENOTHERS=>DOUT<="00000000";ENDCASE;ENDPROCESS;ENDBEHAV;三、 系統(tǒng)仿真與硬件驗(yàn)證可編輯精品文檔(1)系統(tǒng)的有關(guān)仿真1)分頻電路的仿真如圖3所示,為了便于仿真,在仿真時(shí)采用 20分頻,由圖可看出每經(jīng)過10個(gè)外部時(shí)鐘,新時(shí)鐘翻轉(zhuǎn)一次,實(shí)現(xiàn)了分頻。圖3分頻器仿真結(jié)果圖)控制電路的仿真如圖4、圖5、圖6所示。可編輯精品文檔圖4 輸入7元,購買 5元商品,找零 2元,Y0顯示購買成功圖5 輸入13元,購買 10元商品,找零 3元,Y0顯示購買成功可編輯精品文檔圖6 輸入7元,購買10元商品, Y1顯示購買失敗,退幣 7元)顯示電路的仿真如圖7所示,當(dāng)大于 9時(shí)分開顯示。圖7 顯示電路仿真結(jié)果系統(tǒng)的硬件驗(yàn)證應(yīng)用GW48 實(shí)驗(yàn)系統(tǒng),選擇實(shí)驗(yàn)電路結(jié)構(gòu)圖 NO.5,管腳定義如下:可編輯精品文檔CLK接CLOCK1 、COIN1 接PIO0、COIN2 接PIO1、COIN3 接PIO2、PRICE1接PIO3、PRICE2 接PIO4、PRICE3 接 PIO5;MONEY[7..0] 接PIO16~PIO

溫馨提示

  • 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)論