银行排队叫号系统设计

2017-07-18 11:48
无线互联科技 2017年11期
关键词:蜂鸣器号码队列

徐 磊

(南京华苏科技有限公司,江苏 南京 210012)

银行排队叫号系统设计

徐 磊

(南京华苏科技有限公司,江苏 南京 210012)

随着当今时代科技的发展,科技在各个行业受到广泛运用。文章设计了一种银行排队叫号系统,该系统基于AT89C52的嵌入式系统而设计,用户通过该排队系统进行业务办理等待,其主要核心是通过系统进行安排排队抽号顺序,用户在排队机前进行抽号,系统会生成排队号码并反馈给用户和工作人员,工作人员利用该系统进行叫号并且通过显示器提醒用户当前所叫号数,用户可以通过该系统随时了解排队情况。该系统的运用,可以极大地提高银行排队等待的效率,可以通过排队自动化、规范化来解决客户排队的混乱秩序,同时通过这种现代化信息处理,提高银行的服务水平和质量。

单片机;排队叫号;系统开发

1 系统需求分析和整体设计

通过运用银行智能排队叫号系统进行排队来更好地在银行服务过程中提高银行的服务效率,解决排队过程中的各种问题。此系统能够提高银行的服务效率和客户的服务体验。系统的需求分为功能需求和非功能需求两个方面。

系统的功能需求:(1)通过智能排队叫号系统,客户选择自己所需的服务类型,系统接收客户需要的服务的类型与客户的信息。(2)智能排队叫号系统通过系统自身软件编写实现智能排队。(3)智能排队叫号系统根据客户需求和软件运行后生成客户排队凭单通过打印机反馈给客户。(4)系统将排队信息通过LED屏幕实时更新显示。(5)工作人员通过计算机等硬件设备并且控制广播呼叫客户进行服务,实现排队系统的自动更新。

系统的非功能性需求:(1)使用独立的网络系统进行连接,保障系统的安全性。(2)通过各种硬件设计和针对性的研发银行排队系统软件相结合,来提高银行排队系统的稳定性。

2 系统硬件设计

2.1 硬件总体设计

该系统设计的核心是通过取票、进队、排队等候、叫号等服务模拟人排队过程,由银行智能排队叫号系统代替人排队的过程。首先在银行营业大厅摆放一台银行智能排队叫号机,用户通过点击排队机选取服务,系统在接受客户请求后会作出反应,反馈给客户排队号码,用户通过打印出的号码和电子屏幕进行等待,当排队进行到客户时,工作人员会通过系统声音提示告知客户接受服务。工作人员通过呼叫机进行呼叫,点击呼叫机“下一位”键,系统就会切换当前号码到下一位客户的号码,并在窗口显示屏显示。呼叫机设有“重复呼叫”键,可以重复告知客户前来办理业务。图3硬件设计总体设计如图1所示。

2.2 主机部分电路

如图2所示:主机部分通过窗口叫号、液晶显示、蜂鸣器叮咚声提示、统计剩余排队人数、插队管理等功能接收从机获取的用户信息进行排队管理。

图1 硬件设计总体设计

图2 主机部分硬件电路

2.3 从机部分电路

如图3所示:从机部分客户通过按键K0,系统会+1取号,并且将客户分配的号码在液晶屏上显示出来,设置其最高上限为10,当取号人数达到10人后,屏幕会作出队伍已达上限的提示,并显示“The queue is full,please wait”。客户取票后,从机会将客户的号码信息通过串行通信反馈给主机接收。

图3 从机部分硬件电路

2.4 功能部分电路设计

2.4.1 单片机最小系统电路

单片机AT89C52的最小系统电路,包括时钟振荡电路、复位电路两个部分[10]。图4为AT89C52单片机的最小系统结构图。

图4 单片机最小系统

2.4.2 1602 液晶显示电路

在数字测量仪表和各种数字系统中,都需要将数字量直观地显示出来,一方面供人们直接读取测量和运算的结果,另一方面用于监视数字系统的工作情况。因此,数字显示电路是许多数字设备不可缺少的部分。数字显示电路通常由译码器、驱动器和显示器等部分组成[11-12]。

在本次设计中主要由1602液晶显示器及排阻构成显示电路部分。P0口是一个三态双向口,除了高、低态以外还有一个高阻态,如果不接上拉电阻,当端口处于高电平1的状态下,实际上端口对地、对Vcc电阻都是无穷大,即本质上是不确定状态,因此需要上拉电阻RESPACK-8。P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入,故不要再加上拉电阻。

由1602液晶的引脚功能可知其电路连接如图5所示。在排号按键K0操作的时候,其显示的是“Your No. is **!”并按键依次+1,当队列为空时会显示“Sorry,the queue is empty!”,当队列满时会显示“The queue is full,please wait”,在排号按键K1,K2,K3,K4操作的时候,其显示的是“No.** come to no.** window,please!”;按键waiting时,显示的是剩余队列人数,按键insert时,其显示是“insert”。

2.4.3 按键部分电路

由与门和开关按键组成,由其完成的功能设计硬件原理如图6所示。按键接口都主要在P1输入口处按键输入,运用按键中断的方式达到队列排号的取号和叫号的功能。

在取号操作由从机的K0键实现。初始化内部程序,使计数从01开始,当按键次数小于10时,由循环加1,当取号等于10时,停止排队。

叫号主机的按键设计就要复杂一点,采用的中断要和与门一起完成[13]。4个独立的窗口叫号按键实时的取得输入排在最前的号码,当4个窗口中任意一个窗口已经使用了该号码后,就进行销号处理。此时中断中的号码通过与门进行消号-1和延时的效果。另外的功能按键与其设计原理基本一致。

2.4.4 蜂鸣器子程序

如图7蜂鸣器部分所示。在按键K1,K2,K3,K4操作的时候,其蜂鸣器会发出“叮咚”提示顾客的提示音。本设计运用延时程序控制接蜂鸣器的端口输出。

2.4.5 TXD串行发送和RXD串行接收电路

根据通信方式的不同,可以把传输线路分为单工通信、半双工通信和全双工通信3种方式。在单工方式下,发送器与接收器由通信线形成点对点的单向连接,它的数据将按照固定的方向传输;在半双工方式下,系统的通信可以完成双向传输,到那时不能在发送器和接收器之间双向同时传输,只能由一端到另一端;全双关则是可以在发送器与接收器之间进行双向同时传输[14]。3种通信方式中半双工通信方式相对操作更加轻松。本设计的传送数据是在半双工方式下运行的,两个AT89C51芯片的串行发送和串行接收端口对应连接,如图8所示。

图8 串行通信部分硬件电路图

3 系统软件设计

3.1 软件总体设计

Keil uvision4作为此排队叫号系统的软件设计开发平台。(1)主机部分。系统的主机部分就是系统的叫号服务终端,系统的主机部分构成如表1所示。

表1 系统主机构成部分及实现功能

(2)从机部分。系统的取号终端作为系统的从机,其主要功能就是帮助客户取号并同时将获取数据发送至叫号服务终端。系统的从机主要分为以下几部分,如表2所示。

表2 系统从机构成部分及实现功能

3.2 排队系统主从机软件设计

3.2.1 系统从机(取号终端)主程序设计

取号终端的事件发生概率服从随机按先来先排的公平排队,由于只有一台专门的从机来负责,可以简化其流程,而在逻辑上服从队列的先入先出算法[15]。通过单片机的中断K0按键,当系统检测到按下时完成取号功能。队列的上限是10人,当队列中排一人时,队列加1,直到满队。主要的流程如图9所示。

图9 从机主程序流程

3.2.2 系统主机(叫号终端)主程序设计

主机初始化后,主机通过单片机的中断按键,当系统检测到按下时完成相应功能。

(1)接收从机发送来的信息,若队列为空显示“Hello!”;若队列未满,则在队列取号按键的时候调用叫号程序实现“** is left”的字样;若队列已满,则重复显示“11 is left”。

(2)如有窗口应答并命令时,运用延时程序控制蜂鸣器的运作,4个独立的按键代表4个窗口实现显示叫号两用功能。

(3)可以根据统计程序来统计此队列中还有多少人在排队等待中。总的流程是从机将最前顾客号码发送到该主机,主机接收后可以窗口显示并提示音呼叫、统计剩余人数、重置排队等功能。主要的流程如图10主机主程序流程所示。

图10 主机主程序流程

3.3 蜂鸣器子程序

蜂鸣器子程序的主要功能是运用延时函数实现不同频率的声音输出[16]。程序中主要的结构流程如图11蜂鸣器子程序所示。

3.4 LCD显示子程序

LCD显示子程序的主要通过控制1602液晶使其对排队系统的各种提示信息进行显示[17]。主要包括对1602液晶写指令、写数据、清屏等部分。

程序中主要的结构流程如图12 LCD显示子程序流程所示。

3.5 窗口消号处理子程序

利用与门和循环左移的方式实现器消号的功能,其主要的流程结构如图13窗口消号处理子程序所示。

图11 蜂鸣器子程序流程

图12 LCD显示子程序流程

图13 窗口消号处理子程序流程

4 系统Proteus仿真实现

Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计[18]。当点击Proteus软件的全速运行按钮时,软件提示没有错误,可以得到仿真结果。可以在Proteus中仿真人们在排队时的几种必要的过程,取号、叫号、蜂鸣、显示、统计。

(1)当点击全速运行按钮,将出现如图14所示仿真结果,表示的是判断队列为空时主从机运行的结果,没有人进行排队。

图14 机判断为空时运行仿真

(2)当有人进行排队时,按K0键中的排队输入号码,即是现实中排在队伍中等待的模拟部分,在此过程中顺序已经在队列中确定,此时可以节省时间从事另外的某些事情,最大排队数是10。当排队数达到最大时,从机部分显示的是“The queue is full,please waiting!”,这队列已经满了,请等一等,而主机部分的号码显示为“** is left”,如图15所示。

图15 按K0键两次后的结果示意

(3)当某窗口需要叫号时,可以按K1,K2,K3,K4键代表不同的独立窗口并有提示音,即相当于模拟人排在队伍中等待窗口内的呼叫。由按键中断方式实现LCD数码显示功能,由延时程序控制蜂鸣器的提示音。达到双重保险效果,看显示器的“No.排队号码come to No按键代表的窗口window,Please”,请几号到几号窗口来,同时有“叮咚”加以提示客户,这样确保不会因不留意而错过机会。如图16所示。

图16 按K1键两次时的仿真结果

(4)当你在窗口前想要了解你所在的队伍中还剩余多少人要办理业务时,即在人们排队时焦急等待的在计算何时轮到自己时的现象。可按waiting键,运用窗口消号处理和键盘中断来处理此项功能。即为显示还有多少人在排队等待中,其LCD数码显示为共办理了几人业务。如图17所示为排队6人,1号窗口已经办理了前2人的业务,按waiting键时,LCD显示的是“04 is left”,剩余4人,图17为按waiting键的结果。

5 结语

本文设计了一种使用AT89C52单片机作为核心的银行智能排队叫号系统。通过使用两块AT89C52芯片外加相应功能模块,经过预研、硬件设计、绘制电路图、软件设计等一系列操作,分别构成主机(叫号系统)与从机(排队系统),两者经过结合后完成了一个具有排队叫号功能的智能排队叫号系统。最后通过Proteus仿真平台进行仿真验证,使系统达到要求的性能指标,实现预期目的。本文给出了该设计方法的原理说明和具体的设计电路,叙述了系统硬件电路的设计和结构以及软件的设计,同时给出了重要程序的流程。

此次设计最终实现的功能是:(1)当客户使用排队系统进行排队,系统会自动排队并生成排队序号反馈给客户。(2)当系统排队完成后,会将排队信息发送给叫号系统,同时在主LCD屏幕上显示当前排队信息。(3)服务人员通过叫号系统按键叫号下一位客户,叫号系统会通过蜂鸣器呼叫用户,当前用户号码会在窗口LCD屏幕显示提醒客户,同时系统会反馈给排队系统更新信息。

图17 按键waiting的仿真结果

[1]MEEHAN J,MUIR L. SCM in Merseyside SMEs:Bene fi ts and barriers [J].TQM Journal,2014(33):16-19.

[2]何迎盛,余建华.银行智能排队系统设计与改进[J].科技广场,2015(2):66-69.

[3]胡雅清.基于单片机的银行排队系统设计[J].中国高新技术企业,2015(17):32-33.

[4]武一.基于STC单片机的排队管理系统的设计[J].电子设计工程,2012(20):90-92.

[5]曲豪.嵌入式智能排队叫号系统的设计与实现[D].武汉:华中师范大学,2009.

[6]拉扎维.模拟CMOS集成电路设计[M].陈贵灿,程军,张瑞,译.西安:西安交通大学出版社,2013.

[7]张继伟,林德营,姚贵君,等.银行叫号手机排队系统解决方案[J].通信技术,2011(12):139-141.

[8]黄晟,李玉民,金晖.超声科排队叫号系统的设计与实践[J].中国医疗设备,2012(9):61-63.

[9]杨连国.医院智能排队叫号系统的设计与实现[D].南京:东南大学,2006.

[10]胡汉才.单片机原理及其接口技术[M].北京:清华大学出版社,2004.

[11]柴睿.液压冲击器的智能控制系统研究[D].上海:上海交通大学,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]马坤.超声波在清洗技术中的研究[D].济南:山东大学,2008.

[14]黄璟.智能排队管理系统[D].南京:南京理工大学,2007.

[15]滕丽丽.基于单片机的银行排队系统的设计[J].信息科技,2010(2):246-247.

[16]彭伟.单片机C语言程序设计实训100例:基于8051+Proteus仿真[M].北京:电子工业出版社,2009.

[17]郑锋,王巧芝,陈绘兵,等.51单片机应用系统典型模块开发大全[M].北京:中国铁道出版社,2010.

[18]BUI HUU TOAN.智能服务机器人控制系统研究与实现[D].南京:南京理工大学,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— ),男,山东潍坊。

猜你喜欢
蜂鸣器号码队列
电动自行车产品车速提示音检测现状和整改技术研究(2)
说号码 知颜色
掌控板制作简易钢琴
队列里的小秘密
一个号码,一个故事
猜出新号码
单片机驱动蜂鸣器的程序设计
在队列里
丰田加速驶入自动驾驶队列
丰田凯美瑞240V车间隙警告蜂鸣器异常鸣响