FPGA技术在通信工程中的应用:银行叫号系统实现方案_第1页
FPGA技术在通信工程中的应用:银行叫号系统实现方案_第2页
FPGA技术在通信工程中的应用:银行叫号系统实现方案_第3页
FPGA技术在通信工程中的应用:银行叫号系统实现方案_第4页
FPGA技术在通信工程中的应用:银行叫号系统实现方案_第5页
已阅读5页,还剩35页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

目录

摘要.................................................

Abstract.............................................................................................

1、设计内容..........................................

2、系统整体设计原理..................................

2.1排队系统的基本功能...........................

2.2系统工作原理.................................

2.3软件操作流程.................................

3、电路硬件模块设计..................................

3.1业务调度模块设计.............................

3.1.1时钟电路................................

3.1.2复位电路...............................

3.2排队子系统模块设计...........................

3.3工作人员服务模块设计.........................

3.4业务提醒模块设计.............................

3.4.1LCD液晶屏单元.........................

3.4.2语音播放单元...........................

3.5电源设计.....................................

4、整体电路图........................................

5、系统软件设计......................................

5.1通信协议.....................................

5.2业务调度系统程序设计.........................

5.3排队子程序设计...............................

5.4服务子程序设计...............................

5.5业务提醒子程序设计...........................

6、电路仿真成果......................................

7、总结..............................................

8、参照文献..........................................

附录C源程序代码...................................

摘要

目前,在以银行营业大厅为代表的窗口业务,大量客户的拥挤排队已成为r

这些企事业单位改善服务品质、提高企业形象口勺重要障碍。排队叫号系统的使用

将成为变化这种状况H勺有力手段。排队系统完全模拟了人群排队的全过程,通过

取票进队。排队等待、叫号服务等功能,很好的处理了客户在服务机构办理业务

是所碰到H勺多种排队、拥挤和混乱现象,替代了人们站队的J辛劳,把顾客等待的

烦恼变成了一段难得口勺休闲时光,使客户拥有了一种自由的空间和一份美好的心

情。本次课程设计详细的简介了设计的整过程,各个子系统的设计规则,并且还

基于MATLAB做了简朴日勺仿真。

关键字:窗口业务、排队等待、呼喊服务、设计、MATLAB

Abstract

Atpresent,inthebusinesshallof(hebankastherepresentativeofthewindow

service,alargenumberofcustomersqueuinghasbecomethemainobstacletothese

enterprisestoimproveservicequality,enhancecorporateimage.Theuseofqueuing

systemwillbecomeapowerfulmeanstochangethissituation.Queuingsystemis

fullysimulatesthewholeprocessofthecrowdqueuing,theticketintotheteam.

Queuing,queuingandservicefunctions,isaverygoodsolutiontocustomersinthe

servicebusinessisencounteredqueuing,crowdedandchaoticphenomena,insteadof

peoplelineuphard,makecustomerwaitingannoyanceintoarareleisuretime,sothat

customershaveafreespaceandagoodmood.

Keywords:windowservice,waitinginline,callservice,design,MATLAB

1、设计内容

由于嵌入式的电路板比较复杂,而次设计用单片机可以实现,因此相对来说

用单片机设计比较简朴,程序设计也比较以便。

通过编程对SYC89c52输入/输出接口进行控制,并对1602液晶显示屏进行

操作,使之显示有关信息,

当两个业务办理窗口中的某•种有•种人H勺事务办理完毕时对应窗口的工

作者便按下叫号键,通过液晶显示“NowNo.XcometoNo.Xwindow!”代)信息,

告知持有下一种号码H勺人前来。

目前来办理事务H勺人按下领号键后,若能正常领号,则液晶显示“Your

numberisX."的信息。若检测到等待的I人数(通过液晶显示)到达20时,蜂鸣器

“报警”,任一窗口处日勺叫号键被按下,则液晶显示“Queueisfull,comelaler.”

的信息,同步领号被严禁,但仍可以叫号,即持有号码的人继续办理业务,直到

等待的J人数不大于20才能继续领号。此外有一种记录客流量口勺按键,按下则显

示“Nowthe及⑸numisX",即到Fl前为止领过号的总人数,并在液晶右侧显示

仍在等待的人数。系统工作过程中每按下任一种按键时蜂鸣器发出响声。叫号系

统每次结束工作时恢复到初始状态。

焊好电路确定芯片与外围电路的接口后,只需写程序对芯片I/O□进行操

作,便可实现信息的显示、传递等功能。单片机芯片相对集成度更高,成本也比

较低。并且电路连接比较简朴,调试过程中只需改动程序,信息显示也更直观。

系统稳定性足够满足设计规定。

2、系统整体设计原理

智能排队叫号系统是提高窗口服务行业的办公效率,处理顾客排队等待问题

的有利工具。本文设计H勺嵌入式智能排队叫号系统基本完全模拟人群排队过程,

通过取号、进队、排队等待、叫号服务等功能替代人们站队,实现机器自动替代

人排队的过程。可以合用于银行、工商、税务、医院等窗口比较繁忙H勺地方

2.1排队系统的基本功能

(1)银行门口有一种叫号机,在客户操作下可打印出一种次序号;客户按

照次序号依次到银行窗口办理业务;

(2)叫号机支持两类业务:现金业务和非现金业务。办理现金业务的窗口

有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理

现金业务,而综合业务窗口可以办理现金业务和非现金业务;

(3)非现金业务优先级高,综合业务窗口只有在没有非现金业务状况下,

才能办理现金业务;

(4)银行工作人员在办理了一种客户业务后,按一种呼喊按钮,由系统安

排其下一种办理业务H勺次序号;次序号在窗口前的LED屏上显示日勺同步进行语

音播音,提醒客户前来办理业务;设计一种叫号调度系统,实现对办理银行业务

的排队和调度。

2.2系统工作原理

集排队系统服务主机与取号机一体的嵌入式排队叫号主机服务器设置在服

务大厅,客户进入大厅,选择自己需要H勺服务类别,记下目前排队的序号,然后

到对应的休息区等待。服务大厅设有一种LED显示屏,用于对目前日勺操作进行

提醒。当窗口的工作人员开始进行客户服务时,查询对应的排队队列,响应祈求,

并在LED显示屏上显示对应消息,并驱动语音呼喊系统给出语音提醒:靖xxx

号到XX号窗口o

如图1所示,排队系统基本流程图以所要处理的排头信息为主体,从客户在

发号机上按下按键后产生II勺一条记录开始,给出了数据处理H勺整个流程。

图1系统流程图

本文所设计的嵌入式系统所遵照H勺软件和硬件协同设计的措施和特点,即软

硬件设计是并行且交叉的,两者互相支持、互相提供开发的平台。可以设计出整

个系统的构造如图2所示,整个系统重要由排队子系统、'忆务调度系统、业务提

醒系统构成。

排队子系统一►业务调度系统一^►业务提示系统

图2系统构造图

排队子系统同步涉和到客户H勺操作和工作人员的操作,其简朴的工作流程

为:顾客抵达服务大厅后,先到排队发号机上选择自己需要的服务类型,得到自

己的服务序号后,到对应口勺休息位置等待语音呼喊,同步关注LCD液晶屏的显

示,当被叫到自己H勺排队号时,根据语音提醒和LCD屏显示信息到对应窗口办

理业务;工作人员抵达指定H勺窗口后,待准备好服务客户时按下呼喊键开始工作,

每服务完一种客户后就按呼喊键呼喊下一位客户。

2.3软件操作流程

本设计中自动排队叫号软件口勺模拟操作流程如下:

厂一

1、系统初始2、领号者领号3、工作人员叫号4、若等待人数超

化需要领号H勺窗口工作者过限制,系统报

0人只需按下领号

主程序I按下叫号键,告警,领号暂停。

不停扫描按键,若领号成功,知下一位顾客前否则领号、叫号

〈7/

\7、.______________7_______________________________/

图3软件流程框图

3、电路硬件模块设计

系统是一种简朴日勺分布式控制系统,系统硬件由排队子系统模块、工作人员

服务模决、业务调度模块和业务提醒模块等模块构成,考虑到节省系统开发成本

和时间等原因,排队子系统模块和工作人员服务模块均使用按键模拟;业务调度

模块的关键芯片选用价格较低且性能较佳於JSTC89c54单片机;业务提醒模块的

关键芯片选择H勺是ISD4004语音存储控制芯片和LCD1602。

3.1业务调度模块设计

51单片机是对目前所有兼容Intel8031指令系统H勺单片机口勺统称。该系列单

片机的始祖是Intel11^8031单片机,后来伴随Flashrom技术的发展,8031单片

机获得了长足的进展,成为目前应用最广泛的8位单片机之一,其代表型号是

ATMEL企业的AT89系列,它广泛应用于工业测控系统之中。目前诸多企业均

有51系列的兼容机型推出,在目前乃至此后很长的一段时间内将占有大量市场。

51单片机是基础入门的一种单片机,还是应用最广泛的一种。需要注意时是52

系列的单片机一般不具有自编程能力。

要使得单片机可以正常工作,那么就需要时钟电路和复位电路。单片机的时

钟信号用来提供单片机内多种微操作的时间基准,复位操作则使单片机口勺片内电

路初始化,使单片机从一种确定的状态运行。

3.1.1时钟电路

单片机的时钟信号一般用两种电路形式得到:内部振荡方式和外部振荡方

式。在引脚XTALi和XTAL2外接晶体振荡器或陶究谐振器,就构成了内部振荡

方式。由于单片机内部有一种高增益反相放大器,当外接品振后,就构成了自激

振荡器,并产生振荡时钟脉冲。内部振荡方式如图3所示。图中,电容Cl,C2

起稳定振荡频率、迅速起振H勺作用。电容值一般为5〜30pF。内部振荡方式所得

的时钟信号比较稳定,实用电路中使用较多。在本设计中,需要得到稳定的时钟

脉冲,因而我们采用内部振荡方式,其电路图如图3所示。

图4内部振、荡方式

3.1.2复位电路

复位操作完毕单片机片内电路的初始化,使单片机从一种确定H勺状态开始运

行。当单片机的复位引脚出现5ms以上的高电平时,单片机就完毕了复位操作。

假如RST持续为高电平,单片机就处在循环复位状态:而无法执行程序,因此

规定单片机复位后能脱离复位状态。

根据应用的规定,复位操作一般有两种基本形式:上电复位、开关复位。上

电复位规定接通电源后,自动实现复位操作。开关复位规定在电源接通H勺条件下,

在单片机运行期间,假如发生死机,用按钮开关操作使单片机复位。

本设计中,上电且开关复位的电路如图4所示。上电后,由于电容的充电,

使RST持续一段高电平时间。当单片机已在运行之中时,按下复位键也能使RST

持续一段时间的高电平,从而实现上电且开关复位日勺操作。一般选择C=10~30uF,

R=10kQ,本设计中,选择C=10,R=10kQo

图5复位电路

综上所述,单片机的最小系统电路图如图5所示。

图6单片机最小系统

3.2排队子系统模块设计

排队子系统模块是用作客户选择服务类型H勺,按照设计规定,本排队子系统

模块需要实现叫号机支持两类业务:现金业务和非现金业务。因而我们需要设定

两个按键来选择不一样H勺业务在此我使用的是两个按键来辨别不一样H勺业务,其

电路图如图6。其中,当客户按下按键1时,代表其选择的是现金业务,当客户

按下按键2时,代表其选择日勺是非现金'业务。

GO]GO]

图7顾客叫号模块

3.3工作人员服务模块设计

工作人员服务模块是给工作人员进行操作的,当工作人员处理完一次服务

时,按下服务窗口口勺叫号按键,就可以对下一位客户进行服务,设计规定中规定

一共要有5个服务窗口,那么,我们在这里设计5个按键分别代表5个窗口的工

作人员的操作。

3.4业务提醒模块设计

3.4.1LCD液晶屏单元

在本设计中,我选用了LCD1602作为显示模块。

液晶显示屏(LCD)以其具有功耗低,体积小,重量轻,超薄等许多其他显示

屏无法比你H勺长处,而被广泛用于单片机控制H勺智能仪器、仪表和低功耗电子产

品中。LCD1602智能显示模块可以实现两行每行16个字符的显示。该LCD1602

外围电路简朴,程序控制易实现。其中DO〜D7是数据接口,用以接受单片机的

数据,VSS是电源地,VDD是正5V逻辑电源,V0是驱动电源,RS选择输入

的是数据还是命令,R/W选择读写操作,E为使能信号。LCD1602有诸多指令

供使用者调用,可以实现基本H勺显示功能。LCD1602接口电路如图7。

.jpiirniiii^

|-------2------||l*

图8LCD1602显示模块电路

3.4.2语音播放单元

语音播放单元的J关键芯片采用I内是ISD企业H勺ISD4004语音芯片,其工作电

压为3V,单片录放时间为16min,音质好。该芯片采用CMOS技术,内含振荡

器、防混淆滤波器、平滑滤波器、音频放大器、自动静噪和高密度多电平闪烁存

贮陈列,其设计是基于所有操作必须由微控制器控制,操作命令可通过串行通信

接口6口或Microwire)送入。芯片采用多电平直接模拟量存储技术,每个采样值

直接存贮在片内闪烁存贮器中,因此可以非常真实、自然地再现语音、音乐、音

调和效果声,防止了一般固体录音电路因量化和压缩导致的量化噪声和“金属

声”。片内信息存于闪烁存贮器中,可在断电状况下保留123年(经典假),反复

录音10万次。

其电路图根据芯片手册规定设计如图9所示。

图9语音播放单元

3.5电源设计

本系统采用USB的5V供电系统,用外界的稳压器替代了老式制作电源系统

的过程,减少了设计工作量。并且本系统供电电源电压稳定,电路简朴易实现。

本次就不算详细讲述了。

4、整体电路图

C

riovNc

pi.i.10

pi,pn2

ri3rNo3

ri4

fu

r:5w,34

PL6

ri.7rzo

KtSET.•6

r>oT,

AiJ

Pi:王

P3.2m、

”J7

6

PJ5S

Pl64

「3,J

XTAL21

XTALIriI

KO

avss

.1vcc|-------

GND.||-----------------

图10整体电路仿真图

5、系统软件设计

本系统的软件设计重要包括通信协议口勺设定、排队子程序的।设计、服务子程

序的设计、业务提醒子程序设计以和业务调度程序的设计。

5.1通信协议

通信协议(communicalionsprotocol)是指双方实体完毕通信或服务所必须

遵照的规则和约定。协议定义了数据单元使用H勺格式,信息单元应当包括的信息

与含义,连接方式,信息发送和接受口勺时序,从而保证网络中数据顺利地传送到

确定的地方。

常用H勺通信协议有串口通信协议、12c通信协议、SPI通信协议等等。在本

系统中,排队子系统模块和服务子系统模块直接与业务调度模块相连接,不需要

使用通信协议,而业务调度模块与业务提醒了模块之恒使用口勺是SPI通信方式。

SPI,是英语SerialPeripheralinterface的J缩写,顾名思义就是串行外围设备

接口,是一种原则日勺四线同步双向串行总线。SPI是Motorola首先在其

MC68HCXX系列处理器上定义H勺。SPI接口重要应用在EEPROM,FLASH,实

时时钟,AD转换器,尚有数字信号处理器和数字信号解码器之间。SPI是一种

高速啊,全双工,同步时通信总线,并且在芯片的管脚上只占用四根线,节省了

芯片的管脚,同步为PCBH勺布局上节省空间,提供以便,正是出于这种简朴易

用的特性,目前越来越多II勺芯片集成了这种通信协议。

SPI总线系统是一种同步串行外设接口,它可以使MCU与多种外围设备以

串行方式进行通信以互换信息。外围设置.FLASHRAM、网络控制器、LCD显示

驱动器、A/D转换器和MCU等。SPI总线系统可直接与各个厂家生产时多种原

则外围器件直接接口,该接口一般使用4条线:

串行时钟线(SCK)、主机输入/从机输出数据线MISO、主机输出/从机输入

数据线MOSI和低甩平有效欧J从机选择线SS(有的SPI接U芯片带有中断信号线

INT、有的SPI接口芯片没有主机输出/从机输入数据线MOSI)。

SPI的通信原理很简朴,它以主从方式工作,这种模式一般有一种主设备和

一种或多种从设备,需要至少4根线,实际上3根也可以(用于单向传播时,也

就是半双工方式)。也是所有基于SPI的设备共有的),它们是SDI(数据输入),

SDO(数据输出),SCK(时钟),CS(片选)。

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

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

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

CS-从设备使能信号,由主设备控制

其中CS是控制芯片与否被选中的I,也就是说只有片选信号为预先规定时使

能信号时(高电位或低电位),对此芯片的操作才有效。这就容许在同一总线上

连接多种SPI设备成为也许。接下来就负责通讯的3根线了。通讯是通过数据互

换完毕的,这里先要懂得SPI是串行通讯协议,也就是说数据是一位一位的传播

的。这就是SCK时钟线存在H勺原因,由SCK提供时钟脉冲,SDLSDO则基于

此脉冲完毕数据传播。数据输出通过SDO线,数据在时钟上升沿或下降沿时变

化,在紧接着的下降沿或上升沿被读取。完毕一位数据传播,输入也使用同样原

理。这样,在至少8次时钟信号的变化(上沿和下沿为一次),就可以完毕8位

数据的传播。要注意口勺是,SCK信号线只由主设备控制,从设备不能控制信号

线。同样,在一种基于SPI的设备中,至少有一种主控设备。这样传播H勺特点:

这样的传播方式有一种长处,与一般的串行通讯不一样,一般口勺串行通讯一次持

续传送至少8位数据,而SPI容许数据一位一位时传送,甚至容许暂停,由于

SCK时钟线由主控设备控制,当没有时钟跳变时,从设备不采集或传送数据。

也就是说,主设备通过对SCK时钟线的控制可以完毕对通讯口勺控制。

SPI还是一种数据互换协议:由于SPI的数据输入和输出线独立,因此容许

同步完毕数据的输入和输出。不一样的SPI设备的实现方式不尽相似,重要是

数据变化和采集口勺时间不一样,在时钟信号上沿或下沿采集有不一样定义,详细

请参照有关器件H勺文档。

在点对点的J通信中,SPI接口不需要进行寻址操作,且为全双工通信,显得简

朴高效。在多种从设备H勺系统中,每个从设备需要独立的使能信号,硬件上比12c

系统要稍微复杂某些。最终,SPI接口的•种缺陷:没有指定的流控制,没有应

答机制确认与否接受到数据。

5.2业务调度系统程序设计

排队服务主机的软件设计采用模块化措施进行设计,包括了业务调度系统程

序设计、排队子程序设计、服务子程序设计、业务提醒子程序设计等。而由业务

调度系统程序对各个子程序进行管理和协调,业务调度系统设计流程图如图10

所示。

开始

系统初始化

----------------▼

根据客户按键输入将序号编入相对应的排队队列

语音提示子程序部分

___________i__________

LCD液晶显示子程序部分

—4

结束

图11业务调度系统主程序流程到

5.3排队子程序设计

排队子程序重要用于将顾客的排队信息计入到对应队列中。如上所述,客户

在叫号机上可以选择两种服务,分别是现金服务和非现金服务。在这里,我将客

户状态与其所选服务和其排队需要制成一种3维数组

GuestStutas[QueueNum][type][isServed]o当有顾客在叫号机上进行取号操作时,

会将其对应获得H勺序号作为QueueNum的)值,根据其选择H勺是现金服务还是飞

现金服务,分别将type时值设置为。或1,当客户处在等待被服务状态时,isServed

项为。当已经为客户服务后,isServed项为1。

5.4服务子程序设计

服务子程序重要是当服务人员按下按键后的一系列的调度操作。在本系统

中,存在有2中不一样的服务窗口,现金服务窗口和综合服务窗口,现金服务窗

口是只能办理现金业务H勺窗口,综合服务窗口既能办理现金业务又能办理非现金

业务的窗口。当服务员按下操作按键时,根据目前服务窗口的类型,选择对应时

客户到目前窗口进行服务。服务子程序设计流程图如图12。

图12服务子程序设计流程图

5.5业务提醒子程序设计

业务提醒子程序包括LCD液晶提醒和语音提醒两个部分。液晶部分程序设

计较为简朴,语音提醒部分使用的I是ISD4004芯片,其内部共有3840K单元的

Flash存储阵列,共分为2400行,每行1600列,而ISD4004内部具有特殊的信

息寻址机制,即对每行(行首地址)进行寻址,而每行中H勺列不可寻址。这样,

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

开机画面,程序启动。

开始叫号,客户端按键按一下,领号加一!

图15仿真电路c

客户开始到窗口1办理业务。

图16仿真电路d

客户到窗口2办理业务。

图17仿真电路。

记录人数,目前领号人数,等待办理业务人数c

图18仿真电路f

领号人数到达人数上限,停止领号。

仿真H勺成果和我们估计的成果一致。在仿真期间出现过软件自动弹出的原因,后来重启

电脑处理。

7、总结

通过努力,本设计仅是使用单片机完毕了银行叫号系统H勺功能。本文首先

分析了叫号系统发展现实状况,指出了在智能排队系统中采用嵌入式技术口勺优

势,剖析了一般排队叫号系统的业务需求和基本功能,采用软硬件协同设计的措

施,提出了排队叫号系统的整体设计方案。同步本文分别对系统H勺硬件和软件设

计与实现措施进行了阐明,给出了系统基本功能时测试韦施和测试成果以和仿真

成果.总结了本文所做的一作和存在H勺问题,并对下一步系统H勺功能扩展进行了

展望。

此系统采用LCD1602显示,做起来比较简朴,其中只设置了两个处理窗口,

虽然很少,不过根据需要可以经行增长,具有很好的扩展功能。本设计虽不和现

今比较成熟的产品,不过对需求不是很高的人还是可以口勺。从本次设计中,我学

到了诸多,对没有掌握H勺知识均有了一定的理解。

8、参照文献

[1]《新型集成电路的应用一一电子技术基础课程设计》梁宗善主编,华中科技

大学出版社。

[2]《电子技术基础课程设计》孙梅生等编著,高等教育出版社。

[3]《51单片机C语言教程》郭天祥编著,电子工业出版社。

[4]《单片机教程一单片机基础》张迎新编著第二版.2023.8

[5]马忠梅等编著《单片机H勺C语言应用程序设计》(第4)饭)北京航空航天大

学出版社.2023.2

附录C源程序代码

#include<reg52.h>〃C51程序包括的头文献

#defineucharunsignedchar

#defineuintunsignedint

〃如下定义要用到日勺字符串数组

ucharcodetO口二〃Welcome!”;

ucharcodetl口="wp";〃wp意为正在等待的人数

ucharcodet2[]=*YourNo.is";

ucharcodet3[]=*No.cometo”;

ucharcodet33[]=*No.window!”;

ucharcodet4[]=*Queueisfull,";

ucharcodet44口="comelater.";

ucharcodet5口:"Nobodyis”;

ucharcodet55[]『waiting!”;

ucharcodet6[]=*Nowthetotalwp〃;

ucharcodet66[]=*numberis

ucharnum,waiting,count;〃num为所领号码,waiting为正在等待H勺人数

sbitlcden=P27;〃液晶使能端

sbitlcdrw=P2";//“读”或“写”选择端,要置低

sbitlcdrs=P2"6;〃写命令/数据选择端:置0写命令,置1写数据

sbitsO=P3N;//领号键

sbits1=P31;//窗口1的叫号键

sbits2=P32;//窗口2的J叫号键

sbits3=P3c3;〃停止领号键

sbitadd=P3"5;〃记录客流量

sbitbee=Pl5;〃蜂鸣器端口

〃函数申明

voiddelay(uint);〃延时

voiddi();〃蜂鸣

voidwrite_com(uchar);〃向液晶写入命令

voidwrite_data(uchar);〃向液晶写入数据

voidgo(uchar,uchar):〃移动光标

voidshownum(uchar);〃显示数字

voidshowstr(uchar*);〃显示字符串

voidclear();〃清空动态显示

voidinit();〃初始化

voidkeyscanO;〃键盘扫描

〃函数定义

voiddelay(uintn)

uinti,j

for(i=n;i>0;i--)〃不够精确地延时1ms

for(j=110;j>0;j—);

voiddi()

(

bee=0;

delay(100);

bee=l;

voidwrite_com(ucharcom)

lcdrs=0;//选择写命令

lcdrw=0;//“读写”选择写

P0=com;〃液晶输入端接单片机Pl口

lcden=l;〃产生上升沿

delay⑶;

lcden=O;

)

voidwritedata(uchardat)

(

lcdrs=l;〃选择写数据

lcdrw=0;

P0=dat;

lcden=i;

delay(3);

lcden=0;

)

voidgo(ucharx,uchary)

{

if(x==l)

write_com(0x80+y);〃从液晶第一行左端开始写入数据

else

wri(0x80+0x40+y)://从液晶第一行左端开始写入数据

)

voidshownum(uchardat)

ucharcodet口=””;

ucharshi,ge;

shi=dat/10;〃分离十位

ge=dat%10;〃分离个位

if(shi>0)

writedata(0x30+shi);〃显示个位

else

write_data(t[0]);

writedata(0x30+ge);〃显示十位

)

voidshowstr(uchar*t)

(

whi1e(*t)

(

writedata(*t);〃向液晶读入字符串

t++;

)

)

voidclear()

write_com(0x01);〃清空屏幕

go(l,14);〃光标定位到1行14列

showstr(tl);

g。⑵14);〃光标定位到2行15列

shownum(waiting);

)

voidinit()

{

lcden=0;

write_com(0x38);//设置点阵显示、数据接口

write_com(0x0c);〃打开显示,不显示光标

write_com(0x06);〃写一种字符指针加一

write_com(0x01);〃显示清零、数据指针清零

go(l,4);

showstr(tO);

)

voidkeyscan()

uchara:

if(waiting<20)

if(sO==O&&(s1!=0)&&(s2!=0)&&(s3!=0))〃在工作人员操作的按键

未按下的状况下才能领号

delay(5);

if(s0==0&&(s1!二0)&&(s2!二0)&&(s3!=0))〃倩认领号键被按下

while(!sO);〃等待按键释放

di();〃蜂鸣器响一下

clear();

num++;

waiting++;

go(l,0);〃光标定位到1行1列

showstr(t2);

go⑵0);//光标定位到定亍1列

shownum(num);〃显示所领口勺号码

go(2,14);

shownum(waiting);〃显示等待日勺人数

)

)

if(sl==0)

delay(5);〃窗口IF内叫号键被按下

if(sl==O)

(

while(!sl);

di0;

if(waiting==0)〃假如没人在等待

(

writecom(0x01);

go(l,3);

showstr(t5);

go(2,3);

showstr(t55);

)

else

(

clear();

waiting―;

go(L0);

showstr(t3):

go(2,0);

showstr(t33);

god,3);

shownum(num-waiting);

go(2,3);

温馨提示

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

评论

0/150

提交评论