《基于单片机的排队管理系统毕业论文(35页).doc》由会员分享,可在线阅读,更多相关《基于单片机的排队管理系统毕业论文(35页).doc(35页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-基于单片机的排队管理系统毕业论文-第 5 页大连海事大学装订线毕 业 论 文二一四年六月基于单片机的排队管理系统专业班级: 通信工程1班 姓 名: 徐 梦 阳 指导教师: 刘 剑 桥 信息科学技术学院摘 要本设计是基于单片机为核心,由主控制器、按键、发光二极管、数码管显示电路等部分构成的一套排队叫号系统。该系统是以排队抽号顺序为核心,客户利用客户端排号,工作人员利用叫号端叫号;通过显示器及时显示当前所叫号数,客户及时了解排队信息,通过合理的程序结构来执行排队叫号。以提高排队等待效率,解决排队秩序混乱,前拥后挤等现象,实现排队自动化,规范化。通过该系统的使用,客户不必为排队浪费大量精力,便于管
2、理排队秩序,同时适应信息时代管理数字化的要求,提高服务水平与质量。该系统利用单片机进行控制,通过串行通信方式传输处理数据;通过按键取号,在数码管上显示排队的号码;通过按键叫号,在数码管上显示叫到的号码,由发光二极管闪烁来提示客户。本系统采用单片机进行控制,利用数码管显示,提示的人机交互界面,模拟排队管理系统,科学地处理各种排队情况。操作简便,控制灵活,显示清晰,制作成本低,性价比较高。关键词:单片机;排队叫号;串行通信;数码管显示ABSTRACTThis design is a calling-queuing system based on SCM(single chip microcompu
3、ter)as the core, including other parts such as the main controller, buttons, light-emitting diode, digital tube display circuit. The system is based on line Queue number, the customers using the client to get number while the staff using queue system. The customers can understand queuing information
4、 in time through the display. Using the reasonable structure of program to perform the line number, it can improve the efficiency of waiting in line, deal with the phenomenon such as out of order and crowed. This system can realize automation and standardization. By the use of this system, the custo
5、mer dont have to waste time to line up, the managers are easy to control the line, whats more, this system meets the requirements of digital information management and improves the level of service and quality.The system uses SCM to control, serial communication mode to transmission data. And throug
6、h the number keys get numbers which show on the digital tube, through keys to call numbers which show on another digital tube, the customer get information rely on the Flashing light-emitting diode. The work uses SCM, digital tube, human-computerinteraction interface to simulate the queuing manageme
7、nt system, deal with all kinds of queuing situation scientifically, with a series of advantages such as easy operation, flexible control, low cost and high cost performance. Keywords: SCM;Queue;Serial Communications;Digital display;目 录第1章 绪论11.1 基于单片机排队管理系统的应用11.2排队管理系统的功能简介21.2.1 排队管理系统的流程框图21.2.2
8、排队管理系统的使用说明21.3 本论文研究的目的和意义2第2章 系统硬件电路设计32.1 系统硬件设计思路概述32.1.1 系统硬件设计框图32.1.2 系统功能分析及设计要求32.2微处理器介绍32.2.1 MCS-51单片机的特点:42.2.2 MCS-51单片机的结构42.2.3 MCS-51单片机接口功能52.2.4单片机最小系统介绍52.3 数据处理模块62.3.1 AT89C51单片机性能介绍62.3.2 AT89C51外部引脚功能62.3.3 单片机系统的相关电路82.4 显示模块92.4.1 数码管概述102.4.2 原理图及引脚图102.4.3 数码管的译码方式112.4.4
9、 数码管与单片机接口设计122.5 整体的电路原理图设计13第3章 系统软件部分设计143.1排队管理系统的主程序143.2 初始化程序153.3 运行程序分析163.3.1 设置变量程序163.3.2 排队程序173.3.3 叫号程序17第4章 系统运行及硬件调试194.1 keil程序调试及proteus仿真194.1.1 proteus功能及使用概述194.1.2 调试过程中的问题及解决方案204.2 仿真结果及功能实现214.3 实物完成及实物调试224.3.1 电路板实物测试结果234.3.2 数码管亮度不够的解决方案234.3.3 设计过程中的问题和解决办法234.4 实物完成实际
10、应用25第5章 全文总结及展望26参 考 文 献28致 谢29附录 系统程序1基于单片机排队管理系统第1章 绪论1.1 基于单片机排队管理系统的应用近年来,随着科学技术的迅猛发展和人们生活水平的日益提高,各行各业特别是服务行业的竞争也逐渐激烈。服务质量作为体现企业的公众形象、服务理念、管理水平的标准已越来越受到服务和被服务双方所关注,而营业窗口正是代表银行、医院、电信、税务、工商等企业服务质量的重要场所。随着服务行业业务量的增长及业务种类的增加,营业厅的排队问题也更加的突出。长期以来,人们在银行、医院、电信、税务、工商等营业大厅里前拥后挤、杂乱无章地排队等候,有时一站就是一个多小时,这已是司空
11、见惯的现象,极大地影响了消费者的心情。员工坐着服务、客户站着等待的服务方式与“用户就是上帝”的服务宗旨完全背道而驰。对于营业厅的服务质量差,越来越多的人感觉到不满意,因此提高营业厅的服务质量、解决因排队带来的疲劳、烦感、创造更加高效、人性化服务环境已成为当前急需解决的现实问题。设计智能轻松的排队服务系统,解决因排队引起的种种问题,显得尤为重要,因此本文针对以上问题设计了一套基于51单片机的排队机叫号系统。本系统可以真正模拟人们的排队过程,通过排号的顺序给出相应的业务号码,通过叫号的形式来接受服务,而在这期间人们可以在等候室等候,等候室提供座椅和报纸期刊,舒缓顾客等待的急躁情绪,使人们能够舒适的
12、等候排队,真正做到了高科技化服务体系。本文基于单片机的排队叫号系统,由客户端和主机终端组成,有LCD大屏幕显示号码,让客户知道自己现在所排到的号码以及现在接受的服务的号码,并有叫号指示灯提醒客户,让客户知道什么时候被叫到去办理业务,方便快捷,可以满足日常的服务行业排队叫号,所以非常有意义。1.2排队管理系统的功能简介1.2.1 排队管理系统的流程框图图1-1排队管理系统的整个流程1.2.2 排队管理系统的使用说明客户进入营业厅之后,到排号机处点下排号按键,数码管上将会显示出该客户目前所排的待接受服务的号码,客户知道号码后然后进入休息区等候,然后等待柜员叫号,叫到的人员到柜台去办理业务,办理完毕
13、后离开。整套流程井然有序,提高了营业厅的服务质量、解决了因排队带来的疲劳、烦感、创造更加高效、人性化服务环境已成为当前急需解决的现实问题,设计智能轻松的排队服务系统,解决因排队引起的种种问题,显得尤为重要。1.3 本论文研究的目的和意义近年来,随着科学技术的迅猛发展和人们生活水平的日益提高,各行各业特别是服务行业的竞争也逐渐激烈。随着服务行业业务量的增长及业务种类的增加,营业厅的排队问题也更加的突出。因此,提高营业厅的服务质量、解决因排队带来的疲劳、烦感、创造更加高效、人性化服务环境已成为当前急需解决的现实问题。设计智能轻松的排队服务系统,解决因排队引起的种种问题,显得尤为重要,因此本文针对以
14、上问题设计了一套基于51单片机的排队机叫号系统。本系统可以使人们在等候室等候,等候室提供座椅和报纸期刊,舒缓顾客等待的急躁情绪,使们能够舒适的等候排队,真正做到了高科技化服务体系。第2章 系统硬件电路设计2.1 系统硬件设计思路概述按键电源复位电路主控系统排号显示叫号显示图2-1系统硬件设计框图一个很好的叫号系统,它的功能设计首先要符合用户的习惯,同时操作方便,易学,易用。本系统由键盘输入系统、单片机系统、屏幕显示系统及叫号提示系统组成,系统分为两个部分:排号部分和叫号部分,其控制核心为AT89C51单片机,选用此单片机编程简单,开发工具便于使用,能很好的满足排队排号的控制数据处理。排号部分和
15、叫号部分采用一块LCD液晶显示器,这样显示数据直观,便于客户理解,排号部分输入只需使用一个排号按键即可,便于客户操作,叫号部分包括三个叫号系统,三个窗口数字不重复,交替增加,提高了办公服务的效率,系统还带有复位按键,操作简单、方便。2.2微处理器介绍单片机的出现使现代科学技术研究得到了质的飞跃,可以毫不夸张地说,它给现代工业领域带来了一次新的技术革命。目前,单片机以其高可靠性、高性能价格比,在工业控制系统、智能化仪器仪表、办公自动化、日常生活用品等诸多领域得到极为广泛的应用,并已走入普通家庭,从洗衣机、微波炉到音响、汽车,到处都可见到单片机的踪影。由于单片机技术在各个领域正得到越来越广泛的应用
16、,世界上许多集成电路生产厂家相继推出了各种类型的单片机。如单片机家族中的主流产品MCS51系列,还有最近推出的PIC和凌阳系列都是比较优秀的单片机芯片,是构建我们不同的设计系统的最佳选择。早期单片机大多结构体系,指令复杂,指令代码、周期数不统一、指令运行很难实现流水线操作,大大阻碍了运行速度的提高。例如MCS51系列单片机,时钟频率12MHz时,单周期指令运行速度仅1秒。虽然单片机对运行速度要求远不如通用计算机系统或数字信号处理对指令运行速度的要求,但速度的提高会带来许多好处,并拓宽单片机应用领域。一方面可获得很高的指令运行速度,另方面,在相同的运行速度下,可大大降低时钟频率,有利于获得良好的
17、电磁兼容效果。专用单片机是专门针对某一类产品系统要求而设计的。使用专用单片机可最大限度地简化系统结构,使资源利用效率最高。在大批量使用时有可观的经济效益和可靠性效益。专用单片机发展的基础是半导体集成工艺和微电子设计技术。采用模块化标准单元的快速设计及快速半导体集成工艺,将加速专用单片机的发展。2.2.1 MCS-51单片机的特点:(1)小巧灵活、成本低、易于产品化。能组装成各种智慧式测控设备及智能仪器仪表。(2)可靠性好,应用范围广。单片机芯片本身是按工业测控环境要求设计的,抗干扰性强,能适应各种恶劣的环境,这是其它机种无法比拟的。(3)易扩展,很容易构成各种规模的应用系统,控制功能强。单片机
18、的逻辑控制功能很强,指令系统有各种控制功能指令,可以对逻辑功能比较复杂的系统进行控制。(4)具有通讯功能,可以很方便地实现多机和分布式控制,形成控制网络和远程控制。正是由于51系列单片机具有以上优点,所以成为本次毕业设计所选用的处理器。2.2.2 MCS-51单片机的结构AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,俗称单片机。单片机的可擦除只读存储器可反复擦除100次。从工作原理上讲,单片机是一种微型计算机,一种“程序存储式”计算机1。它是在一块硅片上集成中央处理器(CPU)、随机内存(RAM)、程序内存(ROM或EPROM)、定时/计数器以及
19、各种I/O接口,就是集在芯片上的计算机。 图2-2 MCS-51单片机的结构2.2.3 MCS-51单片机接口功能单片微控制器简称单片机,是在一块集成了CPU中央处理器的芯片、ROM程序存储器、定时器/计数器、RAM数据存储器和多种功能的I/O输入/输出接口等一台微型计算机。其包含计算机所需要的基本功能部件。其可以完成各种功能和函数中复杂的运算、通信、逻辑控制等功能。单片机的最小系统是单片机运行的最低保障,简单说就是单片机能正常工作和实现功能所必须的组成部分。可解释为使用最少的元件组成的单片机可以工作的系统。单片机的最小系统应该包括单片机、时钟电路、复位电路和输入/输出设备。AT89S51单片
20、机是完全集成的混合信号片上系统型MCU,片内具有64KB、可在系统编程的Flash,4352字节的片内RAM。其他外设主要有:12/10位或8位ADC;2个12位DAC;3个模拟捕捉/比较器;硬件实现SPI/SMBus和UART串口三种接口同时支持,对于系统的可扩展性非常有利;单片机AT89S51共包含通用的16位定时器5个;其具有6个可编辑计数器/定时器阵列的捕捉/比较模块;单片机内还包含看门狗定时器、温度传感器和VDD监视器4。2.2.4单片机最小系统介绍单片机最小系统即是单片机运行的最基本电路,最小系统中的组成缺一不可。最小系统主要是有三部分组成,其中包括单片机、复位电路、时钟电路等几部
21、分组成。这几部分是单片机系统必不可少的,既然被称为单片机最小系统,他的每一部分都是单片机系统必不可少的部分,单片机是一切控制的核心,他负责单片机软件的运行,协调各个硬件电路之间的协调运行。软件代码需要烧写在单片机内,供电后,单片机运行程序集可开始运行,随着事项相应功能。单片机又称单片微控制器是在一块芯片中集成了CPU中央处理器、RAM数据存储器、ROM程序存储器、定时器/计数器和多种功能的I/O输入/输出接口等一台计算机所需要的基本功能部件,从而可以完成复杂的运算、逻辑控制、通信等功能。单片机最小系统就是让单片机能正常工作并发挥其功能时所必须的组成部分也可理解为是用最少的元件组成的单片机可以工
22、作的系统2。随着电子技术的迅速发展,特别是随着大规模集成电路产生而出现的微型计算机,给人类生活带来了根本性的改变。单片微型计算机简称单片机。它是把组成微型计算机的各功能部件像中央处理器CPU、随机存取存储器RAM、只读存储器ROM、I/O接口电路、定时器/计数器以及串行通讯接口等部件制作在一块集成芯片中,构成一个完整的微型计算机。由于它的结构与指令功能都是按照工业控制要求设计的,故又叫单片微控制器。2.3 数据处理模块2.3.1 AT89C51单片机性能介绍数据处理模块由单片机系统完成,在这里我采用的是美国ATMEL公司生产的AT89C513。它是一款低电压,高性能CMOS8位单片机,片内含有
23、4KB的可反复擦写的只读程序存储器和128字节的随机存储器。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容,由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,它为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。AT89C51的性能:与MCS-51成品指令系统完全兼容;4KB可编程闪速存储器;寿命:1000次写/擦循环;数据保留时间:10年;全静态工作:0-24MHz;三级程序存储器锁定;128*8B内部RAM;32个可编程I/O口线;2个16位定时/计数器;5个中断源;可编程串行UART通道;
24、片内震荡器和掉电模式。 2.3.2 AT89C51外部引脚功能AT89C51采用PDIP封装形式,引脚配置如图2-3所示。图2-3 AT89C51的引脚图AT89C51芯片的各引脚功能11为:P0口:这组引脚共有8条,P0.0为最低位。这8个引脚有两种不同的功能,分别适用于不同的情况,第一种情况是89C51不带外存储器,P0口可以为通用I/O口使用,P0.0-P0.7用于传送CPU的输入/输出数据,这时输出数据可以得到锁存,不需要外接专用锁存器,输入数据可以得到缓冲,增加了数据输入的可靠性;第二种情况是89C51带片外存储器,P0.0-P0.7在CPU访问片外存储器时先传送片外存储器的低8位地
25、址,然后传送CPU对片外存储器的读/写数据。P0口为开漏输出,在作为通用I/O使用时,需要在外部用电阻上拉。P1口:这8个引脚和P0口的8个引脚类似,P1.7为最高位,P1.0为最低位,当P1口作为通用I/O口使用时,P1.0-P1.7的功能和P0口的第一功能相同,也用于传送用户的输入和输出数据。P2口:这组引脚的第一功能与上述两组引脚的第一功能相同即它可以作为通用I/O口使用,它的第一功能和P0口引脚的第二功能相配合,用于输出片外存储器的高8位地址,共同选中片外存储器单元,但并不是像P0口那样传送存储器的读/写数据。P3口:这组引脚的第一功能和其余三个端口的第一功能相同,第二功能为控制功能,
26、每个引脚并不完全相同,如下表2-1所示:表2-1 P3口各位的第二功能P3口各位第二功能P3.0RXT(串行口输入)P3.1TXD(串行口输出)P3.2/INT0(外部中断0输入)P3.3/INT1(外部中断1输入)P3.4T0(定时器/计数器0的外部输入)P3.5T1(定时器/计数器1的外部输入)P3.6/WR(片外数据存储器写允许)P3.7/RD(片外数据存储器读允许)Vcc为+5V电源线,Vss接地。ALE:地址锁存允许线,配合P0口的第二功能使用,在访问外部存储器时,89C51的CPU在P0.0-P0.7引脚线去传送随后而来的片外存储器读/写数据。在不访问片外存储器时,89C51自动在
27、ALE线上输出频率为1/6震荡器频率的脉冲序列。该脉冲序列可以作为外部时钟源或定时脉冲使用。/EA:片外存储器访问选择线,可以控制89C51使用片内ROM或使用片外ROM,当/EA=1的时候,允许使用片内ROM, 当/EA=0的时候,只使用片外ROM。/PSEN:片外ROM的选通线,在访问片外ROM时,89C51自动在/PSEN线上产生一个负脉冲,作为片外ROM芯片的读选通信号。RST:复位线,可以使89C51处于复位(即初始化)工作状态。通常89C51复位有自动上电复位和人工按键复位两种。XTAL1和XTAL2:片内震荡电路输入线,这两个端子用来外接石英晶体和微调电容,即用来连接89C51片
28、内OSC(震荡器)的定时反馈回路。AT89C51提供以下标准功能:4KB的Flash闪速存储器,128B内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内震荡器及时钟电路,同时,AT89C51可降至0Hz静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作,掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有工作直到下一个硬件复位。 2.3.3 单片机系统的相关电路2.3.3.1 复位电路单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定
29、的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST11,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复位状态,只要RST恢复低电平后,单片机才能进入其他工作状态。单片机的复位方式有上电自动复位和手动复位两种,图6是51系列单片机统常用的上电复位和手动复位组合电路,只要Vcc上升时间不超过1ms,它们都能很好的工作。复位电路如图2-4所示。图2-4 单片机复位电路2.3.3.2 时钟发生电路单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节
30、拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图2-5所示。图2-5 单片机时钟发生电路电路中的器件选择可以通过计算和实验确定,也可以参考一些典型电路12的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是3010pF,在这个系统中选择了33pF;石
31、英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。2.4 显示模块显示模块采用的是四个二位一体的数码管,如图2-6所示。图2-6显示模块图LED是发光二极管显示器的缩写。LED由于结构简单、价格便宜、与单片机接口方便等优点而得到广泛应用。LED显示器即数码管是由若干个发光二极管组成显示字段的显示器件。在单片机中使用最多的是七段数码显示器。七段数码管由8个发光二极管组成显示字段,其中7个长条形的发光二极管排列成“日”字形,另一个圆点形的发光二极管在显示器的右下角作为显示小数点用,其通过不同的组合可用来显示
32、各种数字。2.4.1 数码管概述数码管是一种半导体发光器件,其基本单元是发光二极管。能显示2个数码管叫四位数码管。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。其在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴极数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴极数码管在应用时应将公共极CO
33、M接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。2.4.2 原理图及引脚图对于一位数码管对应的端名称及排列如下图所示图2-7一位数码管引脚端名称内部的工作原理即如下面两图所示。每个段其实就是一个发光二极管,导通即亮。下面的示例图都以共阳极数码管为例,共阴极数码管原理相同,只是二极管方向相反。图2-8 共阳极数码管内部电路而四位数码管即相当于4个一位的数码管段选并联而阴极(共阴数码管)或阳极(共阳数码管),则分别作为位选端。LED数码管是单片机控制系统中最常见的显示器件之一,一般用来显示处理结果或输入输出信号的状态。数码管显示
34、是一个系统工程中必不可少的人机交互环节,因此关于数码管的驱动也就是系统工程中的一个重要的环节。数码管的驱动分为动态驱动和静态驱动两种。所谓静态驱动,就是指无论多少位LED数码管,同时处于显示状态。动态显示驱动是指无论在任何时刻只有一个LED数码管处于显示状态,及单片机采用“扫描”方式控制各个数码管轮流显示。将数码管每个LED灯对应单片机的一个I/O口。通过单片机的P口来控制LED灯的亮和灭。I/O口之间互相独立,需要用I/O口直接控制LED。动态显示将数码管的每个引脚一对一连接在一起接单片机的数据,而将各个数码管的公共端单独送至单片机的I/O口进行片选。此外,在此基础上,用单片机与三极管来驱动
35、数码管,从而实现数码管的动态显示。2.4.3 数码管的译码方式译码方式是指由显示字符转换得到对应的字段码的方式,对于LED数码管显示器,通常的译码方式有硬件译码和软件译码方式两种8。硬件译码是指利用专门的硬件电路来实现显示字符码的转换。软件译码就是编写软件译码程序,通过译码程序来得到要显示的字符的字段码,译码程序通常为查表程序。表2-2共阴极字段码表显示字符共阴极字段码03FH106H25BH34FH466H56DH67DH707H87FH96FH本设计系统中为了简化硬件线路设计,数码管译码采用软件编程来实现。由于本设计采用的是共阴极数码管,其对应的字符和字段码如表2-3所示(本系统采用的是共
36、阴极的数码管)。2.4.4 数码管与单片机接口设计由于单片机的并行口不能直接驱动数码管,所以,在一般情况下,必须采用专用的驱动电路芯片8,使之产生足够大的电流,数码管才能正常工作。如果驱动电路能力差,即负载能力不够时,显示器亮度就低,而且驱动电路长期在超负荷下运行容易损坏,因此,数码管的驱动电路设计是一个非常重要的问题。数码管的驱动通常分为两种:静态驱动和动态显示。1、静态驱动也称直流驱动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则
37、需要58=40根I/O端口来驱动,一个89S51单片机可用的I/O端口才32个,实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。2、数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划“a,b,c,d,e,f,g,dp” 7的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通
38、过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms7,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。所以为了简化电路,本系统在数码管驱动电路的设计上,利用单片机P0口上外接的上拉电阻来实现,即将数码管的A-G段显示引脚和DP小数点显示引脚并联到P0口与上拉电阻之间,这样,就可以加大P0口作为输出口的驱动能力,使得数码管能按照正常的亮度显示出数
39、字。2.5 整体的电路原理图设计整体原理图如图2-9所示8:图2-9 系统总电路图第3章 系统软件部分设计对于单片机控制的系统,软件和硬件同样重要,硬件仅解决了信号输入输出问题,软件完成对数据的处理、传送、存储、显示等,是系统的控制和处理核心。单片机在推广应用的初期,主要使用汇编语言,这是因为当时的开发工具只能支持汇编语言。随着硬件技术的发展,单片机的程序设计语言从汇编语言过渡到高级语言C已经成为时代的潮流。C语言是一种通用的程序设计语言,其代码效率高、数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用程序设计。支持51单片机用的C语言编程的编译器主要有两种:Franklin C51编
40、译器和Keil C51编译器,我们简称C51。C51是专为51单片机开发的一种高性能的C编译器。由C51产生的目的代码的运行速度极高,所需存储空间极小,完全可以和汇编语言媲美。本论文中所有程序的编译均采用德国Keil Software9公司开发的Keil C51编译器7。3.1排队管理系统的主程序本论文排队管理系统测试流程如下图所示,主要包含了系统初始化部分、A/D转换部分、显示部分。主程序框图如图3-1所示图3-1主程序框图3.2 初始化程序初始化,是对将要用到的51系列单片机内部部件或扩展芯片进行初始工作状态设定,初始化子程序的主要工作是设置定时器的工作模式,初值预置,开中断和打开定时器等
41、。初始化中TMOD设置为0x10,转换为二进制的为00010000,对应定时器的工作方式寄存器可以知道,设定的模式为1,定时器1工作在方式1图3-2 工作方式寄存器TMODGATE:门控位 GATE=0时,只要用软件使TCON中的TR0或者TR1为1,就可以启动定时/计数器工作;GATE=1时,要同时满足以下要求,才能启动定时/计数器工作(一般不使用) 用软件使TR1或TR0为1, 同时外部中断(INT0/1)引脚(P3.2,P3.3)也为高电平M1M0;工作方式设置位。定时/计数器有四种工作方式,由M1M0进行设置,具体方式见下表11。表3-1定时/计数器工作方式设置表对定时器装初值:本系统
42、用的定时器1TH1=(65536-200)/256; TL1=(65536-200)%256; 所设定时间为200ms中断设置12:对IE赋值,开中断 开定时器中断(ET0=1或ET1=1)开总中断(EA=1)。图3-3中断允许IE每一位都需要用程序置1或清0。置1时,相应的中断打开;清0时,相应的中断关闭。使用定时器、外部中断、串行口中断中的某一个或某几个时EA都要置1。3.3 运行程序分析3.3.1 设置变量程序#define uchar unsigned char#define uint unsigned intsbit led1=P10;sbit led2=P11;sbit led3=
43、P12;sbit key1=P30;/排号sbit key2=P31;/1sbit key3=P32;/2sbit key4=P33;/3sbit key5=P34;/清除复位uchar pHao=0;uchar jHao1=0;uchar jHao2=0;uchar jHao3=0;uchar jHao=0;uchar jHao1Flag=0;uchar jHao2Flag=0;uchar jHao3Flag=0;此段程序为定义函数,设置变量,“led1,led2,led3”这三个变量为发光二极管的,将三个变量接到单片机的Pl端口的0、1、2端;同时设置5个按键“key1-5”接到P3端口的
44、04端上;然后是一些变量名称,在接下来的程序中应用。3.3.2 排队程序void key() /按键扫描函数if(key1=0) /设置键按下delay_ms(5);if(key1=0)while(!key1);pHao+;if(pHao=100)pHao=99;此段程序中应用了判断语句和循环语句,先是调取按键扫描函数语句,当有“key1“按下时,排号变量“pHao”立刻加一,然后再重新存到变量“pHao”中,此处为一循环语句,返回后可一直循环的进行,将变量“pHao”取值范围设定为00993.3.3 叫号程序if(key2=0) /叫号1delay_ms(5);if(key2=0)while
45、(!key2);if(jHaopHao)jHao+; if(jHao=100)jHao=0;jHao1=jHao;jHao1Flag=1;jHao2Flag=jHao3Flag=0;TR0=1;此段程序中也主要应用了判断语句和循环语句,先是调取按键扫描函数语句,当有叫号键“key2“按下时,叫号变量“jHao立刻加一,与排号不同的是,这段程序中,设定了一定宏变量“jHao”,其他的变量“jHao1、jHao2、jHao3”都是在调取宏变量“jHao”的取值,这样三个变量的值是交替增加的,根据实际中的情况,叫号的数值不能超过排号,所以添加判断语句“if(jHaopHao);jHao+”保证了这一
46、点。每进行完一次,都是一个循环,返回后可一直循环的进行,将变量“jHao”取值范围设定为0099叫号程序也是整个实现功能中的重要部分,跟据实际的现实客户多的情况,故设计安排了3个叫号的窗口同时进行服务,提高办业务的效率,节约了客户的时间。第4章 系统运行及硬件调试本章主要介绍系统样应用结果,并对结果进行分析。将从下面几方面 keil程序调试及proteus仿真 实物完成 实际电阻测量及结果分析4.1 keil程序调试及proteus仿真4.1.1 proteus功能及使用概述KeilC51标准C编译器为8051微控制器的软件开发提供了C语言环境,同时保留了汇编代码高效,快速的特点。C51编译器
47、的功能不断增强,使你可以更加贴近CPU本身,及其它的衍生产品。C51已被完全集成到uVision2的集成开发环境中,这个集成开发环境包含:编译器,汇编器,实时操作系统,项目管理器,调试器。uVision2 IDE可为它们提供单一而灵活的开发环境。C51V7版本是目前最高效、灵活的8051开发平台。它可以支持所有8051的衍生产品,也可以支持所有兼容的仿真器,同时支持其它第三方开发工具。因此,C51V7版本无疑是8051开发用户的最佳选择。Protues软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具的软件仿真功能,还能仿真单片机及其外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内