武汉理工大学《通信工程应用技术课程设计》报告.docx

上传人:b****5 文档编号:27813362 上传时间:2023-07-05 格式:DOCX 页数:29 大小:25.11KB
下载 相关 举报
武汉理工大学《通信工程应用技术课程设计》报告.docx_第1页
第1页 / 共29页
武汉理工大学《通信工程应用技术课程设计》报告.docx_第2页
第2页 / 共29页
武汉理工大学《通信工程应用技术课程设计》报告.docx_第3页
第3页 / 共29页
武汉理工大学《通信工程应用技术课程设计》报告.docx_第4页
第4页 / 共29页
武汉理工大学《通信工程应用技术课程设计》报告.docx_第5页
第5页 / 共29页
点击查看更多>>
下载资源
资源描述

武汉理工大学《通信工程应用技术课程设计》报告.docx

《武汉理工大学《通信工程应用技术课程设计》报告.docx》由会员分享,可在线阅读,更多相关《武汉理工大学《通信工程应用技术课程设计》报告.docx(29页珍藏版)》请在冰豆网上搜索。

武汉理工大学《通信工程应用技术课程设计》报告.docx

武汉理工大学《通信工程应用技术课程设计》报告

资料范本

 

本资料为word版本,可以直接编辑和打印,感谢您的下载

 

武汉理工大学《通信工程应用技术课程设计》报告

 

地点:

__________________

时间:

__________________

 

说明:

本资料适用于约定双方经过谈判,协商而共同承认,共同遵守的责任与义务,仅供参考,文档可直接下载或修改,不需要的部分可直接删除,使用时请详细阅读内容

智能排队系统

摘要

随着现代技术的不断发展特别是计算机技术的应用,使排队技术的发展也突飞猛进。

智能排队机或称智能排队系统是一种综合运用计算机技术、网络技术、多媒体技术、通讯控制技术的高新技术产品。

它完全模拟了人群排队过程,通过取号、进队、排队等待、叫号服务等功能,取代各类服务性窗口传统的由顾客站立排队的方式,实现了计算机系统代替客户进行排队的过程。

适用于各类窗口服务行业,目前在国外已经广泛应用于金融、医院、电信、以及各级政府对外服务窗口等行业。

银行自动叫号系统就是电子排队管理统的一种,是针对银行服务窗口的特点而设计的。

这里以ATMEL公司的AT89C52单片机为核心,设计了一个简单的把客户与服务机构相结合的排队叫号系统。

模拟排队叫号管理,科学地处理各种排队情况,操作简便,控制灵活,显示清晰,制作成本低,性价比较高。

关键词:

排队技术智能排队系统银行排队叫号系统AT89C52

Abstract

Withthedevelopmentofmoderntechnology,especiallytheapplicationofcomputertechnology,thequeuingtechnologyalsodevelopsbyleapsandbounds.IntelligentAutomaticCallDistributororintelligentqueuingsystemisakindofhighandnewtechnologyproductsofthecomprehensiveuseofcomputertechnology,networktechnology,multimediatechnologyandcommunicationcontroltechnology.Itcompletelysimulatesthecrowdqueueprocess.Throughthefunctionsoftakingnumber,intotheteam,waitingforthequeue,callingthenumberandsoon,itreplacesallkindsofservicewindowofthetraditionalwaybythecustomertostandinline,andrealizingthecomputersysteminsteadoftheprocessofthecustomerslineup.itissuitableforallkindsofwindowserviceindustry,andatpresentithasbeenwidelyusedinforeignfinancial,hospital,telecommunications,andgovernment'sforeignservicewindowatalllevels,etc.Bankautomaticstationsystemiselectronicqueuingmanagementsystemwhichisdesignedaccordingtothecharacteristicsofthebankservicewindow.HeretakingATMELcompany'sAT89C52single-chipmicrocomputerasthecore,idesignasimplecallingthenumbersystemwhichcombinethecustomerswiththefacilitatingagency.Itsimulatesthequeuestationmanagementandscientificlyprocessesallkindsofqueuingsituation.Itissimpletooperate,smarttocontrol,andthedisplayisclear,andtheproductionisoflowcost,highcostperformance.

Keywords:

queuingtechnologyIntelligentAutomaticCallDistributorBankqueuingstationsystemAT89C52

1设计目的与任务要求

1.1设计目的

通过课程设计,使学生加强对电子电路的理解,学会对电路分析计算以及设计。

进一步提高分析解决实际问题的能力,通过完成综合设计型和创新性实验及训练,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决电子电路问题的实际本领,实现由课本知识向实际能力的转化。

1.2设计任务

银行叫号调度系统:

1.银行门口有一个叫号机,在客户操作下可打印出一个顺序号;客户按照顺序号依次到银行窗口办理业务;

2.叫号机支持两类业务:

现金业务和非现金业务。

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

3.非现金业务优先级高,综合业务窗口只有在没有非现金业务情况下,才能办理现金业务;

4.银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统安排其下一个办理业务的顺序号;顺序号在窗口前的LED屏上显示的同时进行语音播音,提示客户前来办理业务;设计一个叫号调度系统,实现对办理银行业务的排队和调度。

1.3设计要求

1.制定出业务调度控制规则;

2.进行系统总体设计,画出系统构成框架图;

3.进行银行业务前端排队子系统的详细设计;

4.进行银行业务调度系统的详细设计;

5.进行业务提示子系统(LED屏显示、语音提示)的详细设计;

5.设计调度系统与排队子系统、提示子系统的通信方式和通信协议;

6.总结整个系统的设计,形成文档,作为课程设计的结果提交。

7.鼓励进行完整的理论设计-编程-仿真过程。

2方案设计

由于在上课过程中接触到了单片机的有关知识,对单片机的使用及编程都比较熟悉,而嵌入式ARM板没有接触过,因此不太熟悉它的原理及使用,因此本次课程设计采用单片机来实现,即用AT89C52单片机作为整个系统的控制核心,分别设计叫号电路、取号电路、显示电路及声音提示等外围电路与单片机的对应引脚相连接,然后编写程序下载到单片机中通过单片机来控制外围电路的功能,从而实现整个系统的功能仿真

本次课程设计以单片机AT89C52为主体的模拟仿真系统。

叫号部分和业务处理部分选择键盘电路模式,显示部分选择LM016L液晶显示模块。

3基本原理

3.1键盘电路基本原理

键盘分编码键盘和非编码键盘,键盘上闭合键的识别由专用的硬件编码器实现,并产生按键编码号或键值的称为编码键盘,如计算机键盘。

而靠软件编程来识别的称为非编码键盘,在单片机组成的各种系统中,用的最多的是非编码键盘。

非编码键盘又分为矩阵键盘和独立键盘,分别如图3.1(a)(b)所示。

图3.1(a)矩阵键盘图3.1(b)独立键盘

键盘扫描原理:

在这种非编码键盘的单片机系统中,键盘处理程序首先执行有无按键按下的程序段,当确认有按键按下后,下一步就要识别哪一个按键被按下,对键的识别常采用逐行(逐列)扫描的方法。

首先判断有无按键按下。

方法是:

向行线输出全扫描字00H,把全部行线置为低电平,然后将列线的电平状态读入到累加器A中,如果有按键按下,会使列线电平被拉至低电平,是列输入不全为1。

判断键盘哪一个键被按下。

方法是:

一次给行线送低电平,然后查所有列线状态,称为行扫描,如果全为1,则所按下键不在此行,如果不全为1,则所按下键必在此行,而且是在与零电平列线相交的交点上的那个键。

在此,按键的位置码并不等于按键的实际定义键值,因此还必须进行转换,即键值译码。

在本次课程设计中,由于只需采用两个取号键盘和五个服务窗口键盘,所以我采用了独立键盘来实现,在程序中直接对连接键盘的单片机引脚进行扫描,若引脚为0且延时去抖动之后仍为低电平则说明该键盘按下了。

3.2ATC89C52基本原理

单片机ATC89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

晶振采用12MHZ。

其芯片管脚图如图3.2所示。

图3.2ATC89C52单片机

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口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。

在FLASH编程和校验时,P1口作为第八位地址接收。

P2口:

P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写1时,其管脚被内部上拉电阻拉高,且作为输入。

并因此作为输入时,P2口的管脚被外部拉低,将输出电流。

这是由于内部上拉的缘故。

P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。

在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。

P2口在FLASH编程和校验时接收高八位地址信号和控制信号。

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(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:

复位输入。

当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。

ALE/PROG:

当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。

在FLASH编程期间,此引脚用于输入编程脉冲。

在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。

因此它可用作对外部输出的脉冲或用于定时目的。

然而要注意的是:

每当用作外部数据存储器时,将跳过一个ALE脉冲。

如想禁止ALE的输出可在SFR8EH地址上置0。

此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。

另外,该引脚被略微拉高。

如果微处理器在外部执行状态ALE禁止,置位无效。

PSEN:

外部程序存储器的选通信号。

在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。

但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

EA/VPP:

当/EA保持低电平时,则在此期间外部程序存储(0000H-FFFFH),不管是否有内部程序存储器。

注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。

在FLASH编程期间,此引脚也用于施加12V编程电源。

3.3LCD液晶显示基本原理

3.3.1LM061L液晶模块

LM016L液晶模块采用HD44780控制器,hd44780具有简单而功能较强的指令集,可以实现字符移动,闪烁等功能,LM016L与单片机MCU通讯可采用8位或4位并行传输两种方式,hd44780控制器由两个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和CGRAM的地址,如果地址码随指令写入IR,则IR自动把地址码装入AC,同时选择DDRAM或CGRAM,LM016L液晶模块如图3.3.1-1所示,其引脚功能如表3.3.1-1所示:

图3.3.1-1LM016L液晶

表3.3.1-1LM016L液晶引脚功能

LM016L液晶模块内部的控制器共有11条控制指令,如表3.3.2-1所示:

表3.3.2-1控制命令表

3.3.2LM016L的指令说明及时序

LM016L液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。

(说明:

1为高电平、0为低电平)

指令1:

清显示,指令码01H,光标复位到地址00H位置。

指令2:

光标复位,光标返回到地址00H。

指令3:

光标和显示模式设置I/D:

光标移动方向,高电平右移,低电平左移S:

屏幕上所有文字是否左移或者右移。

高电平表示有效,低电平则无效。

指令4:

显示开关控制。

D:

控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:

控制光标的开与关,高电平表示有光标,低电平表示无光标B:

控制光标是否闪烁,高电平闪烁,低电平不闪烁。

指令5:

光标或显示移位S/C:

高电平时移动显示的文字,低电平时移动光标。

指令6:

功能设置命令DL:

高电平时为4位总线,低电平时为8位总线N:

低电平时为单行显示,高电平时双行显示F:

低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符。

指令7:

字符发生器RAM地址设置。

指令8:

DDRAM地址设置。

指令9:

读忙信号和光标地址BF:

为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:

写数据。

指令11:

读数据。

与HD44780相兼容的芯片时序表如表3.3.2-2:

表3.3.2-2基本操作时序表

4系统设计

4.1业务调度控制规则设计

由于本次课设要求是叫号机支持两类业务:

现金业务和非现金业务。

办理现金业务的窗口有3个,办理非现金业务的窗口有2个,称为综合窗口;现金业务窗口只能办理现金业务,而综合业务窗口可以办理现金业务和非现金业务;非现金业务优先级高,综合业务窗口只有在没有非现金业务情况下,才能办理现金业务;银行工作人员在办理了一个客户业务后,按一个呼叫按钮,由系统安排其下一个办理业务的顺序号;顺序号在窗口前的LED屏上显示的同时进行语音播音,提示客户前来办理业务。

因此,本次我设计的银行叫号系统其业务调度规则如下:

银行设置两个取号机,分别是现金业务取号机和非现金业务取号机,顾客根据自身办理业务来选择对应叫取号机打印自己的号码;银行共设置五个叫号机,其中2个非现金业务叫号机和3个现金业务叫号机来分别对应5个服务窗口;现金业务窗口只能处理现金业务;非现金业务窗口能处理两种业务,但若有非现金业务,非现金业务窗口优先处理非现金业务,完成后才处理现金业务。

非现金业务和现金业务待处理的堆积量分别均为20人,以免引起取号过多等待服务的人数过多导致超负荷服务。

4.2前端排队子系统设计

前端排队子系统我主要是靠2个按键来模拟两个取号机,以LM016L液晶显示来模拟打印机显示客户的号码,然后通过程序来控制顾客取号排队的过程。

其电路图如图4.2-1所示,取号排队流程图如图4.2-2所示。

图4.2-1取号排队电路图

图4.2-2排队取号流程图

4.3银行业务调度系统设计

银行业务调度系统主要实现的就是对顾客业务的处理,5个处理窗口共分为2个非现金业务和3个现金业务的处理窗口,在仿真中我采用了5个按键来模拟着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声音提示电路

实际银行排队叫号系统中,当服务窗口可以服务时,会有广播播报对应的“请某某号顾客到某某号窗口”的提示音,但是由于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-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-6显示,说明现金和非现金业务共同取号正常。

图5-6综合取号

然后,我按下非现金业务处理窗口1,结果显示如图5-7,同时蜂鸣器发声,说明非现金业务的优先级在现金业务之前。

图5-6非现金业务的优先权

然后,我再次按下非现金业务处理窗口1,结果显示如图5-7,同时蜂鸣器发声,说明非现金业务处理窗口在处理完非现金业务之后也能处理现金业务。

图5-7非现金业务窗口处理现金业务

然后,我将现金业务和非现金业务取号窗口各按21次,其显示均如图5-8所示,说明非现金业务和现金业务都能限制待处理人数在20人以内。

图5-8排队队列已满

综上所述,所设计的银行排队叫号系统能够正确实现所需的功能,性能优良。

6心得体会

通过这几天的单片机的课设设计,我在理论的基础上更深刻的掌握了单片机的深层内容及实际生活中的应用,实训锻炼了自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。

这些问题的发现将为我以后的学习和工作找明道路,查漏补缺为进一步学习作好准备。

通过实训,让我更熟悉掌握了KeiluVision3,ProteusISIS,Protel99SE这些应用程序的运用,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,这几天我经过同学的耐心的讲解和指导通过自己认真的动手操作,终于将一个完整的能完成实习要求的单片机原理图制作出来了。

但在实训中间暴露出很多问题:

对平时上课讲的理论知识没有完全掌握消化,到了实际操作中还得请教老师和同学,在编程和画图的时候不能持之以恒,怕麻烦和容易否定自己。

这些问题的发现,有助于提高我在以后的工作和学习中对此类问题的认识,确保不在同一问题上再次犯错。

严谨求实、踏实务实,是我这次实训的深刻总结。

参考文献:

[1]谢自美.电子线路设计·实验·测试(第三版).武汉:

华中科技大学出版社

[2]李群芳.单片微型计算机与接口技术(第3版).电子工业出版社,2008

[3]刘教瑜.单片机原理及应用.武汉理工大学出版社,2011

[4]张东亮.单片机原理与应用.人民邮电出版社,2009

[5]郭天祥.51单片机C语言教程——入门、提高、开发、拓展全攻略.电子工业出版社,2009

[6]章工荣.计算机高级应用.高等教育出版社,2004

[7]李文成.计算机程序设计基础.科学出版社,2007

[8]张锦程.C语言高级程序设计及其讲解.机械工业出版社,2000

附录:

源程序

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitrs=P3^4;

sbite=P3^5;

sbitrs2=P3^2;

sbite2=P3^3;

sbitkey1=P1^0;//非现金业务取号

sbitkey2=P1^1;

sbitkey3=P1^2;

sbitsounder=P3^7;

sbitkey4=P1^3;

sbitkey5=P1^4;

sbitkey6=P1^5;

sbitkey7=P1^6;//现金业务取号

ucharprompt1[]="YourNo.is00!

";

ucharprompt2[]="No.00GoToWin.0";

ucharprompt3[]="Queueisfull";

ucharprompt4[]="Queueisempty!

";

ucharprompt5[]="Welcome!

";

staticuintnum_count=0;//现金业务排队取的号码

staticuintidatarank_number[20]={0};//排队叫号存储的数组

staticuintnum=0;//窗口消的现金号码

staticintRankFlag=0;//现金取号的标志

staticintClearNumFlag=0;//消号的标志

staticuintLengthFlag=0;//现金业务队列长度取一次号时+1,消一次号时-1

staticuintidatarank_number

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1