排队机1.排队机简介该系统是一种综合运用计算机技术、网络技术、多媒体技术、通讯控制技术的高新技术产品,模拟了人群排队过程,通过取票进队、排队等待、叫号服务等功能,有效地解决客户在服务中所遇到的各种排队、等候、拥挤和混乱等现象,使客户拥有了一个自由的空间和一份美好的心情。2.需求分析系统基本功能系统工作流程2.1系统基本功能(一)多种业务功能:同时可代理4种业务的顾客的排队委托,并且可以随意定义所代理的业务类型。(二)业务窗口拓展功能可以按照需要进行增减,最大窗口数量为32。所以本系统适合在不同规模的排队场所使用。(三)大尺寸LED高亮度、清晰显示,柜台闪烁提醒。对于每一个新号码,柜台显示屏先是闪烁若干次(次数根据客户需要更改,或关闭闪烁功能),使得顾客更容易找到。(四)液晶显示功能使得操作界面更加友好。在排队机主机和呼号机上都有液晶显示,使得操作更明了,准确,方便。2.1系统基本功能(五)语音提示功能采用高清晰度语音芯片,真人发声,呼叫声音清晰,甜美悦耳。(六)记录保存功能采用大容量ROM对当天的排队记录进行保存,并且,掉电以后数据不丢失。(七)查询统计功能对于当天的排队记录,可以进行方便的查询,统计,打印。(八)时间和日期设定功能通过呼号机的键盘按照操作说明可以对系统的时间和日期进行设定。2.1系统基本功能(九)业务转移功能若当前柜台不能办理某一业务时可以将该业务转移到其他窗口。(十)优先服务功能在特殊需要的情况下,可以呼叫一个指定的号码到相应窗口办理。(十一)打印功能采用高精度打印机,和热敏打印纸,出纸迅速,墨迹清晰,不沾手。2.2系统工作流程(一)顾客操作顾客走近排队机,在面板上按下与自己要办理的业务相应的按键,取走打出的号票。(二)营业员操作营业员的操作是系统操作的主要部分,营业员的操作是从呼号机端输入的,所以,营业员要依照呼号机的功能进行相应操作。3.系统整体设计硬件设计软件设计3.1硬件设计硬件概要设计硬件实现3.1.1硬件概要设计出票机主控制器语音系统打印机呼叫器1呼叫器n……窗口显示屏1窗口显示屏n……3.1.1硬件概要设计(一)出票机:由主控制器模块、显示模块、打印模块、语音控制模块、通讯模块等模块组成主控制器:本系统的心脏,具有按键取号、自动排号、有序发号、打印显示、日历时钟,语音提示和数据存储等功能。采用一片微电脑芯片78E52B做主CPU完成管理系统的取号、排号、发号、打印、并驱动显示、日历时钟,语音提示和数据存储等功能。3.1.1硬件概要设计2.显示模块采用点阵图形液晶模块128X64LCD,具有中英文和数字显示,可4行每行显示8个共32个16X16点阵汉字。3.打印机采用日本精工打印机芯,模块含有中、英文字库,自动切票、出票、出票快,打印号票清晰、打印内容和格式可以自由编辑。采用万年历时钟芯片PCF8563,IIC通讯协议,微电脑控制,可方便对时间日期进行修改。3.1.1硬件概要设计4.语音提示:采用语音芯片ISD1420,可多次录放可长达20秒的录放音。分发号的同时进行语音的提示5.采用串行EEPROM芯片24C256,IIC通讯协议,具有32K字节存储空间,掉电不丢失,对打印的号和取出的号进行存储。6.多通讯协议:与主台显示器和呼叫器采用RS-485通讯,与打印机采用RS-232通讯协议与液晶采用并口通讯,与存储器采用IIC通讯协议3.1.1硬件概要设计7.采用总线集中供电(DC+15)具有过流过压保护功能。采用硬件看门狗防止程序跑飞。3.1.1硬件概要设计(二)呼叫器:本系统非常重要的组成部分,采用78E52微电脑芯片,液晶显示模块显示操作和工作内容,采用0-9共10个数字按键和5个功能键经过组合完成多种功能,操作方便。按键声音及液晶显示提示,具有拨码地址开关可随时设定本机地址,具有呼叫,重呼,取消,指定呼叫,呼叫转移,时间和日期设置,随时改变业务类型。双通讯协议:与发号机(主控制器)采用RS485协议9600BPS的波特率通讯,通讯距离远,抗干扰强,系统稳定。与柜台显示屏采用RS-232通讯协议。3.1.1硬件概要设计(三)窗口显示屏挂在柜台窗口上方显示正在服务的顾客号码,采用3寸4位数码管显示,第一位显示业务种类后三位显示顾客号码,采用微电脑芯片78E52进行自动化控制,显示采用动态显示,通讯(与呼叫机)采用RS-232通讯协议。注:主台显示屏与主控制器采用RS-485通讯,柜台显示和呼叫机采用RS-232协议通讯。所有的通讯采用9600BPS的波特率。3.1.2系统拓扑图出票机呼叫器窗口显示屏无线通讯器3.1.3硬件实现(部分)(一)主控制器模块:①芯片78E52B:功能:整个系统的控制中心,完成管理系统的取号、排号、发号、打印、并驱动显示、日历时钟,与呼叫器和主显示屏的通信、语音提示和数据存储等功能。工作电压为5V,内部RAM为256个,内部ROM为8K3.1.3硬件实现(部分)②语音芯片1420P:功能:当呼叫器要求取一个号,或要求进行重呼后,主控制器则控制语音芯片进行语音呼叫。当打印机没有纸或是下班时间已到,再按相应的取号键时进行无纸或是已下班的语音提示。1420介绍:工作电压为5V,DIP28封装,最小语音段为125MS,可以通过输入地址码进行,并电平/沿进行选通。3.1.3硬件实现(部分)③24C256:功能:对排队机中用到的数据进行存储。比如所排的号及时间、取出的号及时间,以及所转移的号。24C256介绍:工作电压为5V,32K数据存储器,在DIP8封装,IIC通讯协议。3.1.3硬件实现(部分)④打印机:功能:对票进行打印,出票快,打印号票清晰、打印内容和格式可以编辑。打印机介绍:工作电压为24V,型号为wh102sa,包括中、英文字库,采用模拟串口技术,波特率设为9600BPS。3.1.3硬件实现(部分)⑤液晶显示器:功能:1.显示当前的时间及取号的提示信息。2.如果到了下班时间,则显示停止取号的提示信息。液晶显示器介绍:工作电压为5V,负压为-9V左右。工作稳定可靠。3.1.3硬件实现(部分)⑥PCF8563:功能:时间模块,用于确定系统时间,以打印票号或下班时间时禁止取号。PCF8563介绍:使用IIC通讯协议,带掉电保护电路,可一次写入,长期使用。⑦7805:功能:电压转换,可由12~15V直流电压转化为5V电压以供以上芯片使用。3.1.3硬件实现(部分)⑧SN75176BP:功能:用于和各个呼叫器及主显示器通讯,采用RS485通讯协议,波特率9600BPS。3.1.3硬件实现(部分)⑨主控制器模块使用芯片位置图:语音芯片1420P78E52BPCF85637805液晶模块接口打印机接口语音接口75176按键模块MAX6913.1.3硬件实现(部分)3.1.3硬件实现(部分)(二)呼叫器模块:采用78E52微电脑芯片,液晶显示模块显示操作和工作内容,采用0-9共10个数字按键和5个功能键经过组合完成多种功能,操作方便。按键声音及液晶显示提示,具有拨码地址开关可随时设定本机地址,具有呼叫,重呼,取消,指定呼叫,呼叫转移,时间和日期设置,随时改变业务类型。3.1.3硬件实现(部分)①78E52:功能:控制按键和通讯以完成以上功能。介绍:工作电压为5V,RAM256字节,ROM为8K②液晶模块1602:功能:显示当前按下的键或当前执行的功能或是状态。介绍:工作电压为5V,此液晶显示模块一行可显示16个ASCII码,总共可显示二行。3.1.3硬件实现(部分)③MAX485:功能:用于和主控器通讯,以完成取号、呼号等任务。介绍:工作电压为5V,工作中处于中断接收状态,当主控制器对呼叫器进行POLLING时产生中断,判断是否是POLLING的自己,如果是则把要完成的任务发送给主控制器。技术成熟,性能稳定。3.1.3硬件实现(部分)④RS-232:功能:用于和窗口显示屏进行通讯,以显示当前正在被办理的号。介绍:工作电压为5V,使用模拟串口方式与窗口显示屏进行通讯,波特率设为9600BPS。⑤拨动开关:功能:用于切换呼号机的地址,可以在32个窗口之间任意更换,使用简单、方便。具体使用方法请看呼叫器键盘使用部分。3.1.3硬件实现(部分)⑥叫号器模块使用芯片位置图:7805蜂鸣器柜台显示屏液晶模块160278E52B按键部分MAX4853.1.3硬件实现(部分)⑦呼叫器连线图:3.2软件设计软件概要设计软件详细设计3.2.1软件概要设计排队机管理系统取号机模块主显屏模块叫号器模块显示子程序打印子程序POLLING子程序语音呼叫子程序8563读写子程序柜台显示屏模块键盘服务程序中断服务程序3.2.2软件详细设计(1)取号机模块①取号机主要功能:取号机主要完成按键、排队、取号、呼号、打印、LCD显示、与叫号器和主显示屏的通讯、对时钟芯片的读写操作等功能。3.2.2软件详细设计②取号机设计思想:微CPU平时读取万年历时间、进行LCD显示,对每个叫号器进行POLLING以确定是否有需求,如果有某个叫号器要求取号,则主控制器先从转移区进行查找,找不到则在RAM区中进行查找,找到的话将这个号发送到该叫号器,然后送主显示屏进行显示,同时通过语音模块进行呼叫,找不到的话向叫号器发找不到的命令标志,不进行语音呼叫;如果叫号器所要求的是呼叫某个指定号,则主控制器从队列中查找这个号,找到把这个号从队列中取出,同时通过语音模块进行呼叫,找不到只通过语音模块进行呼叫;3.2.2软件详细设计如果叫号器所要求的是对号进行转移,则把这个号转到24C256的转移区中,以备取号时进行查找;如果呼号机所要求的是修改系统时间,则主控制器将叫号器所发过来的数据进行处理,并判断是修改年、月、日还是对时、分、秒进行修改,然后用相应的时间数据写入万年历,完成对万年历芯片修改时间。3.2.2软件详细设计按键采用外部中断0,当外中断发生时,程序自动跳到按键的中断处理程序,判断是否真的有键被按下,如果有键按下时,相应的排队号的号数进行加1,并把这个号放入RAM区,然后调用打印印对刚被按下的号进行打印,打印完后退出打印程序。3.2.2软件详细设计③主要功能程序模块介绍按键中断服务程序:这个程序当中断发生时被调用,用以确定具体的四个键中的哪个键被按下,或是无键按下而只是一个干扰信号,这几种情况通过键值状态字来表示,如果状态字是01H,则说明是干扰引起的中断,如果是02H,04H,08H,10H,则分别代表是1号键、2号键、3号键、4号键被按下。为了增加临下班前停止取号的功能,通过设置一个停止取号的时间来进行判断,如果到了这个时间则停止取号,这个号即不进行排队也不进行打印。反之,同时调用打印程序把这个号打印出来给顾客,并把这个号存入RAM区。3.2.2软件详细设计打印子程序:通过CPU的两个I/O口以模拟串口的方式、采用RS232协议与打印机进行数据传输。波特率由发送子程序设为9600BPS。打印机由于自带中、英文字库,所以向打印机所传送的代码(除命令码外)全部是计算机的机内码,这些内码可以通过内码对照表来查,也可以通过一些转换工具来查。具体的传送过程请参看流程图。在打印过程上使用了字体转换,换行、切纸等命令,详细说明请参照BA-T500打印机资料。3.2.2软件详细设计LCD显示子程序:所采用的模块为128*64,在显示过程中有两种情况,一种情况是在允许取号的情况下,液晶上显示,当前时间和取号的提示信息,一种情况是禁止取号的情况下,在这种情况下液晶提示停止取号的提示信息。这两种情况的判断是通过一个标志位来进行的。这个标志位是在读取万年历时间后,对当前时间和禁止取号时间进行比较进行清零或是置位。在显示过程序中调用了写左半屏命令字子程序、写右半屏子程序命令字,写左半屏数据子程序、写右半屏数据子程序、延时子程序,显示左半屏汉字、字母和显示右半屏汉字、字母的子程序。3.2.2软件详细设计语音模块子程序:用来完成语音呼叫、或是语音提示。这个程序主要是对1420P送语音地址码码,然后判断语音结束标志,在检