王闖 聶興家 馬帥兵
摘 要:本文是在現(xiàn)有收銀系統(tǒng)的基礎上,利用嵌入式系統(tǒng)技術,研究設計新型智能收銀機。新型智能收銀機可以實現(xiàn)自動收銀、自動找零,與現(xiàn)有收銀系統(tǒng)連接可以進行超市自動售貨。
關鍵詞:新型智能收銀機;自動收銀;自動找零;嵌入式系統(tǒng)
【Abstract】This paper decribes the research and design of new automatic cashier, on the basis of the existing cash register system and using the embedded system technology.New intelligent cash register can automatically cash and change.Attaching to the existing cash register system,the new intelligent cash register can realize shopping malls supermarkets.
【Keyword】New intelligent cash register;Automatically cash; Automatically change; An embedded system
隨著社會經(jīng)濟的發(fā)展,人們的生活水平不斷提高,超市不斷從城市走入鄉(xiāng)鎮(zhèn),超市的發(fā)展使商品交易集中化、高效化。與此同時也出現(xiàn)了超市排隊的問題,據(jù)調(diào)查顧客對超市提出批評最多的就是在購物交款時等待時間太長。老式收款機,完全是人工負責收款找零,速度慢、容易出錯,特別是在下班高峰、節(jié)假日等時候。長時間的排隊嚴重影響了,顧客的滿意度和超市的服務質(zhì)量。2012年北京兆維已經(jīng)實現(xiàn)紙硬幣識別模塊國產(chǎn)化,識別率可達100%。隨著紙幣硬幣識別技術的成熟,多種面額紙硬幣收銀找零成為可能。目前關于收銀系統(tǒng)提出的設計大多是只能實現(xiàn)找零功能,或收銀自動化程度不高。本文在傳統(tǒng)收銀機的基礎上,利用嵌入式設計系統(tǒng),研究具有自動收銀找零的智能收銀找零機。智能收銀找零機能夠通過USB接口,與現(xiàn)有收銀機計算機連接,根據(jù)支付金額和消費總額,計算出要找零的金額,進行找零并顯示。
1 基于嵌入式系統(tǒng)的智能收銀找零找零機原理分析
本系統(tǒng)是在現(xiàn)有收銀系統(tǒng)的基礎上設計的,包括鍵盤、條形碼掃描器、PC、打印機、C52單片機、紙幣找零模塊、硬幣找零模塊、LCD液晶顯示屏、蜂鳴器。本文著重討論自動找零系統(tǒng)的硬件組成、軟件工作原理及系統(tǒng)的總體結構。
2 智能收銀機控制系統(tǒng)主要硬件設計分析
2.1 微控制器
智能收銀找零是在現(xiàn)有收銀機的基礎上研究的,面向顧客,負責收銀、找零、LCD顯示和蜂鳴器提示。單片機有系統(tǒng)內(nèi)核小、專用性強、系統(tǒng)精簡、高實時性等特點,并且單片機在工業(yè)和自動化領域的應用日趨廣泛和成熟。我們選擇單片機作為微控制器,型號是STC89C52 ,它的資源情況:Flash 程序空間是 8K 字節(jié),RAM 數(shù)據(jù)空間是 512 字節(jié),能夠滿足設計需求。
2.2 LCD液晶顯示器
LCD是智能收銀機的顯示設備,用于顯示消費總額、收銀總額、找零金額,儲存零錢用完之后進行提示。設計采用LCD1602液晶顯示器,可以顯示2行,每行16個字符。它的工作電壓是 4.5V~5.5V。
2.3 蜂鳴器
蜂鳴器用于收銀系統(tǒng)地語音提醒。蜂鳴器的BUZZ端口與單片機的一個I/O端口相連。程序控制中,將蜂鳴器的控制放入中斷服務程序,當用戶用于支付金額少于商品總價格時,提醒顧客繼續(xù)投幣;各面額錢幣小于一定數(shù)目時,提醒加幣。
2.4 紙幣收銀找零模塊
紙幣模塊是由步進電機驅動機械結構實現(xiàn),設計中選用的步進電機型號為28BYJ-48,四相八拍。紙幣收銀找零模塊主要包括:紙幣識別部分、紙幣分揀部分、紙幣送入部分、送紙機構、紙幣分離機構、出幣機構。整個收銀找零過程是通過電子電路驅動步進電機、電磁鐵,以實現(xiàn)對整個出鈔模塊的所有機械部件的動作.并對各種開關量輸入(如光電傳感器)做實時、連續(xù)的檢測,根據(jù)檢測結果及時調(diào)整機械部件的動作.保障找零時中的正確、安全穩(wěn)定運行。
3 系統(tǒng)軟件及工作流程分析
以便于程序的編寫和維護,系統(tǒng)程序的設計基于兩個層,包括硬件驅動層、用戶應用層。
3.1 硬件驅動程序
驅動程序是直接對硬件進行操作,是硬件和軟件之間的橋梁。每一種硬件都有對應的驅動程序,通過程序實現(xiàn)某種功能就是調(diào)用對應的驅動程序,使硬件做出相應反應。驅動程序的使用減少了上層程序對硬件的依賴性,也簡化了上層程序的編寫。設計中使用到的驅動程序有通信接口驅動、鍵盤驅動、步進電機驅動、液晶顯示驅動。
3.2 用戶應用層
整個系統(tǒng)的編寫主要的部分就是應用程序。驅動程序能夠使硬件做出一定動作,但只有通過應用程序對數(shù)據(jù)進行處理,經(jīng)過判斷對驅動程序調(diào)用,才能使各硬件有機的結合起來,完成具體的任務。為了順利完成整個收銀找零過程,設計中包括初始儲幣量輸入模塊、現(xiàn)有儲幣量檢測模塊、通信模塊、紙硬幣收銀模塊、顯示模塊、報警提示模塊。
(1)、初始儲幣量輸入模塊,用于在系統(tǒng)啟動還未開始正常工作時,輸入智能收銀機中儲幣量,該變量隨著收銀找零的進行而改變,記錄著裝置中各面額錢幣的現(xiàn)有量,供下面的檢測報警使用。
(2)、現(xiàn)有儲幣量檢測用于,主循環(huán)每次循環(huán),進行檢測現(xiàn)存的紙硬幣數(shù)目,當錢幣數(shù)目小于設定值時,報警并進入死循環(huán),等加幣并重啟程序后正常進行工作。這里設定的最小張數(shù)由一次可能找出最大張數(shù)確定,例如50元1張,20元2張,10元1張,5元1張,1元4張。
(3)、通信模塊負責與上位機通訊,智能收銀找零機是在現(xiàn)有收銀系統(tǒng)的基礎上研究設計的,商品價格的掃入,總額的計算都是由PC來完成,然后通過通訊模塊出入到單片機,用于找零金額的計算使用。找零過程中向PC機返回忙碌狀態(tài),此時PC機可以進行商品掃入,但不能像單片機輸入商品總金額,找零結束后,返回準備就緒狀態(tài),可以接收商品總額進入下一輪收銀找零。
(4)、紙硬幣收銀模塊,紙硬幣通過紙幣識別器,判斷出錢幣的面額,紙幣通過電機帶動絲杠,帶動分揀機構進行分揀;硬幣則通過電磁鐵改變硬幣滑動路徑,實現(xiàn)硬幣進入不同的儲幣筒。然后增加先儲幣量的數(shù)目。
(5)、紙硬幣找零模塊,通過貪心算法,將經(jīng)過計算得到的找零金額進行分配,算出每一種面額的金額應找出的張數(shù),然后驅動電機,并使用光電傳感器進行檢測,實現(xiàn)正確找零。
(6)、顯示模塊主要用于商品總額輸入單片機后,顯示商品價格,并提示投幣;在投幣過程中,實時顯示已投金額數(shù)目;投幣結束后,顯示應找零金額;檢測到錢幣數(shù)目過少時,顯示哪種面額缺少。
(7)、警示提醒模塊,當顧客投入金額小于消費金額時,蜂鳴器會0.5秒響,提醒顧客繼續(xù)投幣,并將程序返回到收銀模塊;當程序檢測到現(xiàn)存?zhèn)€面額錢幣小于對應數(shù)目時,蜂鳴器會響2秒,提醒加幣。
4 程序工作流程框圖
根據(jù)以上智能收銀機的設計分析.首先通過條形碼掃描器掃描客戶購買商品種類單價,計算總金額。輸入機構接收客戶付款并進行驗收和計算收銀總額。計算找零數(shù)額并通過程序分離具體找零幣類和數(shù)目.然后驅動步進電機帶動機械結構,找出具體相應數(shù)目零錢,實現(xiàn)自動找零。
現(xiàn)在國內(nèi)的自動售貨系統(tǒng),只能實現(xiàn)硬幣的收銀找零和少數(shù)面額的紙幣收銀,大大限制了,自動收銀系統(tǒng)在各方面的使用。針對于這一現(xiàn)狀,本文提出了一種基于STC89C52單片機的超市收銀找零系統(tǒng)設計方法,能夠實現(xiàn)多種面額的紙硬幣找零。經(jīng)過模型的制作和實驗,系統(tǒng)安全可靠。
參考文獻
[1]曹占生.單片機控制的自動掛零系統(tǒng)的設計[B].研究與開發(fā).2001.1.
[2]熊志金.基于嵌入式系統(tǒng)的ATM出鈔機設計[J].工業(yè)控制計算機,2009,12.
[3]周立功,等.ARM嵌入式系統(tǒng)軟件開發(fā)實例[M].北京:北京航空航天大學出版社,2004.
[4]韓嬌,等.基于嵌入式系統(tǒng)的新型智能收銀機設計研究[].科技信息,2013