基于51单片机的银行排队系统方案
基于AT89C51单片机的排队叫号系统设计
排队叫号机的实现目录1.引言 (1)2.系统功能分析及设计要求 (2)3.系统框图 (4)4.主要应用器件及技术原理 (6)4.1 微处理器介绍 (6)4.1.1、MCS-51单片机的特点 (6)4.1 2、MCS-51 单片机的结构 (6)4.2液晶LCD1602的介绍 (7)4.2.1 字符型液晶显示器的显示原理 (7)4.2.2 液晶LCD1602的简介 (8)5.系统硬件电路设计 (11)5.1晶振电路 (12)5.2液晶显示电路 (13)5.3声音提示电路 (14)6.系统测试 (16)7.系统软件设计 (15)7.1系统软件流程图........................................................... 错误!未定义书签。
7.2系统程序设计............................................................... 错误!未定义书签。
7.2.1 主程序............................................................... 错误!未定义书签。
7.2.2 液晶LCD1602显示处理程序...................... 错误!未定义书签。
7.2.3 按键检测程序...........................................................................错误!未定义书签。
8.结束语 (19)9.致谢辞.................................................................................. 错误!未定义书签。
10.参考文献............................................................................ 错误!未定义书签。
基于单片机银行排队叫号系统设计
单片机原理与应用技术课程设计设计题目:基于单片机银行排队叫号系统设计目录1 设计目的 (3)2 设计的任务与要求 (3)3 设计方案与论证 (3)3.2设计论证 (4)4 硬件电路设计 (5)4.1 单片机及外围电路 (5)4.2 显示电路 (6)4.3 按键电路 (8)4.4 蜂鸣器电路 (8)5 系统软件设计 (9)5.1 主程序设计 (9)5.2显示处理程序 (10)6 系统调试 (10)7 总结 (11)附录1:总体电路原理图 (14)附录2:元器件清单 (15)附录4:源程序 (17)附录4:源程序 ......................................................... 错误!未定义书签。
1设计目的近年来,随着科学技术的迅猛发展和人们生活水平的日益提高,各行各业特别是服务行业的竞争也逐渐激烈。
服务质量作为体现企业的公众形象、服务理念、管理水平的标准已越来越受到服务和被服务双方所关注,而营业窗口正是代表银行、医院、电信、税务、工商等企业服务质量的重要场所。
随着服务行业业务量的增长及业务种类的增加,排队等候已成为人们面临的实际问题。
长期以来,人们在银行、医院、电信、税务、工商等营业大厅里前拥后挤、杂乱无章地排队等候,有时一站就是一个多小时,这已是司空见惯的现象,极大地影响了服务质量。
员工坐着服务、客户站着等待的服务方式与“用户就是上帝”的服务宗旨完全背道而驰!改善服务质量、树立良好形象,解决劳累的排队现象、创造人性化服务环境已成为急需解决的问题。
设计一套排队抽号的服务系统,可以很好的解决因排队引起的种种问题,排队系统应运而生此系统完全模拟人群排队过程,通过取票进队、排队等待、叫号服务等功能,诠释了人性化的服务理念,舒缓顾客等待的急噪情绪,使人们在等候服务的过程中拥有一个相对自由的空间,是科技以人为本的真正体现。
本文基于单片机的排队叫号系统,由客户端和主机终端组成,有LCD大屏幕显示信息,让客户知道自己的队号,并有叫号提示音提醒客户,方便快捷,可以满足日常的服务行业排队叫号,所以非常有意义。
基于单片机的排队叫号系统设计
基于单片机的排队叫号系统设计一、系统总体设计基于单片机的排队叫号系统主要由单片机控制模块、显示模块、按键输入模块、语音播报模块和通信模块等组成。
单片机控制模块是整个系统的核心,负责协调各个模块的工作,处理数据和控制流程。
我们可以选择常见的单片机型号,如STM32 系列,其具有性能稳定、资源丰富等优点。
显示模块用于显示排队号码和相关信息,可以采用液晶显示屏(LCD)或者电子纸显示屏(EPD)。
LCD 显示清晰、色彩丰富,但功耗相对较高;EPD 则具有低功耗、长续航的特点,适用于对功耗要求较高的场景。
按键输入模块用于客户取号和工作人员操作,通常采用矩阵键盘或者独立按键。
语音播报模块用于播报排队号码和提示信息,可选用语音芯片或者通过软件合成语音进行播报。
通信模块用于实现系统与服务器或其他设备的数据交互,常见的通信方式有蓝牙、WiFi 等。
二、硬件设计1、单片机最小系统单片机最小系统包括单片机芯片、晶振电路和复位电路。
晶振电路为单片机提供时钟信号,保证其正常工作;复位电路用于系统初始化和异常情况下的复位操作。
2、显示电路如果选择LCD 显示屏,需要通过接口电路将单片机与显示屏连接,并编写相应的驱动程序来控制显示内容。
对于 EPD 显示屏,需要注意其特殊的驱动方式和刷新机制,以实现低功耗和长寿命的显示效果。
3、按键电路矩阵键盘通过行列扫描的方式检测按键按下,减少了单片机引脚的使用。
独立按键则直接连接到单片机的引脚,通过检测引脚电平的变化来判断按键操作。
4、语音播报电路语音芯片可以存储预先录制的语音信息,单片机通过控制引脚发送指令来选择播放相应的语音。
软件合成语音则需要在单片机中运行语音合成算法,将文本转换为语音信号输出。
5、通信电路蓝牙模块可以实现短距离的无线通信,适用于与移动设备的连接;WiFi 模块则可以接入局域网,实现与服务器的数据交换。
三、软件设计1、主程序流程系统上电后,首先进行初始化操作,包括单片机内部资源的初始化、各个模块的初始化等。
毕业论文——银行排队叫号系统设计
本科毕业论文(设计)题目银行排队叫号系统设计学院 XXXXXXXXXXX学院专业 XXXXXXXXXX 年级 XXXXX 级学号 XXXXXXXXXXXXXXX 姓名 XXXX 指导教师 XXXXXXXX _ 成绩 ________ ____ __ __XXXX年 XX月XX日目录摘要 (1)关键字 (1)Abstract (1)Key Words (1)引言 (2)1 硬件设计 (3)1.1 主要器件 (3)1.1.1 微处理器介绍 (3)1.1.2 液晶LCD12864介绍 (5)1.1.3 语音模块介绍 (7)1.2 硬件电路 (8)1.2.1 单片机最小系统 (8)1.2.2 液晶显示电路 (10)1.2.3 声音提示电路 (10)1.3 系统硬件总电路图 (11)2 软件设计 (11)2.1 主要程序设计 (12)2.1.1 取号模块程序设计 (12)2.1.2 叫号模块程序设计 (13)2.1.3 语音模块程序设计 (14)2.2 系统源程序 (15)3 系统调试及仿真 (15)3.1 系统仿真 (15)3.2 系统调试 (17)3.3 硬件实物系统运行的效果图 (17)4 结束语 (20)参考文献 (21)致谢 (22)附录A 原理图 (23)附录B 程序 (24)·银行排队叫号系统摘要:本排队叫号系统由一个叫号系统和一个抽号系统组成,客户利用抽号系统抽取号码,客服人员通过叫号系统呼叫客户;利用液晶LCD12864显示器和WT588D语音芯片分别能及时显示出当前所呼叫号数并发出语音提示,客户就能够及时了解当前排队信息。
使用该排队叫号系统,解决了当下排队拥挤混乱状况,极大的提高了排队等侯效率,从而实现排队自动化、规范化,同时也适应科技的发展。
为实现上述功能,该系统采用AT89C51单片机进行控制,通过按键取号、叫号,利用LCD12864显示信息,再通过WT588D语音芯片提示,实现排队管理系统的模拟化,设计出一个具有控制灵活、使用方便、成本低、性价高等特点的系统。
基于单片机的银行排队呼叫系统
基于单片机的银行排队呼叫系统作者:胡浩来源:《东方教育》2018年第14期摘要:中国当今社会,经济发展达到了较高的程度,银行作为经济流通枢纽,工作流程必须顺应时代不断进行改进。
本系统是基于51单片机的原理,以51单片机为主控单元,再结合按键、液晶显示、语音播报等模块来模拟银行排队呼叫系统,通过按键模拟一行窗口的呼叫,按下其中的一个按键,显示器就将显示对应的排队号和窗口号,并同时发出语音提示。
显示器不仅能显示窗口号,还可以显示当前等待的人数,以及当时的排队号。
银行排队呼叫系统是针对银行大厅工作流程而设计,是利用计算机的智能计算来管理用户排队的系统,能很好的解决用户在银行柜台排队办理业务时所遇到的拥挤、混乱等现象,能有效的提高用户的体验舒适度。
关键词:语音播报;液晶显示;排队系统;单片机最小系统一、课题研究背景及意义中国当今社会,经济发展达到了较高的程度,人民的物质生活质量也在逐步提高,资金的存取、流动与购买各种金融理财项目已经是人们日常生活中的普遍经济行为,而银行作为社会资金的流通枢纽,在社会各个层次的企业、单位、个人的经济行为中占据了非常重要的地位。
而在银行面对用户的工作过程中,除了极少部分的VIP用户可以通过专属VIP通道快速办理业务外,大部分用户都只能通过排队到柜台窗口办理业务,而银行面向人群极其庞大,导致排队的过程漫长而难熬。
因此,传统的窗口排队服务显然无法给用户带来舒适便捷的服务,而智能排队呼叫系统的开发可以充分的解决这一矛盾,在使银行工作更加效率的同时,也能有效解决顾客站立等待、服务混乱、人员冲突等问题,还能节省顾客的等待时间,提高社会效率。
二、系统实况方框图在该系统(银行排队呼叫系统)设计的准备阶段,通过分析行业现状和需要实现的功能,再通过网络和图书等途径对国內外的各种相关设计方案进行了观察比较,对该系统硬件和相关软件的设计做了较为详细的研究和分析,确立了数个方案,结合实际情况和自身能力选取了其中最合适的一个方案,在后文中将对该设计方案的全部内容进行介绍并分析这个方案的优势及劣势。
基于单片机的银行排队系统的设计
基于单片机的银行排队系统的设计摘要采用STC89C52RC为主控芯片,设计并实现了一个模拟银行排队系统,给出了系统组成结构框图、主要的硬件电路和软件设计。
系统采用LCD12864和LCD1602进行显示,采用热敏打印机打印用户凭条,语音芯片实现叫号功能,并具有时钟显示和系统设置等功能。
实践证明,该系统性能可靠、稳定、可连续稳定地工作。
关键词STC89C52;智能排队;热敏打印机;液晶显示0 引言随着市场经济的发展,客户在市场交易中的地位越来越重要,个人化的服务已成趋势,提供舒适的服务环境已成竞争的重要手段。
多窗口类别的服务往往让人无所适从,客户盼望只排一个队,只接受“一对一”的服务。
营业窗口是形成银行、电信、航空、医院等企业的公众形象的重要因素,因此,排队管理系统应运而生,它彻底解决了银行、医院等服务性企业普遍存在的站立等候、服务无序的问题,深化并完善了服务的质量[1]。
市场上已有成品的排队机系统,但存在系统庞大、结构复杂、维护管理不便、成本普遍较高等缺陷。
本文以价格低廉的单片机为系统主控CPU,设计并研制出体积小、结构简单、可靠性高、维护操作方便、性价比较高的银行排队系统。
1 系统方案1.1 设计要求在用户机端,当顾客按下排号机上办理业务的对应按键时,打印机可打印出相应的用户凭条,凭条上显示号码和所办理的业务类型,并提示客户注意显示屏上显示的内容;对应银行工作人员工作台前的LED灯就会点亮,以提示工作人员有顾客在等候办理业务。
当工作人员按下工作台上的工作按键时,扬声器就会发出语音提示,同时LCD显示屏也显示相关内容,以提示顾客到相应窗口办理业务。
1.2 功能分析硬件系统由主控制器、键盘模块、液晶显示模块、打印机模块、语音模块、时钟模块等组成,与软件结合,实现排队叫号的功能。
主控制器中的单片机采用STC89C52RC。
键盘共设计了11个按键,其中3个按键是业务选择按键,用来给顾客选择业务。
另外8个按键分配给8个柜台,当服务完一位顾客后可直接按叫号控制按键叫下一位顾客。
毕业设计(论文)-基于单片机的智能排队叫号系统设计
第1章绪论1.1 课题来源近年来,随着我国社会经济的持续快速发展,资金流动加快,服务行业的不断增加,加之我国政府正在努力构建和谐社会、服务型政府,大量的用户越来越频繁的光顾金融系统、电信、医疗、政府办事大厅等服务部门,时代的发展给这些服务型行业提出新的服务理念,也给这些行业和部门带来了巨大的压力。
伴随着经济全球化的大浪潮,各行各业之间的竞争逐渐加剧、每个服务行业业务量在不断增长,业务种类也日益增多,排队等候已成为人们经常面临的实际问题。
在银行、医院、电信、税务、工商等营业大厅里,前拥后挤、杂乱无章的排队等候,己是司空见惯的现象,很多窗口也因而秩序混乱,为保护用户隐私而设置的“l米线”也形同虚设。
一方面客户因为长时间的站立排队透支体力和精力而疲惫不堪,另一方面工作人员也为长时间遭受众多客户的围绕而不胜其烦,影响了服务质量。
因此,改善服务质量、树立良好的企业形象,解决客户劳累的排队现象、创造人性化务环境已成为急需解决的问题。
长时间的站立排队使用户疲惫和厌烦,用户渴望尊重隐私,期望“个性化服务”,只排一个队,只接受“一对一服务”。
对服务部门来讲,使用排队机是提高服务质量,提升服务形象,吸引顾客的有利措施。
随着信息技术的突飞猛进,智能排队管理系统应运而生。
智能排队管理系统是一种综合运用计算机技术、网络技术、多媒体技术、通信控制技术等的高新技术产品,此系统完全模拟人群的排队过程,实现了计算机系统代替客户进行排队的过程曰。
使用排队系统后,用户在票号机上取票后,在休息区舒适地等待,听到呼叫后才去对应的窗口办理事务,服务人员面对一个安静的环境,面对一个客户,可以专心办理业务,提高了工作效率。
我国人口众多,办事排队一直是一个令人头痛的问题. 现今,随着服务行业业务种类的细化和增加,服务内容和工作量加大,这个问题变得尤为突出. 嘈杂、无序、不公平、不合理、低效等一直是排队中困扰顾客和服务人员的问题. 电子排队管理系统很好地解决了这些问题,可以广泛地应用于银行、医院等窗口服务单位. 银行自动叫号系统就是电子排队管理统的一种,是针对银行服务窗口的特点而设计的.这里以ATMEL 公司的AT89C51单片机为核心, 设计了一个简单的把客户与服务机构相结合的主从机排队叫号系统。
银行排队系统的设计51单片机
《单片机原理及应用》实训说明微电班。
实训名称:银行排队系统的设计实训教学内容:(一)硬件AT89S51单片机2个独立按键叫号(顾客使用)2个独立按键(代表两个窗口营业员控制端)、8个七段数码管显示信息无源蜂鸣器、发光二极管(起到提示作用)(二)任务要求1.数码管显示:(1)排队号码显示:数码管Q1Q2作普通业务,Q3Q4作VIP业务排队号码显示(显示号为“P*”,*代表序号);普通业务最大累计允许10人排队,VIP业务最大累计允许5人排队。
当排队人数超过此人数时数码管显示OV。
(2)当前业务办理号码显示:数码管Q5Q6作窗口1,Q7Q8作窗口2业务办理序号显示。
2.按键控制(1)两个按键作为“普通业务”、“VIP业务”的选择(顾客使用);(2)两个按键分别作为两个窗口叫号的选择(窗口营业员控制)。
初始叫号从号码01或P1开始。
短按表示跳到下一位办理,此时相应窗口数码管闪动显示,并加入声光提示;长按1秒表示业务办理中;3.*在定时10S后如无人办理,自动跳转显示下一位序号(要求选择时VIP业务优先于普通业务)。
4.答辩,展示、介绍程序运行结果。
已基本实现功能而有待改进的程序:P0口数码管的段选,P2口是位选。
#include<reg52.h>#define uint unsigned int#define uchar unsigned char#define YH 10 //普通用户名额#define VP 5 //VIP名额sbit dian=P0^7; //定义数码管小数点sbit S1=P3^0; //定义普通用户按键sbit S2=P3^1; //定义贵宾用户按键sbit S3=P3^2; //定义窗口1按键sbit S4=P3^3; //定义窗口2按键sbit LED1=P1^2;sbit LED2=P1^3;sbit FM=P1^4;uint m1=1,m2=1,m3=1,m4=1; //定义全局变量m1标记S1,m2标记S2,m3标记S3,m4标记S4;uint YONGHU,VIP,CK1,CK2; //定义全局变量分别是用户,vip,窗口1,窗口2;bit out1,out2,out3,out4; //溢出标记long dengdai10s1;dengdai10s2; //等待10s标记;uchar N=0;void delay(unsigned int j ) //基本延时单位1ms{unsigned int e,f;for(e=0;e<j;e++)for(f=0;f<=110;f++);}void anjian() //按键识别{if(S1==0) //按键S1按下,用户人数+1,具有防抖功能{if(m1!=0) //判断上一次按键是否松开{m1++; //达到50ms时人数加1if(m1>50){YONGHU++;m1=0;}}}else m1=1;if(S2==0) //按键S2按下,VIP人数+1{if(m2!=0){m2++;if(m2>50){VIP++;m2=0;}}}else m2=1;if(S3==0) //按键S3按下,窗口1{if(m3!=0){m3++;if(m3>=1000){dengdai10s1=0; //长按达到1s,关断10秒计时m3=0;out3=0;}}}else{if(m3>50){CK1=99; //短按时是下一位dengdai10s1=1; //启动10s计时out3=1;}m3=1;}if(S4==0) //按键S4按下,窗口2{if(m4!=0){m4++;if(m4>=1000){dengdai10s2=0;out4=0;m4=0;}}}else{if(m4>50){CK2=99;dengdai10s2=1;out4=1;}m4=1;}}void xianshi(long a) //显示部分{int i=0;intshuzi[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};N++;if(N==15)N=0;if(out3==1||out4==1)FM=~FM;for(i=0;i<8;i++) //输出数字{P0=0Xff;P2=0x01<<i;P0=shuzi[a%10];if(out3==1){LED1=~LED1;if(N<5)if(i==3||i==2){P0=0xff;}}else LED1=0;if(out4==1){LED2=~LED2;if(N<6)if(i==1||i==0){P0=0xff;}}else LED2=0;if(out2==1){if(i==4)P0=0xc1;if(i==5)P0=0xc0;}elseif(i==5)P0=0x8C;if(out1==1){if(i==6)P0=0xc1;if(i==7)P0=0xc0;}dian=1;if(i==2||i==4||i==6)dian=0;a=a/10;delay(2);P0=0Xff;}}main(){uint yonghu=0;uint vip=0;long he;TMOD=0x01; //使用定时器0,工作方式1,1ms计时;TH0=(65536-1000)/256;TL0=(65536-1000)%256;EA=1; //总中断允许;ET0=1; //允许定时中断;TR0=1; //启动定时器0;while(1){if(CK1==99){if(vip<VIP) CK1=++vip;else if(yonghu<YONGHU)CK1=++yonghu;elseout3=0;}if(CK2==99){if(vip<VIP) CK2=++vip;else if(yonghu<YONGHU)CK2=++yonghu;elseout4=0;}he=YONGHU*1000000+VIP*10000+CK1*100+CK2;xianshi(he);}}void TOJI(void) interrupt 1 //定时器0中断程序;{TH0=(65526-1000)/256;TL0=(65526-1000)%256;anjian(); //按键识别,得到四个数据if(dengdai10s1!=0){dengdai10s1++;if(dengdai10s1==10000){dengdai10s1=1;CK1=99;}}if(dengdai10s2!=0){dengdai10s2++;if(dengdai10s2==10000){dengdai10s2=1;CK2=99;}}if(YONGHU>YH) //判断用户名额{YONGHU=YH;out1=1;}if(VIP>VP) //判断VIP名额{VIP=VP;out2=1;}}。
银行排队机系统设计
河北理工大学课程设计题目:银行排队机系统姓名:学院:信息学院班级:学号:同组人:指导教师:2011年01月06日一、需求分析排队在日常生活中已经是一种很普遍的现象,随着科技的发展,排队系统应用而生。
排队叫号机是利用电脑的科学管理功能代替人为排队系统,很好地解决了客户在服务机构办理业务时所遇到的各种排队、拥挤和混乱现象,为客户办理业务带来莫大的方便和愉悦。
根据课程设计的要求,基本确定应用单片机来确定简单的排队叫号机功能。
1、基于总体的考虑,首先对排队机进行分析。
排队系统可以分为两大部分。
票务打印系统及窗口操作系统,为此首先需要设置一个总控制系统对它们进行控制.2、票务打印系统(1)显示发号机上的显示屏使用液晶显示,显示对待办业务的选择;(2)输入输入过程即通过触摸屏对业务进行选择的过程;(3)输出打印号票打印内容应该包括业务名称、排队号码,打印机选用指针式打印机;3、窗口操作系统基本包括显示屏、语言提示,叫号按钮(1)显示屏使用点阵式LED显示,显示内容应该是下一个号码以及办理窗口;(2)语音提示语音播报时用语音的形式通过广播或者音箱给人一提示信息.语音播报提示给人直观、亲切的感受特点,而且不需要用户一直盯着提示屏或者排队情况。
选择使用语音芯片,实现的功能应该是当操作员按下按钮后,语音播放下一个办理者的票号。
(3)叫号按钮设置叫号按钮,以便于操作员控制窗口模块的显示屏及语音提示.4、各个模块的通信问题考虑通信距离为几十米的范围内,而且需要高有效的抗噪能力,选用目前广为应用的RS—485总线相连,互相通信,传送数据.二、概要设计(一)根据排队系统的实际情况,排队系统的基本流程如下:(1、整个系统由一台主控器与多台子控制器通过485总线相连,互相通信,传送数据。
主控制器接收子控制器的请求信息,对子控制器的请求作出应答。
通信通信2、窗口操作子系统系统框架图顾客取票 顾客休息等待 顾客到窗口办理营业员按钮叫窗口控制系统功能结构图(1)子控制器包括一个管理员键盘和多个窗口操作键盘,每个每个窗口操作键盘课通过硬件来设定、更改其所在窗口的窗口号.管理员键盘实现系统设置的功能,可以配置整个系统的密码,系统时间,业务类型等一系列参数;窗口操作键盘可以向主控制器发出“下一位”来呼叫下一位顾客。
基于单片机的排队叫号系统设计
摘要排队叫号系统是针对银行、工商、税务、通讯、政府机构等部门的大厅工作流程设计的,是利用电脑的科学管理客户排队的系统,可以解决不同的客户在业务过程中所遇到的拥挤的现象,为客户办理业务带来很大的便利。
本次毕业设计要求的排队系统主要由单片机,完整的键盘,显示电路,蜂鸣器电路组成。
系统采用仿真软件protues对排队叫号系统进行模拟仿真,客户使用按键输入信息,单片机接收到输入的信息后,会在排队的人数上面加1,并将最终的号码通知客户,客户拿到号码到等候室等候呼叫自己的号码。
在此期间取票机会将客户刚刚接收的信息发送到主机,工作人员接收数据后并作出应答,通过按键通知客户到所在窗口办理业务,此时取票机准备下一次的取号,整个过程非常迅速。
为了更加人性化的服务于客户,企业还可以设置座椅,并且提供报纸、书刊,放置公司的相关业务介绍。
增加客户等候时的趣味性的同时,还可以让客户更加深入的了解本公司的业务办理,可谓一举两得。
此过程有效地避免了因拥挤带来的一系列问题,提高了工作效率。
论文主要研究了排队叫号系统的实现方法,研究结果对现实具有重要的指导意义。
研究结果肯定了单片机完成排队叫号系统的可能性。
本文的特色是采用通俗易懂的语言,向大家介绍了排队叫号系统的原理以及设计思路,对日常的生产生活具有一定的影响。
关键字:protues 排队叫号单片机人性化AbstractQueuing system is working in the lobby for banks, industry and commerce, taxation, telecommunications, government agencies and other departments of design , can solve all kinds of queues , crowded and chaotic phenomena for business customers in the encounter for customers bring great convenience for business .The design requirements for graduation to complete queuing system consists of master and slave system , keyboard, display part of the circuit , buzzer circuit, etc. . Protues system using simulation software to achieve the number queuing system's simulation, customers using the key input information , the microcontroller receives input information will be added to the above, a number of queued and will notify the customer the ultimate number, customers get numbers to the waiting room to wait for their call numbers. Opportunity tickets will be sent during this period the customer has just received information to the host , and the staff made the response data , inform customers to transact business through the key to where the window , then the next time the ticket dispensing machines ready to take a number , the whole process is very fast . For a more personalized service to customers, companies can also set the seat , and provide relevant business presentation newspapers, books , placing the company. Increase customer waiting time fun at the same time , it can also allow customers to more in-depth understanding of the company 's business process sense. This process effectively avoid a series of problems caused by congestion , improve work efficiency .Thesis, the implementation method queuing system , the results have important guiding significance for reality. The results confirmed the possibility of complete single-chip queuing system. Feature of this paper is the use of plain language , to introduce a queuing system principles and design ideas, has some impact on daily production and life .Key words: protues queuing microcontroller huma目录第1章绪论 (1)2.1 系统的基本功能和工作原理 (2)2.1.1 基本功能 (2)2.1.2 工作原理 (2)2.2 排队系统工作流程 (2)2.3 系统整体设计 (2)2.3.1 硬件概要设计 (2)2.3.2 软件概要设计 (3)第3章主要硬件参数 (4)3.1 STC89C52RC单片机 (4)3.1.1单片机的CPU结构 (4)3.1.2 STC89C52RC引脚功能说明 (4)3.1.3单片机的存储器 (6)3.1.4单片机最小系统设计 (7)3.2 液晶显示器 (8)3.2.1液晶显示器的原理及分类 (8)3.2.2 LCD1602液晶 (9)3.2.3 1602液晶模块的读写操作 (10)第4章系统流程图 (11)第5章系统电路及仿真结果 (12)5.1晶振电路 (12)5.2开关电路 (12)5.3 LCD1602电路 (13)5.4 蜂鸣器电路 (14)第6章仿真结果 (16)第7章系统程序 (18)第8章总结 (26)参考文献 (27)附录A 系统电路图 (28)致谢 (29)第1章绪论近年来,随着科学的发展和人们消费水平的提高,社会各界尤其是在办公商务服务业竞争的生活越来越大。
基于单片机的银行排队叫号系统设计
随着社会经济转型工作的持续推进,第三产业持续不断的发展已经成为经济发展的主旋律。
为了提高服务质量,排队叫号系统应运而生。
银行排队叫号系统通过客户排队和工作人员叫号服务两个环节来实现。
排队叫号系统的出现加强了企业对客户和工作人员的管理,使办事流程更加透明化,人性化,同时还能大大提高企业的办事效率。
银行排队叫号系统的出现,不仅提高了顾客满意度,增强了企业竞争力,而且也为企事业单位改善了服务品质,提升了服务形象,提高了办事效率,为企业走向更加辉煌的未来打下了坚实基础。
关键词单片机;叫号系统;排队摘要 (I)1.引言 (1)2.系统总体设计 (2)2.1系统性能分析 (2)2.2 方案论证 (2)2.3 设计方案 (3)2.4 方案原理 (4)2.5 系统结构 (6)2.6 系统的基本功能 (6)2.6.1 排队系统的基本功能 (6)2.6.2工作原理 (7)3.硬件电路设计 (8)3.1 显示部分 (8)3.2 按键输入部分 (9)3.3 蜂鸣器电路 (10)3.4 单片机最小系统电路 (10)4.系统Proteus仿真实现 (12)4.1系统的硬件实现 (12)4.2 系统集成与仿真 (12)5.总结 (15)参考文献 (16)1.引言一个合格的银行排队叫号系统除了可以满足基本的排队和叫号服务的基本功能外,还应考虑银行工作人员的办事效率。
设计银行排队叫号系统的目的是为了更好的为客户服务,通过智能化排队,让顾客通过更舒适的方式享受到优质服务。
排队叫号系统适用于任何需要进行排队服务的企业,可以改善服务质量,提高服务效率。
它能够为客户提供方便快捷的服务和舒适的等候环境,为客户节约时间。
能够更好的维护社会公共场所的治安秩序,提高全民的文明素养。
本毕业设计论文系统描述了基于AT89C51单片机及其外围电路实现排队叫号系统。
在这次设计中,涉及到芯片的选择、引脚的功能,系统的原理,硬件设计,电路连接,程序的编写,系统的仿真等等。
基于单片机银行排队叫号系统设计
河北工业大学本科毕业设计(论文)中期报告毕业设计(论文)题目:基于单片机银行排队叫号系统设计 专业(方向):电子信息工程学 生 信 息: 学号: 姓名: 班级: 指导教师信息: 姓名: 职称:告提交日期:2014年4月4日- -2013年4月14日 1 总体概述本课题设计要求实现银行排队无线呼叫功能,由一个叫号系统和一个取号系统组成,叫号系统和取号系统的单片机都采用STC89C52。
叫号系统由MCU 控制器、nRF24L01无线模块、12864液晶显示模块和按键,用以显示银行的处理序号和下一位要处理的序号;取号系统主要由MCU 控制器、nRF24L01无线模块、12864液晶显示模块组成,实现排队的处理序号。
叫号系统和取号系统通过无线收发模块进行通信,实现对电路的控制。
电路总体框架如下:注释:1.按键A 、B 分别用于叫号机系统控制客户普通号和贵宾号的类型;2.按键C 分别用于取号机系统控制客户在排队系统中的序列。
2 硬件电路的各模块设计 2.1总电路原理图取号机和从号机的原理图如下: (1)叫号机原理图图1-1电路总体框图图2-1-1 叫号机系统原理图(2)取号机原理图图2-13:从机电路原理图图2-1-2 取号机系统原理图2.单片机复位电路及时钟电路设计51单片机的复位电路由按键、10uf电容、10k电阻组成,用于单片机的上电复位和按键复位。
当给单片机上电时由于电容两端电压的不可突变性,使单片机的RESET为高电平,使单片机复位;同理,当按键按下时,单片机RESET为高电平,使单片机复位。
51单片机的时钟电路由12M晶振、2个小于47pf的电容组成,用以给单片机提供内部工作时钟。
电路图如图2-1:图2-2:单片机复位电路和时钟电路3. nRF24L01无线模块与单片机接口电路设计nRF24L01与单片机的接口电路如图所示。
nRF24L01供电电压范围为1.9~3.6V,超过3.6V 则会烧坏,推荐使用3.3V供电。
基于单片机的排队叫号系统设计
基于单片机的排队叫号系统设计基于单片机的排队叫号系统设计随着社会的发展和人们对于服务效率的要求提升,排队叫号系统已经成为了各种服务行业不可或缺的一部分。
本文将探讨如何基于单片机设计一种排队叫号系统。
一、系统设计背景与需求排队叫号系统主要用于管理服务流程中的秩序,避免拥堵和等待时间过长。
在银行、医院、政务机构等场所,排队叫号系统被广泛使用。
传统的排队叫号系统通常采用人工管理,但在信息化、智能化的趋势下,基于单片机技术的排队叫号系统逐渐崭露头角。
二、硬件设计基于单片机的排队叫号系统主要由单片机主控模块、显示模块、声音模块和输入模块等组成。
1、单片机主控模块:主控模块是系统的核心,负责处理各种输入信号并控制其他模块的工作。
在本系统中,我们选用8051单片机作为主控模块。
2、显示模块:显示模块用于展示当前队列的状态和相关信息。
考虑到系统的成本和易用性,我们选择LED显示屏作为显示设备。
3、声音模块:声音模块用于通知等待的顾客队列状态的变化。
这里我们选择蜂鸣器作为声音设备。
4、输入模块:输入模块用于顾客输入个人信息或确认操作。
我们选用按键作为输入设备。
三、软件设计软件部分是排队叫号系统的灵魂,它负责协调硬件设备的工作并实现特定的功能。
1、系统初始化:在系统上电后,软件首先进行初始化,包括设置单片机的运行参数、清空存储器等。
2、排队管理:顾客在输入模块输入个人信息后,系统将自动为其分配一个唯一的排队号码。
当队列状态改变时,软件将更新显示模块的信息。
3、叫号操作:当服务台空闲时,软件将通过声音模块呼叫下一个等待的顾客。
同时,显示模块将显示该顾客的号码和相关信息。
4、异常处理:在出现异常情况时,软件将进行相应的处理,如重新排队、取消排队等。
四、实验结果与分析我们在实验室环境下对基于单片机的排队叫号系统进行了测试,结果表明系统运行稳定,能够有效地管理排队秩序,提高服务效率。
在测试过程中,我们发现系统的响应速度和信息展示的准确性是影响系统性能的关键因素。
根据51单片机排队叫号系统设计
单片机系统课程设计成绩评定表设计课题排队叫号系统设计学院名称:专业班级:学生姓名:学号:指导教师:设计地点:31-505 设计时间:2012-12-17~2012-12-28目录1 引言 (2)2总体方案设计 (2)2.1硬件组成 (2)2.2 方案论证 (3)2.3总体方案 (3)3 硬件电路设计 (4)3.1 单片机及外围电路 (4)3.2显示电路 (5)3.3按键电路 (6)3.4蜂鸣器电路 (7)4 系统软件设计 (8)4.1 主程序设计 (8)4.2子程序液晶LCD1602显示处理程序 (9)4.3子程序按键检测程序 (11)5 系统调试与总结 (12)5.1调试 (12)5.2 总结 (14)参考文献 (14)附录A: (15)附录B (15)1 引言近年来,随着科学技术的迅猛发展和人们生活水平的日益提高,各行各业特别是服务行业的竞争也逐渐激烈。
服务质量作为体现企业的公众形象、服务理念、管理水平的标准已越来越受到服务和被服务双方所关注,而营业窗口正是代表银行、医院、电信、税务、工商等企业服务质量的重要场所。
随着服务行业业务量的增长及业务种类的增加,排队等候已成为人们面临的实际问题。
长期以来,人们在银行、医院、电信、税务、工商等营业大厅里前拥后挤、杂乱无章地排队等候,有时一站就是一个多小时,这已是司空见惯的现象,极大地影响了服务质量。
员工坐着服务、客户站着等待的服务方式与“用户就是上帝”的服务宗旨完全背道而驰!改善服务质量、树立良好形象,解决劳累的排队现象、创造人性化服务环境已成为急需解决的问题。
设计一套排队抽号的服务系统,可以很好的解决因排队引起的种种问题,排队系统应运而生。
此系统完全模拟人群排队过程,通过取票进队、排队等待、叫号服务等功能,诠释了人性化的服务理念,舒缓顾客等待的急噪情绪,使人们在等候服务的过程中拥有一个相对自由的空间,是科技以人为本的真正体现。
本文基于单片机的排队叫号系统,由客户端和主机终端组成,有LCD大屏幕显示信息,让客户知道自己的队号,并有叫号提示音提醒客户,方便快捷,可以满足日常的服务行业排队叫号,所以非常有意义。
银行排队叫号系统
/*硬件材料:用51单片机、4个独立按键(代表四个窗口营业员消号控制端)、1个独立按键叫号(顾客使用)、无源蜂鸣器(起到提示作用)以及LCD1602显示信息目的:使人们免于排队浪费时间和体力,能在排队的时间里处理个人事务用途:银行的排队,医院的挂号等等*功能:实现自动排队并完成叫号,设置一个排号按键,以及四个柜台用消号按键。
当按下叫号键时,1.若队列不满,LCD显示"Your No.is 01!"的字样。
2.若队列已排满,LCD显示"The queue is full,please wait"的字样。
当按下消号键时,1.若队列无人,LCD显示"Sorry,the queue is empty!"的字样。
2.若队列有人,蜂鸣器响,LCD显示如"No.01 come to No.1window,please!"的字样。
编程:王健显示:用LCD1602显示如"No.01 come to No.1window,please!"的字样要求:通过控制4个独立按键实现窗口控制消号,一个键实现叫号。
最大累计允许10人排队,当排队人数超过此人数是系统显示停止排队*/#include <reg51.h>#define uchar unsigned char#define uint unsigned intsbit RS=P2^0;sbit RW=P2^1;sbit E=P2^2;sbit key0=P1^0;sbit key1=P1^1;sbit key2=P1^2;sbit key3=P1^3;sbit key4=P1^4;sbit key5=P1^5;sbit key6=P1^6;sbit key7=P1^7;sbit cd=P2^7;sbit BEEP=P2^6;static uint idata sev=0;static uint idata sev1=0;static uint idata sev2=0;static uint idata sev3=0;static uint idata sev4=0;static uint idata rank[10]={0}; //排队叫号存储的数组uint idata num=0; //窗口消的号码static uint data jz=0;static uint idata LengthFlag=0; //队列长度叫一次号时+1,消一次号时-1 static uint idata num_count=1; //排队叫的号码uchar data test[]="Hello!"; //初始显示的字符uchar data prompt1[]="Your No.is 00!"; //1062第一行显示的字符uchar data prompt2[]="No.00 come to No"; //1062第一行显示的字符uchar data prompt3[]=".0window,please!"; //1062第二行显示的字符uchar data prompt4[]="The queue is"; //1062第一行显示的字符uchar data prompt5[]="full,please wait"; //1062第二行显示的字符uchar data prompt6[]="Sorry,the queue "; //1062第一行显示的字符uchar data prompt7[]="is empty!"; //1062第二行显示的字符uchar idata prompt8[]="00 is left";uchar idata prompt9[]="all is 00";uchar idata prompt10[]="W1 - 00";uchar idata prompt11[]="W2 - 00";uchar idata prompt12[]="W3 - 00";uchar idata prompt13[]="W4 - 00";uchar idata prompt14[]="chadui!";void delay(int n) //延时程序{ int i,j;for(i=0;i<=n;i++)for(j=0;j<=10;j++);}void SPEAKER(uint x) //蜂鸣器程序{uchar i;for(i=0;i<=200;i++){delay(x);BEEP=!BEEP;}BEEP=1;//delay(200);}/***********************************LCD程序**********************************************/void delay1ms(unsigned int ms)//延时1毫秒(不够精确的){unsigned int i,j;for(i=0;i<ms;i++)for(j=0;j<100;j++);}void LCD_w_com(unsigned com) // 写指令{RW=0;RS=0;E=1;P0=com;delay1ms(40);E=0;RW=1;}void LCD_w_dat(uchar dat) // 写数据{RW=0;RS=1;E=1;P0=dat;delay1ms(40);E=0;RW=1;}void gotoxy(unsigned x,unsigned y) //x,y分别代表行列{if(x==1)LCD_w_com(0x80+y);elseLCD_w_com(0xC0+y);}void clear_LCD(void){LCD_w_com(0x01); //清屏指令LCD_w_com(0x02); // 光标归位即光标置于左上位置void init_LCD(void) // 初始化lcd{LCD_w_com(0x38); // lcd为两行显示8位数据线有效LCD_w_com(0x0c); // 显示字符关闭光标LCD_w_com(0x06); // 输入方式设置光标向右移动一位ac-1gotoxy(1,0);LCD_w_dat(test[0]);LCD_w_dat(test[1]);LCD_w_dat(test[2]);LCD_w_dat(test[3]);LCD_w_dat(test[4]);LCD_w_dat(test[5]);}/*****************************************叫号机按一次一号键变量+1,最大为20*****************************************/void QueueNumProcess(){rank[LengthFlag]=num_count; //num_count为实时取得的号码LengthFlag++;}/*****************************************窗口消号处理函数*****************************************/void ClearNumProcess(){uint i;num=rank[0]; //把消的号赋给全局变量numfor(i=0;i<LengthFlag;i++) //让数组整体左移一个存储单元,即把消得号删除rank[i]=rank[i+1];LengthFlag--;sev++;}/**********************主函数******************************************/void main (void){EA=1;EX0=1;EX1=1;IT0=1;IT1=1;clear_LCD();init_LCD();while(1);}/**************************键盘(中断方式)******************************/void int_x0() interrupt 0{if(key1==0) {jz=1;sev1++;}if(key2==0) {jz=2;sev2++;}if(key3==0) {jz=3;sev3++;}if(key4==0) {jz=4;sev4++;}if((key1!=0)&&(key2!=0)&&(key3!=0)&&(key4!=0)&&key0==0) /******叫号机程序*******/{if((key1!=0)&&(key2!=0)&&(key3!=0)&&(key4!=0)&&key0==0){if(LengthFlag>=10){ clear_LCD();gotoxy(1,2);LCD_w_dat(prompt4[0]);LCD_w_dat(prompt4[1]);LCD_w_dat(prompt4[2]);LCD_w_dat(prompt4[3]);LCD_w_dat(prompt4[4]);LCD_w_dat(prompt4[5]);LCD_w_dat(prompt4[6]);LCD_w_dat(prompt4[7]);LCD_w_dat(prompt4[8]);LCD_w_dat(prompt4[8]);LCD_w_dat(prompt4[9]);LCD_w_dat(prompt4[10]);LCD_w_dat(prompt4[11]); gotoxy(2,0);LCD_w_dat(prompt5[0]);LCD_w_dat(prompt5[1]);LCD_w_dat(prompt5[2]);LCD_w_dat(prompt5[3]);LCD_w_dat(prompt5[4]);LCD_w_dat(prompt5[5]);LCD_w_dat(prompt5[6]);LCD_w_dat(prompt5[7]);LCD_w_dat(prompt5[8]);LCD_w_dat(prompt5[9]);LCD_w_dat(prompt5[10]);LCD_w_dat(prompt5[11]);LCD_w_dat(prompt5[12]);LCD_w_dat(prompt5[13]);LCD_w_dat(prompt5[14]);LCD_w_dat(prompt5[15]); //提示队列已满}else{clear_LCD();QueueNumProcess();prompt1[11]=(num_count)/10+'0';prompt1[12]=(num_count)%10+'0';num_count++;gotoxy(1,0);LCD_w_dat(prompt1[0]); //"Your No.is 00!";LCD_w_dat(prompt1[1]);LCD_w_dat(prompt1[2]);LCD_w_dat(prompt1[3]);LCD_w_dat(prompt1[4]);LCD_w_dat(prompt1[5]);LCD_w_dat(prompt1[6]);LCD_w_dat(prompt1[7]);LCD_w_dat(prompt1[8]);LCD_w_dat(prompt1[9]);LCD_w_dat(prompt1[10]);LCD_w_dat(prompt1[11]);LCD_w_dat(prompt1[12]);LCD_w_dat(prompt1[13]);delay1ms(10);}}}if(((key1==0)||(key2==0)||(key3==0)||(key4==0))&&(key0!=0)) /*******消号处理******/{if(((key1==0)||(key2==0)||(key3==0)||(key4==0))&&(key0!=0) ){SPEAKER(10);delay(200);SPEAKER(10);if(LengthFlag<=0){clear_LCD();gotoxy(1,0);LCD_w_dat(prompt6[0]);LCD_w_dat(prompt6[1]);LCD_w_dat(prompt6[2]);LCD_w_dat(prompt6[3]);LCD_w_dat(prompt6[4]);LCD_w_dat(prompt6[5]);LCD_w_dat(prompt6[6]);LCD_w_dat(prompt6[7]);LCD_w_dat(prompt6[8]);LCD_w_dat(prompt6[9]);LCD_w_dat(prompt6[10]);LCD_w_dat(prompt6[11]);LCD_w_dat(prompt6[12]);LCD_w_dat(prompt6[13]);LCD_w_dat(prompt6[14]);LCD_w_dat(prompt6[15]);gotoxy(2,0);LCD_w_dat(prompt7[0]);LCD_w_dat(prompt7[1]);LCD_w_dat(prompt7[2]);LCD_w_dat(prompt7[3]);LCD_w_dat(prompt7[4]);LCD_w_dat(prompt7[5]);LCD_w_dat(prompt7[6]);LCD_w_dat(prompt7[7]);LCD_w_dat(prompt7[8]); //显示队列为空}else{clear_LCD();ClearNumProcess();prompt2[3]=(num)/10+'0';prompt2[4]=(num)%10+'0';prompt3[1]=jz+'0';gotoxy(1,0);LCD_w_dat(prompt2[0]);LCD_w_dat(prompt2[1]);LCD_w_dat(prompt2[2]);LCD_w_dat(prompt2[3]);LCD_w_dat(prompt2[4]);LCD_w_dat(prompt2[5]);LCD_w_dat(prompt2[6]);LCD_w_dat(prompt2[7]);LCD_w_dat(prompt2[8]);LCD_w_dat(prompt2[9]);LCD_w_dat(prompt2[10]);LCD_w_dat(prompt2[11]);LCD_w_dat(prompt2[12]);LCD_w_dat(prompt2[13]);LCD_w_dat(prompt2[14]);LCD_w_dat(prompt6[15]);gotoxy(2,0);LCD_w_dat(prompt3[0]);LCD_w_dat(prompt3[1]);LCD_w_dat(prompt3[2]);LCD_w_dat(prompt3[3]);LCD_w_dat(prompt3[4]);LCD_w_dat(prompt3[5]);LCD_w_dat(prompt3[6]);LCD_w_dat(prompt3[7]);LCD_w_dat(prompt3[8]);LCD_w_dat(prompt3[9]);LCD_w_dat(prompt3[10]);LCD_w_dat(prompt3[11]);LCD_w_dat(prompt3[12]);LCD_w_dat(prompt3[13]);LCD_w_dat(prompt3[14]);LCD_w_dat(prompt3[15]);}}}}void int_x1() interrupt 2{uint i;if(key5==0) //统计等待人数{clear_LCD();prompt8[0]=LengthFlag/10+'0';prompt8[1]=LengthFlag%10+'0';gotoxy(1,0);LCD_w_dat(prompt8[0]);LCD_w_dat(prompt8[1]);LCD_w_dat(prompt8[2]);LCD_w_dat(prompt8[3]);LCD_w_dat(prompt8[4]);LCD_w_dat(prompt8[5]);LCD_w_dat(prompt8[6]);LCD_w_dat(prompt8[7]);LCD_w_dat(prompt8[8]);LCD_w_dat(prompt8[9]);}if(key6==0) //统计客流量{clear_LCD();prompt9[7]=(sev)/10+'0';prompt9[8]=(sev)%10+'0';gotoxy(1,0);LCD_w_dat(prompt9[0]);LCD_w_dat(prompt9[1]);LCD_w_dat(prompt9[2]);LCD_w_dat(prompt9[3]);LCD_w_dat(prompt9[4]);LCD_w_dat(prompt9[5]);LCD_w_dat(prompt9[6]);LCD_w_dat(prompt9[7]);LCD_w_dat(prompt9[8]);}if(key7==0) //统计各窗口客流量{clear_LCD();prompt10[5]=sev1/10+'0';prompt10[6]=sev1%10+'0';prompt11[5]=sev2/10+'0';prompt11[6]=sev2%10+'0';prompt12[5]=sev3/10+'0';prompt12[6]=sev3%10+'0';prompt13[5]=sev4/10+'0';prompt13[6]=sev4%10+'0';gotoxy(1,0);LCD_w_dat(prompt10[0]);LCD_w_dat(prompt10[1]);LCD_w_dat(prompt10[2]);LCD_w_dat(prompt10[3]);LCD_w_dat(prompt10[4]);LCD_w_dat(prompt10[5]);LCD_w_dat(prompt10[6]);LCD_w_dat(prompt10[7]);gotoxy(1,8);LCD_w_dat(prompt11[0]);LCD_w_dat(prompt11[1]);LCD_w_dat(prompt11[2]);LCD_w_dat(prompt11[3]);LCD_w_dat(prompt11[4]);LCD_w_dat(prompt11[5]);LCD_w_dat(prompt11[6]);LCD_w_dat(prompt11[7]);gotoxy(2,0);LCD_w_dat(prompt12[0]);LCD_w_dat(prompt12[1]);LCD_w_dat(prompt12[2]);LCD_w_dat(prompt12[3]);LCD_w_dat(prompt12[4]);LCD_w_dat(prompt12[5]);LCD_w_dat(prompt12[6]);LCD_w_dat(prompt12[7]);gotoxy(2,8);LCD_w_dat(prompt13[0]);LCD_w_dat(prompt13[1]);LCD_w_dat(prompt13[2]);LCD_w_dat(prompt13[3]);LCD_w_dat(prompt13[4]);LCD_w_dat(prompt13[5]);LCD_w_dat(prompt13[6]);LCD_w_dat(prompt13[7]);}if(cd==0) //插队处理{clear_LCD();gotoxy(1,0);LCD_w_dat(prompt14[0]);LCD_w_dat(prompt14[1]);LCD_w_dat(prompt14[2]);LCD_w_dat(prompt14[3]);LCD_w_dat(prompt14[4]);LCD_w_dat(prompt14[5]);LCD_w_dat(prompt14[6]);LengthFlag++;for(i=1;i<LengthFlag;i++)rank[LengthFlag-i]=rank[LengthFlag-i-1];rank[0]=11;} IT1=0;}。
利用51+NRF24L01实现银行排队系统
利用51+NRF24L01实现银行排队系统本设计为银行排队系统,主要使用51+NRF24L01。
在银行、电信、航空、医院等繁忙的公共服务场所,营业窗口前大量涌挤的人群与无序的排队,一方面严重影响窗口的服务质量与效率以及企业公共形象和业务量,另一方面,传统柜台服务存在不安全隐患,偷盗密码已经不再是个别案例。
顾客站立排队,即辛苦、枯燥又浪费时间,还存在插队等现象,而且多窗口的服务往往让人无所适从,经常因排错队而浪费了宝贵的时间,顾客盼望只排一个队,只接受“一对一”的服务。
针对上述问题,提出了智能排队管理系统这一课题,其具体要求和功能,完全模拟人群排队过程,通过取号、进队、排队等待、叫号服务等功能代替人们站队,实现机器自动代替人排队的过程。
在大厅明显处放置一台主机,顾客来到后按“取号”键,主机自动打印一张号码单,顾客根据号码单上的序号与等待人数,可选择在大厅休息处休息或办别的事,当大厅显示屏出现序号和相应窗口号,同时音响提示“叮咚请XXX号顾客到XX号窗口办理”时,该顾客便可前往相应窗口接受“一对一”的服务。
每位窗口工作人员使用呼叫器接受主机命令,可按“下一位”键受理序号,每服务完一位顾客后再按“下一位”键,呼叫器上的号码自动跳到下一个序号受理序号,同时此号码还会显示在大厅主显示屏及窗口显示屏上显示并用语音播放,以提示顾客前来接受服务,在办理业务前先核对顾客的号码是否与所呼叫的号码一致,这样就不会混乱秩序,如果该顾客在第一次呼叫时没到来,可按“重呼”键重呼,直到按“下一位”键丢掉该顾客。
主机采用单片机智能控制,能对多个窗口和随机出现的客户流进行自动管理,顺序呼叫顾客到对应的窗口前办理业务,各设备相互独立,主机通过RS-485总线与各窗口设备相连。
主要资料为器件资料、程序、原理图、制作详解、常见问题、设计报告、开题报告、程序框图、论文精选、使用前必看。
基于51单片机的多功能银行叫号系统的设计与分析
重庆大学本科学生毕业设计(论文)基于51单片机的多功能银行叫号系统的设计与分析学生:江妮学号:********指导教师:***专业:电子信息工程重庆大学通信工程学院二O一O年六月Graduation Design(Thesis) of Chongqing University51 MCU-based calling system multi- function banking Design and AnalysisUndergraduate: Jiang NiSupervisor: Prof. Chen XinlongMajor: Electronics Information EngineeringCollege of Communications EngineeringChongqing UniversityJune 2011摘要近年来,随着我国社会经济的持续快速发展,长时间的站立排队已成为金融机构、电信、医院、政府办事大厅等场所的常见现象,以通信技术与计算机技术为基础的智能排队管理系统也应运而生。
因此,本文设计了一种基于51单片机技术的多功能排队叫号系统,具有语音提示、LCD中英文显示屏信息提示等功能,较好的解决了排队系统中存在的几个实际问题。
本论文首先分析了国内外智能排队技术的发展现状,指出了在智能排队系统中采用单片机的优势,剖析了一般排队叫号系统的业务需求和基本功能,采用软硬件协同设计的方法,提出了排队叫号系统的整体设计方案。
其次,本文详细介绍了采用51单片机实现多功能银行叫号系统等系列问题。
给出了排队系统三个主要模块的硬件和软件设计方案,即基于51单片机的排队主机、语音提示电路、LCD中英文显示屏提示电路。
再者,本文分别对系统的硬件和软件设计与实现方法进行了说明,给出了系统基本功能的仿真结果和分析。
总结了本文所做的工作和存在的问题,并对下一步系统的功能扩展进行了展望。
本课题设计的基于51单片机多功能排队叫号系统具有成本低、结构简单、可靠性高、维护操作简单方便、性价比较高等特点,具有较强的适用性和推广价值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
机电职业技术学院
课程设计(实训)任务书
电子1101班
根据教学计划的安排,于本学期2013年1月7日- 11日为期壹周进行课程设计(实训),望做好准备。
实训名称:银行排队系统的设计
提交成果:1.实训报告;2.编写的软件
实训容与要求(见附件)。
专业负责人:
系主任:
电气工程系
2012年12月31日
附件:《单片机原理及应用》实训说明
一、实训目的、任务与要求:
本课程实训目的:通过对单片机程序的设计,基本掌握51单片机开发系统的操作、编程技巧,实现让学生对单片机的了解从感性认识上升为理性认识。
实训任务:完成排队系统的控制功能。
二、时间安排
周一、三、五:8:00-11:30,14:30-16:30
周二:8:00-10:30 周四:8:00-10:30 ,14:30-16:30
三、实训教学容:
实训容:
1.控制数码管显示:数码管Q1-Q4分别作两个不同窗口业务办理序号显示;
2.分别用两个按键作为“普通业务”、“VIP业务”的选择,剩余两个按键分别作为两个窗口叫号的选择,长按1秒表示业务办理中;当按下“下一位”键的时候,相应窗口数码管闪动显示,并加入声光提示;
3.*在定时3S后如无人办理,自动显示下一位序号(要求选择时VIP业务优先于普通业务且显示号为“P*”,*代表序号)。
4.答辩,展示、介绍程序运行结果。
四、考核方式
1.无故不能缺勤;
2.要求按规定时间完成设计和实训报告;
3.进行答辩。
4.总成绩=10%(平时考勤)+60%(演示、答辩)+30%(实训报告)
附:实训报告要求
1.实训目的
2.实训容
3.流程图
4.源程序
5.实训心得
银行排队系统
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit b1=P3^2;//VIP用户排队键
sbit b2=P3^3;//普通用户排队键
sbit b3=P3^4;//窗口一
sbit b4=P3^5;//窗口二
sbit b5=P3^7;//蜂鸣器
uint i,j,i0,j0,i1,j1;
uchar s1,s2,s3,s4,k1,k2,k3,k4;
uchar y1,y2,v1,v3,v4,m1,m2,m3,m4;
uchar code a[]={0xc0,0xf9,0xa4,0xb0,0x99,
0x92,0x82,0xf8,0x80,0x90};//0到9 void delay(uint x)
{
for(i=x;i>0;i--)
for(j=110;j>0;j--);
}
void xianshi1();//千位和百位显示
void xianshi2();//十位和个位显示
void jianpan(); //键盘扫描
void dingshi(); //定时
void panduan1();//窗口一判断
void panduan2();//窗口二判断
void main()
{
EA=1;
TMOD=0x11;
ET0=1;
ET1=1;
TH0=(65536-45600)/256;
TL0=(65536-45600)%256;
TH1=(65536-45600)/256;
TL1=(65536-45600)%256;
while(1)
{
jianpan();//键盘扫描
xianshi1();//扫描显示
xianshi2();
dingshi(); //定时判断
}
}
void int1() interrupt 1 //窗口一定时
{
TH0=(65536-45600)/256;
TL0=(65536-45600)%256;//定时50ms(晶振11.0592M) m1++;
if(m1==120)//定时120*50ms=6s
{
m1=0;
m3++;
}
}
void int2() interrupt 3 //窗口二定时
{
TH1=(65536-45600)/256;
TL1=(65536-45600)%256;
m2++;
if(m2==120)
{
m2=0;
m4++;
}
}
void dingshi()
{
if(m3==1) //如果m3=1,调用判断1函数 {
m3=0;
panduan1();
}
if(m4==1)
{
m4=0;
panduan2();
}
}
void xianshi1()
{
P2=0x10; //千位
if(y1>0) //y1>0,显示“P”
P0=0x8c;
else P0=a[k1];
delay(1);
P2=0x00;
P0=0xff;
P2=0x20; //百位
P0=a[k2];
delay(1);
P2=0x00;
P0=0xff;
}
void xianshi2()
{
P2=0x40; //十位
if(y2>0) //y2>0,显示“P” P0=0x8c;
else P0=a[k3];
delay(1);
P2=0x00;
P0=0xff;
P2=0x80; //个位
P0=a[k4];
delay(1);
P2=0x00;
P0=0xff;
}
void jianpan()
{
if(b1==0) //VIP用户排队
{
delay(8);
if(b1==0)
{
while(!b1);
TR0=1; //开定时器0
TR1=1; //开定时器1
y1=1;
s1++;
v1++;
s3=0;
s4=0;
k1=s1/10;
k2=s1%10;
xianshi1();
if(s1>=9)
s1=0;
}
}
if(b2==0) //普通用户排队 {
delay(8);
if(b2==0)
{
while(!b2);
TR0=1;
TR1=1;
s2++;
y2=0;
k3=s2/10;
k4=s2%10;
xianshi2();
if(s2>99)
s2=0;
}
}
if(b3==0) //窗口一
{
delay(8);
if(b3==0)
{
while(!b3)
{
j0++;
i0=110;
while(i0--);
}
if(j0>=200)//如果长按超过1s,关闭定时器0
TR0=0;
else
{
TR0=1;
panduan1();
}
j0=0;
}
}
if(b4==0) //窗口二
{
delay(8);
if(b4==0)
{
while(!b4)
{
j1++;
i1=110;
while(i1--);
}
if(j1>=200)//如果长按超过1s,关闭定时器1
TR1=0;
else
{
TR1=1;
panduan2();
}
j1=0;
}
}
}
void panduan1()
{
b5=0;
P1=0xf0;
delay(200);
b5=1;
P1=0xff;
m1=0;
s3++;
if((s1>0||s2>0)&&(s3+s4)<=v1)//显示VIP {
y1=1;
k1=(s3+s4)/10;
k2=(s3+s4)%10;
xianshi1();
}
else //显示普通
{
y1=0;
v3++;
k1=(v3+v4)/10;
k2=(v3+v4)%10;
xianshi1();
if((v3+v4)>=s2)
{
v3=0; v4=0;
s1=0; s2=0; s3=0; s4=0;
TR0=0; TR1=0;
}
}
}
void panduan2()
{
b5=0;
P1=0x0f;
delay(200);
b5=1;
P1=0xff;
m2=0;
s4++;
if((s1>0||s2>0)&&(s3+s4)<=v1)//显示VIP {
y2=1;
k3=(s3+s4)/10;
k4=(s3+s4)%10;
xianshi2();
}
else //显示普通
{
y2=0;
v4++;
k3=(v3+v4)/10;
k4=(v3+v4)%10;
xianshi1();
if((v3+v4)>=s2)
{
v3=0; v4=0;
s1=0; s2=0; s3=0; s4=0;
TR0=0; TR1=0;
}
}
}。