




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕业设计说明书(论文)中文摘要近年来,随着我国社会经济的持续快速发展,资金流动加快,服务行业的不断增加,加之我国政府正在努力构建和谐社会、服务型政府,大量的用户越来越频繁的光顾金融系统、电信、医疗、政府办事大厅等服务部门,时代的发展给这些服务型行业提出新的服务理念,也给这些行业和部门带来了巨大的压力。伴随着经济全球化的大浪潮,各行各业之间的竞争逐渐加剧、每个服务行业业务量在不断增长,业务种类也日益增多,排队等候已成为人们经常面临的实际问题。在银行、医院、电信、税务、工商等营业大厅里,前拥后挤、杂乱无章的排队等候,己是司空见惯的现象,很多窗口也因而秩序混乱,为保护用户隐私而设置的“l米线”也形同虚设。一方面客户因为长时间的站立排队透支体力和精力而疲惫不堪,另一方面工作人员也为长时间遭受众多客户的围绕而不胜其烦,影响了服务质量。因此,改善服务质量、树立良好的企业形象,解决客户劳累的排队现象、创造人性化务环境已成为急需解决的问题。我国人口众多 ,办事排队一直是一个令人头痛的问题. 现今 ,随着服务行业业务种类的细化和增加 ,服务内容和工作量加大 ,这个问题变得尤为突出. 嘈杂、无序、不公平、不合理、低效等一直是排队中困扰顾客和服务人员的问题. 电子排队管理系统很好地解决了这些问题 ,可以广泛地应用于银行、 医院等窗口服务单位. 银行自动叫号系统就是电子排队管理统的一种 ,是针对银行服务窗口的特点而设计的.这里以ATMEL 公司的AT89C52单片机为核心, 设计了一个简单的把客户与服务机构相结合的主从机排队叫号系统。模拟排队叫号管理,科学地处理各种排队情况,操作简便,控制灵活,显示清晰,制作成本低,性价比较高。关键字 效率 单片机(AT89C52) 自动取号叫号目 录1绪论11.1课题来源11.2国内外现状及其水平11.3课题研究内容21.4课题研究的目的以及意义32总体方案论证与设计33 银行自动取号叫号系统硬件设计53.1单片机(CPU)电路设计53.1.1AT89S52单片机53.1.2AT89S52单片机最小系统61、时钟电路72、复位电路83.3显示电路(LED)设计93.3.1LED数码管93.3.2显示电路103.4叫号模块电路设计113.4.1叫号电路113.4.2工作原理114 系统软件设计124.1主程序设计124.2子程序设计134.2.1显示子程序134.2.2按键检测判断子程序144.2.3叫号子程序175 系统软硬件调试195.1目测195.2硬件调试195.3 软件的调试195.4 注意事项20结束语21参考文献22致谢23附录一 源程序24附录二 原理图371绪论1.1课题来源随着科技不断的进步,经济不断的发展,经济全球化的趋势下各个行业欣欣向荣蓬勃向上迎来了前所未有的发展契机。服务行业在此潮流下显得也越来越贴近我们的日常生活。服务业在赢得新的发展契机的同时也面临着不小的挑战。银行、医院、电信、税务、工商等营业大厅里,排队难一度成为各个服务行业最头疼的问题。长时间的站立排队使用户疲惫和厌烦,用户渴望尊重隐私,期望“个性化服务”,只排一个队,只接受“一对一服务”。对服务部门来讲,如何处理和解决这一问题显得尤为的重要,因为这不仅是设计服务的质量而且还会一定程度上决定了企业的整体的形象,乃至会影响整个企业在发展大潮中的竞争力生死存亡。而排队机的出现可以说给那些一直以来被排队问题困扰的服务行业带来了希望。排队机的使用是提高服务质量,提升服务形象,吸引顾客的有利措施。随着信息技术的突飞猛进,智能排队管理系统应运而生。智能排队管理系统是一种综合运用计算机技术、网络技术、多媒体技术、通信控制技术等的高新技术产品,此系统完全模拟人群的排队过程,实现了计算机系统代替客户进行排队的过程曰。使用排队系统后,用户在票号机上取票后,在休息区舒适地等待,听到呼叫后才去对应的窗口办理事务,服务人员面对一个安静的环境,面对一个客户,可以专心办理业务,提高了工作效率。随着技术的日趋成熟,智能排队机已经在各个银行、医院、电信、税务、工商等营大厅里得到了应用,也相对比较普及了。也同时越来越来成为我们日常生活不可或缺的一部分。智能排队机在提高了服务质量的同时,整个服务业的整体形象也随之提升,整个服务行业乃至整个社会也呈现出来井然有序,和谐的氛围。本课题主要是针对银行这一与现代生活息息相关的服务行业的排队叫号系统进行深入的研究与探索。1.2国内外现状及其水平排队技术的应用是体现了科技以人为本的需要,是全社会文明发展的产物,也是人类文明发展的必然趋势。排队技术最早出现在欧美等西方国家,开始的排队系统仅限于工作人员的人工呼叫,随着现代技术的不断发展特别是计算机技术的应用,使排队技术的发展也突飞猛进,目前己具备多种功能如乐音提示、语音合成呼叫(voice一calling);呼叫终端(operation terminal);以柜台显示(counter display)和综合显示(Main Display)为主的各种数码管显示、LCD显示、LED显示、PDP显示;号码发放也由取号机自动打印(Ticket Dispenser)到触摸屏查询取号、按键取号、特殊识别取号等等。排队技术产品的出现彻底改变了以前许多需要长时间排队场所的无序模式,也被越来越多的行业所采用,以提高管理水平和自身竞争力。在我国,排队产品概念的引进时间也不长,大批国人走出国门,将很多优秀和先进的服务方法、理念带回国内。“排队技术”也随之被引进国内,并在我国特有的高速经济发展的环境里得到迅速的普及和应用。客户对排队系统的使用也逐渐习惯,并乐于接受131。我国的排队技术产品也经由1998年-2001年的起步期、2001-2003年的发展期、到现阶段的高速发展期,市场也逐渐成熟,逐渐生产出多种适应我国国清的排队系统产品,并具有应用领域广、工作流程复杂、综合技术要求高的等特点。随着计算机技术与通信技术、电子技术等飞速发展,智能排队系统的功能与结构也日益完善和丰富。目前,市场上的智能排队系统除了已经实现最基本的功能,如自动根据客户选择的服务类型打印票号、通过计算机自动分流排队、呼叫与保留重呼等,还发展了许多增值功能,同时具有延伸和扩展功能,其服务功能也由单纯的优化服务环境和客户秩序管理,渐渐渗透到使用者的服务系统管理之中,成为使用机构行之有效的辅助管理与服务手段,比如可与相关的行业软件及数据库连接,便于对各个窗口服务情况进行统计管理。在排队系统的组网形式方面,随着计算机技术与通信技术的飞速发展,智能排队管理系统己在有线方式的基础_L发展到了无线排队系统,无线方式较之有线方式具有不受环境影响、安装调试方便、系统稳定可靠等优点,缺点是成本较高。我国是一个人口大国,随着经济发展速度的加快,大量的用户越来越多的光顾金融、电信、医疗、政府办事大厅等场所,使得窗口服务的快捷和舒适越来越被人们所重视。随着精神文明与物质文明的进一步提高,电子排队技术必将为更多的用户所接受,并由日常工作中的辅助设备逐渐成为必备的设施之一,人们期待低成本、功能完善、可靠性高的排队管理系统来使工作和生活变得轻松、和谐。1.3课题研究内容本设计的主要任务是分别利用客户端使用取号机进行排队,服务机构使用一个叫号来管理取号机的排队信息。能按显示出排队的顺序;分别有2个办理业务的窗口;按键控制芯片显示叫到的人排队号码,并配有蜂鸣器发出声音加以提示;在服务机构端可按键显示剩余排队人数等信息。(1) 设计任务主要利用单片机AT89C52芯片和七段显示数码管显示器,来完成一个取号机和叫号机分别管理排队和叫号的系统。具体要求如下: 叫号机:通过按键来完成叫号的窗口,由数码管显示下一个客户的编号,发出蜂鸣声“叮咚”用于提示客户,并可在另外一个显示模块显示排队剩余人数。 取号机:通过按键依次加1完成取号,由数码管显示当前客户在排队中的位置。(2)设计要求采用按键来对显示器和蜂鸣器的控制;完成取号、叫号功能,同时叫号按键外接有源蜂鸣器实现提示客户的作用1.4课题研究的目的以及意义对于本课题的研究应该是对于三年大学专业知识一个总结也是综合能力的一种体现,对自己各个方面的知识进行全面的检测和评定。在现有专业知识和处理问题能力的基础上使理论能够和更好的切合实际,使能够让我在所学的课程(此课题涉及的课程指:微型计算机原理及接口技术课程、单片机课程)的基础上实现对实际问题的分析、研究的能力和具有初步解决此类问题的能力。此次课题研究也为我提供了一次非常难得的机会来巩固自己自己的专业知识,通过自己的努力去独立完成一项课题研究的任务。希望通过本课题的研究与学习,能够发现自己的不足之处并能够及时的弥补,从而丰富完善自己的知识体系,能够对现代生活中的智能化过程控制技术有着进一步的了解和熟悉,积累实践中的经验并为今后从事工业控制领域的相关工作提供帮助。由于当今经济快速的发展,加之各行各业的信息化、智能化建设越来越普及,快节奏的发展使得整个社会对各个行业的办事效率的要求越来越高,尤其是服务性行业,既要满足被服务人的种种服务需求,又要提高行业服务的质量,提高服务的效率,例如医院门诊、银行业务等。随着生活质量的不断提高,人们对服务机构的要求不仅仅停留在满足业务上的需要上,而且还要求尽量减少人们的等待时间,而服务机构本身由于竞争的需要,也要求提高其办事效率和服务的形象。而这些窗口服务的排队现象在所难免,为了在排队时减少办事人的办事时间,为人们创造一个良好的环境,排队系统应运而生。2总体方案论证与设计本设计包括硬件和软件设计两个部分。模块划分为取号模块、服务台模块、数码管显示模块、叫号模块。电路结构可划分为:单片机控制电路、七段显示数码管显示电路及叫号电路组成。用户终端完成信息输入、处理、数据传送、功能设定等功能。就此设计的核心模块来说,单片机就是设计的中心单元,所以此系统也是单片机应用系统的一种应用。单片机应用系统也是有硬件和软件组成。硬件包括单片机、输入/输出设备、以及外围应用电路等组成的系统,软件是各种工作程序的总称。单片机应用系统的研制过程包括总体设计、硬件设计、软件设计等几个阶段。从设计的要求来分析该设计须包含如下结构:最小系统电路、取号模块、单片机、复位电路及相关的显示叫号软件组成;它们之间的构成框图如图总体设计框图所示:显示模块(七段显示数码管)蜂鸣器输出 P0口AT89C52 单片机P1口 P2口最小系统取号按键输入叫号按键输入构成框架图图2-1总框架 方案比较排队技术在国内外都已经达到相当智能的水平。智能排队叫号系统有我了解的基本三种方案:都是基于ATMEL 公司生产51系列单片机芯片,第一种是基于AT89C52单片机为核心由主从机的按键控制、数码显示和蜂鸣器提示音综合设计;第二种是基于 AT89C52单片机为核心通过STC89C52单片机直接扩展的独立键盘,完成排队取号流程(本系统取号、叫号都是直接利用系统的中断0按键控制),单片机控制数码管显示排队等待情况,控制蜂鸣器发声完成叫号功能。方案一系统运用串行通信原理通过按键给计数器脉冲,达到计数+1和销号-1的功能,并通过译码器驱动数码管显示,完成取号、叫号功能,同时叫号按键外接有源蜂鸣器实现提示客户的作用。在选用我们常用单片机芯片AT89C51和数码显示管,运用较简单的延时和循环,这样设计可以使客户的视觉和听觉都得到相应的信息提示。方案二系统通过STC89C52单片机直接扩展的独立键盘,完成排队取号流程(本系统取号、叫号都是直接利用系统的中断0按键控制),单片机控制数码管显示排队等待情况,控制蜂鸣器发声完成叫号功能。系统采用STC89C52单片机完成整个系统的控制流程。从机通过单片机的中断0按键,当系统检测到按下时完成取号功能。主机同样通过单片机的中断0按键,当系统检测到按下时完成叫号功能。运用的芯片和程序相对较为复杂,不易实现。方案三系统采用通过按键给计数器脉冲,并通过译码器驱动数码管显示,完成取号、叫号功能,同时叫号按键外接有源蜂鸣器实现提示客户的作用。方案一通过综合使用计数器、译码器、数码管为一体的数码显示管。可以较好的实现排队叫号的基本功能,而且在客户端和服务机构两方面都能很方便的使用和控制,利用串行通信原理,由简单的51单片机芯片实现,达到复杂问题简单化的目的,是设计理论的趋势;方案二的电路设计相对而言复杂,可操作性不强,故不采用;方案三通过综合使用计数器、译码器,数码管,可以较好的实现排队叫号的基本功能,但需要较多的硬件电路,实现复杂。综合各条件从简单实现考虑,我选择方案一。3 银行自动取号叫号系统硬件设计3.1单片机(CPU)电路设计3.1.1 AT89S52单片机单片机即单片微型计算机,是将计算机主机(CPU、内存和I/O接口)集成在一小块硅片上的微型机。一片AT89S52单片机芯片内包含一个8位CPU、振荡器和时钟电路、至少128字节的内部数据存储器,可寻址外部程序存储器和数据存储器个64k字节,21个特殊功能寄存器,4个并行I/O接口,2个16位定时/计数器,至少5个中断源,提供两级中断优先级,可实现两级中断服务程序嵌套。具有有位寻址功能,有较强的布尔处理能力。各功能单元(包括IO端口和定时器/计数器等)都由特殊功能寄存器(SFR)集中管理。AT89S52单片机内部结构框图如图3-1所示。图3-1单片机内部结构图3.1.2 AT89S52单片机最小系统图3-2单片机最小系统图3-2是本次设计的主体电路图,它的主体是基本的AT89S52单片机,外部的晶振电路,和复位键电路,构成了一个总的系统的关于单片机的核心主体部分。1、时钟电路图3-3时钟电路XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-24MHz内选择。电容取30PF左右。系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。AT89单片机内部有一个用于构成振荡器的高增益反相放大器。引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22F。在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。2、复位电路图3-4复位电路在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,52芯片便循环复位。复位后P0P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。复位是由外部的复位电路来实现的。片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。当时钟频率选用6MHz时,C取22F,Rs约为200,Rk约为1K。复位操作不会对内部RAM有所影响。3.2取号按键和服务台按键 图3-5按键电路上拉电阻与下拉电阻的作用上拉电阻就是把不确定的信号通过一个电阻钳位在高电平,此电阻还起到限流的作用。同理,下拉电阻是把不确定的信号钳位在低电平。上拉电阻是指器件的输入电流,而下拉指的是输出电流。上拉电阻阻值的选择原则包括: 1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。 2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。3、对于高速电路,过大的上拉电阻可能边沿变平缓。按键的消抖消抖的目的在于防止按键一次按下,多次响应,因此只要按键按下,在抖动前或者抖动稳定后返回键值是一样的效果,而要做的是防止多次响应即可。因为只要抖动电平出现,即表明按键已经按下了,干扰是无法干扰到出现抖动的波形。3.3显示电路(LED)设计3.3.1 LED数码管LED数码管(LED Segment Displays)是由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。LED数码管常用段数一般为7段有的另加一个小数点,还有一种是类似于3位“+1”型。位数有半位,1,2,3,4,5,6,8,10位等等.,LED数码管根据LED的接法不同分为共阴和共阳两类,了解LED的这些特性,对编程是很重要的,因为不同类型的数码管,除了它们的硬件电路有差异外,编程方法也是不同的。透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位元数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O埠,而且功耗更低。3.3.2显示电路图3-6显示电路本次设计的显示部分采用三合一的数码显示管,显示采用动态扫描方式,显示器件选用共阳极数码管,它们的段码端连在一起后通过电阻与单片机的P0 口相连,由P0 口输出要显示的内容,其中电阻R1R8 起限制电流的保护作用。P2. 1P2. 3 通过三极管分别与数码管的公共端相连,用来决定当前哪一个数码管显示。三极管是用来增强单片机I/ O 口输出的驱动能力,以保证数码管能够正常发光显示部分和常规的动态显示完全相同,单片机的P2. 1P2. 3 作为位选控制端,且低电平有效。这样,就会以某一时间间隔在P2. 1P2. 3 上循环输出,使某一位为低电平,其余为高电平,保证在P2. 1P2. 3 口上,同时只有一位为电平。如此在很短的时间内不断地输出显示,是的显示电路将单片机的处理结果实时的显示出来。3.4叫号模块电路设计3.4.1叫号电路图3-7叫号电路图3-7是本设计的报警电路原理图,它是由5V电源驱动的蜂鸣器电路,蜂鸣器的一端接电源,一端接一个三极管增大流过蜂鸣器的电流。3.4.2工作原理蜂鸣器与家用电器上面的喇叭在用法上也有相似的地方,通常工作电流比较大,电路上的TTL电平基本上驱动不了蜂鸣器,需要增加一个电流放大的电路才可以,这一点与家用电器中的功放有相似之处。学习板采用了一个很简单的电路来实现蜂鸣器的联接,由上所述,一个管脚很难驱动蜂鸣器发出声音,所以增加了一个三极管来增加通过蜂鸣器的电流,蜂鸣器的正极性的一端联接到5V电源上面,另一端联接到三极管的集电极,三极管的基级由。单片机的P1.5管脚通过一个与非门来控制,当P1.5管脚为低时,与非门输出高电平,三极管导通,这样蜂鸣器的电流形成回路,发出声音。当P1.5管脚为高时,与非门输出低电平,三极管截止,蜂鸣器不发出声音。在这里与非门是作为非门来用的,这里采用一个非门的作用是为了防止系统上电时峰鸣器发出声音,以为系统复位以后,I/O口输出的是高电平。用户可以通过程序控制P1.5管脚的置低和置高来使蜂鸣器发出声音和关闭。蜂鸣器的声音大小及音调可以通过调整P1.5管脚的置高时间及输出的波形进行控制,这一点可以在调试程序的时候来试验。4 系统软件设计4.1主程序设计Y 开始系统初始化服务台按键取号按键蜂鸣器检测是否有信号1秒后停止单片机加减计数器显示模块显示等待人数单片机移位指令显示模块显示正在服务的客户号码检测是否有信号 结束NYN本系统的软件系统主要可分为取号模块、加减计数程序、叫号模块、显示四大模块。下面对部分模块作介绍。 图4-1总设计图总的程序流程。系统初始化后,单片机在进行高速检测状态。当单片机检测到任何的按键动作的时候,单片机加减计数模块就会有相应的动作。从而编号也会增加,等待人数和正在服务的编号也会有相应的改变。4.2子程序设计4.2.1显示子程序开始时初始化,然后查询显示段码送入段口,再取位椌码送入位口并对位码进行修正,数字在LED显示管中显示出来,最后判断是否显示出来,如果显示出来怎返回主程序,否则怎返回子程序重新开始。初始化返回查脉冲口取位椌码,送位口位码修正显示完否YN图4-2显示流程图系统初始化过后,通过单片机中断按钮,当系统检测到按下时完成相应的功能。当检测到取号按钮动作的时候,单片机进行加一处理。在单片机没有检测到下次取号机动作的时候。显示等待人数的显示模块进行加一处理。而显示正在服务的人数的显示模块将不动作。当单片机检测到服务台按键按下的时候,等待人数显示模块进行减一处理。显示正在服务的显示模块进行数据移位的处理。显示模块七段显示数码管动态显示程序#include #define uchar unsigned char; uchar code CODE=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /数字段码;变量名CODE uchar code BIT_TAB=0xFE,0xFD,0xFB,0xF7; /数码管片选 uchar code DATA=1,2,3,4; /要显示的数字 uchar disp_temp; /要显示的位变量 Display() for(disp_temp=0;disp_temp+) P1=CODEDATAdisp_temp;/P1为段码扫描, P0=BIT_TABdisp_temp; /P0.0-P0.3为片选 if(disp_temp=3) disp_temp=0; main()Display();4.2.2按键检测判断子程序开始时初始化,判断是否有按键动作,没有按键动保持显示,如果有取号按键的动作则调用加一的子程序,如果有服务台按键动作,则调用减一子程序如果没有则保持上一状态。初始化按键动作取号销号返回数据加1数据减1NNNYYY图4-3流程图加一指令 void QueueNumProcess() rankLengthFlag=num_count; /num_count为实时取得的号码LengthFlag+;if(LengthFlag10)hold=0;/else LengthFlag+;窗口消号处理子程序。利用与门和循环左移的方式实现器消号的功能,其主要的流程结构如下图 4-3窗口消号处理子程序所示。 图4-3 窗口消号处理子程序窗口消号处理函数 void ClearNumProcess() num=rank0; /把消的号赋给全局变量num for(i=0;iLengthFlag;i+) /让数组整体左移一个存储单元,即把消得号删除 ranki=ranki+1; LengthFlag-; if(LengthFlag10)hold=1; sev+;等待人数if(!key5) /统计等待人数 key5=1; clear_LCD();prompt80=LengthFlag/10+0;prompt81=LengthFlag%10+0;gotoxy(1,0);for(m=0;m=9;m+)LCD_w_dat(prompt8m); 4.2.3叫号子程序开始时初始化,然后判断计算结果有服务台的按键动作,如果有则蜂鸣器报警,如果没有则再次检测是否有脉冲动作。初始化服务按键动作蜂鸣器响一秒返回YN图4-5叫号模块程图当单片机检测到服务台按钮有动作的时候,驱动叫号模块。叫号模块随之发出滴声,然后利用单片机的延时指令进行延时。延时两秒钟后,程序中断。停止滴声响声。单片机将继续检测服务台按钮的动作。依次循环。按键的消抖消抖的目的在于防止按键一次按下,多次响应,因此只要按键按下,在抖动前或者抖动稳定后返回键值是一样的效果,而要做的是防止多次响应即可。因为只要抖动电平出现,即表明按键已经按下了,干扰是无法干扰到出现抖动的波形。如下,简单的消抖程序if(Flag=0)ReturnValue = GetKey() ;if(KEY_NULL != ReturnValue)Flag = 1; /如果监测到按键,则在稍候的一段时间内停止读取按键。if(Flag 为 1 的时间达到 200ms) /时间长短可根据需要自己定Flag=0; /重新允许读取按键 蜂鸣器延时1秒指令#includesbit SPK=P12;void sleep(unsigned int cnt) while(-cnt);main()unsigned int i; while(1) for(i=0;i200;i+) sleep(80); SPK=!SPK; SPK=1; sleep(20000); 5 系统软硬件调试5.1目测1.有无短路处。2.对照电路图看有无接错、漏接处。3.有无虚焊处。4元件是否都对5.2硬件调试首先应进行上电前的准备。为了防止硬件的损坏,应在电路板上电前进行电路检查,包括:对芯片的焊接方向进行检查,对芯片的引脚进行短路和断路检查。在经过检查确认芯片的焊接没有任何问题的情况下,进行上电检查,在电源打开后,先判断电路是否存在异常,如出现芯片过热等现象,应及时切断电源,检查电路故障。在上电无异常状况的前提下,可以用万用表和示波器进行测量。首先测量电源芯片的输出电压是否正常,然后用示波器分别测量各个主要芯片电源引脚,察看电源的波形情况,如有纹波,则在预先留出的位置上焊上退耦电容以消除纹波,保证芯片工作正常。电源测量完毕后,进一步用示波器测量有源晶振的输出脚,其输出是频率为8MHz的波形(非方波,类似正弦波)。在确定晶振起振后,按住复位键,使单片机始终保持在复位状态,同时测量其各个引脚的电平情况,并同数据手册上表述的复位时的芯片引脚状态进行比对,由此可判断单片机是否正常。确认单片机正常之后就可以通过仿真器连接用户板进行调试。5.3 软件的调试由于软件的编写都是根据各个模块进行的,我们在进行软件的系统模拟调试时应,先确认硬件的接口标记是否在软件程序中一一对应,而且要检测所编写的软件有没有知识性的错误。在觉得基本没有问题后我们通过电脑将程序编译进入系统核心AT89S52单片机,检验软件与硬件各部分是否协调的工作。出现问题时我们要耐心的检查程序并作出适当的修改,直到软件系统的完全契合硬件电路,那我们软件就调试成功了。5.4 注意事项(1)测驱动电路的过程中发现数码管不能正常显示的状况,经检验发现主要是由于接触不良的问题。其中包括线的接触不良和芯片的接触不良,在实验过程中,数码管有几段时隐时现。用万用表检测发现有线接触不良,重焊后就可正常显示。而芯片接触不良用万用表欧姆档检测有几个引脚本该相通的地方却未通,其解决方法为把芯片拔出正对万能板孔均匀用力插入。(2)由于焊接时的大意损坏了元件,在调试是我们怎么都找不到问题的所在,我们是用排除法一个一个元件的测试的找出损坏的元件,重新换上新的元件,故障得以解决。(3)还有关于程序调试过程中出现的问题。执行程序是发现程序执行不稳定,排除软件的错误外,经老师的指导才发现单片机的EA管脚没有接地。因为次程序只用到片内程序存储器,所以在程序执行时一定要把管脚接的,这样程序才能只执行片内的,不然程序会乱跳,从而导致程序执行不稳定。(4)接三极管的过程中,发现电路不管程序是什么,数码管都是显示8字,经查除发现原来是三极管的极端弄错了,从新调整极端顺序。(5)在电路调试时由于我们选用的是对射型的光电传感器由于没正对好使的调试一度中断,最后我们通过反复的调试解决了问题(6)调试时由于线路的繁杂,没有仔细的找到对应部分的线路,使的调试的结果与预期出现很大的误差,我们通过梳理线路后就调试成功了并达到了预期的效果。(7)在调试时几个模块的电路调试都不是很好,我们就要对线路的硬件连接做仔细的检查,调试的时候我们首先要确定连接的电路没有错误,各个元件管脚间没有虚连,那样我们的调试才会更顺利。结束语这次毕业设计让我受益匪浅。通过这次设计我对自己在大学三年时间里所学的知识得到了全面的回顾,并充分发挥对所学知识的理解和对毕业设计的思考及书面表达能力,最终完成了这份论文。撰写论文的过程也是专业知识的学习过程,它使我运用已有的专业基础知识,对其进行设计,分析和解决一个理论问题或实际问题,把知识转化为能力的实际训练。培养了我运用所学知识解决实际问题的能力。通过这次毕业设计我发现,只有理论水平提高了,才能够将课本知识与实践相整合,理论知识服务于教学实践,以增强自己的动手能力。这个设计十分有意义 我获得很深刻的经验。通过这次毕业设计,我们知道了理论和实际的距离,也知道了理论和实际想结合的重要性,也从中得知了很多书本上无法得知的知识。我们的学习不但要立足于书本,以解决理论和实际教学中的实际问题为目的,还要以实践相结合,理论问题即实践课题,解决问题即课程研究,学生自己就是一个专家,通过自己的手来解决问题比用脑子解决问题更加深刻。学习就应该采取理论与实践结合的方式,理论的问题,也就是实践性的课题。这种做法既有助于完成理论知识的巩固,又有助于带动实践,解决实际问题,加强我们的动手能力和解决问题的能力。总的来说这次的毕业设计使得我学习了很多它是大学里的最后一堂课也是重要的一堂课,他对我们的将来都具有深远的影响。参考文献1 单片机基础 M 李广弟 北京 北京航空航天大学出版社20002 单片机原理及应用技术 M 李全利 北京 高等教育出版社19993单片机典型系统设计实例精讲 M 彭为 北京 电子工业出版社2006.5.4单片微型机原理应用与实验 M 张友德等 复旦大学出版社M 19965传感器原理及工程应用 M 郁有文 常建 程继宏 陕西 西安电子科技大学出版20096传感器及其应用手册 M 孙宝元 杨宝清 机械工业出版社 20047单片微型机原理应用与实验 M 张友德等 复旦大学出版社19968传感器原理 M 余瑞芬 北京 航字T业出版社19909单片机原理及应用技术 M 李全利 北京 高等教育出版社199410MCS-51系列单片机应用系统设计与接口技术 M 何立民 北京航空航天大学出版社199011单片机应用技术选编M 何立民 北京航空航天大学出版社2000致谢论文的完成标志着我的大学三年即将结束,也意味着,新的生活又将开始了。最近的半年则并行着找工作和写论文。其间的起起伏伏、悲喜得失,今天想来仍旧唏嘘不已。所幸我没有被失败击垮。自信、坚强、乐观的态度让我坚持到了最后,并且争取了最好的结局。通过几个月的悉心设计,在指导教师的耐心指导下,我完成了毕业设计的工作。此次的毕业设计是我们三年来专业知识的综合运用,是对我们能力的综合考核。这不仅涉及到对基本原理的理解,也涉及到对问题的分析能力。通过本次毕业设计,让我对我国电子科技有了新的认识。这也使我认识到了自己知识的匮乏和能力的有限。从而激励我在今后的学习和工作中更要努力的学习和不断的充实自己。在这里我尤其感谢老师。在她的耐心指导下,我才能成功的完成这次的毕业设计,在写论文时老师严格的要求我们,培养我们强烈的责任心和工作学习的积极性,并且耐心的解答论文中出现的问题。她还为我们指明了论文方向,校定论文方向。在她的要求下,我不仅完成了整个设计和论文,更重要的是锻炼了我分析问题和独立思考的能力。最后,我再一次表达我对领导以及教导过我的所有的老师最衷心的感谢,是你们在我前进的道路上给以引导,并无私的教给我许多专业知识以及做人的道理。再次,让我对所有的老师及所有帮助过我的同学们致以最崇高的敬意。“长风破浪会有时,直挂云帆济沧海。”这是我最喜欢的诗句。就用这话作为这篇论文的一个结尾,也是一段生活的结束。希望自己能够记取少年时的梦想,永不放弃。附录一 源程序#define uchar unsigned char#define uint unsigned int/*使用延时函数实现不同频率的声音输出,以后也可使用定时器*/sbit RS=P20; /1:数据输入,0:指令输入sbit RW=P21; /1: 读出,0:写入sbit E=P22; /1:有效,0:无效sbit key0=P10;sbit key1=P11;sbit key2=P12;sbit key3=P13;sbit key4=P14;sbit key5=P15;sbit key6=P16;sbit key7=P17;sbit cd=P27;sbit BEEP=P26;sbit hold=P34;uint sev=0;uint sev1=0;uint sev2=0;uint sev3=0;uint sev4=0;uint m=0,i=0;uint rank10=0; /排队叫号存储的数组uint num=0; /窗口消的号码uint jz=0;uint LengthFlag=0; /队列长度 叫一次号时+1,消一次号时-1uint num_count=1; /排队叫的号码uchar pdata prompt11=W2 - 00;uchar pdata prompt12=W3 - 00;uchar pdata prompt13=W4 - 00;void delay(int n) /延时子程序 int k,j; for(k=0;k=n;k+) for(j=0;j=10;j+);void delay1s(int n) /延时子程序 int k,j; for(k=0;k=n;k+) for(j=0;j=120;j+); void SPEAKER(uint x) /蜂鸣器程序,按周期n发声 for(i=0;i=200;i+) delay(x); BEEP=BEEP; BEEP=1;/*A程序*/void delay1ms(unsigned int ms)/延时的时间(不够精确的)uint k,j; for(k=0;kms;k+) for(j=0;j100;j+);void A_w_com(unsigned com) / 写入指令 RW=0; RS=0; E=1; P0=com; delay1ms(40); E=0; RW=1;void A_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) A_w_com(0x80+y); elseA_w_com(0xC0+y);void clear_LCD(void) A_w_com(0x01); /清屏指令 A_w_com(0x02); / 光标归位 即光标置于左上位置void init_LCD(void) / 初始化lcd A_w_com(0x38); / lcd为两行显示8位数据线有效 A_w_com(0x0c); / 显示字符 关闭光标 A_w_com(0x06); / 输入方式设置 光标向右移动一位 ac-1 gotoxy(1,0); for(i=0;i10)hold=0;/else LengthFlag+;/*窗口消号处理函数*/ void ClearNumProcess() num=rank0; /把消的号赋给全局变量num for(i=0;iLengthFlag;i+) /让数组整体左移一个存储单元,即把消得号删除 ranki=ranki+1; LengthFlag-; if(LengthFlag10)hold=1; sev+;/*主函数*/ void main (void) EA=1; EX0=1; EX1=1; IT0=1; IT1=1; clear_A(); init_A(); while(1) delay1s(10000); clear_LCD(); gotoxy(1,0); for(i=0;i=5;i+) LCD
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位工勤技能-广西-广西水利机械运行维护工二级(技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广西-广西工程测量员一级(高级技师)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东计算机操作员二级(技师)历年参考题库含答案解析
- 2025年事业单位工勤技能-广东-广东水工闸门运行工三级(高级工)历年参考题库典型考点含答案解析
- 2025年事业单位工勤技能-广东-广东医技工二级(技师)历年参考题库典型考点含答案解析
- 2020-2025年设备监理师之设备工程监理基础及相关知识高分通关题型题库附解析答案
- 2020-2025年基金从业资格证之私募股权投资基金基础知识通关题库(附答案)
- 2025年中级卫生职称-主管技师-输血技术(中级)代码:390历年参考题库典型考点含答案解析
- 2025年银行金融类-金融考试-期货从业历年参考题库含答案解析(5套)
- 2023年设备监理师之设备监理合同通关提分题库及完整答案
- 金风15兆瓦机组变流部分培训课件
- 2017年9月国家公共英语(三级)笔试真题试卷(题后含答案及解析)
- 膀胱镜检查记录
- 2021年西安陕鼓动力股份有限公司校园招聘笔试试题及答案解析
- 沈阳终止解除劳动合同证明书(三联)
- 化工装置静设备基本知识
- 电脑节能环保证书
- 江西师范大学研究生院非事业编制聘用人员公开招聘1人(专业学位培养办公室助理)(必考题)模拟卷
- 2021社会保险法知识竞赛试题库及答案
- 罐头食品加工工艺课件
- 《排课高手》用户手册
评论
0/150
提交评论