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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

課程設計題目:自動售貨機控制系統(tǒng)的設計

目的與彳壬務:

(1)進一步掌握MAX+PLUSn軟件的使用方法;

(2)會使用VHDL語言設計小型數字電路系統(tǒng);

(3)掌握應用MAX+PLUSII軟件設計電路的流程;

(4)掌握自動售貨機的設計方法;

(5)會使用GW48實驗系統(tǒng)。

內容和要求:

設計一個簡易的自動售貨機,它能夠完成錢數處理、找零、顯示、退幣等功能。

(1)用3個鍵表示3種錢,再用3個鍵表示3種物品。

〔2〕用2個數碼管顯示輸入的錢數,再用2個數碼管顯示所找的錢數,以元為單位。

〔3〕買東西時,先輸入錢,用數碼管顯示錢數,再按物品鍵,假設輸入的錢數大于物

品的價格,用數碼管顯示所找的錢數,并用發(fā)光二極管表示購置成功。

〔4〕假設輸入的錢數少于物品的價格,用數碼管顯示退出的錢數,并用發(fā)光二極管表

示購置失敗。

設計內容〔原理圖以及相關說明、調試過程、結果〕

一、系統(tǒng)設計方案

根據系統(tǒng)要求,系統(tǒng)的組成框圖如圖1所示。

圖1系統(tǒng)組成框圖

系統(tǒng)按功能可分為分頻模塊、控制模塊和譯碼輸出模塊。

〔1〕分頻模塊的作用是獲得周期較長的時鐘信號,便于操作,且不會產生按鍵抖動的

現(xiàn)象。其原理是定義兩個中間信號Q、DIV_CLK,Q在外部時鐘CLK的控制下循環(huán)計數,

每當計數到一個設定的值時DIV_CLK的值翻轉,最后將DIV_CLK賦給NEW_CLK即可,

改變設定值可改變分頻的大小。

(a2)控制模塊是這個系統(tǒng)的核心模塊,它具有判斷按鍵、計算輸入錢數總和、計

算找零、控制顯示四個作用。它的工作原理是每當時鐘上升沿到來時,判斷哪個按鍵按下,

假設按下的是錢數鍵,那么將錢數保存于中間信號COIN,假設下次按下的仍是錢數鍵,

COIN的值那么加上相應的值并顯示于數碼管;當物品鍵按下時,那么將COIN的值與物

品價格進行比擬,然后控制找零。

〔3〕由于錢數可能大于9,所以譯碼顯示模塊的作用就是將錢數譯碼后用兩個數碼

管顯示,這樣方便觀察。

根據各個功能模塊的功能并進行整合,可得到一個完整的自動售貨機系統(tǒng)的整體組裝

設計原理圖,如圖2所示。

CLKGEN

CLKNEUCLKSHOUHUOJI

CLK

COINIY0逑JQYI

COINSYJLXIANSHI

C0IN3N0NEYC3..O]DIN[3..0]D0UT[7..0]I>M0NEY[7;0]

PRIGNJ.FRYBNGK[.0J

PRICE?

XIANSHI

PRICES"1

0INr3..01D0UTr7..014~~>PAY0ACKI7J0]

圖2設計原理圖

系統(tǒng)主要VHDL源程序

(1)分頻器的源程序〔外部時鐘選用3MHz,實現(xiàn)3萬分頻〕

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYCLKGENIS

PORT(CLK:INSTD_LOGIC;

NEWCLK:OUTSTD.LOGIC);

ARCHITECTUREBEHAVEOFCLKGENIS

SIGNALQ:INTEGERRANGE0TO14999;

SIGNALDIVCLK:STD_LOGIC;

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='l'THEN

IFQ<14999THENQ<=Q+1;

ELSEDIVCLK<=NOTDIVCLK;Q<=0;

ENDIF;

ENDIF;

ENDPROCESS;

NEWCLK<=DIVCLK;

ENDBEHAVE;

(2)自動售貨機控制器源程序(3種錢數為1元、2元、5元;

3種物品的價格為2元、5元、10元〕

LIBRARY正EE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYSHOUHUOJIIS

PORT(CLK:INSTD.LOGIC;

COINI:INSTD_LOGIC;-1元信號

COIN2:INSTD_LOGIC;-2元信號

COIN3:INSTD_LOGIC;--5元信號

PRICE1:INSTD_LOGIC;??2兀商品

PRICE2:INSTD_LOGIC;--5兀商品

PRICE2:INSTD_LOGIC;-5元商品

PRICE3:INSTD_LOGIC;--10元商品

YO:OUTSTD_LOGIC;一購置成功信號

Yl:OUTSTD_LOGIC;--退幣信號

MONEY:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

PAYBACK:OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDSHOUHUOJI;

ARCHITECTUREBEHAVOFSHOUHUOJIIS

SIGNALCOIN:STD_LOGIC_VECTOR(3DOWNTO0);--保存錢數

SIGNALCOUT:STD_LOGIC_VECTOR(3DOWNTO0);--保存找零

BEGIN

PROCESS(CLK)

BEGIN

IFCLK'EVENTANDCLK='l'THEN

IFCOINl='l'THENCOIN<=COIN+1;Y0<=,0';Yl<='0';

ELSIFCOIN2='l'THENCOIN<=COIN+2;Y0<='0';Yl<=,0';

ELSIFCOIN3='l'THENCOIN<=COIN+5;Y0<='0';Yl<='0';

ELSIFPRICEl='l'THEN

IFCOIN>="0010"THENYO<=,l';Yl<='0,;COUT<=COIN-2;

ELSEYO<=,0,;Y1<=,1,;COUT<=COIN;

ENDIF;

ELSIFPRICE2='l'THEN

IFCOIN>="0101"THENYO<='l';Yl<='0';COUT<=COIN-5;

ELSEYO<=,0';Y1<='1';COUT<=COIN;

ENDIF;

ELSIFPRICE3='l'THEN

IFCOIN>="1010"THENY0<='1';Y1<='0';COUT<=COIN-10;

ELSEY0<='O';Y1<='1';COUT<=COIN;

ENDIF;

ENDIF;

ENDIF;

ENDPROCESS;

MONEY<=COIN;--輸入的錢數

PAYBACK<=COUT;-找零

ENDBEHAV;

(3)譯碼顯示源程序〔總錢數應小于16元〕

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

ENTITYXIANSHIIS

P0RT(DIN:INSTD_L0GIC_VECT0R(3D0WNT00);

DOUT:OUTSTD_L0GIC_VECT0R(7DOWNTO0));

ENDXIANSHI;

ARCHITECTUREBEHAVOFXIANSHIIS

BEGIN

PROCESS(DIN)

BEGIN

CASEDINIS

WHEN"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<="OOOOOHO,;

WHEN"0111"=>DOUT<="OOOOOH1,;

WHEN"1000"=>DOUT<="00001000";

WHEN"1001"=>DOUT<="00001001";

WHEN"1010"=>DOUT<="00010000";

WHENn1011"=>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)仿真與硬件驗證

(1)系統(tǒng)的有關仿真

1)分頻電路的仿真

如圖3所示,為了便于仿真,在仿真時采用20分頻,由圖可看出

每經過10個外部時鐘,新時鐘翻轉一次,實現(xiàn)了分頻。

O.Otis

0-CLK

-dNEWCLK

朗Q

圖3分頻器仿真結果圖

2)控制電路的仿真

如圖4、圖5、圖6所示。

0.0ns

圖5輸入13元,購置10元商品,找零3元,YO顯示購置成功

00ns

圖6輸入7元,購置10元商品,Y1顯示購置失敗,退幣7元

3〕顯示電路的仿真

如圖7所示,當大于9時分開顯示。

加$

;,0l5

NameValue:1.0us2OusIOJS仙s5.0]us6.0]u)

畬珊BIC\D

溫馨提示

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

評論

0/150

提交評論