490 likes | 590 Views
排队机. 1. 排队机简介. 该系统是一种综合运用计算机技术、网络技术、多媒体技术、通讯控制技术的高新技术产品,模拟了人群排队过程,通过取票进队、排队等待、叫号服务等功能,有效地解决客户在服务中所遇到的各种排队、等候、拥挤和混乱等现象,使客户拥有了一个自由的空间和一份美好的心情。. 2. 需求分析. 系统基本功能 系统工作流程. 2.1 系统基本功能. (一)多种业务功能 : 同时可代理 4 种业务的顾客的排队委托,并且可以随意定义所代理的业务类型。 (二)业务窗口拓展功能可以按照需要进行增减 , 最大窗口数量为 32 。所以本系统适合在不同规模的排队场所使用。
E N D
1.排队机简介 • 该系统是一种综合运用计算机技术、网络技术、多媒体技术、通讯控制技术的高新技术产品,模拟了人群排队过程,通过取票进队、排队等待、叫号服务等功能,有效地解决客户在服务中所遇到的各种排队、等候、拥挤和混乱等现象,使客户拥有了一个自由的空间和一份美好的心情。
2.需求分析 • 系统基本功能 • 系统工作流程
2.1系统基本功能 (一)多种业务功能 :同时可代理4种业务的顾客的排队委托,并且可以随意定义所代理的业务类型。 (二)业务窗口拓展功能可以按照需要进行增减,最大窗口数量为32。所以本系统适合在不同规模的排队场所使用。 (三)大尺寸LED高亮度、清晰显示,柜台闪烁提醒。对于每一个新号码,柜台显示屏先是闪烁若干次(次数根据客户需要更改,或关闭闪烁功能),使得顾客更容易找到。 (四)液晶显示功能使得操作界面更加友好。在排队机主机和呼号机上都有液晶显示,使得操作更明了,准确,方便。
2.1系统基本功能 (五)语音提示功能 采用高清晰度语音芯片,真人发声,呼叫声音清晰,甜美悦耳。 (六)记录保存功能 采用大容量ROM对当天的排队记录进行保存,并且,掉电以后数据不丢失。 (七)查询统计功能 对于当天的排队记录,可以进行方便的查询,统计,打印。 (八)时间和日期设定功能 通过呼号机的键盘按照操作说明可以对系统的时间和日期进行设定。
2.1系统基本功能 (九)业务转移功能 若当前柜台不能办理某一业务时可以将该业务转移到其他窗口。 (十)优先服务功能 在特殊需要的情况下,可以呼叫一个指定的号码到相应窗口办理。 (十一)打印功能 采用高精度打印机,和热敏打印纸,出纸迅速,墨迹清晰,不沾手。
2.2系统工作流程 (一)顾客操作 顾客走近排队机,在面板上按下与自己要办 理的业务相应的按键,取走打出的号票。 (二)营业员操作 营业员的操作是系统操作的主要部分,营业员的操作是从呼号机端输入的,所以,营业员要依照呼号机的功能进行相应操作。
3.系统整体设计 • 硬件设计 • 软件设计
3.1硬件设计 • 硬件概要设计 • 硬件实现
3.1.1硬件概要设计 主控制器 出票机 语音系统 打印机 呼叫器1 …… 呼叫器n …… 窗口显示屏n 窗口显示屏1
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为8K
3.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硬件实现(部分) • ⑨主控制器模块使用芯片位置图: 78E52B 75176 7805 打印机 接口 语音接口 MAX 691 语音芯片1420P PCF 8563 液晶模 块接口 按键模块
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 78E52B 柜台显示屏 按键部分 液晶模块1602 MAX485 蜂鸣器
3.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送语音地址码码,然后判断语音结束标志,在检测到语音标志后延时30MS后,再送入下一个语音地址码。直到完成所要说的话为止。这样通过语音模块来播放一句话。
3.2.2软件详细设计 • POLLING子程序: 此程序用来依次对每个叫号器进行POLLING以确定是否要取号(呼号、修改时间、等),如果没有则对下一个叫号器进行查询,有则进行相应处理,然后将处理数据送相应叫号器。
3.2.2软件详细设计 • 万年历读、写子程序:对万年历芯片PCF8563进行操作,读万年历的子程序用于读取万年历当前的时间,以备打印和显示用。
3.2.2软件详细设计 (2)叫号器模块 ①叫号器主要功能: 呼号器主要完成取号、呼号、LCD显示、按键查询、与出号机、柜台显示屏的通讯。
3.2.2软件详细设计 ②叫号器设计思想: 上电后对串口和液晶进行初始化、并打开串口中断,在无中断的情况下,程序不断地读取键盘和拨动开关,如果有键按下则根据键的不同类型进行处理,在串口中断发生后进入串口中断服务程序,如果是主控制器对自己的POLLING,则查询自己的命令状态,然后将相应的命令需求发给主控制器,退出中断,继续扫描键盘和拨动开关。如果不是对自己的POLLING,则立刻退出中断。
3.2.2软件详细设计 (3)窗口显示屏模块 ①窗口显示屏主要功能 用来显示正在呼叫的或是正在办理的顾客号码,放在柜台上,能够提醒顾客将要办理的号。
3.2.2软件详细设计 ②窗口显示屏设计思想 显示亮度合适、稳定,闪烁、不晃眼。 数据缓冲区同样分为两个缓冲区,当呼叫器发过来一个新号,用接收缓冲区接收这个新号,如果接收正确则用这个号来更新显示缓冲区,以进行新号的显示。