版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、北華大學(xué)電子系統(tǒng)綜合實(shí)習(xí)報(bào)告學(xué) 院 : 電氣信息工程學(xué)院專業(yè)班級(jí) :通信工程 姓名 : 閆夢(mèng)迪學(xué) 號(hào) : 指導(dǎo)老師 :董勝實(shí)習(xí)時(shí)間: 2015。11。30-12.11目錄1. 實(shí)習(xí)題目P32. 實(shí)習(xí)目的P33. 實(shí)習(xí)技術(shù)要求P34. 實(shí)現(xiàn)過程P35. 功能及代碼P56. 仿真及硬件測(cè)試P97. 實(shí)習(xí) 心得P128. 教師 評(píng)語P14一。實(shí)習(xí)題目自動(dòng)售貨機(jī)設(shè)計(jì)二。實(shí)習(xí)目的通過本課題的研究,可以掌握電子控制系統(tǒng)的基本原理與其實(shí)現(xiàn),通過對(duì)各個(gè)模塊的編程及其仿真,對(duì)QuartusII軟件的使用有所了解。每個(gè)波形模塊的VHDL實(shí)現(xiàn)加深了硬件描述語言的學(xué)習(xí).最終的頂層文件的調(diào)試,更是體現(xiàn)了綜合知識(shí)的運(yùn)用.
2、三。實(shí)習(xí)技術(shù)要求本設(shè)計(jì)要實(shí)現(xiàn)自動(dòng)售貨機(jī)的基本功能,如貨物信息存儲(chǔ)、商品選擇、進(jìn)程控制、硬幣處理、余額計(jì)算、顯示等功能.利用軟件QuartusII平臺(tái),采用VHDL硬件描述語言編程的設(shè)計(jì)方法設(shè)計(jì)系統(tǒng)核心電路的硬件程序,與一般的軟件開發(fā)不同,VHDL編程更需要熟悉一些底層的硬件知識(shí),特別是數(shù)字邏輯電路的設(shè)計(jì),因此VHDL編程的方法、思路都要更多的與硬件電路聯(lián)系起來.完成系統(tǒng)各個(gè)功能模塊的硬件程序設(shè)計(jì)后,在軟件平臺(tái)上進(jìn)行編譯和電路仿真,最后生成的目標(biāo)文件下載到實(shí)驗(yàn)臺(tái)內(nèi)的FPGA芯片以實(shí)現(xiàn)該系統(tǒng),并在實(shí)驗(yàn)臺(tái)上對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證。四。實(shí)現(xiàn)過程 1)、根據(jù)設(shè)計(jì)要求實(shí)現(xiàn)過程分兩部分:a、面向客戶端模塊設(shè)計(jì) 基于
3、Quartus2軟件環(huán)境下,應(yīng)用VHEDL語言進(jìn)行程序設(shè)計(jì)。以clk輸入端口進(jìn)行商品選擇,coin1輸入端口做錢數(shù)輸入,F(xiàn)inish輸入端口做確認(rèn),進(jìn)而完成商品購(gòu)買.b、面向個(gè)體端模塊設(shè)計(jì)以Get端口進(jìn)行對(duì)商品價(jià)格修改的確認(rèn),以ST端口進(jìn)行選擇要修改的商品種類,coin0作為單價(jià)輸入端口。2)、整體結(jié)構(gòu)框圖商品選擇輸入錢數(shù)設(shè)定控制器品種選擇顯示譯碼價(jià)格設(shè)定3)、程序框圖開始開始商品選擇Y返還輸入錢數(shù)YN商品選擇價(jià)格設(shè)定輸入錢數(shù)錢數(shù)>=單價(jià)?N結(jié)束重新輸入錢數(shù)? 確認(rèn)、找零 ( 商品、價(jià)格設(shè)定模塊)交易完成結(jié)束 ( 客戶端模塊程序框圖)五.功能及代碼功能:顧客商品選擇、付錢購(gòu)買、找零,個(gè)體
4、商戶對(duì)商品種類及價(jià)格的修改,商品數(shù)量統(tǒng)計(jì)代碼:library ieee;use ieee。std_logic_arith.all;use ieee。std_logic_1164.all;use ieee。std_logic_unsigned。all;entity S1 isport ( clk:in std_logic; -系統(tǒng)時(shí)鐘r,set,st,get,finish: in std_logic; -設(shè)定、買、選擇、完成信號(hào)coin0,coin1: in std_logic_vector(3 downto 0); 輸入錢數(shù)act0,act1:out std_logic_vector(3 do
5、wnto 0); 顯示、開關(guān)信號(hào)y0,y1,y2,y3,y4:out std_logic_vector(6 downto 0)); 輸入錢數(shù)、商品價(jià)格、找零顯示數(shù)據(jù)end S1;architecture behav of S1 issignal item0,item1: std_logic_vector(1 downto 0); 商品種類signal Q: INTEGER RANGE 20 DOWNTO 0; -找零signal pri0,pri1,pri2,pri3: std_logic_vector(3 downto 0);signal quan0:integer:=9; signal q
6、uan1:integer:=9;signal quan2:integer:=9;signal quan3:integer:=9; 數(shù)量begin -設(shè)定部分com0:process(get,st,coin0)variable C:INTEGER RANGE 20 DOWNTO 0; begin if get='1 then if stevent and st=1 then item0=item0+1; -對(duì)商品進(jìn)行she zhi if item0="00” then act0<="1000”;pri0=coin0;C:=CONV_INTEGER(coin0);
7、-she ding shi,自動(dòng)售貨機(jī)對(duì)4種商品的操作 elsifitem0=”01"then act0="0100”;pri1=coin0;C:=CONV_INTEGER(coin0); elsif item0=”10” then act0=”0010";pri2=coin0;C:=CONV_INTEGER(coin0); elsif item0="11” then act0="0001";pri3=coin0;C:=CONV_INTEGER(coin0); end if; end if; else act0="0000&
8、quot;; end if;if r=1' C=0;end if; case C is -設(shè)定價(jià)格when 0 =y3<="1000000”; when 1 =y3<=”1111001”; when 2 =y3=”0100100"; when 3 =y3="0110000" when 4 =y3="0011001"; when 5 =y3="0010010”; when 6 =y3=”0000010"; when 7 =>y3="1111000”; when 8 =>y3&
9、lt;="0000000"; when 9 =>y3="0010000”; when others=>y3=”1111111" end case; end process com0;com1:process(coin1,clk,Q) -購(gòu)買部分variable A,B,D:INTEGER RANGE 20 DOWNTO 0; begin if clkevent and clk=1 then item1=item1+1; -對(duì)商品進(jìn)行循環(huán)選擇 if item1=”00" then act1<="1000”; B:=CO
10、NV_INTEGER(pri0); 購(gòu)買時(shí),自動(dòng)售貨機(jī)對(duì)4種商品的操作 elsif item1=”01” then act1=”0100”; B:=CONV_INTEGER(pri1);elsif item1="10” then act1=”0010" B:=CONV_INTEGER(pri2); elsif item1="11” then act1=”0001”; B:=CONV_INTEGER(pri3); end if; end if;A:=CONV_INTEGER(coin1); if finishevent and finish=1' then
11、if item1=”00” and coin1=pri0 then Q=AB; D:=quan0-1;quan0=quan01; elsif item1=”01" and coin1=pri1 then Q<=A-B; D:=quan1-1;quan1<=quan11; elsif item1="10” and coin1>=pri2 then Q=AB; D:=quan2-1;quan2<=quan2-1; elsif item1=”11” and coin1=pri3 then Q<=A-B; D:=quan31;quan3<=qua
12、n3-1; else Q=AB; end if; end if; if set=1' then item1="00";act1<=”0000”;Q=0;B:=0; end if; case coin1 is -設(shè)定錢數(shù) when ”0000”=y0=”1000000”; when ”0001”=y0<=”1111001”; when "0010”=y0="0100100”; when ”0011"=>y0<=”0110000" when ”0100"=y0=”0011001”; when ”0
13、101”=>y0=”0010010”; when ”0110”=y0<="0000010”; when "0111”=y0<=”1111000”; when ”1000”=y0=”0000000"; when ”1001”=>y0<=”0010000”; when others=y0="1111111”; end case; case B is -單價(jià)錢數(shù) when 0 =>y1<=”1000000”; when 1 =y1=”1111001”; when 2 =y1="0100100" wh
14、en 3 =y1=”0110000"; when 4 =y1<="0011001"; when 5 =>y1<=”0010010" when 6 =y1="0000010" when 7 =y1="1111000”; when 8 =y1<=”0000000”; when 9 =>y1<="0010000" when others=y1=”1111111”; end case; case Q is -返還錢數(shù) when 0 =y2<=”1000000"
15、when 1 =>y2=”1111001" when 2 =y2=”0100100”; when 3 =>y2<=”0110000" when 4 =y2=”0011001”; when 5 =y2=”0010010”; when 6 =y2="0000010”; when 7 =>y2=”1111000" when 8 =y2=”0000000"; when 9 =>y2="0010000”; when others=y2=”1111111"; end case; case D is 剩余數(shù)量
16、 when 0 =>y4<="1000000”; when 1 =y4=”1111001"; when 2 =y4=”0100100”; when 3 =y4<=”0110000”; when 4 =y4=”0011001”; when 5 =>y4<=”0010010"; when 6 =y4=”0000010"; when 7 =y4<=”1111000" when 8 =y4=”0000000"; when 9 =>y4="0010000”; when others=>y
17、4<=”1111111"; end case; end process com1;end behav;六。仿真及硬件測(cè)試1)、引腳鎖定2)、RTL電路圖3)、時(shí)序仿真4)、硬件測(cè)試1。get=1 設(shè)定內(nèi)部?jī)r(jià)格2。隱藏內(nèi)部設(shè)定價(jià)格3。輸入8元 單價(jià)3元 找零5元 顯示剩余數(shù)量8個(gè)7。實(shí)習(xí)心得在這次實(shí)驗(yàn)中,通過老師的介紹和我們自己的學(xué)習(xí),我們學(xué)會(huì)了VHDL程序的基本語法和操作,熟悉了程序的基本結(jié)構(gòu)和設(shè)計(jì),學(xué)會(huì)了quartus軟件的操作和系統(tǒng)的功能仿真。我們小組的組員進(jìn)行了合理的分工和良好的溝通,這對(duì)程序的實(shí)驗(yàn)十分重要。在這次的程序設(shè)計(jì)中,通過實(shí)驗(yàn)我們完成了程序,達(dá)到了學(xué)習(xí)的目的.經(jīng)過這次對(duì)自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì),讓我對(duì)EDA設(shè)計(jì)有了更一步的認(rèn)識(shí),同時(shí)也對(duì)EDA這門課程有了更深入的了解.這次設(shè)計(jì)讓我了解了關(guān)于自動(dòng)售貨機(jī)的原理與設(shè)計(jì)理念,要設(shè)計(jì)一個(gè)電路先進(jìn)行軟件模擬仿真再進(jìn)行實(shí)際的硬件電路測(cè)試。當(dāng)然這個(gè)設(shè)計(jì)存在許多的不足,比如在預(yù)覽商品時(shí)只能順序?yàn)g覽,而不能隨機(jī)點(diǎn)擊瀏覽,這也是為了排除程序的糅雜。并且每次賣完一種商品都得復(fù)位,不能進(jìn)行連續(xù)的購(gòu)買,而且在購(gòu)買時(shí)遇到的情況考慮不周到。這次設(shè)計(jì)提高了我們的邏輯思維能力,使我們?cè)诔绦虻母膶懞瓦\(yùn)用上有了很大的進(jìn)步.加深了我們對(duì)VHDL硬件語言的認(rèn)識(shí),進(jìn)一步增進(jìn)了對(duì)一些常見器件的了解
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 營(yíng)銷渠道管理課程設(shè)計(jì)
- 竹編研學(xué)單元課程設(shè)計(jì)
- 成本控制制度管理辦法(2篇)
- 二零二五年度智慧城市建設(shè)合伙經(jīng)營(yíng)收益分成合同3篇
- 2025年導(dǎo)購(gòu)員年終工作總結(jié)(2篇)
- 二零二五年度出租車駕駛員權(quán)益保障承包協(xié)議3篇
- 2025年綠化工作管理制度樣本(2篇)
- 課程設(shè)計(jì)坐標(biāo)圖
- 二零二五年度家庭別墅專業(yè)保潔外包服務(wù)協(xié)議
- 2025年學(xué)校衛(wèi)生室工作計(jì)劃例文(2篇)
- GB/T 28591-2012風(fēng)力等級(jí)
- GB/T 14864-2013實(shí)心聚乙烯絕緣柔軟射頻電纜
- 思博安根測(cè)儀熱凝牙膠尖-說明書
- 信息學(xué)奧賽-計(jì)算機(jī)基礎(chǔ)知識(shí)(完整版)資料
- 數(shù)字信號(hào)處理(課件)
- 出院小結(jié)模板
- HITACHI (日立)存儲(chǔ)操作說明書
- 公路自然災(zāi)害防治對(duì)策課件
- (新版教材)蘇教版二年級(jí)下冊(cè)科學(xué)全冊(cè)教案(教學(xué)設(shè)計(jì))
- 61850基礎(chǔ)技術(shù)介紹0001
- 電鏡基本知識(shí)培訓(xùn)
評(píng)論
0/150
提交評(píng)論