呂守向 湯紫雄
(福州理工學院工學院 福建福州 350506)
電子叫號管理系統在排隊等待和排隊秩序等方面具有一定的改善意義。本文提出的電子叫號管理系統就是一款基于AT89C51來設計的智能呼叫管理系統。該系統由客戶端和主機終端組成,并通過LCD來顯示叫號信息,輔以呼叫提示音讓該系統提供的服務更加人性化。
電子叫號管理電路采用如圖1所示的結構。所設計的電子叫號管理系統主要在客戶端執行取號使之從機生成一組隊列,再由主機端對從機所生成的隊列實行統計管理。系統主要為兩個部分:抽號部分(從機)和叫號部分(主機),其控制核心[1]為ATMEL公司的AT89C51單片機,能很好的滿足排隊抽號的控制數據處理。整個系統的組成主要包含了按鍵模塊、主機控制模塊、LCD顯示模塊、放號廣播模塊等。其中取號模塊和放號模塊由相互獨立的 LCD顯示器分別給予顯示。取號功能通過按鍵即可實現,對于放號呼叫則有四個按鍵。

圖1 系統結構
系統中主機部分要實現由從機的排隊按鍵決定已排隊人數。在已知已排隊人數的前提下由按鍵K1/K2/K3/K4分別代表4個不同的窗口所叫到的號碼;顯示剩余的排隊人數有waiting鍵。從機部分只要完成客戶取號的功能。相對主機而言少了蜂鳴器和按鍵數。從機主要實現的是客戶端[2]的排隊順序記錄,限制排隊上限并傳送信息給主機。在主從機任務分工明確的條件下實現以上內容,最后利用keil編譯完再進行proteus仿真和成軟硬件設計和系統仿真。
(一)顯示電路。如圖2所示,P2.2連向顯示器的使能信號,P2.1連向顯示器讀/寫端,P2.0連向顯示器數據/命令端,P0端連向顯示器8個數據接口。VL則用于調整顯示器的對比度。顯示器的控制可通過對E、RS、RW、的電平執行寫入來實現。

圖2 顯示電路
(二)按鍵電路。按鍵電路如圖3所示,為簡化分析,定義隊列長度為10。首先由K0執行取號輸入,開始計數。在取號頻率小于設定隊列長度前提條件下,執行+1操作直至取號數等于事先定義的長度10時,則不再排隊。放號主機的中斷和與門一同完成。假設4個工作人員在放號終端放出號碼,號碼最小的那位排隊人員前往指定放號終端,此時已受理該業務的那個放號終端就應該自動執行銷號操作。中斷的號碼也應通過與門執行銷號-1操作和延時操作。

圖3 按鍵電路
(三)放號電路。如圖4所示,放號呼叫功能經由蜂鳴電路端口的電平變化來實現。每一次放號呼叫前后時間間隔長短可通過設置延遲來完成。四個按鍵執行取號放號操作時蜂鳴器都將發出放號廣播聲。本次設計運用延時程序[3]控制接蜂鳴器的端口輸出。

圖4 放號電路
(一)設計取號從機。當系統運行并掃描到K0開關閉合時就默認取號操作開始執行,便開始生成隊列。由于本次設計定義了隊列長度為10,故計數器隨著隊列取號數的不斷增加循環執行+1操作直至隊列長度達到10才終止。其流程如圖5所示。

圖5 從機流程
(二)設計放號主機。根據排隊隊伍的不同狀態,對LCD進行相應的顯示控制。如有窗口應答并命令時,運用延時程序控制蜂鳴器的運行[4],窗口顯示并以提示音呼叫。4個獨立的按鍵代表4個窗口實現顯示、叫號兩用功能。整個流程為將排隊人員中號碼最小的那個號傳到主機,主機開始計算并與隊列長度做比較進而將號碼顯示在顯示器上并發出廣播,同時重新排列后續的號碼。
(三)設計放號廣播。放號呼叫功能經由蜂鳴電路端口的電平變化來實現。每一次放號呼叫前后時間間隔長短可通過設置延遲來完成。最后通過調用主程序實現廣播功能。這樣的設計可使得系統提供的服務更加人性化[5]。其流程如圖6所示。

圖6 放號廣播流程
(四)設計顯示和銷號程序。銷號功能可以利用與門和循環左移的方式實現。顯示器和銷號流程如圖7、8所示。

圖7 顯示器流程

圖8 銷號流程
利用AT89C51在Proteus平臺上進行原理圖的繪制。繪制完成后對程序編譯[6]得到HEX可執行文件再加載到芯片進行仿真[7]測試。測試結果如圖9-11所示。

圖9 系統測試一

圖10 系統測試二

圖11 系統測試三
本次設計以AT89C51為核心,分別對LCD1602為數碼顯示器、按鍵、叫號模塊等外圍電路進行設計。通過對各模塊進行軟件編程并借助Proteus對設計的電子叫號管理系統進行測試。最終實現了對排隊進行智能呼叫管理的功能。