版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 課 程 設 計 報 告</p><p> 題 目: 自動售貨機課程設計 </p><p> 系 別: 電子信息與電氣工程系 </p><p> 專 業(yè): 通信工程 </p><p><b> 班 級: </b></p>&
2、lt;p> 學 號:___ </p><p> 姓 名: </p><p> 導 師: </p><p> 日期: 2016.5.30 </p><p> 成 績:
3、 </p><p><b> 一、引言</b></p><p> 本次課程設計研究自動售貨機的主要功能模塊,主要包括商品選擇模塊、余額計算模塊、退幣模塊,由于條件上的限制,對投幣模塊中的貨幣檢測未進行處理。相應的主要功能有選擇貨物,購買,出貨找零,顯示,延時和時控功能。通過使用VHDL語言,基于FPGA可編程芯片,并通過使用QUARTUSⅡ軟件進行程序設計,模
4、擬仿真,功能驗證,以更好的來理解和掌握自動售貨機控制系統(tǒng)的工作原理和設計方法,以及學習和掌握基于EDA的電子產(chǎn)品設計方法,進一步加深對VHDL語言以及QUARTUSⅡ軟件、FPGA可編程芯片的認識與了解。</p><p><b> 二、項目要求</b></p><p> 設計一個自動售貨機控制程序,它的投幣口每次可以投入1元、2元、5元,且規(guī)定投入1元或2元后不得
5、再投入5元。當投入總值等于或超過設定值(4元),售貨機就自動送出貨物并找回多余的錢。</p><p> 1、基本要求按照上面要求,編寫程序,實現(xiàn)售單一商品的功能。</p><p> 2、擴展要求:在基本要求的基礎上,完善電路,實現(xiàn)售多個商品的功能(設定值應該相應增加)。</p><p><b> 三、設計方案</b></p>
6、<p> 本售貨機可銷售兩種商品,單價分別為3元和4元。投幣口每次可以投入1元、2元、5元,且規(guī)定投入1元或2元后不得再投入5元,投入總額為3元時,不能再投入2元或者5元,當投入總值超過設定值3元或者4元的情況下,選擇商品一或者商品二,售貨機就自動送出貨物并找回多余的錢。</p><p><b> 項目代碼及其分析</b></p><p><b&
7、gt; VHDL程序代碼:</b></p><p> LIBRARY IEEE;</p><p> USE IEEE.STD_LOGIC_1164.ALL;</p><p> ENTITY ZDSHJ IS</p><p> PORT(CLK,RESET:IN STD_LOGIC;</p><p>
8、; DIN:IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p> COMB_OUTPUTS,GIVE_CHANGE:OUT STD_LOGIC);</p><p> END ENTITY;</p><p> ARCHITECTURE behav OF ZDSHJ IS</p><p> TYPE FSM
9、_ST IS (S0,S1,S2,S3,S4,S5);</p><p> SIGNAL current_state,next_state:FSM_ST;</p><p><b> BEGIN</b></p><p> REG:PROCESS(CLK)BEGIN</p><p> IF RESET='1
10、39; THEN current_state<=s0;</p><p> ELSIF CLK'EVENT AND CLK='1' THEN</p><p> current_state<=next_state;</p><p><b> END IF;</b></p><p>
11、 END PROCESS REG;</p><p> COM:PROCESS( DIN,current_state)</p><p><b> BEGIN </b></p><p> CASE current_state IS</p><p> WHEN s0=>COMB_OUTPUTS<='
12、0';</p><p> GIVE_CHANGE<='0';</p><p> IF DIN="001" THEN next_state<=s1;</p><p> ELSIF DIN="010" THEN next_state<=s2;</p><p>
13、 ELSIF DIN="101" THEN next_state<=s5;</p><p> ELSE next_state<=s0;</p><p><b> END IF;</b></p><p> WHEN s1=>COMB_OUTPUTS<='0';</p>
14、<p> GIVE_CHANGE<='0';</p><p> IF DIN="001" THEN next_state<=s2;</p><p> ELSIF DIN="010" THEN next_state<=s3;</p><p> ELSE next_state
15、<=s1;</p><p><b> END IF;</b></p><p> WHEN s2=>COMB_OUTPUTS<='0';</p><p> GIVE_CHANGE<='0';</p><p> IF DIN="001" TH
16、EN next_state<=s3;</p><p> ELSIF DIN="010" THEN next_state<=s4;</p><p> ELSE next_state<=s2;</p><p><b> END IF;</b></p><p> WHEN s3=&
17、gt;COMB_OUTPUTS<='0';</p><p> GIVE_CHANGE<='0';</p><p> IF DIN="001" THEN next_state<=s4;</p><p> ELSIF DIN="010" THEN next_state<
18、=s5;</p><p> ELSE next_state<=s3;</p><p><b> END IF;</b></p><p> WHEN s4=>COMB_OUTPUTS<='1';</p><p> GIVE_CHANGE<='0';</p
19、><p> next_state<=s0;</p><p> WHEN s5=>COMB_OUTPUTS<='1';</p><p> GIVE_CHANGE<='1';</p><p> next_state<=s0;</p><p><b>
20、; END CASE;</b></p><p> END PROCESS COM;</p><p> END behav;</p><p><b> 程序分析:</b></p><p> DIN=00表示未投幣;</p><p> DIN=01表示投幣一元;</p&g
21、t;<p> DIN=10表示投幣兩元;</p><p> DIN=11表示投幣五元;</p><p> Y1為貨物控制信號:Y1=1表示出貨,Y1=0表示不出貨。</p><p> Y2為找零以及五元投幣口開閉信號:</p><p> Y2=00表示不找零并打開五元投幣口,允許投入五元;</p><
22、;p> Y2=01表示找零一元并打開五元投幣口,允許投入五元;</p><p> Y2=11表示不找零并關閉五元投幣口,不允許投入五元;</p><p> S0表示初始狀態(tài),還沒有收到投幣;</p><p> S1表示收到一元投幣的狀態(tài);</p><p> S2表示收到兩元投幣的狀態(tài);</p><p>
23、 S3表示收到三元投幣的狀態(tài)</p><p><b> 仿真波形:</b></p><p> 自動售貨機仿真波形(一)</p><p> 分析1:通過上圖波形可以看出,當DIN=1時,即投幣1通過上圖波形可以看出,當DIN=2時,元,前三個脈沖來臨時,即投幣金額為1元、2元、3元,狀態(tài)分別為s1,s2,s3,COMB_OUTPUTS和G
24、IVE_CHANGE都是顯示為0。當?shù)谒膫€脈沖來臨時,即投幣金額為4元時,則COMB_OUTPUTS顯示為1,GIVE_CHANGE顯示為0,說明有商品售出,找零錢為0元。</p><p> 自動售貨機仿真波形(二)</p><p> 分析2:通過上圖波形可以看出,當DIN=2時,即一次投幣2元時,第一次脈沖來臨時,投幣金額為2元,狀態(tài)為s2,COMB_OUTPUTS和GIVE_CHA
25、NGE都是顯示為0。當?shù)诙€脈沖來臨時,即投幣金額為4元,則COMB_OUTPUTS顯示為1,GIVE_CHANGE顯示為0,說明有商品售出,找零錢為0元,結果正確。</p><p> 自動售貨機仿真波形(三)</p><p> 分析3:通過上圖波形可以看出,當DIN=5時,即一次投幣5元時,第一次脈沖來臨時,投幣金額為5元,狀態(tài)為s5,COMB_OUTPUTS和GIVE_CHANGE
26、都是顯示為1,說明有商品售出,找零錢為1元,結果正確。</p><p><b> 五、實驗箱驗證</b></p><p> 選擇模式1,引腳鎖定如下:</p><p><b> 實驗箱現(xiàn)象:</b></p><p><b> 實驗現(xiàn)象(一)</b></p>
27、<p> 分析:通過上圖的實驗圖像,可以看出當投幣1元,來四次脈沖,即大約過四到五秒,則紅燈亮,說明有商品售出,找零0元,符合實驗結果。</p><p><b> 實驗現(xiàn)象(二)</b></p><p> 分析:通過上圖的實驗圖像,可以看出當投幣2元,來了兩次脈沖,過了大約二到三秒,則紅燈亮,說明有商品售出,找零0元,符合實驗結果。</p>
28、;<p><b> 實驗現(xiàn)象(三)</b></p><p> 分析:通過上圖的實驗圖像,可以看出當一次投幣5元,來一次脈沖,大約過1秒,即可以看見上圖兩處紅燈亮。說明有商品售出,且找零1元。符合實驗結果。</p><p><b> 六、項目總結</b></p><p> 通過本次自動售貨機的項目設計,
29、我詳細了解到了自動售貨機的投幣、商品選擇等模塊的軟件設計與主要模塊的仿真。 做本次項目,首先要做的就是代碼,由于知識儲備尚淺,而且平時練習太少,所以以自己的能力難以完成程序,于是代碼是從網(wǎng)上搜索得到的,但是部分代碼不符合實驗要求,當然這需要我們自己改動,通過和同學的一起努力下以及仿真驗證,才有了現(xiàn)在實驗所得的代碼。其次是引腳的鎖定,因為引腳的鎖定對實驗在試驗箱上驗證有影響,而我對引腳分配不是很清楚,最后在求助同學和老師后,解決了這個問題
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
評論
0/150
提交評論