通信工程技术用FPGA实现银行叫号系统_第1页
通信工程技术用FPGA实现银行叫号系统_第2页
通信工程技术用FPGA实现银行叫号系统_第3页
通信工程技术用FPGA实现银行叫号系统_第4页
通信工程技术用FPGA实现银行叫号系统_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/书目摘要 1Abstract 21、设计内容 32、系统整体设计原理 42.1排队系统的基本功能 42.2系统工作原理 42.3软件操作流程 53、电路硬件模块设计 63.1业务调度模块设计 63.1.1时钟电路 63.1.2复位电路 73.2排队子系统模块设计 83.3工作人员服务模块设计 83.4业务提示模块设计 83.4.1LCD液晶屏单元 83.4.2语音播放单元 93.5电源设计 104、整体电路图 115、系统软件设计 125.1通信协议 125.2业务调度系统程序设计 135.3排队子程序设计 145.4服务子程序设计 145.5业务提示子程序设计 156、电路仿真结果 167、总结 198、参考文献 20附录C源程序代码 21摘要目前,在以银行营业大厅为代表的窗口业务,大量客户的拥挤排队已成为了这些企事业单位改善服务品质、提升企业形象的主要障碍。排队叫号系统的运用将成为变更这种状况的有力手段。排队系统完全模拟了人群排队的全过程,通过取票进队。排队等待、叫号服务等功能,很好的解决了客户在服务机构办理业务是所遇到的各种排队、拥挤和混乱现象,代替了人们站队的辛苦,把顾客等待的苦恼变成了一段难得的休闲时间,使客户拥有了一个自由的空间和一份奇妙的心情。本次课程设计详细的介绍了设计的整过程,各个子系统的设计规则,而且还基于MATLAB做了简洁的仿真。关键字:窗口业务、排队等待、呼叫服务、设计、MATLABAbstractAtpresent,inthebusinesshallofthebankastherepresentativeofthewindowservice,alargenumberofcustomersqueuinghasbecomethemainobstacletotheseenterprisestoimproveservicequality,enhancecorporateimage.Theuseofqueuingsystemwillbecomeapowerfulmeanstochangethissituation.Queuingsystemisfullysimulatesthewholeprocessofthecrowdqueuing,theticketintotheteam.Queuing,queuingandservicefunctions,isaverygoodsolutiontocustomersintheservicebusinessisencounteredqueuing,crowdedandchaoticphenomena,insteadofpeoplelineuphard,makecustomerwaitingannoyanceintoarareleisuretime,sothatcustomershaveafreespaceandagoodmood.Keywords:windowservice,waitinginline,callservice,design,MATLAB1、设计内容由于嵌入式的电路板比较困难,而次设计用单片机可以实现,所以相对来说用单片机设计比较简洁,程序设计也比较便利。通过编程对SYC89C52输入/输出接口进行限制,并对1602液晶显示屏进行操作,使之显示相关信息。当两个业务办理窗口中的某一个有一个人的事务办理完毕时对应窗口的工作者便按下叫号键,通过液晶显示“NowNo.XcometoNo.Xwindow!”的信息,通知持有下一个号码的人前来。当前来办理事务的人按下领号键后,若能正常领号,则液晶显示“YournumberisX.”的信息。若检测到等待的人数(通过液晶显示)达到20时,蜂鸣器“报警”,任一窗口处的叫号键被按下,则液晶显示“Queueisfull,comelater.”的信息,同时领号被禁止,但仍可以叫号,即持有号码的人接着办理业务,直到等待的人数小于20才能接着领号。另外有一个统计客流量的按键,按下则显示“NowthetotalnumisX”,即到目前为止领过号的总人数,并在液晶右侧显示仍在等待的人数。系统工作过程中每按下任一个按键时蜂鸣器发出响声。叫号系统每次结束工作时复原到初始状态。焊好电路确定芯片和外围电路的接口后,只需写程序对芯片I/O口进行操作,便可实现信息的显示、传递等功能。单片机芯片相对集成度更高,成本也比较低。并且电路连接比较简洁,调试过程中只需改动程序,信息显示也更直观。系统稳定性足够满足设计要求。2、系统整体设计原理智能排队叫号系统是提高窗口服务行业的办公效率,解决顾客排队等候问题的有利工具。本文设计的嵌入式智能排队叫号系统基本完全模拟人群排队过程,通过取号、进队、排队等待、叫号服务等功能代替人们站队,实现机器自动代替人排队的过程。可以适用于银行、工商、税务、医院等窗口比较繁忙的地方2.1排队系统的基本功能(1)银行门口有一个叫号机,在客户操作下可打印出一个依次号;客户依据依次号依次到银行窗口办理业务;(2)叫号机支持两类业务:现金业务和非现金业务。办理现金业务的窗口有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理现金业务,而综合业务窗口可以办理现金业务和非现金业务;(3)非现金业务优先级高,综合业务窗口只有在没有非现金业务状况下,才能办理现金业务;(4)银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统支配其下一个办理业务的依次号;依次号在窗口前的LED屏上显示的同时进行语音播音,提示客户前来办理业务;设计一个叫号调度系统,实现对办理银行业务的排队和调度。2.2系统工作原理集排队系统服务主机和取号机一体的嵌入式排队叫号主机服务器设置在服务大厅,客户进入大厅,选择自己须要的服务类别,登记当前排队的序号,然后到相应的休息区等待。服务大厅设有一个LED显示屏,用于对当前的操作进行提示。当窗口的工作人员起先进行客户服务时,查询相应的排队队列,响应请求,并在LED显示屏上显示相应消息,并驱动语音呼叫系统给出语音提示:请xxx号到xx号窗口。如图1所示,排队系统基本流程图以所要处理的排队信息为主体,从客户在发号机上按下按键后产生的一条记录起先,给出了数据处理的整个流程。图1系统流程图本文所设计的嵌入式系统所遵循的软件和硬件协同设计的方法和特点,即软硬件设计是并行且交叉的,两者相互支持、相互供应开发的平台。可以设计出整个系统的结构如图2所示,整个系统主要由排队子系统、业务调度系统、业务提示系统组成。图2系统结构图 排队子系统同时涉及到客户的操作和工作人员的操作,其简洁的工作流程为:顾客到达服务大厅后,先到排队发号机上选择自己须要的服务类型,得到自己的服务序号后,到相应的休息位置等候语音呼叫,同时关注LCD液晶屏的显示,当被叫到自己的排队号时,依据语音提示和LCD屏显示信息到相应窗口办理业务;工作人员到达指定的窗口后,待准备好服务客户时按下呼叫键起先工作,每服务完一个客户后就按呼叫键呼叫下一位客户。2.3软件操作流程本设计中自动排队叫号软件的模拟操作流程如下:1、系统初始化 主程序不断扫描按键,等待外部信号的到来。2、领号者领号 1、系统初始化 主程序不断扫描按键,等待外部信号的到来。2、领号者领号 须要领号的人只需按下领号键,若领号成功,则系统显示所领取的号码,否则等待片刻再前来领号。3、工作人员叫号窗口工作者按下叫号键,通知下一位顾客前来办理业务,若无人正在等待,则返回信息给工作人员。4、若等待人数超过限制,系统报警,领号暂停。否则领号、叫号工作接着进行,到系统关闭为止。图3软件流程框图3、电路硬件模块设计系统是一个简洁的分布式限制系统,系统硬件由排队子系统模块、工作人员服务模块、业务调度模块和业务提示模块等模块构成,考虑到节约系统开发成本刚好间等因素,排队子系统模块和工作人员服务模块均运用按键模拟;业务调度模块的核心芯片选用价格较低且性能较佳的STC89C54单片机;业务提示模块的核心芯片选择的是ISD4004语音存储限制芯片和LCD1602。3.1业务调度模块设计 51单片机是对目前全部兼容Intel8031指令系统的单片机的统称。该系列单片机的始祖是Intel的8031单片机,后来随着Flashrom技术的发展,8031单片机取得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是ATMEL公司的AT89系列,它广泛应用于工业测控系统之中。目前许多公司都有51系列的兼容机型推出,在目前乃至今后很长的一段时间内将占有大量市场。51单片机是基础入门的一个单片机,还是应用最广泛的一种。须要留意的是52系列的单片机一般不具备自编程实力。 要使得单片机能够正常工作,那么就须要时钟电路和复位电路。单片机的时钟信号用来供应单片机内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的状态运行。3.1.1时钟电路单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器,并产生振荡时钟脉冲。内部振荡方式如图3所示。图中,电容C1,C2起稳定振荡频率、快速起振的作用。电容值一般为5~30pF。内部振荡方式所得的时钟信号比较稳定,好用电路中运用较多。在本设计中,须要得到稳定的时钟脉冲,因而我们接受内部振荡方式,其电路图如图3所示。图4内部振荡方式3.1.2复位电路 复位操作完成单片机片内电路的初始化,使单片机从一种确定的状态起先运行。当单片机的复位引脚出现5ms以上的高电平常,单片机就完成了复位操作。假如RST持续为高电平,单片机就处于循环复位状态,而无法执行程序,因此要求单片机复位后能脱离复位状态。 依据应用的要求,复位操作通常有两种基本形式:上电复位、开关复位。上电复位要求接通电源后,自动实现复位操作。开关复位要求在电源接通的条件下,在单片机运行期间,假如发生死机,用按钮开关操作使单片机复位。 本设计中,上电且开关复位的电路如图4所示。上电后,由于电容的充电,使RST持续一段高电平常间。当单片机已在运行之中时,按下复位键也能使RST持续一段时间的高电平,从而实现上电且开关复位的操作。通常选择C=10~30uF,R=10kΩ,本设计中,选择C=10,R=10kΩ。图5复位电路 综上所述,单片机的最小系统电路图如图5所示。图6单片机最小系统3.2排队子系统模块设计 排队子系统模块是用作客户选择服务类型的,依据设计要求,本排队子系统模块须要实现叫号机支持两类业务:现金业务和非现金业务。因而我们须要设定两个按键来选择不同的业务在此我运用的是两个按键来区分不同的业务,其电路图如图6。其中,当客户按下按键1时,代表其选择的是现金业务,当客户按下按键2时,代表其选择的是非现金业务。图7用户叫号模块3.3工作人员服务模块设计 工作人员服务模块是给工作人员进行操作的,当工作人员处理完一次服务时,按下服务窗口的叫号按键,就能够对下一位客户进行服务,设计要求中要求一共要有5个服务窗口,那么,我们在这里设计5个按键分别代表5个窗口的工作人员的操作。3.4业务提示模块设计3.4.1LCD液晶屏单元在本设计中,我选用了LCD1602作为显示模块。液晶显示器(LCD)以其具有功耗低,体积小,重量轻,超薄等许多其他显示器无法比你的优点,而被广泛用于单片机限制的智能仪器、仪表和低功耗电子产品中。LCD1602智能显示模块可以实现两行每行16个字符的显示。该LCD1602外围电路简洁,程序限制易实现。其中D0~D7是数据接口,用以接收单片机的数据,VSS是电源地,VDD是正5V逻辑电源,V0是驱动电源,RS选择输入的是数据还是叮嘱,R/W选择读写操作,E为使能信号。LCD1602有许多指令供运用者调用,能够实现基本的显示功能。LCD1602接口电路如图7。图8LCD1602显示模块电路3.4.2语音播放单元语音播放单元的核心芯片接受的是ISD公司的ISD4004语音芯片,其工作电压为3V,单片录放时间为16min,音质好。该芯片接受CMOS技术,内含振荡器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪及高密度多电平闪烁存贮陈设,其设计是基于全部操作必需由微限制器限制,操作叮嘱可通过串行通信接口(SPI或Microwire)送入。芯片接受多电平干脆模拟量存储技术,每个采样值干脆存贮在片内闪烁存贮器中,因此能够特殊真实、自然地再现语音、音乐、音调和效果声,避开了一般固体录音电路因量化和压缩造成的量化噪声和“金属声”。片内信息存于闪烁存贮器中,可在断电状况下保存100年(典型值),反复录音10万次。其电路图依据芯片手册要求设计如图9所示。图9语音播放单元3.5电源设计本系统接受USB的5V供电系统,用外界的稳压器代替了传统制作电源系统的过程,削减了设计工作量。并且本系统供电电源电压稳定,电路简洁易实现。本次就不算详细讲解并描述了。4、整体电路图图10整体电路仿真图5、系统软件设计 本系统的软件设计主要包含通信协议的设定、排队子程序的设计、服务子程序的设计、业务提示子程序设计以及业务调度程序的设计。5.1通信协议 通信协议(communicationsprotocol)是指双方实体完成通信或服务所必需遵循的规则和约定。协议定义了数据单元运用的格式,信息单元应当包含的信息和含义,连接方式,信息发送和接收的时序,从而确保网络中数据顺当地传送到确定的地方。 常用的通信协议有串口通信协议、I2C通信协议、SPI通信协议等等。在本系统中,排队子系统模块和服务子系统模块干脆和业务调度模块相连接,不须要运用通信协议,而业务调度模块和业务提示子模块之间运用的是SPI通信方式。

SPI,是英语SerialPeripheralinterface的缩写,顾名思义就是串行外围设备接口,是一种标准的四线同步双向串行总线。SPI是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节约空间,供应便利,正是出于这种简洁易用的特性,现在越来越多的芯片集成了这种通信协议。

SPI总线系统是一种同步串行外设接口,它可以使MCU和各种外围设备以串行方式进行通信以交换信息。外围设置FLASHRAM、网络限制器、LCD显示驱动器、A/D转换器和MCU等。SPI总线系统可干脆和各个厂家生产的多种标准外围器件干脆接口,该接口一般运用4条线:

串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入数据线MOSI和低电平有效的从机选择线SS(有的SPI接口芯片带有中断信号线INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。

SPI的通信原理很简洁,它以主从方式工作,这种模式通常有一个主设备和一个或多个从设备,须要至少4根线,事实上3根也可以(用于单向传输时,也就是半双工方式)。也是全部基于SPI的设备共有的,它们是SDI(数据输入),SDO(数据输出),SCK(时钟),CS(片选)。

SDO–主设备数据输出,从设备数据输入

SDI–主设备数据输入,从设备数据输出

SCLK–时钟信号,由主设备产生

CS–从设备使能信号,由主设备限制其中CS是限制芯片是否被选中的,也就是说只有片选信号为预先规定的使能信号时(高电位或低电位),对此芯片的操作才有效。这就允许在同一总线上连接多个SPI设备成为可能。接下来就负责通讯的3根线了。通讯是通过数据交换完成的,这里先要知道SPI是串行通讯协议,也就是说数据是一位一位的传输的。这就是SCK时钟线存在的缘由,由SCK供应时钟脉冲,SDI,SDO则基于此脉冲完成数据传输。数据输出通过SDO线,数据在时钟上升沿或下降沿时变更,在紧接着的下降沿或上升沿被读取。完成一位数据传输,输入也运用同样原理。这样,在至少8次时钟信号的变更(上沿和下沿为一次),就可以完成8位数据的传输。要留意的是,SCK信号线只由主设备限制,从设备不能限制信号线。同样,在一个基于SPI的设备中,至少有一个主控设备。这样传输的特点:这样的传输方式有一个优点,和一般的串行通讯不同,一般的串行通讯一次连续传送至少8位数据,而SPI允许数据一位一位的传送,甚至允许暂停,因为SCK时钟线由主控设备限制,当没有时钟跳变时,从设备不采集或传送数据。也就是说,主设备通过对SCK时钟线的限制可以完成对通讯的限制。SPI还是一个数据交换协议:因为SPI的数据输入和输出线独立,所以允许同时完成数据的输入和输出。

不同的SPI设备的实现方式不尽相同,主要是数据变更和采集的时间不同,在时钟信号上沿或下沿采集有不同定义,详细请参考相关器件的文档。

在点对点的通信中,SPI接口不须要进行寻址操作,且为全双工通信,显得简洁高效。在多个从设备的系统中,每个从设备须要独立的使能信号,硬件上比I2C系统要略微困难一些。最终,SPI接口的一个缺点:没有指定的流限制,没有应答机制确认是否接收到数据。5.2业务调度系统程序设计 排队服务主机的软件设计接受模块化方法进行设计,包括了业务调度系统程序设计、排队子程序设计、服务子程序设计、业务提示子程序设计等。而由业务调度系统程序对各个子程序进行管理和协调,业务调度系统设计流程图如图10所示。图11业务调度系统主程序流程图5.3排队子程序设计 排队子程序主要用于将顾客的排队信息计入到相应队列中。如上所述,客户在叫号机上可以选择两种服务,分别是现金服务和非现金服务。在这里,我将客户状态和其所选服务及其排队须要制成一个3维数组GuestStutas[QueueNum][type][isServed]。当有顾客在叫号机上进行取号操作时,会将其对应取得的序号作为QueueNum的值,依据其选择的是现金服务还是飞现金服务,分别将type的值设置为0或1,当客户处于等候被服务状态时,isServed项为0,当已经为客户服务后,isServed项为1。5.4服务子程序设计 服务子程序主要是当服务人员按下按键后的一系列的调度操作。在本系统中,存在有2中不同的服务窗口,现金服务窗口和综合服务窗口,现金服务窗口是只能办理现金业务的窗口,综合服务窗口既能办理现金业务又能办理非现金业务的窗口。当服务员按下操作按键时,依据当前服务窗口的类型,选择相应的客户到当前窗口进行服务。服务子程序设计流程图如图12。图12服务子程序设计流程图5.5业务提示子程序设计业务提示子程序包含LCD液晶提示和语音提示两个部分。液晶部分程序设计较为简洁,语音提示部分运用的是ISD4004芯片,其内部共有3840K单元的Flash存储阵列,共分为2400行,每行1600列,而ISD4004内部具有特殊的信息寻址机制,即对每行(行首地址)进行寻址,而每行中的列不行寻址。这样,ISD4004内部最多可录或放的语音信息为2400段,每一信息段的最小单位为1行,每一信息段由起始地址指针、记录的语音信息和信息结束标记位(EOM)3部分组成,一个信息段可占用1行或多行存储空间。对行寻址是通过行地址时钟(RAC)来实现的,对于ISD4004216MP其录放时间为960s,因此它的辨别率为400ms(即1个行地址时钟周期为400ms)。这样只要对行地址时钟输出端RAC的低电平进行计数就可以知道每一信息段占用了多少行,也就可以知道每一信息段的起始地址和结束地址。在本系统中将13段音提前录好,1~13段音分别是:“请”、“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“号到”、“号窗口”,然后依据所叫号码的不同及窗口号的不同进行组合放音,所播放的提示音共分为9段,例如“请”-“1”-“号到”-“2”-“号窗口”。6、电路仿真结果图13仿真电路a开机画面,程序启动。图14仿真电路b起先叫号,客户端按键按一下,领号加一!图15仿真电路c客户起先到窗口1办理业务。图16仿真电路d客户到窗口2办理业务。 图17仿真电路e 统计人数,当前领号人数,等待办理业务人数。图18仿真电路f 领号人数达到人数上限,停止领号。仿真的结果和我们预料的结果一样。在仿真期间出现过软件自动弹出的缘由,后来重启电脑解决。7、总结经过努力,本设计仅是运用单片机完成了银行叫号系统的功能。本文首先分析了叫号系统发呈现状,指出了在智能排队系统中接受嵌入式技术的优势,剖析了一般排队叫号系统的业务需求和基本功能,接受软硬件协同设计的方法,提出了排队叫号系统的整体设计方案。同时本文分别对系统的硬件和软件设计和实现方法进行了说明,给出了系统基本功能的测试方法和测试结果以及仿真结果。总结了本文所做的工作和存在的问题,并对下一步系统的功能扩展进行了展望。此系统接受LCD1602显示,做起来比较简洁,其中只设立了两个处理窗口,虽然很少,不过依据须要可以经行增加,具有较好的扩展功能。本设计虽不及现今比较成熟的产品,不过对需求不是很高的人还是可以的。从今次设计中,我学到了许多,对没有驾驭的学问都有了确定的了解。8、参考文献[1]《新型集成电路的应用――电子技术基础课程设计》梁宗善主编,华中科技高校出版社。[2]《电子技术基础课程设计》孙梅生等编著,高等教化出版社。[3]《51单片机C语言教程》郭天祥编著,电子工业出版社。[4]《单片机教程一单片机基础》张迎新编著其次版.2006.8[5]马忠梅等编著《单片机的C语言应用程序设计》(第4)饭)北京航空航天高校出版社.2007.2附录C源程序代码#include<reg52.h> //C51程序包含的头文件#defineucharunsignedchar#defineuintunsignedint//以下定义要用到的字符串数组ucharcodet0[]="Welcome!";ucharcodet1[]="wp"; //wp意为正在等待的人数ucharcodet2[]="YourNo.is";ucharcodet3[]="Neto";ucharcodet33[]="No.window!";ucharcodet4[]="Queueisfull,";ucharcodet44[]="comelater.";ucharcodet5[]="Nobodyis";ucharcodet55[]="waiting!";ucharcodet6[]="Nowthetotalwp";ucharcodet66[]="numberis";ucharnum,waiting,count;//num为所领号码,waiting为正在等待的人数sbitlcden=P2^7; //液晶使能端sbitlcdrw=P2^5; //“读”或“写”选择端,要置低sbitlcdrs=P2^6; //写叮嘱/数据选择端:置0写叮嘱,置1写数据sbits0=P3^4; //领号键sbits1=P3^1; //窗口1的叫号键sbits2=P3^2; //窗口2的叫号键sbits3=P3^3; //停止领号键sbitadd=P3^5; //统计客流量sbitbee=P1^5; //蜂鸣器端口//函数声明voiddelay(uint); //延时voiddi(); //蜂鸣voidwrite_com(uchar); //向液晶写入叮嘱voidwrite_data(uchar); //向液晶写入数据voidgo(uchar,uchar); //移动光标voidshownum(uchar); //显示数字voidshowstr(uchar*); //显示字符串voidclear(); //清空动态显示voidinit(); //初始化voidkeyscan(); //键盘扫描//函数定义voiddelay(uintn){ uinti,j; for(i=n;i>0;i--) //不够精确地延时1ms for(j=110;j>0;j--);}voiddi() { bee=0; delay(100); bee=1;}voidwrite_com(ucharcom){ lcdrs=0; //选择写叮嘱 lcdrw=0; //“读写”选择写 P0=com; //液晶输入端接单片机P1口 lcden=1; //产生上升沿 delay(3); lcden=0;}voidwrite_data(uchardat){ lcdrs=1; //选择写数据 lcdrw=0; P0=dat; lcden=1; delay(3); lcden=0;}voidgo(ucharx,uchary){ if(x==1) write_com(0x80+y); //从液晶第一行左端起先写入数据 else write_com(0x80+0x40+y); //从液晶其次行左端起先写入数据}voidshownum(uchardat){ ucharcodet[]=""; ucharshi,ge; shi=dat/10; //分别十位 ge=dat%10; //分别个位 if(shi>0) write_data(0x30+shi); //显示个位 else write_data(t[0]); write_data(0x30+ge); //显示十位}voidshowstr(uchar*t){ while(*t) { write_data(*t); //向液晶读入字符串 t++; }} voidclear(){ write_com(0x01); //清空屏幕 go(1,14); //光标定位到1行14列 showstr(t1); go(2,14); //光标定位到2行15列 shownum(waiting);}voidinit(){ lcden=0; write_com(0x38); //设置点阵显示、数据接口 write_com(0x0c); //打开显示,不显示光标 write_com(0x06); //写一个字符指针加一 write_com(0x01); //显示清零、数据指针清零 go(1,4); showstr(t0);}voidkeyscan(){uchara;if(waiting<20){ if(s0==0&&(s1!=0)&&(s2!=0)&&(s3!=0)) //在工作人员操作的按键未按下的状况下才能领号 { delay(5); if(s0==0&&(s1!=0)&&(s2!=0)&&(s3!=0))//确认领号键被按下 { while(!s0); //等待按键释放 di(); //蜂鸣器响一下 clear(); num++; waiting++; go(1,0); //光标定位到1行1列 showstr(t2); go(2,0); //光标定位到2行1列 shownum(num); //显示所领的号码 go(2,14); shownum(waiting); //显示等待的人数 } } if(s1==0) { delay(5); //窗口1的叫号键被按下 if(s1==0) { while(!s1); di(); if(waiting==0) //假如没人在等待 { write_com(0x01); go(1,3); showstr(t5); go(2,3); showstr(t55); } else { clear(); waiting--; go(1,0); showstr(t3); go(2,0); showstr(t33); go(1,3); shownum(num-waiting); go(2,3); shownum(1); go(2,14); shownum(waiting); } } } if(s2==0) //窗口2的叫号键被按下 { delay(5); if(s2==0) { while(!s2); di(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论