自己的自動(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頁,還剩23頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、LOGO簡(jiǎn)簡(jiǎn)易自易自動(dòng)動(dòng)售售貨貨機(jī)控制系機(jī)控制系統(tǒng)設(shè)計(jì)統(tǒng)設(shè)計(jì)n 隨著科技的發(fā)展和社會(huì)的進(jìn)步,自動(dòng)售貨機(jī)隨著科技的發(fā)展和社會(huì)的進(jìn)步,自動(dòng)售貨機(jī)作為自動(dòng)化商業(yè)機(jī)械的代表被廣泛用于公共場(chǎng)所作為自動(dòng)化商業(yè)機(jī)械的代表被廣泛用于公共場(chǎng)所自動(dòng)售貨,給人們的生活帶來了極大的方便,有自動(dòng)售貨,給人們的生活帶來了極大的方便,有“無人小超市無人小超市”之稱。之稱。n 本課題是通過使用本課題是通過使用VHDLVHDL語言,基于語言,基于FPGAFPGA可編可編程芯片,并通過使用程芯片,并通過使用QuartusQuartus軟件進(jìn)行程序設(shè)軟件進(jìn)行程序設(shè)計(jì),模擬仿真以及功能驗(yàn)證。計(jì),模擬仿真以及功能驗(yàn)證。一、課題介紹一、

2、課題介紹二、軟件系統(tǒng)設(shè)計(jì)二、軟件系統(tǒng)設(shè)計(jì)u第一部分:功能要求第一部分:功能要求u第二部分:總體思想第二部分:總體思想u第三部分:功能模塊的劃分第三部分:功能模塊的劃分u第四部分:控制狀態(tài)的設(shè)計(jì)第四部分:控制狀態(tài)的設(shè)計(jì)第一部分:功能要求第一部分:功能要求 本自動(dòng)售貨機(jī)可銷售熱狗(本自動(dòng)售貨機(jī)可銷售熱狗(1 1元),漢堡包(元),漢堡包(4 4元),飲料(元),飲料(3 3元)元)3 3種商品種商品; ; 允許投入允許投入1 1元,元,2 2元元,5 5元硬幣元硬幣; ; 售貨機(jī)有售貨機(jī)有2 2個(gè)輸出口個(gè)輸出口, , 分別輸出貨品分別輸出貨品和找零和找零; ; 另外有另外有4 4個(gè)個(gè)LCD LCD

3、 數(shù)碼管數(shù)碼管, 2, 2個(gè)用來顯示已個(gè)用來顯示已經(jīng)投入的幣值經(jīng)投入的幣值,2,2個(gè)用來顯示找零數(shù)。個(gè)用來顯示找零數(shù)。 在自動(dòng)售貨機(jī)控制系統(tǒng)的工作過程中,可分在自動(dòng)售貨機(jī)控制系統(tǒng)的工作過程中,可分為三個(gè)狀態(tài):初始狀態(tài)、投幣狀態(tài)和找零狀態(tài)。為三個(gè)狀態(tài):初始狀態(tài)、投幣狀態(tài)和找零狀態(tài)。在每一個(gè)狀態(tài)中完成特定的功能。在每一個(gè)狀態(tài)中完成特定的功能。系統(tǒng)運(yùn)行流程如圖系統(tǒng)運(yùn)行流程如圖1 所示。所示。圖圖1 1系統(tǒng)運(yùn)行流程圖系統(tǒng)運(yùn)行流程圖第二部分:總體思想第二部分:總體思想 自動(dòng)售貨機(jī)包括三個(gè)商品,依據(jù)自動(dòng)售貨機(jī)包括三個(gè)商品,依據(jù)三三種商品分種商品分別設(shè)為三個(gè)按鈕,別設(shè)為三個(gè)按鈕,A1,A3,A4。當(dāng)顧客選擇

4、其中。當(dāng)顧客選擇其中的一種商品時(shí),售貨機(jī)發(fā)送出一個(gè)信號(hào)按鈕不再的一種商品時(shí),售貨機(jī)發(fā)送出一個(gè)信號(hào)按鈕不再生效,用一個(gè)生效,用一個(gè)LED燈顯示。設(shè)置三個(gè)按鈕:燈顯示。設(shè)置三個(gè)按鈕:a1,a2,a5來表示投入的硬幣是來表示投入的硬幣是1元、元、2元、元、5元元。當(dāng)顧客確定某種商品且投入了足額的硬幣,投。當(dāng)顧客確定某種商品且投入了足額的硬幣,投幣時(shí)限到時(shí),投幣窗口找零,用七段顯示管顯示幣時(shí)限到時(shí),投幣窗口找零,用七段顯示管顯示找零數(shù),同時(shí)送出商品,指示燈找零數(shù),同時(shí)送出商品,指示燈out亮。亮。第三部分:功能模塊的劃分第三部分:功能模塊的劃分 自動(dòng)售貨機(jī)控制系統(tǒng)的功能模塊邏輯上劃分自動(dòng)售貨機(jī)控制系統(tǒng)

5、的功能模塊邏輯上劃分為主控制模塊、商品選擇模塊、投幣處理模塊、為主控制模塊、商品選擇模塊、投幣處理模塊、找零模塊、分頻模塊和顯示模塊。自動(dòng)售貨機(jī)系找零模塊、分頻模塊和顯示模塊。自動(dòng)售貨機(jī)系統(tǒng)框圖如圖統(tǒng)框圖如圖2 2所示。所示。圖圖2 自動(dòng)售貨機(jī)系統(tǒng)框圖自動(dòng)售貨機(jī)系統(tǒng)框圖 顯示顯示JTAGJTAG 接接口口找零找零時(shí)鐘時(shí)鐘電源電源投幣投幣商品選擇商品選擇分頻器分頻器控制器控制器外擴(kuò)存儲(chǔ)器模外擴(kuò)存儲(chǔ)器模第四部分:控制狀態(tài)的設(shè)計(jì)第四部分:控制狀態(tài)的設(shè)計(jì) 此售貨機(jī)分為三種狀態(tài),每一個(gè)狀態(tài)能完成一定得功能:此售貨機(jī)分為三種狀態(tài),每一個(gè)狀態(tài)能完成一定得功能:初始狀態(tài),投幣狀態(tài),找零狀態(tài)。初始狀態(tài),投幣狀態(tài)

6、,找零狀態(tài)。(1 1)初始狀態(tài):當(dāng)售貨機(jī)通電后進(jìn)入初始狀態(tài),顧客購)初始狀態(tài):當(dāng)售貨機(jī)通電后進(jìn)入初始狀態(tài),顧客購買時(shí),可根據(jù)選擇買時(shí),可根據(jù)選擇xuan_rg,xuan_yl,xuan_hbxuan_rg,xuan_yl,xuan_hb鍵購買商品,鍵購買商品,從而進(jìn)入下一狀態(tài)。當(dāng)顧客購買錯(cuò)誤或不再購買時(shí)按下從而進(jìn)入下一狀態(tài)。當(dāng)顧客購買錯(cuò)誤或不再購買時(shí)按下startstart重新進(jìn)入初始狀態(tài)。重新進(jìn)入初始狀態(tài)。(2 2)投幣狀態(tài):在這個(gè)狀態(tài)時(shí))投幣狀態(tài):在這個(gè)狀態(tài)時(shí)xuan_rg,xuan_yl,xuan_hbxuan_rg,xuan_yl,xuan_hb鍵失效。投入錢(鍵失效。投入錢(1 1元

7、,元,2 2元,元,5 5元),當(dāng)投入硬幣等于或者元),當(dāng)投入硬幣等于或者超過商品價(jià)格時(shí)進(jìn)入下一狀態(tài)。投幣時(shí)間為超過商品價(jià)格時(shí)進(jìn)入下一狀態(tài)。投幣時(shí)間為3030秒超過秒超過3030秒,秒,售貨機(jī)拒絕接受錢幣。售貨機(jī)拒絕接受錢幣。 (3 3)找零狀態(tài):投幣結(jié)束,售貨機(jī)自動(dòng)判別總錢數(shù),若)找零狀態(tài):投幣結(jié)束,售貨機(jī)自動(dòng)判別總錢數(shù),若在時(shí)限到來之際,總錢數(shù)少于顧客所需商品的單價(jià),則退出在時(shí)限到來之際,總錢數(shù)少于顧客所需商品的單價(jià),則退出錢幣,用錢幣,用LEDLED顯示退錢數(shù)。若大于或等于商品數(shù)則通過控制顯示退錢數(shù)。若大于或等于商品數(shù)則通過控制系統(tǒng)找零,用系統(tǒng)找零,用LEDLED顯示找零數(shù),送出商品。出

8、貨找零,表示顯示找零數(shù),送出商品。出貨找零,表示一次工作已經(jīng)結(jié)束,等待下一個(gè)信號(hào)到來,進(jìn)行新的售貨。一次工作已經(jīng)結(jié)束,等待下一個(gè)信號(hào)到來,進(jìn)行新的售貨。三、模塊仿真三、模塊仿真1.投幣模塊投幣模塊 此模塊有六個(gè)輸入信號(hào)以及兩個(gè)輸出信號(hào):此模塊有六個(gè)輸入信號(hào)以及兩個(gè)輸出信號(hào):qian1,qian2,qian5qian1,qian2,qian5為不同數(shù)額錢幣輸入信號(hào);為不同數(shù)額錢幣輸入信號(hào);en1en1為主控模塊所發(fā)出的信號(hào),當(dāng)為主控模塊所發(fā)出的信號(hào),當(dāng)en1en1信號(hào)為信號(hào)為1 1的時(shí)的時(shí)候,投幣模塊開始工作;候,投幣模塊開始工作;resetreset為恢復(fù)初始信號(hào),為恢復(fù)初始信號(hào),當(dāng)當(dāng)rese

9、treset信號(hào)為信號(hào)為1 1 的時(shí)候投幣模塊不進(jìn)行工作;的時(shí)候投幣模塊不進(jìn)行工作;enen為給計(jì)時(shí)器的輸出信號(hào),當(dāng)為給計(jì)時(shí)器的輸出信號(hào),當(dāng)enen為為1 1的時(shí)候計(jì)時(shí)器開的時(shí)候計(jì)時(shí)器開始工作;始工作;bibi為輸出的錢幣數(shù)目。為輸出的錢幣數(shù)目。 投幣模塊的作用相當(dāng)于一個(gè)計(jì)數(shù)的寄存器,投幣模塊的作用相當(dāng)于一個(gè)計(jì)數(shù)的寄存器,在清零的狀態(tài)下可以準(zhǔn)確的計(jì)算投幣數(shù)額,記錄在清零的狀態(tài)下可以準(zhǔn)確的計(jì)算投幣數(shù)額,記錄并保存總幣值。并保存總幣值。三、模塊仿真三、模塊仿真通過程序所得到的仿真圖如下所示:通過程序所得到的仿真圖如下所示:1 1、當(dāng)、當(dāng)resetreset輸入為輸入為0 0,輸入,輸入5 5元,元

10、,2 2元,元,1 1元元時(shí),仿真結(jié)果如圖時(shí),仿真結(jié)果如圖3 3所示:所示:圖圖3 reset3 reset輸入為輸入為0 0時(shí)的仿真結(jié)果時(shí)的仿真結(jié)果三、模塊仿真三、模塊仿真2.2.當(dāng)當(dāng)resetreset輸入為輸入為1 1時(shí),輸入時(shí),輸入5 5元,元,2 2元,元,1 1元,元,bibi輸出應(yīng)為輸出應(yīng)為0 0。仿真結(jié)果如圖。仿真結(jié)果如圖4 4所示:所示:圖圖 4 reset輸輸入入為為1時(shí)時(shí)的仿的仿真結(jié)真結(jié)果果三、模塊仿真三、模塊仿真2.2.商品選擇模塊商品選擇模塊 自動(dòng)售貨機(jī)的商品選擇模塊,通過自動(dòng)售貨自動(dòng)售貨機(jī)的商品選擇模塊,通過自動(dòng)售貨機(jī)上的三個(gè)選擇按鍵完成商品選擇,在接收到對(duì)機(jī)上的三

11、個(gè)選擇按鍵完成商品選擇,在接收到對(duì)應(yīng)三個(gè)商品之一的一個(gè)選擇信號(hào)時(shí)進(jìn)行編譯,將應(yīng)三個(gè)商品之一的一個(gè)選擇信號(hào)時(shí)進(jìn)行編譯,將被選擇的商品進(jìn)行編碼,輸入到主控模塊中,在被選擇的商品進(jìn)行編碼,輸入到主控模塊中,在主控模塊中與所接受的錢幣進(jìn)行對(duì)與計(jì)算。輸入主控模塊中與所接受的錢幣進(jìn)行對(duì)與計(jì)算。輸入信號(hào)為信號(hào)為a1,a4a1,a4,a3a3。而。而xuan_rg,xuan_hb,xuan_ylxuan_rg,xuan_hb,xuan_yl為三個(gè)輸出信號(hào),與出貨模塊連接。為三個(gè)輸出信號(hào),與出貨模塊連接。reset reset 與與en2en2信號(hào)來自主控模塊,當(dāng)信號(hào)來自主控模塊,當(dāng)resetreset為為1

12、1時(shí)模塊進(jìn)入初始時(shí)模塊進(jìn)入初始狀態(tài),不進(jìn)行選擇。當(dāng)狀態(tài),不進(jìn)行選擇。當(dāng)en2en2為為1 1時(shí),商品可以進(jìn)行時(shí),商品可以進(jìn)行選擇,當(dāng)選擇,當(dāng)en2en2為為0 0時(shí),三個(gè)商品選擇鍵無效。時(shí),三個(gè)商品選擇鍵無效。三、模塊仿真三、模塊仿真 當(dāng)當(dāng)resetreset輸入為輸入為0 0,en2en2輸入為輸入為1 1時(shí),時(shí),d d輸出為貨物,輸出為貨物,仿真結(jié)果如圖仿真結(jié)果如圖5 5所示:所示:圖圖5 reset5 reset輸入為輸入為0 0,en2en2輸入為輸入為0 0,a8a8輸入為輸入為1 1時(shí)的仿真結(jié)果時(shí)的仿真結(jié)果三、模塊仿真三、模塊仿真 3. 3.分頻模塊分頻模塊 分頻模塊是用來將外來的

13、時(shí)鐘信號(hào)進(jìn)行分頻分頻模塊是用來將外來的時(shí)鐘信號(hào)進(jìn)行分頻選用的時(shí)鐘信號(hào)是由外部的選用的時(shí)鐘信號(hào)是由外部的6MHZ6MHZ的晶振提供的,的晶振提供的,通過分頻模塊進(jìn)行分頻以后將得到周期為通過分頻模塊進(jìn)行分頻以后將得到周期為1HZ1HZ的信的信號(hào)。由于仿真所需時(shí)間過長(zhǎng),本文選擇號(hào)。由于仿真所需時(shí)間過長(zhǎng),本文選擇100.0ns100.0ns為為一周期的信號(hào),分頻后為一周期的信號(hào),分頻后為6.0us6.0us為一周期的信號(hào),為一周期的信號(hào),時(shí)鐘輸入信號(hào)為時(shí)鐘輸入信號(hào)為clkclk,輸出信號(hào)為,輸出信號(hào)為newclknewclk。 通過仿真結(jié)果如下圖通過仿真結(jié)果如下圖6 6所示:所示:三、模塊仿真三、模塊

14、仿真 圖圖 6 newclk6 newclk輸出為輸出為1 1時(shí)的仿真結(jié)果時(shí)的仿真結(jié)果三、模塊仿真三、模塊仿真 4. 4.計(jì)數(shù)模塊計(jì)數(shù)模塊 由于課題要求自動(dòng)售貨機(jī)控制系統(tǒng)有定時(shí)系統(tǒng),并限定在由于課題要求自動(dòng)售貨機(jī)控制系統(tǒng)有定時(shí)系統(tǒng),并限定在30s30s內(nèi)完成投幣,內(nèi)完成投幣,30s30s之后投幣無效,因此需要設(shè)定一個(gè)計(jì)數(shù)模塊之后投幣無效,因此需要設(shè)定一個(gè)計(jì)數(shù)模塊對(duì)投幣時(shí)間進(jìn)行限制。對(duì)投幣時(shí)間進(jìn)行限制。enen為接受信號(hào),當(dāng)投幣開始時(shí)投幣模塊發(fā)為接受信號(hào),當(dāng)投幣開始時(shí)投幣模塊發(fā)出信號(hào),計(jì)數(shù)模塊開始工作,當(dāng)計(jì)數(shù)到出信號(hào),計(jì)數(shù)模塊開始工作,當(dāng)計(jì)數(shù)到3030時(shí)向控制模塊發(fā)出時(shí)向控制模塊發(fā)出t t信信號(hào)

15、。號(hào)。ClrClr為控制器發(fā)送給計(jì)數(shù)模塊的一個(gè)信號(hào),當(dāng)為控制器發(fā)送給計(jì)數(shù)模塊的一個(gè)信號(hào),當(dāng)clrclr為為1 1時(shí),計(jì)時(shí),計(jì)數(shù)器歸零。數(shù)器歸零。ClkClk為分頻模塊發(fā)送的時(shí)鐘信號(hào)。為分頻模塊發(fā)送的時(shí)鐘信號(hào)。 通過程序所得的仿真結(jié)果如圖通過程序所得的仿真結(jié)果如圖7 7下:下:圖圖7 7 計(jì)數(shù)模塊仿真計(jì)數(shù)模塊仿真三、模塊仿真三、模塊仿真1 1 當(dāng)當(dāng)enen為為1 1時(shí),時(shí),clrclr為為0 0時(shí),時(shí),t t在在clkclk第第3030個(gè)上升沿輸出為個(gè)上升沿輸出為1 1,仿真結(jié)果,仿真結(jié)果如圖如圖8 8所示:所示:圖圖 8 t8 t輸出為輸出為1 1時(shí)的仿真結(jié)果時(shí)的仿真結(jié)果三、模塊仿真三、模塊仿

16、真2 2 當(dāng)當(dāng)enen為為1 1時(shí),時(shí),clrclr為為1 1時(shí),時(shí),t t輸出為輸出為0 0,仿真結(jié)果如圖,仿真結(jié)果如圖9 9所示:所示: 圖圖 9 t9 t輸出為輸出為0 0時(shí)的仿真結(jié)果時(shí)的仿真結(jié)果三、模塊仿真三、模塊仿真5.5.出貨模塊出貨模塊 出貨模塊是自動(dòng)售貨機(jī)給出相關(guān)貨物的信號(hào)出貨模塊是自動(dòng)售貨機(jī)給出相關(guān)貨物的信號(hào),本課題要求貨物為三個(gè)商品,因此出貨模塊有,本課題要求貨物為三個(gè)商品,因此出貨模塊有4 4個(gè)輸入信號(hào)個(gè)輸入信號(hào)xuan_rgxuan_rg,xuan_sbxuan_sb,xuan_ylxuan_yl,為所購,為所購商品的輸入信號(hào),商品的輸入信號(hào),enen為控制模塊所給的信

17、號(hào)當(dāng)為控制模塊所給的信號(hào)當(dāng)en=1en=1時(shí)出貨模塊開始工作,然后對(duì)顧客所選擇貨時(shí)出貨模塊開始工作,然后對(duì)顧客所選擇貨物進(jìn)行出貨。物進(jìn)行出貨。 出貨模塊的仿真結(jié)果如下:出貨模塊的仿真結(jié)果如下: 1 1當(dāng)輸入信號(hào)當(dāng)輸入信號(hào)enen為為1 1,xuan_rgxuan_rg信號(hào)為信號(hào)為1 1時(shí),時(shí),chu_rgchu_rg信號(hào)為信號(hào)為1 1,仿真結(jié)果如圖,仿真結(jié)果如圖1010所示:所示:三、模塊仿真三、模塊仿真圖圖10 chu_rg10 chu_rg信號(hào)為信號(hào)為1 1時(shí)的仿真結(jié)果時(shí)的仿真結(jié)果三、模塊仿真三、模塊仿真 2 2 當(dāng)輸入信號(hào)當(dāng)輸入信號(hào)enen為為0 0,xuan_rgxuan_rg信號(hào)為信

18、號(hào)為1 1時(shí),時(shí),chu_rgchu_rg信號(hào)信號(hào)為為0 0,仿真結(jié)果如圖,仿真結(jié)果如圖 1111所示:所示:圖圖11 chu_rg11 chu_rg信號(hào)為信號(hào)為0 0時(shí)的仿真結(jié)果時(shí)的仿真結(jié)果三、模塊仿真三、模塊仿真6.6.顯示模塊顯示模塊 顯示模塊的作用是對(duì)購物結(jié)束后的所需找零數(shù)顯示模塊的作用是對(duì)購物結(jié)束后的所需找零數(shù)目進(jìn)行顯示。找零顯示模塊的輸入端接收來自控制目進(jìn)行顯示。找零顯示模塊的輸入端接收來自控制模塊的輸入信號(hào),輸出端外接模塊的輸入信號(hào),輸出端外接LEDLED顯示燈,由于找顯示燈,由于找零的數(shù)目為范圍為零的數(shù)目為范圍為0 0至至8 8,因此只需要一個(gè),因此只需要一個(gè)LEDLED顯示顯示燈,輸出信號(hào)為燈,輸出信號(hào)為a a,b b,c c,d d,e e,f f,g g。仿真結(jié)果。仿真結(jié)果如圖如圖1212所示:所示:三、模塊仿真三、模塊仿真圖圖12 LED12 LED的仿真結(jié)果的仿真結(jié)果三、模塊仿真三、模塊仿真7.7.主控模塊主控模塊 主控模塊為自動(dòng)售貨機(jī)控制系統(tǒng)的核心部分,在主控主控模塊為自動(dòng)售貨機(jī)控制系統(tǒng)的核心部分,在主控模塊中將輸入的錢幣數(shù)目與商品的價(jià)格進(jìn)行對(duì)比,然后進(jìn)模塊中將輸入的錢幣數(shù)目與商品的價(jià)格進(jìn)行對(duì)比,然后進(jìn)行找零并發(fā)出出貨信號(hào)。輸入信號(hào)行找零并發(fā)出出貨信號(hào)。輸入信號(hào)t t為計(jì)時(shí)信號(hào),當(dāng)時(shí)間超為計(jì)時(shí)信號(hào),當(dāng)時(shí)間超過過30s30s時(shí),商品不再接

溫馨提示

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