版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p> 存檔編號(hào): </p><p><b> 畢業(yè)論文(設(shè)計(jì))</b></p><p> 題目:自動(dòng)售貨機(jī)的設(shè)計(jì) </p><p><b> 目 錄</b></p><p><b> 摘 要1</b></p
2、><p> ABSTRACT2</p><p><b> 一、前言3</b></p><p><b> ?。ㄒ唬┱n題簡(jiǎn)介3</b></p><p><b> (二)文獻(xiàn)綜述3</b></p><p><b> ?。ㄈ┓桨副容^7&l
3、t;/b></p><p> 二、開(kāi)發(fā)工具簡(jiǎn)介8</p><p> ?。ㄒ唬¬HDL介紹8</p><p> (二)QuartusII軟件簡(jiǎn)介8</p><p> 三、自動(dòng)售貨機(jī)系統(tǒng)的總體設(shè)計(jì)9</p><p><b> (一)設(shè)計(jì)思路9</b></p>&l
4、t;p> ?。ǘ┳詣?dòng)售貨機(jī)的工作流程9</p><p> ?。ㄈ顟B(tài)裝換圖10</p><p> 四、自動(dòng)售貨機(jī)系統(tǒng)的VHDL設(shè)計(jì)12</p><p> ?。ㄒ唬┥唐愤x擇模塊12</p><p> (二)投幣模塊12</p><p> ?。ㄈ┧统錾唐纺K14</p><p
5、> ?。ㄋ模┯?jì)時(shí)模塊14</p><p> 五、自動(dòng)售貨機(jī)的仿真結(jié)果及分析16</p><p><b> 結(jié)束語(yǔ)19</b></p><p><b> 致謝20</b></p><p><b> 參考文獻(xiàn)21</b></p><p&g
6、t; 附錄A:程序源代碼22</p><p><b> 摘 要</b></p><p> 本文是在VHDL的基礎(chǔ)上對(duì)自動(dòng)售貨機(jī)進(jìn)行設(shè)計(jì)來(lái)實(shí)現(xiàn)其基本功能的,采用了Altera的開(kāi)發(fā)軟件Quarts II。通過(guò)在該軟件平臺(tái)上進(jìn)行數(shù)字電路設(shè)計(jì)和仿真的方法,闡述了VHDL(Very High Speed Integrated Circuit Hardware Des
7、cription Language)超高速集成電路硬件描述語(yǔ)言的一些特點(diǎn)及語(yǔ)法結(jié)構(gòu),介紹了自動(dòng)售貨機(jī)的基本原理、系統(tǒng)組成和主要功能,并分析討論了用VHDL語(yǔ)言開(kāi)發(fā)自動(dòng)售貨機(jī)系統(tǒng)的設(shè)計(jì)流程。本設(shè)計(jì)采用VHDL硬件描述語(yǔ)言編程的設(shè)計(jì)方法設(shè)計(jì)系統(tǒng)核心電路的硬件程序,在Quartus II軟件平臺(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)證。</p><p>
8、; 文章首先簡(jiǎn)述了自動(dòng)售貨機(jī)系統(tǒng)的意義和發(fā)展現(xiàn)狀以及VHDL語(yǔ)言的特點(diǎn),然后介紹了自動(dòng)售貨機(jī)的設(shè)計(jì)要求、設(shè)計(jì)思路,并給出了總體設(shè)計(jì)框圖,通過(guò)分析設(shè)計(jì)寫(xiě)出VHDL程序源代碼,將代碼在Quartus II軟件平臺(tái)上進(jìn)行編譯仿真,波形基本符合設(shè)計(jì)要求。最終完成的自動(dòng)售貨機(jī)系統(tǒng)具有商品選擇,投幣處理、出貨找零、異常退幣等主要功能,整個(gè)系統(tǒng)的開(kāi)發(fā)體現(xiàn)了在Quartus II軟件平臺(tái)上用VHDL設(shè)計(jì)數(shù)字控制系統(tǒng)的實(shí)用性。</p>&
9、lt;p> 關(guān)鍵詞:自動(dòng)售貨機(jī),硬件描述語(yǔ)言VHDL, Quarts II,F(xiàn)PGA</p><p><b> ABSTRACT</b></p><p> This article is to achieve its basic functions,the automat system on the basis of the VHDL design usi
10、ng Altera's development software Quarts II. Digital circuit design and simulation in the software platform on some of the features of the VHDL (Very High Speed ??Integrated Circuit the Hardware Description Language)
11、language and grammatical structures, the basic principles of the automat system, system composition and main functions and analyzed and discussed the development of the automat system</p><p> The article fi
12、rst outlines the meaning of the automat system and development as well as the characteristics of the VHDL language, then the vending machine design, design ideas, and gives the block diagram of the overall design, analys
13、is and design to write the VHDL source codethe code in the Quartus II software platform compilation simulation waveforms in line with the design requirements. The vending machine system has the final selection of merchan
14、dise, coin processing, purchase withdrawn, the</p><p> Keywords: the automat system, the hardware description languageVHDL, Quarts II, the FPGA</p><p><b> 一、前言</b></p><p
15、><b> ?。ㄒ唬┱n題簡(jiǎn)介</b></p><p><b> 設(shè)計(jì)目標(biāo)</b></p><p> 設(shè)計(jì)一臺(tái)能夠出售1元、5元、10元三種商品的自動(dòng)售貨機(jī),具有錢(qián)幣識(shí)別,自動(dòng)售貨,自動(dòng)找錢(qián)、警告等功能,此機(jī)可接收的錢(qián)幣為1元,5元和10元。</p><p> 2、設(shè)計(jì)任務(wù)和要求:</p><
16、p> 2.1自動(dòng)售貨機(jī)能出售1元、5元、10元三種商品;</p><p> 2.2顧客投入硬(紙)幣的錢(qián)數(shù)有1元、5元、10元三種,假設(shè)每次只能投入其中的一種幣,投幣后用數(shù)碼管將投幣額顯示出來(lái);</p><p> 2.3投幣額足夠時(shí)自動(dòng)送出貨物(送出的貨物用相應(yīng)不同的指示燈顯示來(lái)模擬),同時(shí)多余的錢(qián)找回,找回的錢(qián)數(shù)用數(shù)碼管顯示出來(lái);</p><p>
17、2.4本設(shè)計(jì)中假設(shè)商品存貨無(wú)限,找零錢(qián)幣無(wú)限;</p><p> 2.5顧客一次只能購(gòu)買(mǎi)一種商品的一個(gè),若需要更多商品,需要重復(fù)操作。</p><p><b> ?。ǘ┪墨I(xiàn)綜述</b></p><p> 我選擇的課題是自動(dòng)售貨機(jī)的設(shè)計(jì),為了加深對(duì)自動(dòng)售貨機(jī)的了解,將專業(yè)相關(guān)的理論融會(huì)貫通,理解VHDL語(yǔ)言的應(yīng)用,學(xué)會(huì)分析問(wèn)題、解決問(wèn)題、學(xué)
18、以致用。通過(guò)查閱各種資料,編寫(xiě)程序,并在電腦軟件上仿真,加深了對(duì)VHDL語(yǔ)言的應(yīng)用與理解 。</p><p><b> 1、研究背景簡(jiǎn)介</b></p><p> 自動(dòng)售貨機(jī)是能根據(jù)投入的錢(qián)幣自動(dòng)付貨的機(jī)器。它是商業(yè)自動(dòng)化的常用設(shè)備,不受時(shí)間、地點(diǎn)的限制,能節(jié)省人力、方便交易,是一種全新的商業(yè)零售形式,又被稱為24小時(shí)營(yíng)業(yè)的微型超市。1962年,出現(xiàn)了以自動(dòng)售貨機(jī)
19、為主體的流通領(lǐng)域的革命,到了20世紀(jì)80年代,自動(dòng)售貨機(jī)在美國(guó)和日本被廣泛使用,后逐漸散步世界各地,主要是發(fā)達(dá)國(guó)家,成為一種全新的消費(fèi)方式,它的售貨領(lǐng)域非常廣泛,是發(fā)達(dá)國(guó)家商品零售的一種主要方式。自動(dòng)售貨機(jī)作為一種先進(jìn)的消費(fèi)方式,已經(jīng)成為城市現(xiàn)代文明發(fā)達(dá)程度的重要標(biāo)志,其新穎、時(shí)尚的購(gòu)物方式,24小時(shí)營(yíng)業(yè)的特點(diǎn)給人們生活帶來(lái)了便利,美化了城市環(huán)境,受到消費(fèi)者的歡迎。但是在我國(guó)自動(dòng)售貨機(jī)的普及還不及發(fā)達(dá)國(guó)家,主要原因是我國(guó)EDA技術(shù)的應(yīng)用
20、水平長(zhǎng)期落后于發(fā)達(dá)國(guó)家。</p><p> 在中國(guó),自動(dòng)售貨機(jī)將成為一個(gè)潛在的巨大產(chǎn)業(yè),繼百貨商店、超市之后掀起第三次零售業(yè)革命,其前景非常廣闊。售賣的商品課根據(jù)擺放場(chǎng)所的需要量身定制,包括冷熱飲料、零食、電話卡及國(guó)外進(jìn)口的特色商品等。并且,透過(guò)這種智能售貨系統(tǒng),存貨、銷售、物流信息可以準(zhǔn)確、及時(shí)地反饋給客戶和管理人員,。此外,還支持多種交易支付模式,同時(shí)方便實(shí)現(xiàn)較大金額的支付和交易結(jié)算。在2004年,通過(guò)手機(jī)
21、購(gòu)物的無(wú)線自動(dòng)售貨機(jī)在國(guó)內(nèi)開(kāi)始出現(xiàn),天津南開(kāi)戈德公司已研制此種類型的自動(dòng)售貨機(jī)。這種新一代自動(dòng)售貨機(jī)除了更方便售賣貨品之外,還被視為一種傳播廣泛的廣告媒介。在國(guó)外,自動(dòng)售貨機(jī)發(fā)展相對(duì)成熟。日本的自動(dòng)售貨機(jī)已經(jīng)有2000多種機(jī)型、6000多種商品。在美國(guó),運(yùn)營(yíng)商就多大10800家,并且具有與大飲料商、大食品商的合作經(jīng)驗(yàn)。在日本,由于其無(wú)所不在,24小時(shí)供應(yīng),自動(dòng)售貨機(jī)很受特別忙碌的人歡迎。隨著經(jīng)濟(jì)發(fā)展,傳統(tǒng)的固定地點(diǎn)人員售貨方式暴露出許多
22、弊端:人力資源需求大;受所需服務(wù)地點(diǎn),地理?xiàng)l件的限制;而且在服務(wù)時(shí)間上不能最大限度的服務(wù)于消費(fèi)者。自動(dòng)售貨機(jī)的出現(xiàn)解決了這些難題。</p><p> 隨著EDA技術(shù)的高速發(fā)展,電子系統(tǒng)的設(shè)計(jì)技術(shù)和工具發(fā)生了深刻的變化,大規(guī)??删幊踢壿嬈骷﨏PLD/FPGA的出現(xiàn),給設(shè)計(jì)人員帶來(lái)了諸多方便。利用它進(jìn)行產(chǎn)品開(kāi)發(fā),不僅成本低、周期短、可靠性高,而且具有完全的知識(shí)產(chǎn)權(quán)。本文利用VHDL語(yǔ)言設(shè)計(jì)自動(dòng)售貨機(jī),使其實(shí)現(xiàn)自動(dòng)售
23、貨,找零錢(qián)等功能,突出了其作為硬件描述語(yǔ)言的良好的可讀性、可移植性和易讀性等優(yōu)點(diǎn)。程序通過(guò)下載到特定芯片后,可應(yīng)用于實(shí)際的自動(dòng)售貨機(jī)系統(tǒng)中,從而有效解決了成本,質(zhì)量,運(yùn)營(yíng)等諸多問(wèn)題。隨著中國(guó)經(jīng)濟(jì)的快速發(fā)展和社會(huì)的巨大進(jìn)步,自動(dòng)售貨機(jī)的實(shí)際需求會(huì)更加大,必將深入到生活中的方方面面。</p><p><b> 2、研究動(dòng)態(tài)</b></p><p> 目前,我國(guó)在研制自
24、動(dòng)售貨機(jī)等方面有可喜的成果,但總的來(lái)說(shuō)還沒(méi)有形成真正的產(chǎn)業(yè)。在自動(dòng)售貨機(jī)相關(guān)的所有研究領(lǐng)域中,全球?qū)ζ潢P(guān)鍵技術(shù)的研究主要集中在系統(tǒng)內(nèi)部銷售動(dòng)作實(shí)現(xiàn)方式的研究、資金結(jié)算及銷售信息統(tǒng)計(jì)管理的實(shí)現(xiàn)方式研究、功耗節(jié)省模式的研究。根據(jù)相關(guān)文獻(xiàn)資料,系統(tǒng)內(nèi)部銷售動(dòng)作實(shí)現(xiàn)方式的研究已基本成熟,研究最多的主要集中在資金結(jié)算及銷售信息統(tǒng)計(jì)管理的實(shí)現(xiàn)方式和功耗節(jié)省模式上。在FPGA基礎(chǔ)上,采用VHDL描述語(yǔ)言實(shí)現(xiàn)自動(dòng)售貨機(jī)系統(tǒng)的銷售動(dòng)作,并完成整個(gè)系統(tǒng)的其
25、他相關(guān)功能。自動(dòng)售貨機(jī)的機(jī)體內(nèi)部結(jié)構(gòu)已經(jīng)相當(dāng)完善,影響其普及的關(guān)鍵因素:在現(xiàn)有的各種通信網(wǎng)路平臺(tái)上如何呢讓自動(dòng)售貨機(jī)形成一種銷售連鎖網(wǎng),為其提供更方便的營(yíng)銷方式和管理機(jī)制,能最大限度地降低生產(chǎn)、運(yùn)營(yíng)成本。目前,無(wú)論是基于internet還是基于移動(dòng)通信網(wǎng)或其他網(wǎng)絡(luò)平臺(tái),其運(yùn)作的機(jī)制都不太成熟,不過(guò)這并不影響自動(dòng)售貨機(jī)的發(fā)展?jié)摿?。因此,自?dòng)售貨機(jī)未來(lái)的發(fā)展趨勢(shì)是將其納入到一個(gè)更廣闊、更便利的移動(dòng)商務(wù)網(wǎng)絡(luò)平臺(tái)。</p><
26、;p> 社會(huì)將會(huì)更加需要能夠合理利用能源的工業(yè)產(chǎn)品,因此自動(dòng)售貨機(jī)的發(fā)展也會(huì)向著這個(gè)方向發(fā)展,節(jié)能、環(huán)保型的自動(dòng)售貨機(jī)將是未來(lái)社會(huì)所需要的主流產(chǎn)品。因此,開(kāi)發(fā)出高性價(jià)比的自動(dòng)售貨機(jī),保持與國(guó)外同類產(chǎn)品在性價(jià)比同步的同時(shí),打破國(guó)外技術(shù)壟斷和封鎖,對(duì)發(fā)展我國(guó)電子業(yè)有非常重大的意義,具有廣泛的應(yīng)用前景,加緊對(duì)這類產(chǎn)品的研制顯得非常緊迫。</p><p><b> 3、研究方法的分析</b>
27、;</p><p> 本文是在VHDL的基礎(chǔ)上對(duì)自動(dòng)售貨機(jī)進(jìn)行設(shè)計(jì)來(lái)實(shí)現(xiàn)其基本功能的。由于以往的設(shè)計(jì)主要是通過(guò)兩種方式:通過(guò)數(shù)字電路和模擬電路設(shè)計(jì)、基于單片機(jī)的設(shè)計(jì)。第一種方式的缺點(diǎn)既所設(shè)計(jì)的整體電路規(guī)模較大,所用的器件較多,造成故障率高,導(dǎo)致計(jì)價(jià)器不夠準(zhǔn)確;而基于單片機(jī)的設(shè)計(jì),雖然其有著開(kāi)發(fā)及制作成本低,能較大程度的利用資源,但其外圍電路較多,且調(diào)試復(fù)雜,抗干擾能力差。而本文所用到的VHDL具有穩(wěn)定性好、抗干
28、擾能力強(qiáng)等特點(diǎn),且非常適合作為自動(dòng)售貨機(jī)的控制核心,所以選擇用VHDL來(lái)對(duì)自動(dòng)售貨機(jī)進(jìn)行設(shè)計(jì)來(lái)實(shí)現(xiàn)其功能。</p><p> 本文對(duì)自動(dòng)售貨機(jī)的設(shè)計(jì)主要分為選擇商品,投入貨幣,送出商品,3秒計(jì)時(shí)四個(gè)模塊,在設(shè)計(jì)各個(gè)模塊時(shí)文獻(xiàn)中有很多不同的方法,但總的來(lái)說(shuō)都是用VHDL語(yǔ)言來(lái)逐步按照各個(gè)模塊通過(guò)其狀態(tài)描述實(shí)現(xiàn)其功能。綜述如下:</p><p> 對(duì)自動(dòng)售貨機(jī)的研究中,通過(guò)文獻(xiàn)《科技情報(bào)開(kāi)
29、發(fā)與經(jīng)濟(jì)》2003年第12期中的文章《一種新型自動(dòng)售貨機(jī)的研制》和《北方交通大學(xué)學(xué)報(bào)》第6期中的文章《人民幣識(shí)別器與自動(dòng)售貨機(jī)通信的設(shè)計(jì)與實(shí)現(xiàn)》以及《哈爾濱商業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版)》中的第一期文章《自動(dòng)售貨機(jī)結(jié)構(gòu)安全機(jī)制的研究》中,提出了自動(dòng)售貨機(jī)內(nèi)部結(jié)構(gòu)和具體銷售動(dòng)作方面的改進(jìn)和一些具體細(xì)節(jié)的完善。自動(dòng)售貨機(jī)的國(guó)內(nèi)外的發(fā)展現(xiàn)狀通過(guò)查閱《電子商務(wù)》2005年第3期白麗的文章《自動(dòng)售貨機(jī): 第三次零售業(yè)革命》。在文獻(xiàn)《微型電腦應(yīng)用》20
30、05年第5期文章《基于Verilong -HDL 自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)》提到,在FPGA 或ASIC 等基礎(chǔ)上,采用VHDL 描述語(yǔ)言實(shí)現(xiàn)自動(dòng)售貨機(jī)系統(tǒng)的銷售動(dòng)作,并完成整個(gè)系統(tǒng)的其他相關(guān)功能,其設(shè)計(jì)思想為:用有限狀態(tài)機(jī)進(jìn)行系統(tǒng)狀態(tài)描述,自動(dòng)售貨機(jī)通電復(fù)位時(shí),自動(dòng)進(jìn)入系統(tǒng)初始狀態(tài),隨外界(消費(fèi)者)輸入信號(hào)的觸發(fā)轉(zhuǎn)換到不同狀態(tài)。在不同狀態(tài)下,自動(dòng)售貨機(jī)對(duì)外界的反應(yīng)是不同的,可以進(jìn)入接受信號(hào)(投幣)狀態(tài),也可以進(jìn)入銷售狀態(tài),或者是找零狀態(tài)
31、。在文獻(xiàn)黃科,艾瓊龍,李磊主編,《EDA與數(shù)字系統(tǒng)設(shè)計(jì)案例實(shí)踐》[M]清華大學(xué)</p><p> 本設(shè)計(jì)是基于VHDL進(jìn)行編程,然后在Quartus II進(jìn)行波形仿真,對(duì)主體FPGA的設(shè)計(jì)書(shū)本《數(shù)字邏輯EDA設(shè)計(jì)與實(shí)踐》.劉昌華是這樣描述的:該電路的核心就是技術(shù)分頻電路,通過(guò)VHDL語(yǔ)言的順序語(yǔ)句if—then—else 根據(jù)一個(gè)或者一組條件來(lái)選擇某一特定的執(zhí)行通道,生成商品選擇,貨幣計(jì)算等。寫(xiě)完VHDL語(yǔ)言編
32、程之后,各個(gè)模塊的程序都完成后需要在Quartus II上進(jìn)行仿真,利用Quartus II軟件仿真的方法通過(guò)查閱潘松,黃繼業(yè)編著,《EDA技術(shù)實(shí)用教程——VHDL版》(第四版)[M]科學(xué)出版社,2010年一書(shū)中的第95頁(yè)到135頁(yè)。其中,本論文的主要內(nèi)容都是參考潘松,黃繼業(yè)編著,《EDA技術(shù)實(shí)用教程——VHDL版》(第四版)[M]科學(xué)出版社,2010年這一本書(shū),書(shū)中的很多內(nèi)容都簡(jiǎn)單易懂。</p><p> 通
33、過(guò)對(duì)以上文獻(xiàn)的分析及綜合,得出了本設(shè)計(jì)的設(shè)計(jì)思路和設(shè)計(jì)框圖,并通過(guò)實(shí)際編程,進(jìn)行仿真來(lái)實(shí)現(xiàn)了自動(dòng)售貨機(jī)的功能,最終完成了本論文的設(shè)計(jì)。</p><p><b> ?。ㄈ┓桨副容^</b></p><p> 方案一:用單片機(jī)實(shí)現(xiàn):通過(guò)軟件編程,仿真,調(diào)試,符合要求后將程序用編程器寫(xiě)入到單片機(jī)芯片上。利用單片機(jī)的中斷響應(yīng)錢(qián)幣識(shí)別或者售出貨物的請(qǐng)求,進(jìn)行相應(yīng)的處理。利用寄
34、存器存放錢(qián)幣處理系統(tǒng)運(yùn)行狀態(tài),從而可以根據(jù)整個(gè)錢(qián)幣處理的狀態(tài)進(jìn)行找零出貨。</p><p> 方案二:用VHDL(硬件描述語(yǔ)言)實(shí)現(xiàn):利用硬件描述語(yǔ)言編程,仿真調(diào)試后下載到可編程邏輯器件(CPLD)上實(shí)現(xiàn)??梢詫?duì)自動(dòng)售貨機(jī)整個(gè)過(guò)程進(jìn)行判斷、處理。整個(gè)過(guò)程完全實(shí)現(xiàn)了自動(dòng)化和智能化。</p><p> 比較而言,方案一的開(kāi)發(fā)及制作成本較低,能較大程度地利用資源,但外圍電路較多,調(diào)試復(fù)雜,抗
35、干擾能力差,且對(duì)設(shè)計(jì)者的要求比較高,設(shè)計(jì)者對(duì)軟硬件都必須非常熟悉,由于主要是軟件運(yùn)作,容易出錯(cuò),造成系統(tǒng)不穩(wěn)定,可能會(huì)出現(xiàn)投入錢(qián)幣卻不出售貨物的情況。方案二將所有器件集成在一塊芯片上,體積大大減小的同時(shí)還提高了穩(wěn)定性,并且可應(yīng)用EDA軟件仿真,調(diào)試,易于進(jìn)行功能擴(kuò)展,外圍電路較少,采用硬件邏輯電路實(shí)現(xiàn),其最大的優(yōu)點(diǎn)是穩(wěn)定性好,抗干擾能力強(qiáng),非常適合作為自動(dòng)售貨機(jī)系統(tǒng)的控制核心?;趯?duì)以上各個(gè)因素的考慮,又由于FPGA中有限狀態(tài)機(jī)FSM(
36、Finite StateMachine)及其設(shè)計(jì)技術(shù)是實(shí)用數(shù)字系統(tǒng)設(shè)計(jì)中實(shí)現(xiàn)高效率、高可靠邏輯控制的重要途徑。所有的狀態(tài)均可表達(dá)為CASE-WHEN結(jié)構(gòu)中的一條CASE語(yǔ)句,而狀態(tài)的轉(zhuǎn)移則通過(guò)IF-THEN-ELSE語(yǔ)句實(shí)現(xiàn)。此外,與VHDL的其它描述方式相比,狀態(tài)機(jī)的VHDL表達(dá)豐富多樣,程序?qū)哟畏置?,結(jié)構(gòu)清晰,易讀易懂;在排錯(cuò)、修改和模塊移植方面也有其獨(dú)到的特點(diǎn)。因此,決定選用以VHDL為核心,用VHDL有限狀態(tài)機(jī)編程來(lái)實(shí)現(xiàn)自動(dòng)售貨
37、機(jī)的設(shè)計(jì)。</p><p><b> 二、開(kāi)發(fā)工具簡(jiǎn)介</b></p><p><b> ?。ㄒ唬¬HDL介紹</b></p><p> 硬件描述語(yǔ)言(HDL)是一種用于設(shè)計(jì)硬件電子系統(tǒng)的計(jì)算機(jī)語(yǔ)言,它用軟件編程的方式來(lái)描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式,與傳統(tǒng)的門(mén)級(jí)描述方式相比,它更適合大規(guī)模系統(tǒng)的設(shè)計(jì)。例如
38、一個(gè)32位的加法器,利用圖形輸入軟件需要輸人500至1000個(gè)門(mén),而利用VHDL語(yǔ)言只需要書(shū)寫(xiě)一行“A=B+C” 即可。而且 VHDL語(yǔ)言可讀性強(qiáng),易于修改和發(fā)現(xiàn)錯(cuò)誤。早期的硬件描述語(yǔ)言,如ABEL、HDL、AHDL,由不同的EDA廠商開(kāi)發(fā),互不兼容,而且不支持多層次設(shè)計(jì),層次間翻譯工作要由人工完成。為了克服以上不足,1985年美國(guó)國(guó)防部正式推出了高速集成電路硬件描述語(yǔ)言VHDL,1987年IEEE采納VHDL為硬件描述語(yǔ)言標(biāo)準(zhǔn)(IEE
39、E-STD-1076)。</p><p> ?。ǘ㏎uartusII軟件簡(jiǎn)介</p><p> Quartus II 是Altera公司的綜合性PLD開(kāi)發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。
40、 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 </p><p> Maxplus II 作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對(duì)Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持
41、器件類型的豐富和圖形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了Maxplus II 友好的圖形界面及簡(jiǎn)便的使用方法。 </p><p> Altera Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到
42、數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。</p><p> 三、自動(dòng)售貨機(jī)系統(tǒng)的總體設(shè)計(jì)</p><p><b> ?。ㄒ唬┰O(shè)計(jì)思路</b></p><p> 一般的自動(dòng)售貨機(jī)由錢(qián)幣裝置、指示裝置、貯藏售貨裝置等組成。錢(qián)幣裝置是售貨機(jī)的核心,其主要功能是確認(rèn)投入錢(qián)幣的真?zhèn)?,分選錢(qián)幣的種類,計(jì)算金額。如果投入的金額達(dá)到購(gòu)買(mǎi)物品的數(shù)值即發(fā)出售貨信號(hào),售出貨物并找
43、出余錢(qián)。指示裝置用以指示顧客所選商品的品種。貯藏售貨裝置保存商品,接收出售指示信號(hào),把顧客選擇的商品送至出貨口。一般售貨機(jī)的錢(qián)幣裝置由投幣口、選別裝置、確認(rèn)錢(qián)幣真?zhèn)蔚臋z查裝置、計(jì)算金額的計(jì)算裝置和找錢(qián)裝置組成。</p><p> 本文在VHDL基礎(chǔ)上,采用VHDL硬件描述語(yǔ)言模擬實(shí)現(xiàn)自動(dòng)售貨機(jī)系統(tǒng)的銷售動(dòng)作,用有限狀態(tài)機(jī)進(jìn)行系統(tǒng)狀態(tài)描述,并完成整個(gè)系統(tǒng)的其他相關(guān)功能。自動(dòng)售貨機(jī)通電復(fù)位時(shí),自動(dòng)進(jìn)入到系統(tǒng)初始狀態(tài)
44、,隨外界(消費(fèi)者)輸入信號(hào)的觸發(fā)轉(zhuǎn)換到不同狀態(tài)。在不同狀態(tài)下,自動(dòng)售貨機(jī)對(duì)外界的反應(yīng)時(shí)不同的,可以進(jìn)入接受信號(hào)(投幣)狀態(tài),也可以進(jìn)入銷售狀態(tài),或者是找零狀態(tài)。</p><p> ?。ǘ┳詣?dòng)售貨機(jī)的工作流程</p><p> 根據(jù)自動(dòng)售貨機(jī)的工作過(guò)程,為了論文研究的需要簡(jiǎn)化成了四個(gè)部分:初始狀態(tài)、選擇商品、投入貨幣、送出商品并找零。若操作失誤或投幣不足會(huì)報(bào)警3秒。同時(shí),在售貨過(guò)程中,投
45、入的貨幣和找零的貨幣會(huì)用數(shù)碼管顯示出來(lái),在本文中數(shù)碼顯示管默認(rèn)為硬件中已經(jīng)存在,故不多做研究。</p><p> 自動(dòng)售貨機(jī)能出售1元、5元、10元三種商品。本設(shè)計(jì)中假設(shè)商品存貨無(wú)限,找零錢(qián)幣無(wú)限。三種商品分別設(shè)為三個(gè)按鍵(sel1、sel5、sel10),出售哪種商品可由顧客按動(dòng)相應(yīng)的一個(gè)按鍵即可,并同時(shí)用數(shù)碼管(digit)顯示出此商品的價(jià)格;顧客投入硬(紙)幣的錢(qián)數(shù)也是有1元、5元、10元三種,假設(shè)每次只
46、能投入其中的一種幣(put1、put5、put10),此操作通過(guò)按動(dòng)相應(yīng)的一個(gè)按鍵來(lái)模擬,并同時(shí)用數(shù)碼管將投幣額顯示出來(lái)(digit);顧客投幣后,按一次確認(rèn)鍵(sure),如果投幣額不足時(shí)則報(bào)警,報(bào)警時(shí)間3秒(jing)。如果投幣額足夠時(shí)自動(dòng)送出貨物(送出的貨物用相應(yīng)不同的指示燈顯示來(lái)模擬),同時(shí)多余的錢(qián)應(yīng)找回,找回的錢(qián)數(shù)用數(shù)碼管顯示出來(lái);顧客一旦按動(dòng)確認(rèn)鍵3秒后,自動(dòng)售貨機(jī)即可自動(dòng)恢復(fù)到初始狀態(tài),此時(shí)才允許顧客進(jìn)行下一次購(gòu)貨操作;顧
47、客一次只能購(gòu)買(mǎi)一種商品的一個(gè),若需要更多商品,需要重復(fù)操作。</p><p> 本文主要研究自動(dòng)售貨機(jī)工作過(guò)程中的主要控制部分,流程圖如下圖3.1所示:</p><p> 圖3.1工作過(guò)程流程圖</p><p><b> ?。ㄈ顟B(tài)裝換圖</b></p><p> 在本文的設(shè)計(jì)中,通過(guò)采用有限狀態(tài)機(jī)的方式完成設(shè)計(jì)
48、,根據(jù)工作流程和編程需要,總共有21個(gè)狀態(tài),其中S0為初始狀態(tài)。本設(shè)計(jì)的程序編寫(xiě)及工作過(guò)程均按照狀態(tài)裝換圖。狀態(tài)轉(zhuǎn)換圖如下圖3.2所示:</p><p><b> 圖3.2狀態(tài)轉(zhuǎn)換圖</b></p><p> S0為初始狀態(tài),S1、S2、S3為1元、5元、10元商品選擇狀態(tài);S4、S5、S6為選擇1元商品,分別投入1元、5元、10元貨幣;S7、S8、S9為選擇5元
49、商品分別投入1元、5元、10元貨幣;S10、S11、S12為選擇10元商品分別投入1元、5元、10元貨幣;S13、S14、S15、S16、S17、S18、S19、S20、S21分別對(duì)應(yīng)的為出貨、找零、貨幣不足并警告等狀態(tài);最后返回到初始狀態(tài)S0.</p><p> 四、自動(dòng)售貨機(jī)系統(tǒng)的VHDL設(shè)計(jì)</p><p> 因?yàn)楸驹O(shè)計(jì)采用的是狀態(tài)機(jī)的設(shè)計(jì),各個(gè)模塊通過(guò)狀態(tài)的選擇有機(jī)的聯(lián)系在一起
50、,根據(jù)設(shè)計(jì)流程圖和狀態(tài)圖將程序分為商品選擇模塊,投幣模塊,送出貨物模塊。其中,為了編寫(xiě)程序方便對(duì)程序中的各個(gè)執(zhí)行動(dòng)作用了相應(yīng)的符號(hào)表示:sel1、sel5、sel10分別控制選擇1元、5元、10元三種商品,put1、put5、put10分別是顧客投入硬(紙)幣的錢(qián)數(shù)1元、5元、10元,sure是確認(rèn)輸入,rst是由商家控制的整體復(fù)位控制輸入;jing是警告輸出,out1、out,out10分別是1元、5元、10元三種商品輸出指示,dig
51、it用于顯示顧客投幣錢(qián)數(shù)和找零錢(qián)數(shù)。各個(gè)模塊對(duì)應(yīng)的程序如下所示:</p><p><b> ?。ㄒ唬┥唐愤x擇模塊</b></p><p> 當(dāng)顧客選擇1元、5元或10元三種商品時(shí)分別由狀態(tài)S0跳轉(zhuǎn)至S1、S2、S3狀態(tài),否則停留在S0狀態(tài),選擇貨物的錢(qián)數(shù)在數(shù)碼管上顯示出來(lái),程序代碼如下所示:</p><p> when s0=>jin
52、g<='0';out1<='0';out5<='0';out10<='0';digit<=0;</p><p> if sel1='1' and sel5='0' and sel10='0' then</p><p><b> ns&l
53、t;=s1;</b></p><p> elsif sel1='0' and sel5='1' and sel10='0' then</p><p><b> ns<=s2;</b></p><p> elsif sel1='0' and sel5='
54、;0' and sel10='1' then</p><p><b> ns<=s3;</b></p><p><b> else</b></p><p><b> ns<=s0;</b></p><p><b> end
55、if;</b></p><p><b> ?。ǘ┩稁拍K</b></p><p> 1.當(dāng)顧客投幣為1元、5元或10元時(shí),若當(dāng)前為S1狀態(tài),則分別跳轉(zhuǎn)至S4、S5、S6三種狀態(tài),投幣錢(qián)數(shù)顯示在數(shù)碼管上,否則停留在S1狀態(tài),程序如下所示:</p><p> when s1=>digit<=1;</p>
56、<p> if put1='1' and put5='0' and put10='0' then</p><p><b> ns<=s4;</b></p><p> elsif put1='0' and put5='1' and put10='0' t
57、hen</p><p><b> ns<=s5;</b></p><p> elsif put1='0' and put5='0' and put10='1' then</p><p><b> ns<=s6;</b></p><p>
58、;<b> else</b></p><p><b> ns<=s1;</b></p><p><b> end if;</b></p><p> 2.當(dāng)顧客投幣為1元、5元或10元時(shí),若當(dāng)前為S2狀態(tài),則分別跳轉(zhuǎn)至S7、S8、S9三種狀態(tài),投幣錢(qián)數(shù)顯示在數(shù)碼管上,否則停留在S2狀態(tài),程
59、序如下所示:</p><p> when s2=>digit<=5;</p><p> if put1='1' and put5='0' and put10='0' then</p><p><b> ns<=s7;</b></p><p> el
60、sif put1='0' and put5='1' and put10='0' then</p><p><b> ns<=s8;</b></p><p> elsif put1='0' and put5='0' and put10='1' then</p&
61、gt;<p><b> ns<=s9;</b></p><p><b> else</b></p><p><b> ns<=s2;</b></p><p><b> end if;</b></p><p> 3.當(dāng)顧客
62、投幣為1元、5元或10元時(shí),若當(dāng)前為S3狀態(tài),則分別跳轉(zhuǎn)至S10、S11、S12三種狀態(tài),投幣錢(qián)數(shù)顯示在數(shù)碼管上,否則停留在S3狀態(tài),程序如下所示:</p><p> when s3=>digit<=10;</p><p> if put1='1' and put5='0' and put10='0' then</p&g
63、t;<p><b> ns<=s10;</b></p><p> elsif put1='0' and put5='1' and put10='0' then</p><p><b> ns<=s11;</b></p><p> elsif
64、put1='0' and put5='0' and put10='1' then</p><p><b> ns<=s12;</b></p><p><b> else</b></p><p><b> ns<=s3;</b></
65、p><p><b> end if;</b></p><p><b> ?。ㄈ┧统錾唐纺K</b></p><p> 假設(shè)選擇的1元商品,投入1元貨幣并按下確認(rèn),送出商品后延時(shí)3秒回到初始狀態(tài);投入5元并確認(rèn)后,數(shù)碼管顯示4元找零,送出商品并找出零錢(qián),3秒延時(shí)后回到初始狀態(tài);投入10元并確認(rèn)后數(shù)碼管顯示9元找零,送出商品
66、并找出零錢(qián),3秒延時(shí)后回到初始狀態(tài)。程序如下所示:</p><p> when s13=>out1<='1';out5<='0';out10<='0';jing<='0';digit<=0;</p><p> if b='1' then</p><p&
67、gt; ns<=s0;--延時(shí)控制</p><p><b> else</b></p><p><b> ns<=s13;</b></p><p><b> end if;</b></p><p> when s14=>out1<='1
68、';out5<='0';out10<='0';jing<='0';digit<=4;</p><p> if b='1' then</p><p><b> ns<=s0;</b></p><p><b> else</b
69、></p><p><b> ns<=s14;</b></p><p><b> end if;</b></p><p> when s15=>out1<='1';out5<='0';out10<='0';jing<='
70、0';digit<=9;</p><p> if b='1' then</p><p><b> ns<=s0;</b></p><p><b> else</b></p><p><b> ns<=s15;</b></p
71、><p><b> end if;</b></p><p><b> ?。ㄋ模┯?jì)時(shí)模塊</b></p><p> 本文的設(shè)計(jì)中要求售貨過(guò)程結(jié)束后有一個(gè)3秒復(fù)位以及出錯(cuò)后有3秒的警告時(shí)間,需要通過(guò)延時(shí)來(lái)實(shí)現(xiàn),延時(shí)程序如下所示:</p><p> if rst='1'then</
72、p><p> ps<=s0;--當(dāng)復(fù)位信號(hào)有效時(shí),s0賦給現(xiàn)態(tài)</p><p> elsif clk'event and clk='1' then</p><p> ps<=ns;--當(dāng)上升沿到來(lái)時(shí),次態(tài)賦值給現(xiàn)態(tài)</p><p> if(a='1')then</p>&l
73、t;p> temp:=temp+1;</p><p> if(temp=3)then</p><p><b> b<='1';</b></p><p><b> else</b></p><p><b> b<='0';</
74、b></p><p><b> end if;</b></p><p><b> else</b></p><p><b> temp:=0;</b></p><p><b> end if;</b></p><p>
75、 end if;--延時(shí)程序</p><p> end process;</p><p> 五、自動(dòng)售貨機(jī)的仿真結(jié)果及分析</p><p> 在時(shí)序仿真中,將仿真時(shí)間軸設(shè)置在一個(gè)合理的時(shí)間區(qū)域上十分重要。通常設(shè)置的時(shí)間范圍在數(shù)十微妙間:選擇edit—end time 命令,在彈出窗口中的time 文本框中輸入50,單位選us,本設(shè)計(jì)的整個(gè)仿真域的時(shí)間即設(shè)定為
76、50us。通過(guò)view—utility windows—node finder命令將端口信號(hào)節(jié)點(diǎn)選入波形編輯器中,編輯輸入波形后開(kāi)始仿真。本設(shè)計(jì)中時(shí)鐘clk周期為200ns,rst為低電平。設(shè)置好后仿真,選擇processing—start simulation命令,直到出現(xiàn)simulation was successful,仿真結(jié)束。本設(shè)計(jì)的仿真程序見(jiàn)附錄,結(jié)果如下所示:</p><p> 1、當(dāng)所選商品錢(qián)數(shù)
77、與投幣錢(qián)數(shù)相等時(shí)波形仿真結(jié)果圖如圖5.1所示</p><p> 圖5.1投幣正好波形仿真圖</p><p> 由波形仿真結(jié)果可以看到:當(dāng)按下選擇5元商品時(shí)(sel5為高電平),digit輸出為5,當(dāng)投幣為5元時(shí)(put5為高電平),digit輸出為5,當(dāng)按下確認(rèn)(sure為高電平)后digit輸出為0,即找零為0。并且顯示5元商品輸出(out5為高電平),三個(gè)上升沿即3秒后復(fù)位,所有輸
78、出為0;</p><p> 2、當(dāng)所選商品錢(qián)數(shù)比投幣錢(qián)數(shù)多時(shí)波形仿真結(jié)果圖如圖5.2所示:</p><p> 圖5.2投幣不足波形仿真圖</p><p> 由波形仿真結(jié)果可以看到:當(dāng)按下選擇5元商品時(shí)(sel5為高電平),digit輸出為5,當(dāng)投幣為1元時(shí)(put1為高電平),digit輸出為1,當(dāng)按下確認(rèn)(sure為高電平)后digit輸出為1,即找回1元并
79、且無(wú)商品輸出,警告(jing為高電平)經(jīng)過(guò)3個(gè)上升沿即3秒后復(fù)位,所有輸出為0。</p><p> 3、當(dāng)所選商品錢(qián)數(shù)比投幣錢(qián)數(shù)少時(shí)波形仿真結(jié)果圖如圖5.3所示:</p><p> 圖5.3投幣多的波形仿真圖</p><p> 由波形仿真結(jié)果可以看到:當(dāng)按下選擇1元商品時(shí)(sel1為高電平),digit輸出為1,當(dāng)投幣為5元時(shí)(put5為高電平),digit輸
80、出為5,當(dāng)按下確認(rèn)(sure為高電平)后digit輸出為4,即找回4元并且1元商品輸出(out1為高電平),經(jīng)過(guò)3個(gè)上升沿即3秒后復(fù)位,所有輸出為0。</p><p><b> 結(jié)束語(yǔ)</b></p><p> 通過(guò)設(shè)計(jì)簡(jiǎn)單的自動(dòng)售貨機(jī),詳細(xì)了解了自動(dòng)售貨機(jī)的投幣模塊,商品選擇模塊,主控模塊等模塊的軟件設(shè)計(jì)與實(shí)現(xiàn)主要功能的模塊的仿真。經(jīng)過(guò)仿真與實(shí)踐,整個(gè)系統(tǒng)的工作
81、穩(wěn)定可靠,具有較強(qiáng)的適應(yīng)性,基本完成了自動(dòng)售貨機(jī)的工作過(guò)程。不過(guò)缺點(diǎn)是只能完成相對(duì)比較簡(jiǎn)單的自動(dòng)售貨機(jī)功能,實(shí)現(xiàn)金額計(jì)算,發(fā)放商品,找零,退幣等功能。由于其中是商品存貨無(wú)限,找零無(wú)限,因此不會(huì)出現(xiàn)找零錢(qián)幣與商品存貨不足的情況。解決辦法是通過(guò)增加模塊與輸入信號(hào)來(lái)解決。</p><p> 本設(shè)計(jì)在VHDL進(jìn)行設(shè)計(jì)時(shí)通過(guò)以下步驟來(lái)實(shí)現(xiàn)的:①采用分模塊的設(shè)計(jì)方法將整個(gè)系統(tǒng)分為延時(shí)模塊,商品選擇模塊,投幣模塊,送出商品模
82、塊,以及警告,使每個(gè)模塊的設(shè)計(jì)功能相對(duì)單一,降低了設(shè)計(jì)難度,也便于程序調(diào)試。②系統(tǒng)中很多模塊的VHDL程序設(shè)計(jì)中,均涉及多個(gè)控制信號(hào),多個(gè)控制信號(hào)的作用通過(guò)嵌套的條件語(yǔ)句完成的,這些條件信號(hào)的作用時(shí)機(jī)(是先作用還是后作用)和作用方式(是高、低電平還是上升沿、下降沿)非常有技巧,特別值得注意。③由于本文采用的狀態(tài)機(jī)來(lái)完成實(shí)驗(yàn),所以程序各個(gè)模塊中涉及到很多狀態(tài),通過(guò)對(duì)各個(gè)狀態(tài)實(shí)現(xiàn)的功能做詳細(xì)的劃分,從而使程序簡(jiǎn)單明了的實(shí)現(xiàn)了相應(yīng)的功能。&l
83、t;/p><p> 在做自動(dòng)售貨機(jī)的設(shè)計(jì)的過(guò)程中,通過(guò)查閱資料了解了自動(dòng)售貨機(jī)的一些相關(guān)知識(shí),它是集光、機(jī)、電、機(jī)械加工、制冷、加溫、防偽識(shí)別及電子軟件技術(shù)于一體的高新技術(shù)產(chǎn)品,同時(shí)也發(fā)現(xiàn)了其中的一些弊端。由于時(shí)代的發(fā)展,自動(dòng)售貨機(jī)是現(xiàn)代社會(huì)中的一種商務(wù)工具,在生活中應(yīng)用愈加廣泛,根據(jù)日本、美國(guó)等國(guó)家的經(jīng)驗(yàn),自動(dòng)售貨機(jī)將在全球范圍內(nèi)得到更大的普及,但是在對(duì)我們的生活帶來(lái)方便的同時(shí),由于它本身固有的特點(diǎn),同時(shí)也不可避
84、免的產(chǎn)生一些負(fù)面的影響,比如青少年的不良飲食習(xí)慣和吸煙等現(xiàn)象等在一定程度上是由于自動(dòng)售貨機(jī)所致,自動(dòng)售貨機(jī)便于銷售香煙,含糖飲料,這些沒(méi)有營(yíng)養(yǎng)的含糖飲料像蘇打水,果汁飲料及冰茶等直接影響青少年肥胖病盛行的原因之一。自動(dòng)售貨機(jī)的發(fā)展目標(biāo)是為社會(huì)和生活帶來(lái)最大的便利,這就要求不但要具備實(shí)現(xiàn)其本身固有的功能,更重要的是要求不會(huì)給社會(huì)和日常生活帶來(lái)各種各樣的負(fù)面影響。</p><p><b> 致謝</
85、b></p><p> 在這次畢業(yè)論文的撰寫(xiě)過(guò)程中,得到了許多人的幫助。首先我要感謝我的指導(dǎo)老師在畢業(yè)設(shè)計(jì)上給予我們的指導(dǎo)、提供給我的支持和幫助,這是我能順利完成這次報(bào)告的主要原因,更重要的是老師耐心的幫我解決了許多技術(shù)上的難題,讓我能把系統(tǒng)做得更加完善。</p><p> 在此寫(xiě)畢業(yè)論文期間,我不僅學(xué)到了許多新的知識(shí),而且也開(kāi)闊了視野,提高了自己的設(shè)計(jì)能力。在此,我也要感謝幫助
86、過(guò)我們的同學(xué)們,他們?yōu)槲医鉀Q了不少我不太明白的難題。同時(shí)也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計(jì)的環(huán)境。最后再一次感謝所有在設(shè)計(jì)中曾經(jīng)幫助過(guò)我的良師益友和同學(xué)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]白麗.自動(dòng)售貨機(jī):第三次零售業(yè)革命[ J].電子商務(wù),2005,(3)</p><p> [2]王雯雋.基于Veri
87、long-HDL 自動(dòng)售貨機(jī)的設(shè)計(jì)與實(shí)現(xiàn)[ J].微型電腦應(yīng)用,2005,21(5) </p><p> [3]裴進(jìn)靈.一種新型自動(dòng)售貨機(jī)的研制[J].科技情報(bào)開(kāi)發(fā)與經(jīng)濟(jì), 2003,13(12)</p><p> [4]鄭大宇,紀(jì)鵬.自動(dòng)售貨機(jī)結(jié)構(gòu)安全機(jī)制的研究[ J].哈爾濱商業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,22(1)</p><p> [5]鄭大宇,
88、劉立晶.自動(dòng)售貨機(jī)送出機(jī)構(gòu)的設(shè)計(jì)及優(yōu)化[ J].黑龍江商學(xué)院學(xué)報(bào)(自然科學(xué)版), 2000,6(3)</p><p> [6]黃科 艾瓊龍 李磊主編 《EDA與數(shù)字系統(tǒng)設(shè)計(jì)案例實(shí)踐》[M].清華大學(xué)出版社,2010.年</p><p> [7]郭照南 主編 《電子技術(shù)與EDA技術(shù)課程設(shè)計(jì)》[M].中南大學(xué)出版社,2010年</p><p> [8]包明 編著
89、《EDA技術(shù)與可編程器件的應(yīng)用》[M].北京航空航天大學(xué)出版社,2007年</p><p> [9]潘松 黃繼業(yè) 編著 《EDA技術(shù)實(shí)用教程——VHDL版》(第四版)[M].科學(xué)出版社,2010年</p><p> [10]劉紹漢 林灶生 劉新民 編著 《VHDL芯片設(shè)計(jì)》[M].清華大學(xué)出版社,2004年</p><p> [11]鄒彥 編著 《EDA技術(shù)與
90、數(shù)字系統(tǒng)設(shè)計(jì)》[M].電子工業(yè)出版社,2007.4 </p><p> [12]王永華 《現(xiàn)代電氣控制及PLC應(yīng)用技術(shù)》【M】.2版.北京:北京航空航天大學(xué)出版社</p><p> [13]朱正偉 主編 《EDA技術(shù)及應(yīng)用》[M].清華大學(xué)出版社,2005.10</p><p> [14]廖超平 主編 《EDA技術(shù)與VHDL使用教程》[M].高等教育出版社,2
91、007年</p><p> [15]章彬宏 主編 《EDA應(yīng)用技術(shù)》[M].北京:北京理工大學(xué)出版社,2007.7</p><p><b> 附錄</b></p><p><b> 附錄A:程序源代碼</b></p><p> library ieee;--庫(kù)聲明</p>&l
92、t;p> use ieee.std_logic_1164.all;</p><p> entity automat is</p><p> port(sel1,sel5,sel10,put1,put5,put10,sure,clk,rst:in std_logic;</p><p> jing,out1,out5,out10:out std_logic
93、;</p><p> digit:out integer range 0 to 15);</p><p> end automat;--實(shí)體</p><p> architecture bhv of automat is</p><p> type state is(s0,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,
94、</p><p> s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21);--結(jié)構(gòu)體,定義21個(gè)狀態(tài)</p><p> signal ps,ns:state;</p><p> signal a,b:std_logic;--聲明a,b兩個(gè)信號(hào),用于延時(shí)</p><p><b> begin
95、</b></p><p> process(clk,rst)</p><p> variable temp:integer range 0 to 3;</p><p><b> begin</b></p><p> if rst='1'then</p><p>
96、 ps<=s0;--當(dāng)復(fù)位信號(hào)有效時(shí),s0賦給現(xiàn)態(tài)</p><p> elsif clk'event and clk='1' then</p><p> ps<=ns;--當(dāng)上升沿到來(lái)時(shí),次態(tài)賦值給現(xiàn)態(tài)</p><p> if(a='1')then</p><p> temp:=t
97、emp+1;</p><p> if(temp=3)then</p><p><b> b<='1';</b></p><p><b> else</b></p><p><b> b<='0';</b></p>
98、<p><b> end if;</b></p><p><b> else</b></p><p><b> temp:=0;</b></p><p><b> end if;</b></p><p> end if;--延時(shí)程序&
99、lt;/p><p> end process;</p><p> process(sel1,sel5,sel10,put1,put5,put10,sure,b,ps)</p><p><b> begin</b></p><p> if((ps=s0)or(ps=s1)or(ps=s2)or(ps=s3)or(ps=
100、s4)or(ps=s5)or(ps=s6)or(ps=s7)or(ps=s8)or(ps=s9)or(ps=s10)or(ps=s11)or(ps=s12))then</p><p><b> a<='0';</b></p><p><b> else</b></p><p><b>
101、 a<='1';</b></p><p> end if;--對(duì)控制延時(shí)信號(hào)a賦值</p><p> case ps is</p><p> when s0=>jing<='0';out1<='0';out5<='0';out10<='0
102、39;;digit<=0;--狀態(tài)及狀態(tài)轉(zhuǎn)換情況</p><p> if sel1='1' and sel5='0' and sel10='0' then</p><p><b> ns<=s1;</b></p><p> elsif sel1='0' and s
103、el5='1' and sel10='0' then</p><p><b> ns<=s2;</b></p><p> elsif sel1='0' and sel5='0' and sel10='1' then</p><p><b> n
104、s<=s3;</b></p><p><b> else</b></p><p><b> ns<=s0;</b></p><p><b> end if;</b></p><p> when s1=>digit<=1;</p&
105、gt;<p> if put1='1' and put5='0' and put10='0' then</p><p><b> ns<=s4;</b></p><p> elsif put1='0' and put5='1' and put10='0
106、39; then</p><p><b> ns<=s5;</b></p><p> elsif put1='0' and put5='0' and put10='1' then</p><p><b> ns<=s6;</b></p><
107、;p><b> else</b></p><p><b> ns<=s1;</b></p><p><b> end if;</b></p><p> when s4=>digit<=1;</p><p> if sure='1'
108、; then</p><p><b> ns<=s13;</b></p><p><b> else</b></p><p><b> ns<=s4;</b></p><p><b> end if;</b></p>&l
109、t;p> when s5=>digit<=5;</p><p> if sure='1' then</p><p><b> ns<=s14;</b></p><p><b> else</b></p><p><b> ns<=s5
110、;</b></p><p><b> end if;</b></p><p> when s6=>digit<=10;</p><p> if sure='1' then</p><p><b> ns<=s15;</b></p>
111、<p><b> else</b></p><p><b> ns<=s6;</b></p><p><b> end if;</b></p><p> when s2=>digit<=5;</p><p> if put1='1&
112、#39; and put5='0' and put10='0' then</p><p><b> ns<=s7;</b></p><p> elsif put1='0' and put5='1' and put10='0' then</p><p>&l
113、t;b> ns<=s8;</b></p><p> elsif put1='0' and put5='0' and put10='1' then</p><p><b> ns<=s9;</b></p><p><b> else</b>
114、</p><p><b> ns<=s2;</b></p><p><b> end if;</b></p><p> when s7=>digit<=1;</p><p> if sure='1' then</p><p><
115、b> ns<=s16;</b></p><p><b> else</b></p><p><b> ns<=s7;</b></p><p><b> end if;</b></p><p> when s8=>digit<=
116、5;</p><p> if sure='1' then</p><p><b> ns<=s17;</b></p><p><b> else</b></p><p><b> ns<=s8;</b></p><p>
117、;<b> end if;</b></p><p> when s9=>digit<=10;</p><p> if sure='1' then</p><p><b> ns<=s18;</b></p><p><b> else</b&
118、gt;</p><p><b> ns<=s9;</b></p><p><b> end if;</b></p><p> when s3=>digit<=10;</p><p> if put1='1' and put5='0' and
119、put10='0' then</p><p><b> ns<=s10;</b></p><p> elsif put1='0' and put5='1' and put10='0' then</p><p><b> ns<=s11;</b>
120、;</p><p> elsif put1='0' and put5='0' and put10='1' then</p><p><b> ns<=s12;</b></p><p><b> else</b></p><p><b&
121、gt; ns<=s3;</b></p><p><b> end if;</b></p><p> when s10=>digit<=1;</p><p> if sure='1' then</p><p><b> ns<=s19;</b&g
122、t;</p><p><b> else</b></p><p><b> ns<=s10;</b></p><p><b> end if;</b></p><p> when s11=>digit<=5;</p><p>
123、 if sure='1' then</p><p><b> ns<=s20;</b></p><p><b> else</b></p><p><b> ns<=s11;</b></p><p><b> end if;<
124、/b></p><p> when s12=>digit<=10;</p><p> if sure='1' then</p><p><b> ns<=s21;</b></p><p><b> else</b></p><p&g
125、t;<b> ns<=s12;</b></p><p><b> end if;</b></p><p> when s13=>out1<='1';out5<='0';out10<='0';jing<='0';digit<=0;<
126、/p><p> if b='1' then</p><p> ns<=s0;--延時(shí)控制</p><p><b> else</b></p><p><b> ns<=s13;</b></p><p><b> end if;<
127、;/b></p><p> when s14=>out1<='1';out5<='0';out10<='0';jing<='0';digit<=4;</p><p> if b='1' then</p><p><b> ns&l
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動(dòng)售貨機(jī)畢業(yè)論文
- 畢業(yè)論文自動(dòng)售貨機(jī)
- plc簡(jiǎn)單自動(dòng)售貨機(jī)畢業(yè)論文
- 自動(dòng)售貨機(jī)plc設(shè)計(jì)畢業(yè)論文
- plc自動(dòng)售貨機(jī)設(shè)計(jì)畢業(yè)論文
- 自動(dòng)售貨機(jī)畢業(yè)論文--動(dòng)售貨機(jī)plc控制系統(tǒng)背景概述
- 畢業(yè)論文范文——plc自動(dòng)售貨機(jī)
- 畢業(yè)論文自動(dòng)售貨機(jī)的系統(tǒng)設(shè)計(jì)
- 基于plc的自動(dòng)售貨機(jī)畢業(yè)論文
- vhdl描述的自動(dòng)售貨機(jī)系統(tǒng)畢業(yè)論文
- 自動(dòng)售貨機(jī)畢業(yè)設(shè)計(jì)論文
- 畢業(yè)論文----自動(dòng)售貨機(jī)的plc系統(tǒng)設(shè)計(jì)
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)-畢業(yè)論文
- 基于plc自動(dòng)售貨機(jī)的設(shè)計(jì)畢業(yè)論文
- 自動(dòng)售貨機(jī)
- 畢業(yè)論文--自動(dòng)售貨機(jī)控制系統(tǒng)的設(shè)計(jì)
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 自動(dòng)售貨機(jī)畢業(yè)設(shè)計(jì)
- 自動(dòng)售貨機(jī)plc控制系統(tǒng)設(shè)計(jì)-畢業(yè)論文
評(píng)論
0/150
提交評(píng)論