版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
./電子信息科學(xué)與技術(shù)專業(yè)課程設(shè)計(jì)任務(wù)書學(xué)生專業(yè)班級學(xué)號題目自動售貨機(jī)的設(shè)計(jì)課題性質(zhì)工程設(shè)計(jì)課題來源自擬課題指導(dǎo)教師同組主要容設(shè)計(jì)制作一個(gè)自動售貨機(jī),該自動售貨機(jī)能完成貨物信息存儲、進(jìn)程控制、硬幣處理、余額計(jì)算、顯示等功能。自動售貨機(jī)可以售2種貨物,每種貨物的數(shù)量和單價(jià)在初始化時(shí)設(shè)入,在存儲器中存儲。用戶可以用硬幣進(jìn)行購物,按鍵進(jìn)行選擇。系統(tǒng)根據(jù)用戶輸入的貨幣,判斷錢幣是否夠,錢幣足夠則根據(jù)顧客要求自動售貨;錢幣不夠則給出提示并退出。系統(tǒng)自動地計(jì)算出應(yīng)找錢幣余額、庫存數(shù)量并顯示?!蔡崾荆哄X數(shù)以5角為單位。任務(wù)要求①根據(jù)設(shè)計(jì)題目要求編寫相應(yīng)程序代碼②對編寫的VHDL程序代碼進(jìn)行編譯和仿真③總結(jié)設(shè)計(jì)容,完成課程設(shè)計(jì)說明書參考文獻(xiàn)[1]焦素敏.EDA課程設(shè)計(jì)指導(dǎo)書.:工業(yè)大學(xué),2008[2]松,黃繼業(yè).EDA技術(shù)實(shí)用教程.:科學(xué),2002[3]王國棟,松等.VHDL實(shí)用教程.:電子科技大學(xué),2000[4]亦華,延明.數(shù)字電路EDA入門.:電子工業(yè),2003[5].ele-diy./中國電子制作網(wǎng)審查意見指導(dǎo)教師簽字教研室主任簽字20XX2月20日一.設(shè)計(jì)說明根據(jù)要求可自動出售兩種貨物,本文設(shè)計(jì)的自動售貨機(jī)可銷售cola和pepsi兩種飲料:售貨機(jī)可識別1元和0.5元的兩種貨幣,在一次購買過程中,可購買一個(gè)或多個(gè)商品,系統(tǒng)會自動計(jì)算所需錢數(shù)和找零的錢數(shù)并自動找零。另外有3個(gè)發(fā)光二極管、6個(gè)LCD數(shù)碼管:兩個(gè)用來顯示所需金額,兩個(gè)用來顯示已付金額,兩個(gè)用來顯示找零數(shù)。1.1.1流程說明本文設(shè)計(jì)的自動售貨機(jī)當(dāng)通電時(shí),表示一次銷售的開始。顧客選擇一種商品或多種商品后就進(jìn)入投幣狀態(tài)。若不投幣,則自動返回初始狀態(tài)。投幣后,系統(tǒng)自動計(jì)算所投錢數(shù)。若投幣夠,則出貨并找零。若投幣不夠,如果顧客沒有繼續(xù)投幣,則退幣并回到初始狀態(tài)。本系統(tǒng)的投幣銷售流程圖如圖所示:退幣清零退幣清零結(jié)束出貨找零繼續(xù)投幣綜合〉物價(jià)計(jì)算金額投幣選擇開始1.1.2各模塊說明 本文設(shè)計(jì)的自動售貨機(jī)總體分三個(gè)模塊:總控模塊,二進(jìn)制譯碼模塊、BCD碼譯碼模塊??偪啬K:總控模塊是本系統(tǒng)最重要的模塊,該模塊大體有5個(gè)輸入端口和6個(gè)輸出端口。其輸入端口包括clk、coin1〔投入一元貨幣、coin5〔投入0.5元貨幣、cola〔選擇cola、pepsi<選擇pepsi>,輸出端口有paid〔已投入多少錢、needed〔還需多少錢moneyout〔找零、success〔燈亮表示交易成功、failure〔燈亮表示交易失敗、showmoneyout〔燈亮表示正在找零。該模塊實(shí)現(xiàn)了本系統(tǒng)最重要的交易過程,包括選擇商品、投入貨幣,計(jì)算剩余金額,找零出貨等。二進(jìn)制譯碼模塊:該模塊有一個(gè)輸入端口和兩個(gè)輸出端口。輸入端口是一個(gè)8位的二進(jìn)制數(shù)輸出端口bcd0、bcd1是兩個(gè)4位的BCD碼。該模塊的主要的功能是實(shí)現(xiàn)將主控模塊輸出的二進(jìn)制數(shù)〔paid、needed、moneyout轉(zhuǎn)換成BCD碼,以便輸出到七段數(shù)碼管上顯示出來。該模塊的原理是將一個(gè)8位的二進(jìn)制轉(zhuǎn)換成2個(gè)4位的BCD碼,分為高四位和低四位。BCD碼譯碼模塊:該模塊有一個(gè)輸入端口和一個(gè)輸出端口1.1.3程序設(shè)計(jì)主控模塊完整程序如下:Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entityshouhuojiisport<clk:instd_logic;coin1:instd_logic;coin5:instd_logic;cola:instd_logic;pepsi:instd_logic;paid:outstd_logic_vector<7downto0>;needed:outstd_logic_vector<7downto0>;success:outstd_logic;failure:outstd_logic;showmoneyout:outstd_logic;moneyout:outstd_logic_vector<7downto0>>;endshouhuoji;architecturebehavofshouhuojiistypestate_typeis<qa,qb,qe,qc,qg,qd,qf>;--定義七個(gè)狀態(tài)signalcurrent_state:state_type:=qa;signalq:integerrange0to100;beginprocess<clk>variablepaidtemp:std_logic_vector<7downto0>;--定義變量variableneededtemp:std_logic_vector<7downto0>;variablebackmoney:std_logic_vector<7downto0>;variablepricetemp:std_logic_vector<7downto0>;beginifclk'eventandclk='1'thencasecurrent_stateiswhenqa=>paidtemp:="00000000";neededtemp:="00000000";backmoney:="00000000";pricetemp:="00000000";q<=0;showmoneyout<='0';moneyout<="00000000";paid<="00000000";needed<="00000000";failure<='0';success<='0';ifcola='1'orpepsi='1'thencurrent_state<=qb;ifcola='1'thenpricetemp:=pricetemp+"00001111";neededtemp:=pricetemp;Elsepricetemp:=pricetemp+"00010100";neededtemp:=pricetemp;endif;endif;paid<=paidtemp;needed<=neededtemp;whenqb=>ifcoin1='1'orcoin5='1'thenifcoin1='1'thenpaidtemp:=paidtemp+"00001010";elsepaidtemp:=paidtemp+"00000101";endif;ifpaidtemp>=pricetempthenbackmoney:=paidtemp-pricetemp;neededtemp:="00000000";current_state<=qd;elseneededtemp:=pricetemp-paidtemp;backmoney:="00000000";current_state<=qc;q<=0;endif;paid<=paidtemp;needed<=neededtemp;endif;ifq<8thenq<=q+1;ifcola='1'orpepsi='1'thenq<=0;ifcola='1'thenpricetemp:=pricetemp+"00001111";neededtemp:=neededtemp+"00001111";elsepricetemp:=pricetemp+"00010100";neededtemp:=neededtemp+"00010100";endif;paid<=paidtemp;needed<=neededtemp;endif;elsecurrent_state<=qe;q<=0;endif;whenqe=>failure<='1';ifq<4thenq<=q+1;elsecurrent_state<=qa;q<=0;endif;whenqc=>ifcoin1='1'orcoin5='1'thenifcoin1='1'thenpaidtemp:=paidtemp+"00001010";elsepaidtemp:=paidtemp+"00000101";endif;ifpaidtemp>=pricetempthenbackmoney:=paidtemp-pricetemp;neededtemp:="00000000";current_state<=qd;elseneededtemp:=pricetemp-paidtemp;backmoney:="00000000";current_state<=qc;endif;paid<=paidtemp;needed<=neededtemp;endif;ifcoin1/='1'andcoin5/='1'thenifq<10thenq<=q+1;elsecurrent_state<=qg;endif;elseq<=0;endif;whenqg=>failure<='1';showmoneyout<='1';moneyout<=paidtemp;current_state<=qf;q<=0;success<='0';whenqd=>success<='1';ifbackmoney>"00000000"thenshowmoneyout<='1';moneyout<=backmoney;endif;current_state<=qf;q<=0;whenqf=>ifq<4thenq<=q+1;elsecurrent_state<=qa;q<=0;endif;endcase;elseendif;endprocess;endbehav;BCD譯碼模塊完整程序如下:Libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycode1isport<b:instd_logic_vector<7downto0>;bcd0:outstd_logic_vector<3downto0>;bcd1:outstd_logic_vector<3downto0>>;endcode1;architectureoneofcode1isbeginprocess<b>begincasebiswhen"00000000"=>bcd0<="0000";bcd1<="0000";--譯碼"0";when"00000001"=>bcd0<="0001";bcd1<="0000";--譯碼"1";when"00000010"=>bcd0<="0010";bcd1<="0000";--譯碼"2";when"00000011"=>bcd0<="0011";bcd1<="0000";--譯碼"3";when"00000100"=>bcd0<="0100";bcd1<="0000";--譯碼"4";when"00000101"=>bcd0<="0101";bcd1<="0000";--譯碼"5";when"00000110"=>bcd0<="0110";bcd1<="0000";when"00000111"=>bcd0<="0111";bcd1<="0000";when"00001000"=>bcd0<="1000";bcd1<="0000";when"00001001"=>bcd0<="1001";bcd1<="0000";when"00001010"=>bcd0<="0000";bcd1<="0001";when"00001011"=>bcd0<="0001";bcd1<="0001";when"00001100"=>bcd0<="0010";bcd1<="0001";when"00001101"=>bcd0<="0011";bcd1<="0001";when"00001110"=>bcd0<="0100";bcd1<="0001";when"00001111"=>bcd0<="0101";bcd1<="0001";when"00010000"=>bcd0<="0110";bcd1<="0001";when"00010001"=>bcd0<="0111";bcd1<="0001";when"00010010"=>bcd0<="1000";bcd1<="0001";when"00010011"=>bcd0<="1001";bcd1<="0001";when"00010100"=>bcd0<="0000";bcd1<="0010";譯碼"20"whenothers=>null;endcase;endprocess;endone;頂層模塊完整程序如下:libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitytopisPort<clk1:instd_logic;C1,C5,P1_5,P2:instd_logic;paid_lcd0,paid_lcd1,needed_lcd0,needed_lcd1,Mout_lcd0,Mout_lcd1:outstd_logic_vector<3downto0>;s,f,showout:outstd_logic>;endtop;architectureoneoftopiscomponentshouhuojiport<clk:instd_logic;coin1:instd_logic;coin5:instd_logic;cola:instd_logic;pepsi:instd_logic;paid:outstd_logic_vector<7downto0>;needed:outstd_logic_vector<7downto0>;success:outstd_logic;failure:outstd_logic;showmoneyout:outstd_logic;moneyout:outstd_logic_vector<7downto0>>;endcomponent;componentcode1port<b:instd_logic_vector<7downto0>;bcd0:outstd_logic_vector<3downto0>;bcd1:outstd_logic_vector<3downto0>>;endcomponent;signalp,n,mo:std_logic_vector<7downto0>;--signals1,s2,s3,s4,s5,s6:std_logic_vector<3downto0>;beginu0:shouhuoji--各模塊連接portmap<clk=>clk1,coin1=>C1,coin5=>C5,cola=>P1_5,pepsi=>P2,success=>s,failure=>f,showmoneyout=>showout,paid=>p,needed=>n,moneyout=>mo>;u1:code1portmap<b=>p,bcd0=>paid_lcd0,bcd1=>paid_lcd1>;u2:code1portmap<b=>n,bcd0=>needed_lcd0,bcd1=>needed_lcd1>;u3:code1portmap<b=>mo,bcd0=>Mout_lcd0,bcd1=>Mout_lcd1>;endone;1.1.4各模塊的連接 各模塊的連接如圖所示:售貨機(jī)主控系統(tǒng)和譯碼器模塊圖售貨機(jī)頂層模塊2、1主控模塊的仿真上圖表示顧客選擇了pepsi飲料后,且投了2個(gè)一元的硬幣。Success為高電平,代表售貨機(jī)有飲料售出。且余額為0.上圖表示顧客選擇了pepsi飲料后,且投1個(gè)一元的硬幣和一個(gè)0.5元的硬幣。failure為高電平,代表售貨機(jī)無飲
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)療衛(wèi)生小知識
- 師德師風(fēng)集中整治學(xué)習(xí)個(gè)人心得體會董光詩
- 基于Landsat-8影像的近岸海域水質(zhì)等級遙感監(jiān)測研究
- 二零二五年度個(gè)人知識產(chǎn)權(quán)代理傭金協(xié)議3篇
- 現(xiàn)代農(nóng)業(yè)產(chǎn)業(yè)園建設(shè)與發(fā)展策略
- 二零二五年度綠色建筑項(xiàng)目建議書編制委托合同6篇
- 二零二五年度鋼管行業(yè)安全生產(chǎn)責(zé)任承包合同
- 二零二五年度企業(yè)年鑒編撰與發(fā)布合同范本3篇
- 二零二五年度建筑工程土石方運(yùn)輸及臨時(shí)堆場租賃合同3篇
- 如何進(jìn)行有針對性的復(fù)習(xí)
- 黑龍江省哈爾濱市2024屆中考數(shù)學(xué)試卷(含答案)
- 高三日語一輪復(fù)習(xí)助詞「と」的用法課件
- 無子女離婚協(xié)議書范文百度網(wǎng)盤
- 一年級數(shù)學(xué)個(gè)位數(shù)加減法口算練習(xí)題大全(連加法-連減法-連加減法直接打印版)
- 五年級上冊數(shù)學(xué)試題試卷(8篇)
- 五年級上冊小數(shù)遞等式計(jì)算200道及答案
- 冀教版五年級下冊數(shù)學(xué)全冊教學(xué)課件
- T-SDASTC 006-2023 眩暈病中西醫(yī)結(jié)合基層診療指南
- 安全個(gè)人承諾書范文個(gè)人承諾書范文
- 遠(yuǎn)視儲備培訓(xùn)課件
- 【可行性報(bào)告】2023年虛擬演播室制作設(shè)備相關(guān)行業(yè)可行性分析報(bào)告
評論
0/150
提交評論