基于单片机的智能排队提示系统.docx
《基于单片机的智能排队提示系统.docx》由会员分享,可在线阅读,更多相关《基于单片机的智能排队提示系统.docx(30页珍藏版)》请在冰点文库上搜索。
基于单片机的智能排队提示系统
基于单片机的智能排队提示系统
摘要
随着市场经济的发展,客户在市场交易中的地位越来越重要,个人化的服务已成趋势,提供舒适的服务环境已成竞争的重要手段。
营业窗口是形成银行、电信、航空、医院等企业的公众形象的重要因素。
因此,排队管理系统应运而生,通过使用排队系统,由传统的客户站立排队变为取票进队、排队等待、提示服务,由传统物理的多个队列变为一个逻辑的队列,它彻底解决了银行、医院等服务性企业普遍存在的站立等候、服务无序的问题,深化并完善了服务的质量。
为此,我们选定了设计一个基于单片机的智能排队提示系统的设计。
设计以AT89C52单片机为核心,将系统分为蜂鸣器模块、键盘模块、Id卡及Id读卡器模块、液晶显示模块等几部分,与软件结合,实现排队叫号的功能[1]。
主控制器中的单片机采用AT89C52。
键盘设计了1个按键,当服务完一位顾客后可直接控制按键提示下一位顾客。
其工作流程是:
当顾客刷完id卡后即可坐在座位上等待提示。
本文先对国内外的现状、研究成果和未来排队系统的发展趋势进行了简单的阐述。
介绍了智能排队系统的总体设计,工作原理。
分别对软件和硬件设计和实现的方法进行了说明。
并给出了详细的电路图。
给出了系统基本功能的测试结果。
总结本文所完成的工作,并提出设计过程中的存在的问题,最后对系统功能的扩展进一步的展望。
关键词:
智能排队LCD显示通用读卡模块KD-01R
第一章绪论
1.1课题背景
随着经济全球化的大浪潮,经济的持续快速发展,资金流动加快,每个服务行业业务量在不断增长,业务种类也日益增多,排队等候已成为人们经常面临的实际问题。
在银行、医院、电信等营业大厅里,经常出现前拥后挤、杂乱无章的排队等候。
这导致了客户因为长时间的站立排队透支体力和精力而疲惫不堪和工作人员也为遭受众多客户的围绕而不胜其烦,影响了服务质量增加工作人员的压力。
社会的进步推动着各行各业树立新的服务观念,也促使各行各业急需改变以往的工作方式,以适应时代的要求[2]。
服务行业的业务量不断增加,传统的排队等候方式费时费力,不符合科学发展的观念。
让顾客站着排队一两个小时也与科学的“顾客是上帝”的服务理念背道而驰。
随着IT行业的迅猛发展,通过机器模拟的智能排队应运而生。
前拥后挤的排队等候得到了改善,电子排队系统得到了广泛的应用。
通过使用排队系统,由传统的客户站立排队变为取票进队、排队等待、提示服务,由传统物理的多个队列变为一个逻辑的队列,使先来先服务的思想得到更好的贯彻,不仅优化了服务和工作环境,而且使客户和工作人员的情绪得以放松,提高了服务效率和质量,有利于树立服务部门的良好形象,有利于提高服务机构的经济效益和社会效益,更有利于营造良好社会公共秩序、创造和谐的社会环境。
它彻底解决了银行、医院等服务性企业普遍存在的站立等候、服务无序的问题,深化并完善了服务的质量[3]。
这种智能化、人性化的服务系统不仅在世界各地被广泛接受,在国内也被越来越多的服务行业认同和采用。
1.1.1国内外现状
智能排队模拟了人群排队过程,通过顾客进行取号、排队等待和叫号服务等功能,取代各类服务性窗口传统的让顾客站立排队办理业务的方式,实现了计算机系统代替客户进行排队的过程,适用于各种各样的窗口服务行业。
排队技术最早出现于上个世纪的六、七十年代,开始主要集中在欧美等西方国家,后来迅速得到普及。
刚开始,排队是顾客先取一个预先准备好的号,然后轮到该号时,服务员再用麦克风通知客户接受服务。
后来排队理论得到了广泛的发展,1909年丹麦的电话工程师爱尔郎进行了长期的工作,取得了随机服务系统理论的最早成果。
1940年前后排队理
论开始在机器管理和陆空交通等方面得到应用。
1951年理论工作有了更新的发展,逐渐奠定了现代随机理论服务基础,其服务领域也得到了广泛的应用。
在我国,排队产品概念的引进时间也不长,排队技术产品也经由1998起步期,即中国企业才开始从事排队技术产品的经营活动。
但新技术还处于萌芽时期,使用的范围十分的有限。
2001---2003年的发展期,即大家排队技术产业已经有了一定的认识。
服务行业也不把排队系统当做一个摆设,顾客对这种智能的排队方式也渐渐的习惯了。
到现阶段的高速发展期,市场也逐渐成熟,逐渐生产出多种适应我国国情的排队系统产品,并具有应用领域广、工作流程复杂、综合技术要求高的等特点[4]。
1.1.2发展趋势
目前排队叫号系统有多种解决方法,如:
取号的有按键式排队取号,触屏式的和无线排队取号。
提示音有乐音提示、语音合成呼叫、呼叫终端;显示的有以柜台显示和综合显示为主的各种数码管显示、LCD显示、LED显示、PDP显示。
从排队系统的发展史来看,可以将它分为:
单片机、Pc式、嵌入式三种核心结构,其特点各异。
基于单片机结构的智能排队管理系统,这个系统具有简单的形式,可以完成基本功能的实现,并且可以实现简单排队的需求,成本较低是它的优点,但是也有不足之处,如接口电路复杂,价格昂贵,体积大,这是智能排队系统的较早的产品,所以扩展功能十分有限。
随着科学技术的发展,市场上现在的主流产品是基于PC机的结构形式,即由8位
CPU构成的主机板通过RS232接口与加装有触摸屏的PC机在线通信配合使用。
这种模式占用Pc机仅用在使用频率较少的系统管理功能和完成触摸屏触摸取号的功能,这种结构方式的长处是能够方便与所服务领域主体业务进行兼容性设计,实现数据共享,不足之处是它的开发和制造的成本相对来说是比较高的,最重要的是系统的结构不严密,显得比较松散。
[5]
嵌入式系统具有消损功耗低、小体积、能够高度集成、较强的可靠性、简单紧凑等特点,适用于对功能、可靠性、体积和功耗要求严格的系统。
应用嵌入式系统使产品的成本得到较大的降低。
并且系统本身不具备自动开发能力,必须有一套开发环境和工具才能进行开发,这使得用户不能够对它进行修改。
硬件设备、应用程序和嵌入式操作系统共同组成了嵌入式系统。
它的应用范围包括网络设备、个人数字助理、智能机械等[6],[7],[8]。
越来越多的软件开发支持和网络功能的强大为嵌入式的发展打下了基础,所以其具有较好的开发前景。
1.2本文主要研究的内容和任务
本文是基于单片机的智能排队提示系统而提出的的若干问题,主要是整个设计过程中的设计方案进行了规划,进而确定了排队提示系统中所需要的主要模块设计及其实现方案,并对各个功能模块的硬件、软件设计与实现进行了比较完整的描述。
本文主要对整个设计过程进行了以下几个方面的概括:
第一章绪论主要介绍了智能排队系统的研究背景、研究目的和意义,国内外现状和不足,以及对智能排队系统的未来发展趋势进行了简略的概括。
第二章对能够实现排队提示的各种方案进行比较分析进而选择适合的方案。
对整个设计的框架有正确的方向,介绍其工作原理及流程。
第三章系统的介绍基于单片机的智能排队提示系统实现的硬件设计方案。
选用的单片机stc89c52,显示lcd,读卡模块的进行详细的介绍。
第四章对于单片机的智能排队提示系统每个模块的软件设计进行了说明,主要介绍了读卡器的读卡,lcd的显示。
第五章对系统的软硬件调试和实现给予说明,并介绍软硬件集成测试的发法和结果。
最后对本文进行总结和展望。
1.3本章小结
本章主要针对该课题的背景及意义进行阐述,并对现阶段国内外的发展现状进行了解,最后更加深入的对它的发展趋势进行研究,进而得出该课题具体所需要完成的重点,以便更快的完成该课题的任务。
第二章排队系统的整体设计方案分析
2.1设计的总架构[19][20]
本课题是基于单片机的智能排队提示系统的开发研究。
在进行毕业设计这个期间,我主要查询比较了各类型的系统设计的方案,对硬件设计以及相应的软件仿真设计也进行了比较详尽的了解与选择,最终确定了一个适合的设计方案。
因此,接下来将介绍整个设计的方案对比与选择及设计思想。
基于单片机的排队提示系统需具有能够一方面实现智能化,另一方面实现人性化,最大的方便广大群众的生活。
排队提示系统的总体架构如下:
图2-1排队提示系统图
N
Y
图2-2总的流程图
2.2设计的思路
整个设计的框架如图2.1所示,系统有几个小模块共同构成,以AT89C52单片机为核心,将系统分为蜂鸣器模块、键盘模块、Id卡及Id读卡器模块、液晶显示模块等几部分,由它们共同完成排队提示。
工作过程为当顾客拿着id卡刷完后即可坐在座位上等候提示音和显示器的显示,按顺序进行办理业务而不怕被插队,既省时又省力。
2.2.1单片机的选择
MCU(MicroControlUnit)中文名称为微控制单元,又称单片微型计算机(SingleChipMicrocomputer)或者单片机,它将多个电路集成在一块芯片,把具有数据处理能力的中央处理器CPU,随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能都集成到一块芯片上,从而构成了一块小而完善的单片微机。
它具有小巧灵活、成本低、易于产品化、抗干扰能力强和适应温度范围广等特点。
单片机发展到现在,种类繁多,性能各不相同。
按内部存储器类型可分为片内掩模型ROM、OTP(一次性可编程)ROM、片内FLASHROM等类型。
片内掩模型的价格便宜,但程序已经固化不能修改,固定不变的应用场合比较适合这种程序;片内FALSHROM程序可以多次擦除和编程,具有很的吧灵活性,缺点是造价比较高,对价格不要求的应用场合可以使用;OTPROM价格适中,允许一次编程,对于要求既灵活性又低成本的应用场合比较适合。
电子产品的层次不同,对能源的需求也不断提高要求。
低功耗成为主流。
如今的单片机日趋向制作工艺CMOS化、尽量实现单片化、片内软件的嵌入、共性与个性共存等方向发展。
单片机在经过这几年不断地研究和发展,历经4位、8位,16位、32位,甚至64位,8位已渐成为市场主流。
STC单片机可以完全兼容51单片机,具有抗干扰性强、低功耗和具有远程升级等特点,加上市面上价格也比较便宜,也符合本课题的设计要求,所以这次的单片机选择STC89C52。
2.2.2Id读卡模块
基于单片机的排队提示系统,顾客要进行排队时必须先进行取号。
取号的设计方案有以下几种。
一种是用热敏打印机,打印机用于用户排队先取号时凭条打印,使用热敏式微型打印机比较适合,热敏打印机具有打印速度快,打印头很少出现机械损耗,噪音较小,并且不需要色带等特点。
不足之处是打印出来的字保存的期限十分的有限,特别是在曝光的情况下更容易分解。
但是由于打印的是用户凭条,时效性十分强的,用户业务办理完毕之后,该凭条即失效,所以普通的热敏打印机完全可以满足需求。
但是由于打印机的软件设计不好控制,所以打印出来的字条可能不符合要求
[9]。
近年来随着射频IC卡技术在各领域的应用日趋成熟和广泛,采用射频卡为密码载体的射频卡读卡模块,因独具操作方便、安全性能高、使用人员无须了解复杂的射频技术、通过标准输出接口就可以将读卡模块嵌入到其应用系统中、从而轻松实现各种应用开发,因此,射频读卡模块已在安防、进出控制、身份识别、产品防伪等领域中占有了举足轻重的地位。
若是把射频IC卡用于顾客的取号,虽然造价较高,但可以循环使用。
综上决定用射频IC卡代替打印机模块。
2.2.3显示单元模块
我们在应用系统中经常会用到显示器,显示器有很多种分类,如:
简称LED数码管显示器,较高级的有LCD液晶显示器(LCD1602等)和荧光显示器等。
下面主要对这几种显示器的比较。
LED主要7个发光段组成的8字形,还另加一个小数点,分别由字母a,b,c,d,e,f,g,d,p来表示这些段。
当这些段加上电压后即可点亮,我们可以控制段的亮灭来显示不同的数字。
LED的驱动可以分为动态驱动和静态驱动,动态驱动可以实现轮流显示。
但是由于本课题要显示多个号码数字,所以使用LED比较麻烦,不太符合。
点阵式LCD显示器,LCD还可以分为LCD字段型显示屏和LCD点阵型显示屏。
它的功耗十分低、有高的分辨,并且显示图形、文字、数字美观灵活等特点。
所以在很多系统中应用非常广泛。
相比于LED,LCD的驱动方式有很大的不同。
LCD的驱动方式一般采用交流电压驱动,直流电压驱动会使LCD液晶体产生电极老化和电解,这使得LCD的使用寿命大大降低。
因为LCD的两端不能够直接加恒电压,所以它的驱动具有一定的复杂性。
但现在实现整个液晶显示的功能可以应用专门驱动I2C,购买的LCD很多有提供现成的功能模块。
我们在设计过程中,只要根据商家提供的资料就能够实现LCD显示,这样既系统的设计得到了简化,还大大的缩短开发系统的时间。
排队系统按实际情况和需求,决定定以LCD液晶显示器做为本设计的显示界面。
2.3本章小结
本章对基于单片机的智能排队提示系统的主要模块进行的简略的介绍,阐述了该课题的大概框架。
第三章系统的硬件电路设计
3.1系统的整体电路图如下
图3-1整体仿真图
3.2单片机的控制电路设计
3.2.1STC89C52的功能说明[14][18][10]
STC89C52具有8K在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,有8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,内置4KBEEPROM,MAX810复位电路,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口。
其引脚图如下:
图3-2STC89c52管脚图
管脚说明:
VCC:
供电电压,运行时加+5V。
VSS:
接地。
XTAL1:
内部时钟工作电路的输入和输入到振荡器的反向振荡放大器。
XTAL2:
输入到内部时钟发生器和来自反向振荡器的输出。
振荡器特性:
用外部振荡器时XTAL2悬空,而XTAL1接收外振荡器器信号。
反向振荡放大器的输入和输出分别为XTAL1和XTAL2。
该反向放大器可以配置如石晶振荡和陶瓷振荡为片内振荡器。
它对外部时钟信号的脉宽没有严格的要求,当然这必须保证脉冲的高低电平要求的宽度的前提下。
它的剩余输入到内部时钟时会通过个二分频触发器。
P0口:
8位,为一个漏级开路双向I/O口,作为总线时每脚可驱动8TTL门电流。
当P1口的管脚第一次写1时,则为高阻输入。
P0能够用于外部程序数据存储器(ROM或RAM),作地址和数据总线分时复用。
在编程时,P0口作为原码输入口,当程序进行校验期间,P0输出指令字节是,此时P0外部必须被拉高。
P1口:
P1口具有一个内部上拉电阻的8位准双向I/O口,P1口缓冲器可以驱动4TTL门电流。
当P1口被下拉为低电平时,输出是电流,这是由于内部上拉的缘故。
P1.0是定时器的计数输入端,P1.1是定时器的外部输入端,应有程序置1。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:
P2口为8位双向I/O口,
具有内部上拉电阻。
P2口缓冲器可接收,可以驱动4个TTL负载,当P2口被写“1”时,其管脚将被拉高,作为输入端。
由于内部上拉的缘故,P2口的管脚被外部拉低,将输出电流。
P2口当使用片外部程序存储器(ROM或RAM)或16位地址外部数据存储器进行存取时,P2口输出高八位的地址。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在编程和程序校验时接收高八位控制信号和地址信号。
P3口:
P3口是8位带内部上拉电阻的准双向I/O口,可驱动4个TTL门电流。
当P3口写入“1”后,提供了各种替代功能,它们被内部上拉为高电平,并用作输入。
由于外部被拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能,分别为串行口、中断、定时器计数器、数据储存器选通。
P3.0RXD(串行输入口),输入。
P3.1TXD(串行输出口),输入。
P3.2/INT0(外部中断0),输入。
P3.3/INT1(外部中断1),输入。
P3.4T0(定时器/计数器0外部输入)
P3.5T1(定时器/计数器1外部输入)
P3.6/WR外部数据存储器写选通,低电平有效,输出。
P3.7/RD外部数据存储器读选通,低电平有效,输出。
RST:
复位输入,高电平有效。
当振荡工作时时,要保持RST脚两个机器周期以上的高电平时间,将器件复位。
ALE/PROG:
地址锁存允许信号,输出。
当访问外部存储器时,低字节地址锁存。
在编程期间,此引脚用于输入编程脉冲。
ALE端以频率为振荡器频率的1/6的不变的频率周期输出正脉冲信号。
因此它可用作对外部输出的时钟或用于定时目的。
但是每当用作外部数据存储器时,ALE脉冲将跳过一个,这使ALE的输出在SFR8EH地址上置0。
只有在执行MOVX,MOVC指令是ALE才起作用。
加上因为引脚被稍微拉高,如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:
片外程序存储器的选通信号,低电平有效。
在由外部程序存储器取指期间,每个机器周期中,当PSEN有效时,程序存储器的内容被送到P0口,即数据总线。
可以驱动8个TTL门电流。
/EA/VPP:
片外程序存储器允许访问信号,低电平有效。
为低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
当/EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电压。
3.2.2时钟电路设计[15]
时钟电路与单片机的连接图:
选择晶振为11.0592,电容为30pf
图3-3时钟电路
单片机的时钟电路可使用内部时钟和外部时钟,外部时钟方式是单片机内部由一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为单片机的引脚XTAL1,输出为XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。
晶振的取值范围一般为0至24MHz,常用的晶振频率有6MHz、12MHz、11.0592MHz、24MHz等。
一些新型的单片机还可以选择更高的频率。
外接电容的作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率的作用,一般选用20至30pF的瓷片电容。
外部时钟方式则是在单片机XTAL1引脚上外接一个稳定的时钟信号源,它一般适用于多片单片机同时工作的情况,使用同一时钟信号可以保证单片机的工作同步。
3.2.3复位电路
单片机复位是使CPU和其他部件都恢复到原始的状态,只有通过复位后开始初始工作才可有序的执行程序而不出错。
它是使单片机系统能够稳定运行的主要内部因素之一,所以对于单片机系统复位电路的设计是非常必要的。
复位电路分为按键手动复位和上电自动复位,本课题使用的是前者。
复位电路的基本功能是:
系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。
对复位电路的基本要求是:
上电时使单片机可靠复位,在断电时能防止程序乱飞导致数据被修改。
另外,由于各种因素的干扰影响,单片机系统在工作时,一般会出现死机现象导致单片机系统不能够正常运行,这需要充分利用单片机本身的看门狗定时器,能够较好的解决这一现象[11]。
按键复位电路中,当按键没有按下时,电路同上电复位电路。
如在单片机运行过程中,按下复位键,已经充好电的电容会快速通过200Ω电阻的回路放电,从而使得RST引脚上的电位快速变为高电平,此高电平会维持到按键释放,从而满足单片机复位的条件实现按键复位。
本设计采用的是手动的按键复位。
其电路图如下:
图3-4按键复位电路
总的单片机最小系统图如下:
图3-5单片机最小系统
3.3LCD1602显示电路
点阵字符型液晶显示器是用来显示字母、文字、数字、特殊符号等的显示器,因其具有重量轻、小体积、低功耗的特点,所以得到广泛的应用。
液晶显示器LCD1602能够显示16*02即32个字符,具有的特性有:
接+5V电压,对比度可调;内含有复位电路;具有清屏、字符闪烁、光标移位等多种功能;具有80字节显示数据储存器;有160个5乘7的点阵的字型和字符发生器,另外8个可由用户自定义。
主要的技术参数如下:
表3-1LCD1602主要技术参数表
名称
说明
显示字符数
32个字符
工作的电压范围
5V左右
工作的电流范围
2.0mA左右
字符大小
2.95×4.35
图3-6LCD1602液晶显示电路图
表3-2LCD1602引脚功能表
引脚号
符号
状态
功能
引脚号
符号
状态
功能
1
Vss
电源地
9
DB2
三态
数据总线
2
Vdd
5v逻辑电源
10
DB3
三态
数据总线
3
Vo
液晶驱动电源
11
DB4
三态
数据总线
4
RS
输入
寄存器选择
12
DB5
三态
数据总线
5
RW
输入
读写操作选择
13
DB6
三态
数据总线
6
E
输入
使能信号
14
DB7
三态
数据总线
7
DB0
三态
数据总线
15
E1
背光电源线
8
DB1
三态
数据总线
16
E2
背光电源线
3.4125Khz射频IC卡通用读卡模块[12]
近年来随着射频IC卡技术在各领域的应用日趋成熟和广泛,采用射频卡为密码载体的射频卡读卡模块,因独具操作方便、安全性能高、使用人员无须了解复杂的射频技术、通过标准输出接口就可以将读卡模块嵌入到其应用系统中、从而轻松实现各种应用开发。
KD-01R模块属于通用型射频读卡传感器,它还可以叫读卡器模块,读卡头,读卡译码模块,读卡感应器,读卡机模块等等。
其主要功能是:
读卡,并将卡号输出给其它控制设备
其性能特点为可读取EM只读感应体(币型、钥匙型、卡片型)、干扰体存在的条件下读卡距离60~90mm,读卡速度≤0.5秒、仿DIP40IC引脚,特别方便嵌入到目标线路板中等。
表3-3射频模块引脚说明表
脚号
名称
说明
脚号
名称
说明
1
GND
电源地
40
ANT1
天线输入
2
VCC
+5V电源
30
ANT2
天线输入
17
INT
有卡中断
22
TXD
串口输出
18
不用
21
RXD
串口输入(不用)
表3-4125K射频卡读卡模块技术参数表
名称
说明
工作频率
125Khz
卡片类型
EM只读卡
读卡距离
<=50mm(钥匙),<=90mm(卡片)
供电电源
DC4.7~6V/250mA
工作电流
读卡瞬时160mA左右静态70mA左右
通信接口
TTL电平232
通信波特率
9600(RS232C)
串口初始化
9600,N,8,1
感应体形式
钥匙、厚卡、薄卡、塑棒
天线尺寸
60x60mm
工作温度
-10℃--+60℃
湿度
98%相对湿度,不结霜
工作方式:
卡片在感应区时,每0.4秒向串口送一次卡号。
TTL232数据传送格式如下:
表3-5传送卡号的数据格式表
AAH
FFH
D0
D1
D2
D3
D4
校验和
数据结构(共8字节)的说明表如下:
表3-6数据结构的说明表
地址
定义
0-1
命令码(AAFF)
2-6
40位卡号(低地址高字节Motorola结构)
7
校验和(地址0-6位共7字节“XOR”异或值)
3.5声音提示电路
蜂鸣