版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、精选文档智能排队系统摘 要随着现代技术的不断进展特殊是计算机技术的应用,使排队技术的进展也突飞猛进。智能排队机或称智能排队系统是一种综合运用计算机技术、网络技术、多媒体技术、通讯把握技术的高新技术产品。它完全模拟了人群排队过程,通过取号、进队、排队等待、叫号服务等功能,取代各类服务性窗口传统的由顾客站立排队的方式,实现了计算机系统代替客户进行排队的过程。适用于各类窗口服务行业,目前在国外已经广泛应用于金融、医院、电信、以及各级政府对外服务窗口等行业。银行自动叫号系统就是电子排队管理统的一种,是针对银行服务窗口的特点而设计的。这里以ATMEL 公司的AT89C52单片机为核心,设计了一个简洁的把
2、客户与服务机构相结合的排队叫号系统。模拟排队叫号管理,科学地处理各种排队状况,操作简便,把握机敏,显示清楚,制作成本低,性价比较高。关键词:排队技术 智能排队系统 银行排队叫号系统 AT89C52AbstractWith the development of modern technology, especially the application of computer technology, the queuing technology also develops by leaps and bounds. Intelligent Automatic Call Distributor or
3、intelligent queuing system is a kind of high and new technology products of the comprehensive use of computer technology, network technology, multimedia technology and communication control technology. It completely simulates the crowd queue process.Through the functions of taking number, into the t
4、eam, waiting for the queue, calling the number and so on ,it replaces all kinds of service window of the traditional way by the customer to stand in line, and realizing the computer system instead of the process of the customers line up . it is suitable for all kinds of window service industry, and
5、at present it has been widely used in foreign financial, hospital, telecommunications, and government's foreign service windowat all levels , etc. Bank automatic station system is electronic queuing management system which is designed according to the characteristics of the bank service window.
6、Here taking ATMEL company's AT89C52 single-chip microcomputer as the core, i design a simple calling the number system which combine the customers with the facilitating agency .It simulates the queue station management and scientificly processes all kinds of queuing situation. It is simple to op
7、erate ,smart to control , and the display is clear, and the production is of low cost, high cost performance.Keywords: queuing technology Intelligent Automatic Call Distributor Bank queuing station system AT89C521 设计目的与任务要求1.1 设计目的通过课程设计,使同学加强对电子电路的理解,学会对电路分析计算以及设计。进一步提高分析解决实际问题的力量,通过完成综合设计型和创新性试验及训
8、练,制造一个动脑动手独立开展电路试验的机会,熬炼分析解决电子电路问题的实际本事,实现由课本学问向实际力量的转化。1.2 设计任务银行叫号调度系统:1.银行门口有一个叫号机,在客户操作下可打印出一个挨次号;客户依据挨次号依次到银行窗口办理业务;2.叫号机支持两类业务:现金业务和非现金业务。办理现金业务的窗口有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理现金业务,而综合业务窗口可以办理现金业务和非现金业务;3.非现金业务优先级高,综合业务窗口只有在没有非现金业务状况下,才能办理现金业务; 4.银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统支配其下一个办理业务的挨
9、次号;挨次号在窗口前的LED屏上显示的同时进行语音播音,提示客户前来办理业务; 设计一个叫号调度系统,实现对办理银行业务的排队和调度。1.3 设计要求1.制定出业务调度把握规章;2.进行系统总体设计,画出系统构成框架图;3.进行银行业务前端排队子系统的具体设计;4.进行银行业务调度系统的具体设计;5.进行业务提示子系统(LED屏显示、语音提示)的具体设计;5.设计调度系统与排队子系统、提示子系统的通信方式和通信协议;6.总结整个系统的设计,形成文档,作为课程设计的结果提交。7.鼓舞进行完整的理论设计编程仿真过程。2 方案设计由于在上课过程中接触到了单片机的有关学问,对单片机的使用及编程都比较生
10、疏,而嵌入式ARM板没有接触过,因此不太生疏它的原理及使用,因此本次课程设计接受单片机来实现,即用AT89C52单片机作为整个系统的把握核心,分别设计叫号电路、取号电路、显示电路及声音提示等外围电路与单片机的对应引脚相连接,然后编写程序下载到单片机中通过单片机来把握外围电路的功能,从而实现整个系统的功能仿真本次课程设计以单片机AT89C52为主体的模拟仿真系统。叫号部分和业务处理部分选择键盘电路模式,显示部分选择LM016L液晶显示模块。3 基本原理3.1 键盘电路基本原理键盘分编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件编码器实现,并产生按键编码号或键值的称为编码键盘,如计算机键盘。
11、而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用的最多的是非编码键盘。非编码键盘又分为矩阵键盘和独立键盘,分别如图3.1(a)(b)所示。 图3.1(a)矩阵键盘 图3.1(b)独立键盘键盘扫描原理:在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常接受逐行(逐列)扫描的方法。首先推断有无按键按下。方法是:向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入到累加器A中,假如有按键按下,会使列线电平被拉至低电平,是列输入不全为1。推断键盘哪一个键被按下。方法是:一次给行线
12、送低电平,然后查全部列线状态,称为行扫描,假如全为1,则所按下键不在此行,假如不全为1,则所按下键必在此行,而且是在与零电平列线相交的交点上的那个键。在此,按键的位置码并不等于按键的实际定义键值,因此还必需进行转换,即键值译码。在本次课程设计中,由于只需接受两个取号键盘和五个服务窗口键盘,所以我接受了独立键盘来实现,在程序中直接对连接键盘的单片机引脚进行扫描,若引脚为0且延时去抖动之后仍为低电平则说明该键盘按下了。3.2 ATC89C52基本原理单片机ATC89C52 具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供
13、电。晶振接受12MHZ。其芯片管脚图如图3.2所示。图3.2 ATC89C52单片机VCC:电源。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸取8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程 序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必需被拉高。P1口:P1口是一个内部供应上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作 输入,P1口被外部下拉为低电平常,将输出电流,这是由于内部
14、上拉的原因。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻 拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的原因。P2口当用于外部程序存储器或16位地址外部数据存 储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器 的内容。P2口在FLASH编程和校验时接收高八位地址信号和把握信号。P3口:P3口管脚是8个带内部上拉电阻的
15、双向I/O口,可接收输出4个TTL门电流。当P3口写入1后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的原因。P3口也可作为AT89C51的一些特殊功能口,如下:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些把握信号。RST:复位输入。当振荡器复位器件时,要保持RST
16、脚两个机器周期的高电平常间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平常,ALE 端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要留意的是:每当用作外部数据存储器 时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。假如微处理器在外部执行状态ALE禁止,置位无效。PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机
17、器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不消灭。EA/VPP:当/EA保持低电平常,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。留意加密方式1时, /EA将内部锁定为RESET;当/EA端保持高电平常,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源。3.3 LCD液晶显示基本原理3.3.1 LM061L液晶模块LM016L液晶模块接受HD44780把握器,hd44780具有简洁而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可接受8位或4位并行传输两种方式,hd44
18、780把握器由两个8位寄存器,指令寄存器(IR)和数据寄存器(DR)忙标志(BF),显示数RAM(DDRAM),字符发生器ROMA(CGOROM)字符发生器RAM(CGRAM),地址计数器RAM(AC)。IR用于寄存指令码,只能写入不能读出,DR用于寄存数据,数据由内部操作自动写入DDRAM和CGRAM,或者暂存从DDRAM和CGRAM读出的数据,BF为1时,液晶模块处于内部模式,不响应外部操作指令和接受数据,DDTAM用来存储显示的字符,能存储80个字符码。CGRAM是为用户编写特殊字符留用的,它的容量仅64字节,可以自定义8个5*7点阵字符或者4个5*10点阵字符,AC可以存储DDRAM和
19、CGRAM的地址,假如地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM,LM016L液晶模块如图3.3.1-1所示,其引脚功能如表3.3.1-1所示:图3.3.1-1 LM016L液晶表3.3.1-1 LM016L液晶引脚功能引脚符号功能说明1VSS一般接地2VDD接电源(+5V)3V0液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。4RSRS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。5R/WR/W为读写信号线,高电平1时进行读操作,低电平0时进
20、行写操作。6EE(或EN)端为使能(enable)端,下降沿使能。7DB0底4位三态、 双向数据总线 0位(最低位)8DB1底4位三态、 双向数据总线 1位9DB2底4位三态、 双向数据总线 2位10DB3底4位三态、 双向数据总线 3位11DB4高4位三态、 双向数据总线 4位12DB5高4位三态、 双向数据总线 5位13DB6高4位三态、 双向数据总线 6位14DB7高4位三态、 双向数据总线 7位(最高位)(也是busy flang)LM016L液晶模块内部的把握器共有11条把握指令,如表3.3.2-1所示:表3.3.2-1 把握命令表3.3.2 LM016L的指令说明准时序序号指令RS
21、R/WD7D6D5D4D3D2D1D0功能1复位显示器0000000001清屏,光标归位2光标返回000000001*设置地址计数器清零,DDRAM数据不变,光标移到左上角3字符进入模式00000001I/DS设置字符进入时的屏幕移位方式4显示开/关把握0000001DCB设置显示开关,光标开关,闪烁开关5光标或字符移位000001S/CR/L*设置字符与光标移动6功能设置00001LNF*设置DL,显示行数,字体7设置字符发生存贮器地址0001字符发生存贮器地址设置6位的CGRAM地址以读/写数据8设置数据存贮器地址001显示数据存贮器地址设置7位的DDRAM地址以读/写数据9读忙标志或地址
22、01BF计数器地址读忙标志及地址计数器10写数据到CGRAM或DDRAM10写入一字节数据,需要先设置RAM地址向CGRAM/DDRAM写入一字节的数据11从CGRAM或DDRAM读数据11读取入一字节数据,需要先设置RAM地址从CGRAM/DDRAM读取一字节的数据I/D =1 递增,I/D=0 递减。S=0 时显示屏不移动,S=1时,假如I/D =1且有字符写入时显示屏左移,否则右移。D=1 显示屏开,D=0 显示屏关。C=1 时间标消灭在地址计数器所指的位置,C=0时间标不消灭。B=1 时间标消灭闪烁,B=0时间标不闪烁。S/C=0 时,RL=0则光标左移,否则右移。S/C=1 时,RL
23、=0则字符和光标左移,否则右移。DL=1 时数据长度为8位,DL=0 时为使用D7-D4共4位,分两次送一字节。N=0为单行显示,N=1时为双行显示。F=1 时为510点阵字体,F=0 时为57点阵字体。BF=1 时LCD忙,BF=0 时LCD就绪。LM016L液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)指令1:清显示,指令码01H,光标复位到地址00H位置。指令2:光标复位,光标返回到地址00H。指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上全部文字是否左移或者右移。高电平表示有效,低电平则无效。指令4:
24、显示开关把握。 D:把握整体显示的开与关,高电平表示开显示,低电平表示关显示 C:把握光标的开与关,高电平表示有光标,低电平表示无光标 B:把握光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位 S/C:高电平常移动显示的文字,低电平常移动光标。指令6:功能设置命令 DL:高电平常为4位总线,低电平常为8位总线 N:低电平常为单行显示,高电平常双行显示 F: 低电平常显示5x7的点阵字符,高电平常显示5x10的点阵字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,假如为低电平
25、表示不忙。指令10:写数据。指令11:读数据。 与HD44780相兼容的芯片时序表如表3.3.2-2: 表3.3.2-2 基本操作时序表读状态输入RS=L,R/W=H,E=H输出D0D7=状态字写指令输入RS=L,R/W=L,D0D7=指令码,E=高脉冲输出无读数据输入RS=H,R/W=H,E=H输出D0D7=数据写数据输入RS=H,R/W=L,D0D7=数据,E=高脉冲输出无4 系统设计4.1业务调度把握规章设计由于本次课设要求是叫号机支持两类业务:现金业务和非现金业务。办理现金业务的窗口有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理现金业务,而综合业务窗口
26、可以办理现金业务和非现金业务;非现金业务优先级高,综合业务窗口只有在没有非现金业务状况下,才能办理现金业务;银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统支配其下一个办理业务的挨次号;挨次号在窗口前的LED屏上显示的同时进行语音播音,提示客户前来办理业务。因此,本次我设计的银行叫号系统其业务调度规章如下:银行设置两个取号机,分别是现金业务取号机和非现金业务取号机,顾客依据自身办理业务来选择对应叫取号机打印自己的号码;银行共设置五个叫号机,其中2个非现金业务叫号机和3个现金业务叫号机来分别对应5个服务窗口;现金业务窗口只能处理现金业务;非现金业务窗口能处理两种业务,但若有非现金业务,
27、非现金业务窗口优先处理非现金业务,完成后才处理现金业务。非现金业务和现金业务待处理的积累量分别均为20人,以免引起取号过多等待服务的人数过多导致超负荷服务。4.2 前端排队子系统设计前端排队子系统我主要是靠2个按键来模拟两个取号机,以LM016L液晶显示来模拟打印机显示客户的号码,然后通过程序来把握顾客取号排队的过程。其电路图如图4.2-1所示,取号排队流程图如图4.2-2所示。 图4.2-1 取号排队电路图图4.2-2 排队取号流程图4.3 银行业务调度系统设计银行业务调度系统主要实现的就是对顾客业务的处理,5个处理窗口共分为2个非现金业务和3个现金业务的处理窗口,在仿真中我接受了5个按键来
28、模拟着5个处理窗口,然后通过程序来把握单片机实现整个业务的分类处理和优先理处理的问题。其流程图如下图所示,电路图如图4.3-1所示:图4.3-1 业务调度电路图4.4 业务提示子系统设计4.4.1 液晶显示电路本次课设我接受了LM016L液晶来模拟显示,主要对排队取号的号码进行显示(模拟实际系统中的打印机)以及对服务窗口叫号的显示,其电路如图4.4.1-1所示,单片机P1口接LM016L的8个双向数据线接口,P3.4接LM016L的数据/命令选择端,P3.5接LM016L的使能信号。通过对RS以及E的凹凸电平进行写指令和写数据操作来把握LM016L的显示。图4.4.1-1 显示系统4.4.2
29、声音提示电路实际银行排队叫号系统中,当服务窗口可以服务时,会有广播播报对应的“请某某号顾客到某某号窗口”的提示音,但是由于PROTUES里面没有语音芯片,没方法进行录音仿真,于是本课设里面我接受了简洁的蜂鸣器发声电路来模拟实际的语音电路,以简洁的蜂鸣器发声来达到声音提示的效果,其电路图如图4.4.2-1所示。图4.4.2-1 蜂鸣器声音提示电路4.5 系统总设计整个银行排队叫号系统的原理电路图如图4.5-1所示,其程序流程图如图4.5-2所示。图4.5-1 系统总原理图图4.5-2 系统总流程图5 仿真结果及分析首先,我将非现金业务取号键按两次,结果如图5-1显示,说明非现金业务取号正常。图5
30、-1 非现金业务取号然后分别按下现金业务的叫号窗口1、2、3的对应键,结果均如图5-2所示,说明现金业务窗口不能处理非现金业务,且无现金业务排队时其窗口显示队列空。图5-2 现金业务窗口的限制然后依次按下非现金业务处理窗口1、2对应键,结果如图5-3所示,同时蜂鸣器发声,说明非现金业务能正常处理非现金业务。图5-3 非现金业务处理然后,我按下四次现金业务取号键,其结果如图5-4显示,说明现金业务取号正常。图5-4 现金业务取号然后,我一次按下了现金业务处理窗口3、4、5,结果如5-5所示,同时蜂鸣器发声,说明现金业务处理正常。 图5-5 现金业务处理然后,我又按下一次非现金业务取号键,结果如5
31、-6显示,说明现金和非现金业务共同取号正常。图5-6 综合取号然后,我按下非现金业务处理窗口1,结果显示如图5-7,同时蜂鸣器发声,说明非现金业务的优先级在现金业务之前。图5-6 非现金业务的优先权 然后,我再次按下非现金业务处理窗口1,结果显示如图5-7,同时蜂鸣器发声,说明非现金业务处理窗口在处理完非现金业务之后也能处理现金业务。图5-7 非现金业务窗口处理现金业务然后,我将现金业务和非现金业务取号窗口各按21次,其显示均如图5-8所示,说明非现金业务和现金业务都能限制待处理人数在20人以内。图5-8 排队队列已满综上所述,所设计的银行排队叫号系统能够正的确现所需的功能,性能优良。6 心得
32、体会通过这几天的单片机的课设设计,我在理论的基础上更深刻的把握了单片机的深层内容及实际生活中的应用,实训熬炼了自己动手力量和思维力量,还有在软件方面的编程力量,让我受益匪浅,同时也暴露出一些平常学习上的问题,让我深刻反思。这些问题的发觉将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好预备。通过实训,让我更生疏把握了Keil uVision3,Proteus ISIS,Protel 99 SE这些应用程序的运用,让我懂得了如何编写一些简洁的程序,学会了如何制作单片机应用程序,这几天我经过同学的急躁的讲解和指导通过自己认真的动手操作,最终将一个完整的能完成实习要求的单片机原理图制作出来了。
33、但在实训中间暴露出很多问题:对平常上课讲的理论学问没有完全把握消化,到了实际操作中还得请教老师和同学,在编程和画图的时候不能持之以恒,怕麻烦和简洁否定自己。这些问题的发觉,有助于提高我在以后的工作和学习中对此类问题的生疏,确保不在同一问题上再次犯错。严谨求实、踏实务实,是我这次实训的深刻总结。 参考文献:1 谢自美.电子线路设计·试验·测试(第三版).武汉:华中科技高校出版社2 李群芳.单片微型计算机与接口技术(第3版).电子工业出版社,20083 刘教瑜.单片机原理及应用.武汉理工高校出版社,20114 张东亮.单片机原理与应用.人民邮电出版社,20095 郭天祥.51单
34、片机C语言教程入门、提高、开发、拓展全攻略.电子工业出版社,20096 章工荣.计算机高级应用.高等教育出版社,20047 李文成.计算机程序设计基础.科学出版社,20078 张锦程.C语言高级程序设计及其讲解.机械工业出版社,2000附录:源程序#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit rs=P34;sbit e=P35;sbit rs2=P32;sbit e2=P33;sbit key1=P10;/非现金业务取号sbit key2=P11;sbit key3=P12;sbi
35、t sounder=P37;sbit key4=P13; sbit key5=P14;sbit key6=P15;sbit key7=P16;/现金业务取号uchar prompt1="Your No.is 00!" uchar prompt2="No.00 Go To Win.0" uchar prompt3="Queue is full " uchar prompt4="Queue is empty !" uchar prompt5="Welcome!"static uint num_cou
36、nt=0; /现金业务排队取的号码static uint idata rank_number20=0; /排队叫号存储的数组static uint num=0; /窗口消的现金号码static int RankFlag=0; /现金取号的标志static int ClearNumFlag=0; /消号的标志static uint LengthFlag=0; /现金业务队列长度 取一次号时+1,消一次号时-1static uint idata rank_number120=0; /非现金业务排队叫号存储的数组static uint num1=0; /窗口消的非现金号码static int Ran
37、kFlag1=0; /非现金取号的标志static int ClearNumFlag1=0; /消号的标志static uint LengthFlag1=0; /非现金业务队列取一次号时+1,消一次号时-1 uint idata* data q1=rank_number1;uint idata* data q2=rank_number ;/*延时函数*/void delay(uint n) while (n-); /*LCD1602 *显示屏命令写入函数*/void LCD_write_com(uchar com) e=0; rs=0; P0= com; delay(1000); e=1; d
38、elay(1000); e=0; void LCD_write_com2(uchar com) e2=0; rs2=0; P2=com; delay(1000); e2=1; delay(1000); e2=0; /*LCD1602 *显示屏数据写入函数*/void LCD_write_data(uchar dat) e=0; rs=1; P0 = dat; delay(1000); e=1; delay(1000); e=0;void LCD_write_data2(uchar dat) e2=0; rs2=1; P2=dat; delay(1000); e2=1; delay(1000);
39、 e2=0;/*LCD1602 *显示屏清空显示*/void LCD_clear(void) LCD_write_com(0x01); delay(1000);void LCD_clear2(void) LCD_write_com2(0x01); delay(1000);/*LCD1602 显示屏初始化函数*/void LCD_init(void) LCD_write_com(0x38); /*显示模式设置*/ delay(100); LCD_write_com(0x38); delay(100); LCD_write_com(0x38); delay(100); LCD_write_com(
40、0x38); /设置16x2显示,5X7点阵,8位数据接口 LCD_write_com(0x08); /*显示关闭*/ LCD_write_com(0x01); /*显示清屏,指针清零*/ LCD_write_com(0x06); /*写一个字符后地址指针自动加1*/ delay(100); LCD_write_com(0x0C); /*显示开及不显示光标*/void LCD_init2() LCD_write_com2(0x38); /设置16x2显示,5X7点阵,8位数据接口 LCD_write_com2(0x08); /*显示关闭*/ LCD_write_com2(0x01); /*显示
41、清屏,指针清零*/ LCD_write_com2(0x06); /*写一个字符后地址指针自动加1*/ delay(100); LCD_write_com2(0x0C); /*显示开及不显示光标*/*简洁的蜂鸣器提示音*/void sound() uint a;for(a=0;a<500;a+)sounder=0;delay(61);sounder=1;/*猎取键值函数*/uint sweep_key() uint jianzhi; if(key1=0) /非现金取号delay(1000);if(key1=0)jianzhi=1; /1RankFlag1=1;if(key7=0) /现金取
42、号delay(1000);if(key7=0)jianzhi=7; /7RankFlag=1;if(key2=0|key3=0) /非现金业务销号按键 delay(1000);if(key2=0)jianzhi=2; /2if(key3=0)jianzhi=3; /3ClearNumFlag1=1;if(key4=0|key5=0|key6=0)/现金业务销号按键 delay(1000);if(key4=0)jianzhi=4; / 4if(key5=0)jianzhi=5; / 5if(key6=0)jianzhi=6; / 6ClearNumFlag=1;return (jianzhi);
43、/*取号机 按一次键变量+1,最大为20 */ void QueueNumProcess() if(RankFlag1=1) /推断非现金取号标志是否有效 if ( LengthFlag1<20) num_count+; /总排队人数 *(q1+LengthFlag1)= num_count; LengthFlag1+; if(RankFlag=1) /推断现金取号标志是否有效 if ( LengthFlag<20) num_count+; *(q2+LengthFlag) = num_count; LengthFlag+; /*窗口消号处理函数*/void ClearNumPro
44、cess() uint i;if (ClearNumFlag1=1) /推断消号标志是否有效 num1=*q1; /把消的非现金号赋给全局变量num1 for(i=0;i<20;i+) /让数组整体左移一个存储单元,即把消得号删除 *(q1+i)=*(q1+i+1); LengthFlag1-; if (ClearNumFlag=1) /推断消号标志是否有效 num=*q2; /把消的号赋给全局变量num for(i=0;i<20;i+) /让数组整体左移一个存储单元,即把消得号删除 *(q2+i)=*(q2+i+1); LengthFlag-; /*检测到按键后,检测函数处理及L
45、CD显示处理*/void CheckButtonProcess(uint m) /m代表检测到的键值 uint jz,i; jz=m; if(jz=1) && (RankFlag1=1)/非现金业务取号 / 当队列人数达到20时,提示 / Queue is full if( LengthFlag1>=20 ) LCD_clear2(); LCD_write_com2(0x80+0x02); delay(100); for(i=0;i<16;i+) LCD_write_data2(prompt3i); delay(100); else QueueNumProcess(
46、); prompt111=(num_count)/10+'0' prompt112=(num_count)%10+'0' LCD_clear2(); LCD_write_com2(0x80+02); delay(100); for(i=0;i<15;i+) LCD_write_data2(prompt1i); /"Your No.is 00!" delay(100); delay(65535);delay(65535);delay(65535); LCD_write_com2(0x80+02); for(i=0;i<15;i+)
47、LCD_write_data2(prompt5i); /"Welcome!" delay(100); RankFlag1=0; if(jz=7) && (RankFlag=1)/现金业务取号 / 当队列人数达到20时,提示 / Queue is full if( LengthFlag>=20 ) LCD_clear2(); LCD_write_com2(0x80+0x02); delay(100); for(i=0;i<16;i+) LCD_write_data2(prompt3i); delay(100); else QueueNumProcess(); prompt111=(num_count)/10+'0' prompt112=(num_count)%10+'0' LCD_clear2(); LCD_write_com2(0x80+02); delay(100); for(i=0;i<15;i+) LCD_write_data2(pr
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年金属基复合材料项目可行性研究报告
- 2026年美容美发 头皮健康管理项目评估报告
- 2026年空间组学项目评估报告
- 区块链应用实践案例剖析分享
- 青少年如何正确应对挫折
- 教师教学评价制度
- 幼儿院幼儿教育与可持续发展战略制度
- FM收音机电路设计与仿真基础项目课程设计
- 幼儿园学生接送管理制度
- 企业货币资金授权审批制度
- 2026年甘肃省兰州市皋兰县兰泉污水处理有限责任公司招聘笔试参考题库及答案解析
- 陶瓷工艺品彩绘师岗前工作标准化考核试卷含答案
- 2025年全国高压电工操作证理论考试题库(含答案)
- 居间合同2026年工作协议
- 2025-2026学年(通*用版)高二上学期期末测试【英语】试卷(含听力音频、答案)
- 网络销售的专业知识培训课件
- 大锁孙天宇小品《时间都去哪了》台词剧本完整版-一年一度喜剧大赛
- 种子室内检验技术基础知识(种子质量检测技术课件)
- 智慧金库项目需求书
- DB41T 2397-2023 机关食堂反食品浪费管理规范
- TOC战略思想《关键链》
评论
0/150
提交评论