歡迎大家點(diǎn)贊、收藏、關(guān)注、評(píng)論啦 ,由于篇幅有限,只展示了部分核心代碼。 技術(shù)交流認(rèn)準(zhǔn)下方 CSDN 官方提供的聯(lián)系方式
概要
??本文設(shè)計(jì)基于單片機(jī)的自動(dòng)售貨機(jī)系統(tǒng),分為硬件電路設(shè)計(jì)與軟件設(shè)計(jì)。硬件電路設(shè)計(jì),本系統(tǒng)由ST(意法半導(dǎo)體)公司設(shè)計(jì)和生產(chǎn)的STM32F103C8T6單片機(jī)為核心,根據(jù)設(shè)計(jì)功能要求,將硬件電路模塊化,分為:電源模塊、投幣模塊、電機(jī)模塊、按鍵輸入模塊、OLED顯示模塊、報(bào)警電路模塊及LED燈模塊,通過(guò)按鍵輸入模塊對(duì)商品種類(lèi)和數(shù)量的選擇以及出貨、退幣的功能,用OLED顯示屏模塊實(shí)時(shí)顯示購(gòu)買(mǎi)的情況以及投幣數(shù)量,通過(guò)LED燈模塊提醒顧客哪個(gè)通道出貨,用蜂鳴器和LED燈提示顧客投幣不足。軟件部分,根據(jù)系統(tǒng)需要實(shí)現(xiàn)的功能,運(yùn)用KeilμVision5編寫(xiě)主程序代碼,并調(diào)用各個(gè)子程序來(lái)實(shí)現(xiàn)自動(dòng)售貨機(jī)的基本功能。最后運(yùn)用Proteus軟件對(duì)實(shí)驗(yàn)電路和編寫(xiě)好的程序進(jìn)行仿真,模擬售貨過(guò)程。本文研究的自動(dòng)售貨機(jī)系統(tǒng)具有實(shí)時(shí)顯示商品種類(lèi)和數(shù)量以及投幣數(shù)量,退幣及找零,報(bào)警等功能,使得系統(tǒng)更加智能快捷更具有實(shí)時(shí)性,直觀(guān)性。
關(guān)鍵詞:自動(dòng)售貨機(jī)STM32F103C8T6
一、總體方案設(shè)計(jì)
2.1系統(tǒng)總體方案設(shè)計(jì)
??本次設(shè)計(jì)的自動(dòng)售貨機(jī)以STM32F103C8T6芯片為核心,其自動(dòng)控制系統(tǒng)以模塊化方式進(jìn)行設(shè)計(jì),主要由電源電路模塊、商品選擇模塊、投幣模塊、OLED顯示模塊、出貨模塊、報(bào)警模塊及LED燈模塊組成。其中,商品選擇模塊采用按鍵輸入,方便顧客選擇自己想要的商品種類(lèi)及其數(shù)量;投幣模塊采用TW-2020型硬幣器,進(jìn)行顧客投幣及找零;OLED顯示模塊采用1.3寸OLED顯示屏,顯示商品的種類(lèi)、數(shù)量,投幣數(shù)量及電機(jī)處于出貨狀態(tài)還是投幣不足狀態(tài);出貨模塊采用CY-VGMS-277彈簧電機(jī),將顧客購(gòu)買(mǎi)的商品移出;報(bào)警模塊包含聲音報(bào)警和燈光報(bào)警,并以蜂鳴器的聲音方式發(fā)出,同時(shí)LED燈提醒消費(fèi)者投幣不足;LED燈模塊就采用LED燈,提示顧客從哪一個(gè)通道出貨。整個(gè)系統(tǒng)的總體設(shè)計(jì)框圖,如圖2.1所示。
圖2.1系統(tǒng)總體設(shè)計(jì)框圖
2.2 系統(tǒng)工作流程設(shè)計(jì)
??本文設(shè)計(jì)的自動(dòng)售貨機(jī)具體的工作流程如下:
(1)通過(guò)按鍵選擇購(gòu)買(mǎi)商品的種類(lèi)及數(shù)量,并在OLED顯示屏中顯示總金額;
(2)投入硬幣,硬幣數(shù)也直接顯示在OLED屏中;
(3)若投入金額足夠,點(diǎn)擊出貨按鈕,開(kāi)始出貨并找零;
(4)如投入的硬幣不夠,蜂鳴器報(bào)警提示,可選擇繼續(xù)支付或退幣;
(5)完成交易后,系統(tǒng)將恢復(fù)初始界面。系統(tǒng)工作流程圖,如圖2.2所示。
圖2.2系統(tǒng)工作流程圖
二、自動(dòng)售貨機(jī)系統(tǒng)的硬件設(shè)計(jì)
??
??本文所研究的自動(dòng)售貨機(jī)系統(tǒng),系統(tǒng)硬件由STM32單片機(jī)、電源模塊、投幣模塊、電機(jī)模塊、按鍵輸入模塊、OLED顯示模塊、報(bào)警電路模塊及LED燈模塊等部分組成。該系統(tǒng)采用AC220v電源供電,通過(guò)S-50-24直流開(kāi)關(guān)電源,將AC220V轉(zhuǎn)換成DC24V[16],DC24V可以給售貨機(jī)貨物電機(jī)模塊供電。電源模塊中還有內(nèi)部電池供電的單輸出升壓轉(zhuǎn)換器,可輸出DC12V電壓,為售貨機(jī)的硬幣器供電,DC12V再由AMS1117-5V降壓芯片轉(zhuǎn)化為DC5V,再由AMS1117-3.3V降壓芯片將DC5V的電壓轉(zhuǎn)化為DC3.3V。模塊化設(shè)計(jì)能簡(jiǎn)化系統(tǒng)的設(shè)計(jì),減少系統(tǒng)的功耗,簡(jiǎn)化運(yùn)行,通過(guò)OLED顯示屏顧客可直觀(guān)地選擇自己想要的商品。自動(dòng)售貨機(jī)原理圖如圖3.1所示。
圖3.1自動(dòng)售貨機(jī)原理圖
3.1 主控電路的設(shè)計(jì)
??主控電路是系統(tǒng)硬件的核心。在上一章中確定了以單片機(jī)STM32為控制器的控制方案,因此本課題設(shè)計(jì)的主控電路是單片機(jī)STM32F103C8T6最小系統(tǒng)組成。
?&emspSTM32F103C8T6是意法半導(dǎo)體(ST)自主研發(fā)的一款基于Cortex-M3芯片的嵌入式微控制器芯片,其核心采用ARMV7-M結(jié)構(gòu)設(shè)計(jì)[9],在醫(yī)療、航空、農(nóng)業(yè)、環(huán)保、智能電子等領(lǐng)域,具有低功耗、低成本、處理速度和可靠性等優(yōu)點(diǎn)。該芯片能夠同時(shí)處理32比特的資料,最高可達(dá)72MHz的時(shí)鐘頻率,與8位51單片機(jī)相比,具有更大的容量和更快的運(yùn)算速度[10]。該芯片內(nèi)置256K的FLASH內(nèi)存,用于存儲(chǔ);此外,還有48K位元組的SRAM內(nèi)存,用于儲(chǔ)存程式執(zhí)行時(shí)所需的數(shù)據(jù)及變數(shù)。同時(shí),該系統(tǒng)還能運(yùn)行Free RTOS、μC/OS-II等小型嵌入式系統(tǒng),使系統(tǒng)執(zhí)行更加高效、穩(wěn)定。
??該芯片具有三個(gè)12位的模數(shù)轉(zhuǎn)換器,其最大速度可達(dá)1us/次。該ADC具有18個(gè)不同的信道,能夠?qū)?6個(gè)外部和2個(gè)內(nèi)部的信號(hào)進(jìn)行檢測(cè),每個(gè)信道的轉(zhuǎn)換可以分為一次、連續(xù)、掃描和間斷四種方式進(jìn)行,可以在不同的情況下進(jìn)行快速的切換,而不會(huì)互相影響,同時(shí)還可以觸發(fā)中斷事件。2個(gè)12位D/A轉(zhuǎn)換器,可以將數(shù)字信號(hào)轉(zhuǎn)化為模擬信號(hào)后輸出。芯片內(nèi)部擁有7個(gè)通道的DMA1和5個(gè)通道的DMA2,可以方便實(shí)現(xiàn)外設(shè)與存儲(chǔ)器或存儲(chǔ)器與存儲(chǔ)器之間數(shù)據(jù)傳輸,不需要經(jīng)過(guò)MCU處理,節(jié)省了MCU資源開(kāi)銷(xiāo),支持的外部設(shè)備有定時(shí)器、SDIO、I2C、SPI、I2S、DAC、ADC和USART等。
??單片機(jī)最小系統(tǒng)是一種最小的系統(tǒng)單元,它使單片機(jī)可以正常工作,并且發(fā)揮出最完全的功能。單片機(jī)最小系統(tǒng)包括STM32單片機(jī),時(shí)鐘電路,電源管理電路,JTAG電路,重置電路等[17]。如圖3.2所示。
圖3.2STM32F103C8T6引腳圖
??自動(dòng)售貨機(jī)系統(tǒng)IO表見(jiàn)下表3.1。
表3.1自動(dòng)售貨機(jī)系統(tǒng)IO表
四、系統(tǒng)實(shí)現(xiàn)
5.1 仿真軟件介紹
??本項(xiàng)目所使用的模擬軟件為Proteus,由英國(guó)實(shí)驗(yàn)室開(kāi)發(fā)。該軟件是當(dāng)今世界上最成熟、最完善的嵌入式系統(tǒng)開(kāi)發(fā)和模擬平臺(tái)。
??該系統(tǒng)支持各種類(lèi)型的MCU(51)、PIC(AVR)、STM32(STM32),它還支持當(dāng)今最受歡迎的MCU開(kāi)發(fā)環(huán)境(Keil,MPLAB,IAR),是一種集成和擴(kuò)充的電子電路模擬軟件[23]。該軟件的特點(diǎn):
(1)這些都達(dá)到了我們所設(shè)計(jì)的MCU軟件模擬系統(tǒng)的要求,與其他同類(lèi)產(chǎn)品相比,有著顯著的優(yōu)越性。(2)仿真系統(tǒng)包括:模擬電路,數(shù)字電路,MCU及其周邊電路,RS—232動(dòng)態(tài)仿真,1C調(diào)試,SPI調(diào)試,鍵盤(pán)和LCD系統(tǒng)仿真;有各種虛擬儀表,例如:示波器、邏輯分析儀、信號(hào)發(fā)生器等。
??Proteus與其他的MCU模擬軟件相比,該軟件不僅能仿真MCU的CPU工作狀況,而且能對(duì)沒(méi)有MCU的外部電路以及其它沒(méi)有MCU的情況進(jìn)行仿真。因此,在進(jìn)行仿真和程序調(diào)試時(shí),需要考慮的不再是執(zhí)行某一指令時(shí)的問(wèn)題,而是微處理器的暫存器和存儲(chǔ)器的改變,從工程的觀(guān)點(diǎn),直接觀(guān)察程式的操作與電路的運(yùn)作。在一定程度上,這種模擬試驗(yàn)可以彌補(bǔ)試驗(yàn)與工程應(yīng)用之間的矛盾與現(xiàn)象[24]。Proteus軟件的界面如圖5.1所示。
圖5.1Proteus軟件的界面
5.2 系統(tǒng)仿真結(jié)果
??由于本系統(tǒng)設(shè)計(jì)中設(shè)有硬幣器,所以在仿真時(shí),采用一個(gè)按鍵來(lái)模擬顧客在付款時(shí)投幣的操作,按鍵按下一次,代表顧客投入一枚硬幣,系統(tǒng)的仿真圖如下:
(1)當(dāng)系統(tǒng)啟動(dòng)時(shí),系統(tǒng)進(jìn)入初始狀態(tài),等待顧客進(jìn)行商品種類(lèi)及數(shù)量的選擇,如圖5.2所示。
圖5.2系統(tǒng)初始界面
(2)當(dāng)顧客通過(guò)按鍵0、按鍵1、按鍵2,進(jìn)行商品種類(lèi)選擇,和選擇購(gòu)買(mǎi)商品的數(shù)量。如圖5.3所示。
圖5.3商品選擇界面
(3)當(dāng)顧客選擇好商品及其數(shù)量后,開(kāi)始投幣。如圖5.4所示。
圖5.4投幣界面
(4)當(dāng)顧客投入的硬幣數(shù)值和商品總價(jià)相等后,點(diǎn)擊按鍵3,出貨按鍵,則對(duì)應(yīng)的貨物指示燈亮,顯示屏顯示“Kai Shi Chu Huo…”,一段時(shí)間后,顯示“Chu Huo Wan Cheng!!!”,隨即指示燈熄滅。如圖5.5所示。
圖5.5出貨界面
(5)當(dāng)顧客投入的硬幣小于商品總價(jià),然后點(diǎn)擊按鍵3,出貨按鍵,報(bào)警燈亮起,顯示屏顯示“Tou Bi Bu Zu!!!”。如圖5.6所示。
圖5.6投幣不足界面
(6)當(dāng)顧客投幣不足,系統(tǒng)報(bào)警,顯示屏再顯示完“Tou Bi Bu Zu!!!”后,顯示屏返回投幣界面,顧客可以選擇繼續(xù)投幣,也可選擇退幣,按下按鍵4,退幣按鍵,投幣數(shù)量清零。如圖5.7所示。
圖5.7退幣界面
(7)當(dāng)顧客完成這一系列操作后,系統(tǒng)會(huì)自動(dòng)復(fù)位到初始界面。如圖5.8所示。
圖5.8系統(tǒng)自動(dòng)復(fù)位到初始界面文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-775572.html
五、 文章目錄
目 錄
第一章 緒論 1
1.1 課題的研究背景及意義 1
1.2 國(guó)內(nèi)外研究現(xiàn)狀 1
1.2.1 國(guó)外研究現(xiàn)狀 1
1.2.2 國(guó)內(nèi)研究現(xiàn)狀 2
1.3 主要研究?jī)?nèi)容及章節(jié)安排 3
第二章 系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 5
2.1 設(shè)計(jì)方案論證 5
2.1.1 控制模塊的選擇與論證 5
2.1.2 硬幣器的選擇與論證 5
2.1.3 出貨電機(jī)的選擇與論證 6
2.2 系統(tǒng)的總體設(shè)計(jì)方案 6
2.3 系統(tǒng)工作流程設(shè)計(jì) 7
2.4 本章小結(jié) 8
第三章 自動(dòng)售貨機(jī)系統(tǒng)的硬件設(shè)計(jì) 9
3.1 主控電路的設(shè)計(jì) 9
3.2 電源模塊設(shè)計(jì) 11
3.2.1 三插插頭、母頭、插座和直流開(kāi)關(guān)電源的選擇 12
3.2.2 DC12V、DC5V、DC3.3V轉(zhuǎn)化模塊選擇 16
3.3 電機(jī)模塊設(shè)計(jì) 17
3.4 硬幣器的選擇 18
3.5 OLED顯示模塊設(shè)計(jì) 20
3.6 按鍵模塊設(shè)計(jì) 21
3.7 報(bào)警電路及LED燈模塊設(shè)計(jì) 22
3.8 本章小結(jié) 24
第四章 自動(dòng)售貨機(jī)系統(tǒng)的軟件設(shè)計(jì) 26
4.1 Keil軟件介紹 26
4.2 系統(tǒng)主程序設(shè)計(jì) 27
4.3 按鍵模塊程序設(shè)計(jì) 28
4.4 出貨模塊及報(bào)警電路模塊程序設(shè)計(jì) 29
4.5 本章小結(jié) 30
第五章 自動(dòng)售貨機(jī)系統(tǒng)仿真 31
5.1 仿真軟件介紹 31
5.2 系統(tǒng)仿真結(jié)果 32
5.3 本章小結(jié) 36
第六章 總結(jié)與展望 37
6.1 總結(jié) 37
6.2 展望 38
參考文獻(xiàn) 39文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-775572.html
到了這里,關(guān)于基于單片機(jī)的自動(dòng)售貨機(jī)系統(tǒng)設(shè)計(jì)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!