徐 磊
(南京華蘇科技有限公司,江蘇 南京 210012)
銀行排隊叫號系統(tǒng)設(shè)計
徐 磊
(南京華蘇科技有限公司,江蘇 南京 210012)
隨著當(dāng)今時代科技的發(fā)展,科技在各個行業(yè)受到廣泛運用。文章設(shè)計了一種銀行排隊叫號系統(tǒng),該系統(tǒng)基于AT89C52的嵌入式系統(tǒng)而設(shè)計,用戶通過該排隊系統(tǒng)進行業(yè)務(wù)辦理等待,其主要核心是通過系統(tǒng)進行安排排隊抽號順序,用戶在排隊機前進行抽號,系統(tǒng)會生成排隊號碼并反饋給用戶和工作人員,工作人員利用該系統(tǒng)進行叫號并且通過顯示器提醒用戶當(dāng)前所叫號數(shù),用戶可以通過該系統(tǒng)隨時了解排隊情況。該系統(tǒng)的運用,可以極大地提高銀行排隊等待的效率,可以通過排隊自動化、規(guī)范化來解決客戶排隊的混亂秩序,同時通過這種現(xiàn)代化信息處理,提高銀行的服務(wù)水平和質(zhì)量。
單片機;排隊叫號;系統(tǒng)開發(fā)
通過運用銀行智能排隊叫號系統(tǒng)進行排隊來更好地在銀行服務(wù)過程中提高銀行的服務(wù)效率,解決排隊過程中的各種問題。此系統(tǒng)能夠提高銀行的服務(wù)效率和客戶的服務(wù)體驗。系統(tǒng)的需求分為功能需求和非功能需求兩個方面。
系統(tǒng)的功能需求:(1)通過智能排隊叫號系統(tǒng),客戶選擇自己所需的服務(wù)類型,系統(tǒng)接收客戶需要的服務(wù)的類型與客戶的信息。(2)智能排隊叫號系統(tǒng)通過系統(tǒng)自身軟件編寫實現(xiàn)智能排隊。(3)智能排隊叫號系統(tǒng)根據(jù)客戶需求和軟件運行后生成客戶排隊?wèi){單通過打印機反饋給客戶。(4)系統(tǒng)將排隊信息通過LED屏幕實時更新顯示。(5)工作人員通過計算機等硬件設(shè)備并且控制廣播呼叫客戶進行服務(wù),實現(xiàn)排隊系統(tǒng)的自動更新。
系統(tǒng)的非功能性需求:(1)使用獨立的網(wǎng)絡(luò)系統(tǒng)進行連接,保障系統(tǒng)的安全性。(2)通過各種硬件設(shè)計和針對性的研發(fā)銀行排隊系統(tǒng)軟件相結(jié)合,來提高銀行排隊系統(tǒng)的穩(wěn)定性。
2.1 硬件總體設(shè)計
該系統(tǒng)設(shè)計的核心是通過取票、進隊、排隊等候、叫號等服務(wù)模擬人排隊過程,由銀行智能排隊叫號系統(tǒng)代替人排隊的過程。首先在銀行營業(yè)大廳擺放一臺銀行智能排隊叫號機,用戶通過點擊排隊機選取服務(wù),系統(tǒng)在接受客戶請求后會作出反應(yīng),反饋給客戶排隊號碼,用戶通過打印出的號碼和電子屏幕進行等待,當(dāng)排隊進行到客戶時,工作人員會通過系統(tǒng)聲音提示告知客戶接受服務(wù)。工作人員通過呼叫機進行呼叫,點擊呼叫機“下一位”鍵,系統(tǒng)就會切換當(dāng)前號碼到下一位客戶的號碼,并在窗口顯示屏顯示。呼叫機設(shè)有“重復(fù)呼叫”鍵,可以重復(fù)告知客戶前來辦理業(yè)務(wù)。圖3硬件設(shè)計總體設(shè)計如圖1所示。
2.2 主機部分電路
如圖2所示:主機部分通過窗口叫號、液晶顯示、蜂鳴器叮咚聲提示、統(tǒng)計剩余排隊人數(shù)、插隊管理等功能接收從機獲取的用戶信息進行排隊管理。
圖1 硬件設(shè)計總體設(shè)計
圖2 主機部分硬件電路
2.3 從機部分電路
如圖3所示:從機部分客戶通過按鍵K0,系統(tǒng)會+1取號,并且將客戶分配的號碼在液晶屏上顯示出來,設(shè)置其最高上限為10,當(dāng)取號人數(shù)達(dá)到10人后,屏幕會作出隊伍已達(dá)上限的提示,并顯示“The queue is full,please wait”。客戶取票后,從機會將客戶的號碼信息通過串行通信反饋給主機接收。
圖3 從機部分硬件電路
2.4 功能部分電路設(shè)計
2.4.1 單片機最小系統(tǒng)電路
單片機AT89C52的最小系統(tǒng)電路,包括時鐘振蕩電路、復(fù)位電路兩個部分[10]。圖4為AT89C52單片機的最小系統(tǒng)結(jié)構(gòu)圖。
圖4 單片機最小系統(tǒng)
2.4.2 1602 液晶顯示電路
在數(shù)字測量儀表和各種數(shù)字系統(tǒng)中,都需要將數(shù)字量直觀地顯示出來,一方面供人們直接讀取測量和運算的結(jié)果,另一方面用于監(jiān)視數(shù)字系統(tǒng)的工作情況。因此,數(shù)字顯示電路是許多數(shù)字設(shè)備不可缺少的部分。數(shù)字顯示電路通常由譯碼器、驅(qū)動器和顯示器等部分組成[11-12]。
在本次設(shè)計中主要由1602液晶顯示器及排阻構(gòu)成顯示電路部分。P0口是一個三態(tài)雙向口,除了高、低態(tài)以外還有一個高阻態(tài),如果不接上拉電阻,當(dāng)端口處于高電平1的狀態(tài)下,實際上端口對地、對Vcc電阻都是無窮大,即本質(zhì)上是不確定狀態(tài),因此需要上拉電阻RESPACK-8。P2口為一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入,故不要再加上拉電阻。
由1602液晶的引腳功能可知其電路連接如圖5所示。在排號按鍵K0操作的時候,其顯示的是“Your No. is **!”并按鍵依次+1,當(dāng)隊列為空時會顯示“Sorry,the queue is empty!”,當(dāng)隊列滿時會顯示“The queue is full,please wait”,在排號按鍵K1,K2,K3,K4操作的時候,其顯示的是“No.** come to no.** window,please!”;按鍵waiting時,顯示的是剩余隊列人數(shù),按鍵insert時,其顯示是“insert”。
2.4.3 按鍵部分電路
由與門和開關(guān)按鍵組成,由其完成的功能設(shè)計硬件原理如圖6所示。按鍵接口都主要在P1輸入口處按鍵輸入,運用按鍵中斷的方式達(dá)到隊列排號的取號和叫號的功能。
在取號操作由從機的K0鍵實現(xiàn)。初始化內(nèi)部程序,使計數(shù)從01開始,當(dāng)按鍵次數(shù)小于10時,由循環(huán)加1,當(dāng)取號等于10時,停止排隊。
叫號主機的按鍵設(shè)計就要復(fù)雜一點,采用的中斷要和與門一起完成[13]。4個獨立的窗口叫號按鍵實時的取得輸入排在最前的號碼,當(dāng)4個窗口中任意一個窗口已經(jīng)使用了該號碼后,就進行銷號處理。此時中斷中的號碼通過與門進行消號-1和延時的效果。另外的功能按鍵與其設(shè)計原理基本一致。
2.4.4 蜂鳴器子程序
如圖7蜂鳴器部分所示。在按鍵K1,K2,K3,K4操作的時候,其蜂鳴器會發(fā)出“叮咚”提示顧客的提示音。本設(shè)計運用延時程序控制接蜂鳴器的端口輸出。
2.4.5 TXD串行發(fā)送和RXD串行接收電路
根據(jù)通信方式的不同,可以把傳輸線路分為單工通信、半雙工通信和全雙工通信3種方式。在單工方式下,發(fā)送器與接收器由通信線形成點對點的單向連接,它的數(shù)據(jù)將按照固定的方向傳輸;在半雙工方式下,系統(tǒng)的通信可以完成雙向傳輸,到那時不能在發(fā)送器和接收器之間雙向同時傳輸,只能由一端到另一端;全雙關(guān)則是可以在發(fā)送器與接收器之間進行雙向同時傳輸[14]。3種通信方式中半雙工通信方式相對操作更加輕松。本設(shè)計的傳送數(shù)據(jù)是在半雙工方式下運行的,兩個AT89C51芯片的串行發(fā)送和串行接收端口對應(yīng)連接,如圖8所示。
圖8 串行通信部分硬件電路圖
3.1 軟件總體設(shè)計
Keil uvision4作為此排隊叫號系統(tǒng)的軟件設(shè)計開發(fā)平臺。(1)主機部分。系統(tǒng)的主機部分就是系統(tǒng)的叫號服務(wù)終端,系統(tǒng)的主機部分構(gòu)成如表1所示。
表1 系統(tǒng)主機構(gòu)成部分及實現(xiàn)功能
(2)從機部分。系統(tǒng)的取號終端作為系統(tǒng)的從機,其主要功能就是幫助客戶取號并同時將獲取數(shù)據(jù)發(fā)送至叫號服務(wù)終端。系統(tǒng)的從機主要分為以下幾部分,如表2所示。
表2 系統(tǒng)從機構(gòu)成部分及實現(xiàn)功能
3.2 排隊系統(tǒng)主從機軟件設(shè)計
3.2.1 系統(tǒng)從機(取號終端)主程序設(shè)計
取號終端的事件發(fā)生概率服從隨機按先來先排的公平排隊,由于只有一臺專門的從機來負(fù)責(zé),可以簡化其流程,而在邏輯上服從隊列的先入先出算法[15]。通過單片機的中斷K0按鍵,當(dāng)系統(tǒng)檢測到按下時完成取號功能。隊列的上限是10人,當(dāng)隊列中排一人時,隊列加1,直到滿隊。主要的流程如圖9所示。
圖9 從機主程序流程
3.2.2 系統(tǒng)主機(叫號終端)主程序設(shè)計
主機初始化后,主機通過單片機的中斷按鍵,當(dāng)系統(tǒng)檢測到按下時完成相應(yīng)功能。
(1)接收從機發(fā)送來的信息,若隊列為空顯示“Hello!”;若隊列未滿,則在隊列取號按鍵的時候調(diào)用叫號程序?qū)崿F(xiàn)“** is left”的字樣;若隊列已滿,則重復(fù)顯示“11 is left”。
(2)如有窗口應(yīng)答并命令時,運用延時程序控制蜂鳴器的運作,4個獨立的按鍵代表4個窗口實現(xiàn)顯示叫號兩用功能。
(3)可以根據(jù)統(tǒng)計程序來統(tǒng)計此隊列中還有多少人在排隊等待中??偟牧鞒淌菑臋C將最前顧客號碼發(fā)送到該主機,主機接收后可以窗口顯示并提示音呼叫、統(tǒng)計剩余人數(shù)、重置排隊等功能。主要的流程如圖10主機主程序流程所示。
圖10 主機主程序流程
3.3 蜂鳴器子程序
蜂鳴器子程序的主要功能是運用延時函數(shù)實現(xiàn)不同頻率的聲音輸出[16]。程序中主要的結(jié)構(gòu)流程如圖11蜂鳴器子程序所示。
3.4 LCD顯示子程序
LCD顯示子程序的主要通過控制1602液晶使其對排隊系統(tǒng)的各種提示信息進行顯示[17]。主要包括對1602液晶寫指令、寫數(shù)據(jù)、清屏等部分。
程序中主要的結(jié)構(gòu)流程如圖12 LCD顯示子程序流程所示。
3.5 窗口消號處理子程序
利用與門和循環(huán)左移的方式實現(xiàn)器消號的功能,其主要的流程結(jié)構(gòu)如圖13窗口消號處理子程序所示。
圖11 蜂鳴器子程序流程
圖12 LCD顯示子程序流程
圖13 窗口消號處理子程序流程
Proteus是世界上著名的EDA工具(仿真軟件),從原理圖布圖、代碼調(diào)試到單片機與外圍電路協(xié)同仿真,一鍵切換到PCB設(shè)計,真正實現(xiàn)了從概念到產(chǎn)品的完整設(shè)計[18]。當(dāng)點擊Proteus軟件的全速運行按鈕時,軟件提示沒有錯誤,可以得到仿真結(jié)果。可以在Proteus中仿真人們在排隊時的幾種必要的過程,取號、叫號、蜂鳴、顯示、統(tǒng)計。
(1)當(dāng)點擊全速運行按鈕,將出現(xiàn)如圖14所示仿真結(jié)果,表示的是判斷隊列為空時主從機運行的結(jié)果,沒有人進行排隊。
圖14 機判斷為空時運行仿真
(2)當(dāng)有人進行排隊時,按K0鍵中的排隊輸入號碼,即是現(xiàn)實中排在隊伍中等待的模擬部分,在此過程中順序已經(jīng)在隊列中確定,此時可以節(jié)省時間從事另外的某些事情,最大排隊數(shù)是10。當(dāng)排隊數(shù)達(dá)到最大時,從機部分顯示的是“The queue is full,please waiting!”,這隊列已經(jīng)滿了,請等一等,而主機部分的號碼顯示為“** is left”,如圖15所示。
圖15 按K0鍵兩次后的結(jié)果示意
(3)當(dāng)某窗口需要叫號時,可以按K1,K2,K3,K4鍵代表不同的獨立窗口并有提示音,即相當(dāng)于模擬人排在隊伍中等待窗口內(nèi)的呼叫。由按鍵中斷方式實現(xiàn)LCD數(shù)碼顯示功能,由延時程序控制蜂鳴器的提示音。達(dá)到雙重保險效果,看顯示器的“No.排隊號碼come to No按鍵代表的窗口window,Please”,請幾號到幾號窗口來,同時有“叮咚”加以提示客戶,這樣確保不會因不留意而錯過機會。如圖16所示。
圖16 按K1鍵兩次時的仿真結(jié)果
(4)當(dāng)你在窗口前想要了解你所在的隊伍中還剩余多少人要辦理業(yè)務(wù)時,即在人們排隊時焦急等待的在計算何時輪到自己時的現(xiàn)象??砂磜aiting鍵,運用窗口消號處理和鍵盤中斷來處理此項功能。即為顯示還有多少人在排隊等待中,其LCD數(shù)碼顯示為共辦理了幾人業(yè)務(wù)。如圖17所示為排隊6人,1號窗口已經(jīng)辦理了前2人的業(yè)務(wù),按waiting鍵時,LCD顯示的是“04 is left”,剩余4人,圖17為按waiting鍵的結(jié)果。
本文設(shè)計了一種使用AT89C52單片機作為核心的銀行智能排隊叫號系統(tǒng)。通過使用兩塊AT89C52芯片外加相應(yīng)功能模塊,經(jīng)過預(yù)研、硬件設(shè)計、繪制電路圖、軟件設(shè)計等一系列操作,分別構(gòu)成主機(叫號系統(tǒng))與從機(排隊系統(tǒng)),兩者經(jīng)過結(jié)合后完成了一個具有排隊叫號功能的智能排隊叫號系統(tǒng)。最后通過Proteus仿真平臺進行仿真驗證,使系統(tǒng)達(dá)到要求的性能指標(biāo),實現(xiàn)預(yù)期目的。本文給出了該設(shè)計方法的原理說明和具體的設(shè)計電路,敘述了系統(tǒng)硬件電路的設(shè)計和結(jié)構(gòu)以及軟件的設(shè)計,同時給出了重要程序的流程。
此次設(shè)計最終實現(xiàn)的功能是:(1)當(dāng)客戶使用排隊系統(tǒng)進行排隊,系統(tǒng)會自動排隊并生成排隊序號反饋給客戶。(2)當(dāng)系統(tǒng)排隊完成后,會將排隊信息發(fā)送給叫號系統(tǒng),同時在主LCD屏幕上顯示當(dāng)前排隊信息。(3)服務(wù)人員通過叫號系統(tǒng)按鍵叫號下一位客戶,叫號系統(tǒng)會通過蜂鳴器呼叫用戶,當(dāng)前用戶號碼會在窗口LCD屏幕顯示提醒客戶,同時系統(tǒng)會反饋給排隊系統(tǒng)更新信息。
圖17 按鍵waiting的仿真結(jié)果
[1]MEEHAN J,MUIR L. SCM in Merseyside SMEs:Bene fi ts and barriers [J].TQM Journal,2014(33):16-19.
[2]何迎盛,余建華.銀行智能排隊系統(tǒng)設(shè)計與改進[J].科技廣場,2015(2):66-69.
[3]胡雅清.基于單片機的銀行排隊系統(tǒng)設(shè)計[J].中國高新技術(shù)企業(yè),2015(17):32-33.
[4]武一.基于STC單片機的排隊管理系統(tǒng)的設(shè)計[J].電子設(shè)計工程,2012(20):90-92.
[5]曲豪.嵌入式智能排隊叫號系統(tǒng)的設(shè)計與實現(xiàn)[D].武漢:華中師范大學(xué),2009.
[6]拉扎維.模擬CMOS集成電路設(shè)計[M].陳貴燦,程軍,張瑞,譯.西安:西安交通大學(xué)出版社,2013.
[7]張繼偉,林德營,姚貴君,等.銀行叫號手機排隊系統(tǒng)解決方案[J].通信技術(shù),2011(12):139-141.
[8]黃晟,李玉民,金暉.超聲科排隊叫號系統(tǒng)的設(shè)計與實踐[J].中國醫(yī)療設(shè)備,2012(9):61-63.
[9]楊連國.醫(yī)院智能排隊叫號系統(tǒng)的設(shè)計與實現(xiàn)[D].南京:東南大學(xué),2006.
[10]胡漢才.單片機原理及其接口技術(shù)[M].北京:清華大學(xué)出版社,2004.
[11]柴睿.液壓沖擊器的智能控制系統(tǒng)研究[D].上海:上海交通大學(xué),2009.
[12]GEORGE L,KARINA N,EDMOND K. Design of ring oscillator based voltage controlled oscillator[R].US:Project Final Report HILL International Edition,2014:23-32.
[13]馬坤.超聲波在清洗技術(shù)中的研究[D].濟南:山東大學(xué),2008.
[14]黃璟.智能排隊管理系統(tǒng)[D].南京:南京理工大學(xué),2007.
[15]滕麗麗.基于單片機的銀行排隊系統(tǒng)的設(shè)計[J].信息科技,2010(2):246-247.
[16]彭偉.單片機C語言程序設(shè)計實訓(xùn)100例:基于8051+Proteus仿真[M].北京:電子工業(yè)出版社,2009.
[17]鄭鋒,王巧芝,陳繪兵,等.51單片機應(yīng)用系統(tǒng)典型模塊開發(fā)大全[M].北京:中國鐵道出版社,2010.
[18]BUI HUU TOAN.智能服務(wù)機器人控制系統(tǒng)研究與實現(xiàn)[D].南京:南京理工大學(xué),2015.
Design of a bank queuing and call the name in due order system
Xu Lei
(Nanjing Howso Technology Co., Ltd., Nanjing 210012, China)
With the development of science and technology in today’s era, science and technology in various industries has enjoyed wide application. In this paper, a bank queuing management system is designed, the system is designed based on embedded system of AT89C52, users should wait through the queuing system for business processing, the main core of this system is to arrange queues and queue numbers through the system, which will generate queue number and feedback to the users and staff, the staff uses the system to call and via the display to remind the user the current calling number, the user can through the system to keep abreast of the situation of the queue. The use of the system can greatly improve ef fi ciency of bank queuing, customers queuing disorder could be resolved through line automation, standardization, at the same time, through the modern information processing, the level of service and quality of the bank can be improved.
SCM; queuing and call the name in due order; system development
徐磊(1986— ),男,山東濰坊。