呂守向 湯紫雄
(福州理工學(xué)院工學(xué)院 福建福州 350506)
電子叫號管理系統(tǒng)在排隊(duì)等待和排隊(duì)秩序等方面具有一定的改善意義。本文提出的電子叫號管理系統(tǒng)就是一款基于AT89C51來設(shè)計(jì)的智能呼叫管理系統(tǒng)。該系統(tǒng)由客戶端和主機(jī)終端組成,并通過LCD來顯示叫號信息,輔以呼叫提示音讓該系統(tǒng)提供的服務(wù)更加人性化。
電子叫號管理電路采用如圖1所示的結(jié)構(gòu)。所設(shè)計(jì)的電子叫號管理系統(tǒng)主要在客戶端執(zhí)行取號使之從機(jī)生成一組隊(duì)列,再由主機(jī)端對從機(jī)所生成的隊(duì)列實(shí)行統(tǒng)計(jì)管理。系統(tǒng)主要為兩個(gè)部分:抽號部分(從機(jī))和叫號部分(主機(jī)),其控制核心[1]為ATMEL公司的AT89C51單片機(jī),能很好的滿足排隊(duì)抽號的控制數(shù)據(jù)處理。整個(gè)系統(tǒng)的組成主要包含了按鍵模塊、主機(jī)控制模塊、LCD顯示模塊、放號廣播模塊等。其中取號模塊和放號模塊由相互獨(dú)立的 LCD顯示器分別給予顯示。取號功能通過按鍵即可實(shí)現(xiàn),對于放號呼叫則有四個(gè)按鍵。
圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)中主機(jī)部分要實(shí)現(xiàn)由從機(jī)的排隊(duì)按鍵決定已排隊(duì)人數(shù)。在已知已排隊(duì)人數(shù)的前提下由按鍵K1/K2/K3/K4分別代表4個(gè)不同的窗口所叫到的號碼;顯示剩余的排隊(duì)人數(shù)有waiting鍵。從機(jī)部分只要完成客戶取號的功能。相對主機(jī)而言少了蜂鳴器和按鍵數(shù)。從機(jī)主要實(shí)現(xiàn)的是客戶端[2]的排隊(duì)順序記錄,限制排隊(duì)上限并傳送信息給主機(jī)。在主從機(jī)任務(wù)分工明確的條件下實(shí)現(xiàn)以上內(nèi)容,最后利用keil編譯完再進(jìn)行proteus仿真和成軟硬件設(shè)計(jì)和系統(tǒng)仿真。
(一)顯示電路。如圖2所示,P2.2連向顯示器的使能信號,P2.1連向顯示器讀/寫端,P2.0連向顯示器數(shù)據(jù)/命令端,P0端連向顯示器8個(gè)數(shù)據(jù)接口。VL則用于調(diào)整顯示器的對比度。顯示器的控制可通過對E、RS、RW、的電平執(zhí)行寫入來實(shí)現(xiàn)。
圖2 顯示電路
(二)按鍵電路。按鍵電路如圖3所示,為簡化分析,定義隊(duì)列長度為10。首先由K0執(zhí)行取號輸入,開始計(jì)數(shù)。在取號頻率小于設(shè)定隊(duì)列長度前提條件下,執(zhí)行+1操作直至取號數(shù)等于事先定義的長度10時(shí),則不再排隊(duì)。放號主機(jī)的中斷和與門一同完成。假設(shè)4個(gè)工作人員在放號終端放出號碼,號碼最小的那位排隊(duì)人員前往指定放號終端,此時(shí)已受理該業(yè)務(wù)的那個(gè)放號終端就應(yīng)該自動執(zhí)行銷號操作。中斷的號碼也應(yīng)通過與門執(zhí)行銷號-1操作和延時(shí)操作。
圖3 按鍵電路
(三)放號電路。如圖4所示,放號呼叫功能經(jīng)由蜂鳴電路端口的電平變化來實(shí)現(xiàn)。每一次放號呼叫前后時(shí)間間隔長短可通過設(shè)置延遲來完成。四個(gè)按鍵執(zhí)行取號放號操作時(shí)蜂鳴器都將發(fā)出放號廣播聲。本次設(shè)計(jì)運(yùn)用延時(shí)程序[3]控制接蜂鳴器的端口輸出。
圖4 放號電路
(一)設(shè)計(jì)取號從機(jī)。當(dāng)系統(tǒng)運(yùn)行并掃描到K0開關(guān)閉合時(shí)就默認(rèn)取號操作開始執(zhí)行,便開始生成隊(duì)列。由于本次設(shè)計(jì)定義了隊(duì)列長度為10,故計(jì)數(shù)器隨著隊(duì)列取號數(shù)的不斷增加循環(huán)執(zhí)行+1操作直至隊(duì)列長度達(dá)到10才終止。其流程如圖5所示。
圖5 從機(jī)流程
(二)設(shè)計(jì)放號主機(jī)。根據(jù)排隊(duì)隊(duì)伍的不同狀態(tài),對LCD進(jìn)行相應(yīng)的顯示控制。如有窗口應(yīng)答并命令時(shí),運(yùn)用延時(shí)程序控制蜂鳴器的運(yùn)行[4],窗口顯示并以提示音呼叫。4個(gè)獨(dú)立的按鍵代表4個(gè)窗口實(shí)現(xiàn)顯示、叫號兩用功能。整個(gè)流程為將排隊(duì)人員中號碼最小的那個(gè)號傳到主機(jī),主機(jī)開始計(jì)算并與隊(duì)列長度做比較進(jìn)而將號碼顯示在顯示器上并發(fā)出廣播,同時(shí)重新排列后續(xù)的號碼。
(三)設(shè)計(jì)放號廣播。放號呼叫功能經(jīng)由蜂鳴電路端口的電平變化來實(shí)現(xiàn)。每一次放號呼叫前后時(shí)間間隔長短可通過設(shè)置延遲來完成。最后通過調(diào)用主程序?qū)崿F(xiàn)廣播功能。這樣的設(shè)計(jì)可使得系統(tǒng)提供的服務(wù)更加人性化[5]。其流程如圖6所示。
圖6 放號廣播流程
(四)設(shè)計(jì)顯示和銷號程序。銷號功能可以利用與門和循環(huán)左移的方式實(shí)現(xiàn)。顯示器和銷號流程如圖7、8所示。
圖7 顯示器流程
圖8 銷號流程
利用AT89C51在Proteus平臺上進(jìn)行原理圖的繪制。繪制完成后對程序編譯[6]得到HEX可執(zhí)行文件再加載到芯片進(jìn)行仿真[7]測試。測試結(jié)果如圖9-11所示。
圖9 系統(tǒng)測試一
圖10 系統(tǒng)測試二
圖11 系統(tǒng)測試三
本次設(shè)計(jì)以AT89C51為核心,分別對LCD1602為數(shù)碼顯示器、按鍵、叫號模塊等外圍電路進(jìn)行設(shè)計(jì)。通過對各模塊進(jìn)行軟件編程并借助Proteus對設(shè)計(jì)的電子叫號管理系統(tǒng)進(jìn)行測試。最終實(shí)現(xiàn)了對排隊(duì)進(jìn)行智能呼叫管理的功能。