
隨著人工、場地等費用不斷增加,需要有人值守的商店售賣商品模式成本太大,需要一種新型的、自動的、無人的售貨系統來代替。自從自動售貨機發明以來,這種機器就在全球范圍迅速普及推廣。本文意在通過單片機來設計一款自動售貨機,以加深對電子電路設計的學習和思考。
一、總體設計
本文設計的自動售貨機以AT89C51單片機、按鍵模塊以及HX711檢測模塊為主,實現了不同價格商品的選擇、價格輸入及確認、硬幣檢測等。LED燈指示8種商品價格,LCD實時顯示售價、數量信息;按鍵用來選擇商品種類及數量、確認與取消等操作;利用A/D轉換器芯片HX711來檢測硬幣;單片機接受按鍵及硬幣檢測信息進行判斷后進而模擬實現自動售貨機的功能。
二、系統硬件電路設計
1、系統整體電路設計。整個系統共分為5個模塊:分別是單片機控制模塊、顯示模塊、硬幣檢測模塊、按鍵模塊以及LED指示燈模塊。整體的電路設計如下圖所示。
2、單片機核心控制電路設計。本文選擇51系列單片機,該芯片共有8個部分組成,分別為:外部和內部時鐘模塊;具有數據處理和交換功能的ROM和RAM部分;能夠同時實現8位以及16位的組合內部定時以及外部計數的部分;TX和RX模塊,4路32個多功能引腳;核心CPU和中斷管理模塊。
3、顯示電路設計。顯示電路主要由單片機的 P20口對液晶的8個數據口控制,進行數據讀寫操作,相關的讀寫指令則由單片機的P3.2、P3.3以及P3.4控制實現。
4、按鍵電路設計。如圖1所示,通過price加、減來實現對物品價格增加和減少選擇;通過num按鍵選擇商品數量,然后通過ok和NO按鍵予以確認、取消;確認后,通過中間數字列按鍵實現付款;代付款完成,液晶顯示器會自動顯示找零價格。
5、商品指示電路。本設計總設置了8種不同價格商品,分別對應1到8元不等。通過按鍵實現對商品價格的選擇,選擇后對應的指示燈亮,表示選擇成功,進而可以選擇商品數量并確定。單片機的P0口實現對8種不同價格商品的選擇。
6、硬幣檢測電路。本文設計的系統采用HX711來實現對硬幣重量的檢測,根據重量來檢測硬幣真假,同時通過電阻應變傳感器,利用AD轉換芯片HX711,實現對應變電阻兩端的電壓進行檢測,經過HX711模數轉換后,單片機在內部對數據進行讀取。
三、智能售貨機系統軟件設計
系統程序主要是對系統按鍵掃描,從而實現選擇商品、價格輸入、購買成功等功能。顯示模塊:MCU通過DB0-DB7液晶模塊的CGRAM以及DDRAM讀取和寫入兩種操作。單片機針對引腳RS、R/E、EN進行合理的賦值來完成兩種的時序。投幣模塊:在4*4矩陣鍵盤上模擬投入貨幣,若投入一種面值的貨幣就相應累加,如果沒有投入貨幣或者幣值不足,則提示繼續投幣。當所投貨幣足夠時,則進入出貨找零系統。硬幣檢測模塊:當系統檢測到硬幣投入,即通過模數轉換獲得所投入硬幣的重量數值,如重量不符合標準則判斷其為假幣。出貨找零模塊:當系統進入出貨找零程序時,如果購買商品后沒有剩余貨幣則直接推出商品,若還有剩余貨幣則找出余幣。
四、系統仿真測試
仿真測試主要是利用proteus軟件模擬實現按鍵選擇商品、數量、價格等,商品信息顯示以及單片機控制等功能。首先按鍵對商品進行選擇,選擇完畢后按鍵OK確認,按鍵NO取消,按下OK鍵后進入付款界面,然后通過按鍵輸入價錢,實現付款,成功后顯示銷售成功界面。
總結:本文實現一款智能售貨機系統的設計,通過按鍵實現對商品價格進行選擇、付款等,同時利用LCD模塊實現對自動售貨的顯示。該智能售貨機系統還有非常大的完善空間,比如增加語音播報、接入物聯網等等。
參? 考? 文? 獻
[1]劉塵塵. 一種高速單片機芯片在自動售貨機中的實現[J]. 西昌學院學報(自然科學版),2015,29(04):29-31.
[2]安媛,楊賽烽. 一種新型校園自動售貨機的設計與實現[J]. 電子世界,2016(17):171+199.
[3]羅凱洋. 新鮮果蔬自動售貨機的設計與實現[J]. 科技傳播,2016,8(19):290-291.
崔棚飛(1996-11-28),男, 四川省蒼溪人, 本科, 研究方向:通信、物聯網