




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 课程设计单片机系统课 程 设 计成绩评定表设计课题 排队叫号系统设计 学院名称 : 专业班级 : 学生姓名 : 学 号 : 指导教师 : 设计地点 : 31-505 设计时间 : 2012-12-172012-12-28 指导教师意见:成绩: 签名: 年 月 日目录1 引言42总体方案设计42.1硬件组成42.2 方案论证52.3总体方案53 硬件电路设计63.1 单片机及外围电路63.2显示电路73.3按键电路83.4蜂鸣器电路94 系统软件设计104.1 主程序设计104.2子程序液晶LCD1602显示处理程序124.3子程序按键检测程序145 系统调试与总结155.1调试155.2 总
2、结17参考文献17附录A:18附录B19 1 引言近年来,随着科学技术的迅猛发展和人们生活水平的日益提高,各行各业特别是服务行业的竞争也逐渐激烈。服务质量作为体现企业的公众形象、服务理念、管理水平的标准已越来越受到服务和被服务双方所关注,而营业窗口正是代表银行、医院、电信、税务、工商等企业服务质量的重要场所。 随着服务行业业务量的增长及业务种类的增加,排队等候已成为人们面临的实际问题。长期以来,人们在银行、医院、电信、税务、工商等营业大厅里前拥后挤、杂乱无章地排队等候, 有时一站就是一个多小时,这已是司空见惯的现象,极大地影响了服务质量。员工坐着服务、客户站着等待的服务方式与“用户就是上帝”
3、的服务宗旨完全背道而驰!改善服务质量、树立良好形象,解决劳累的排队现象、创造人性化服务环境已成为急需解决的问题。设计一套排队抽号的服务系统,可以很好的解决因排队引起的种种问题,排队系统应运而生。 此系统完全模拟人群排队过程,通过取票进队、排队等待、叫号服务等功能,诠释了人性化的服务理念,舒缓顾客等待的急噪情绪,使人们在等候服务的过程中拥有一个相对自由的空间,是科技以人为本的真正体现。 本文基于单片机的排队叫号系统,由客户端和主机终端组成,有LCD大屏幕显示信息,让客户知道自己的队号,并有叫号提示音提醒客户,方便快捷,可以满足日常的服务行业排队叫号,所以非常有意义。2总体方案设计2.1硬件组成本
4、系统由按键输入系统、单片机系统、屏幕显示系统及叫号提示音系统组成,系统分为两个部分:抽号部分和叫号部分,其控制核心为AT89C51单片机,选用此单片机编程简单,开发工具便于使用,能很好地满足排队叫号的控制数据处理。抽号部分和叫号部分采用一块LCD液晶显示器,这样显示数据直观,便于顾客理解,抽号部分输入只需使用一个抽号键即可,便于客户操作,叫号部分包括两个叫号键,系统采用自动清零,无需人工操作。2.2 方案论证1.控制器控制器的选择是确定整个系统硬件方案的关键,它关系到其它几个部分方案的确定,对于排队叫号系统,控制器的可选方案有以下两种:(1)采用单片机。单片机采用半导体工艺,使其具有很多显著的
5、优点和特点,因而能在各个领域都得到迅猛的发展,它主要有如下特点:1有优异的性能价格比。2集成度甚高,体积小,有很高的可靠性,可以在恶劣环境下工作。3控制能力强。4低功耗,低电压,便与生产便携式产品。5扩展容易。 (2)采用PLC。PLC是一种专门为在工业环境下的应用而设计的专用计算机。其特点是抗干扰能力强,具有很高的可靠性高;各种接口配套齐全,功能完善,适用性强。采用PLC构成的控制系统的工作量小,维护方便,适合于野外使用,但价格昂贵21。排队叫号系统作为一种生活中常用的小型系统,本身价值不高,更要求控制系统具有较好的性价比,经上述分析比较,确定采用单片机作为控制器。2.输入通道输入通道为按键
6、。按键有独立式按键和行列式按键两种,因为所需按键数少,故确定使用独立式按键。3.控制输出通道排队叫号系统的执行机构是1602显示器和蜂鸣器使得系统输出简单明了。 2.3总体方案系统的组成如图2.3。设备上电后,显示器屏亮,无信息显示。当客户按键后,没按一下,队伍加一,显示器显示客户队伍号:排满20位后,再按取号键,屏幕显示“队伍满”。当客服叫号时,队伍减1,程序进行信息处理,在屏幕上显示“几号客户到几号窗口”,同时进行声音提示;当队伍空时,显示“队伍空”,显示器屏幕清空,储存队伍号码归零处理。图2.3 总体方案框图3 硬件电路设计3.1 单片机及外围电路微控制器采用AT89C51。AT89C5
7、1是美国ATMEL公司生产的与MCS-51系列单片机完全兼容的高性能CMOS 8位单片机,MCS-51系列单片机以其推出时间早、配套资源丰富、开发手段完善、性价比高等特点而得到了广泛的应用,是单片机的主流品种。 AT89C51的内部资源主要包括: ·与MCS-51 系列完全兼容的高性能8位CPU; ·8K字节可重复编程的Flash存储器; ·256字节的SRAM; ·4个8位的并行口,共32条I/O口线; ·3个16位的定时器/计数器; ·6个中断源,2个中断优先级的中断系统; ·一个全双工的串行口; ·内部振荡器
8、。 AT89C51的外围电路主要包括时钟电路、复位电路、存储器扩展电路等,为了提高系统的可靠性,应设计看门狗(Watch-dog Timer)电路。如图3.1所示。图3.1 单片机外围电路3.2显示电路多数的应用系统,都要配输出外设,LED显示器和LCD显示器,为了达到显示目的,我们选用了LCD1602显示器。在显示方面,我们选用LCD显示。背光亮度可调,可显示两行,每行16字符,不能显示汉字,内置含128个字符的ASCII字符集字库,并行接口编程容易,但是占用的I/O口线比较多,引脚功能介绍如下:VSS(引脚1):电源地。VDD(引脚2):电源正。VO(引脚3):对比度调节端RS(引脚4):
9、数据/命令选择端(H/L)R/W(引脚5):读写选择端(H/L)E(引脚6):使能信号D0D7(引脚714)数据口BLA(引脚15)背光电源正BLK(引脚16)背光电源负1602显示屏连接单片机的P0口,电路连接图如下 图3.33.3按键电路按键控制电路中,单片机的P1口分别连接3个按键式开关,P3.0顾客排号按键;P3.1窗口一叫号按键;P3.2窗口二叫号按键。按键电路图如下图3.3图3.33.4蜂鸣器电路蜂鸣器的正极的一段连接到5V电源上面,另一端连接到三级管的集电极,三极管的基极有单片机的P1.5管脚来控制,当P1.5管脚为低时,输出高电平,三极管导通,这样蜂鸣器的电流形成回路,放出声音
10、。用户可以通过程序控制P1.5管脚的置低和置高来使蜂鸣器发出声音和关闭。电路如下图 4 系统软件设计4.1 主程序设计主程序见附录B图4.1 主程序流程图4.2子程序液晶LCD1602显示处理程序液晶LCD1602显示处理程序/*LCD1602*显示屏命令写入函数*/void LCD_write_com(uchar com) e=0; rs=0; rw=0; P0= com; delay(1000); e=1; delay(1000); e=0; /* LCD1602 *显示屏数据写入函数* */ void LCD_write_data(uchar dat) e=0; rs=1; rw=0;
11、P0 = dat; delay(1000); e=1; delay(1000); e=0; /* LCD1602 *显示屏数据写入数据* */ void LCD_clear(void) LCD_write_com(0x01); delay(1000); /* LCD1602 显示屏初始化函数 */ void LCD_init(void) LCD_write_com(0x38); /*显示模式设置*/ delay(100); LCD_write_com(0x38); delay(100); LCD_write_com(0x38); delay(100); LCD_write_com(0x38);
12、 LCD_write_com(0x08); /*显示关闭*/ LCD_write_com(0x01); /*显示清屏*/ LCD_write_com(0x06); /*显示光标移动设置*/ delay(100); LCD_write_com(0x0C); /*显示开及光标设置*/ 程序具体流程图如图这几个是1602显示的必备程序,设置好1602后,只需通知写指令和写数据的程序处理,能够把需要显示的内容显示出来,是比较简单的显示设备。4.3子程序按键检测程序 /*获取键值函数*/ uint sweep_key() uint jianzhi; if(key1=0) delay(1000); if(
13、key1=0) jianzhi=1; RankFlag=1; if(key2=0|key3=0) delay(1000); if(key2=0) jianzhi=2; if(key3=0) jianzhi=3; ClearNumFlag=1; return (jianzhi); 本设计只有两个叫号窗口,相对来说比较简单,通过按键检测程序来分辨是哪个按键按下了。窗口依据实际需要可以增加,程序有很大的扩展性。5 系统调试与总结5.1调试屏幕出将程序下载到单片机中调试成功。按下客户端取号按键现号码如上图。按下服务叫号键出现提示如下图5.2 总结此系统采用LCD1602显示,做起来比较简单,其中只设立
14、了两个处理窗口,虽然较少,不过可以根据需要自行增加,具有较好扩展功能。设计采用声音提示,由于能力有限,不会编写音乐程序,就用了最简单的蜂鸣器声音。从此次设计中,我学到很多,对没用掌握的知识有了一定的理解。参考文献1 单片机微型计算机原理、应用、及接口技术(第二版)。张迎新 等编著。国防科技大学出版社出版。2 单片机在服务叫号管理系统中的应用。唐海波 于宏图 李继平。微型机与应用。3 MCS-51单片机应用设计。张毅刚。哈尔滨工业大学出版社。4 MCS51单片机原理与应用(C语言版)。机械工业出版社。5 一种基于单片机的排队叫号系统设计。欧志刚。计算机光盘软件与应用。附录A:系统原理图附录B 程
15、序#include<reg51.h> #define uchar unsigned char #define uint unsigned int sbit rs=P26; sbit rw=P25; sbit e=P27; sbit key1=P10; sbit key2=P11; sbit key3=P12; sbit sounder=P15; uchar prompt1="Your No.is 00!" uchar prompt2="No.00 Go To Win.0" uchar prompt3="Queue is full &
16、quot; uchar prompt4="Queue is empty !" uint num_count=0; /排队叫的号码 uint rank_number20=0; /排队叫号存储的数组 uint num=0; /窗口消的号码 int RankFlag=0; /叫号的标志 int ClearNumFlag=0; /消号的标志 uint LengthFlag=0; /队列长度 叫一次号时+1,消一次号时-1 /*延时函数*/ void delay(uint n) while (n-); /* LCD1602 *显示屏命令写入函数* */ void LCD_write_
17、com(uchar com) e=0; rs=0; rw=0; P0= com; delay(1000); e=1; delay(1000); e=0; /* LCD1602 *显示屏数据写入函数* */ void LCD_write_data(uchar dat) e=0; rs=1; rw=0; P0 = dat; delay(1000); e=1; delay(1000); e=0; /* LCD1602 *显示屏清空显示* */ void LCD_clear(void) LCD_write_com(0x01); delay(1000); /* LCD1602 显示屏初始化函数 */ v
18、oid LCD_init(void) LCD_write_com(0x38); /*显示模式设置*/ delay(100); LCD_write_com(0x38); delay(100); LCD_write_com(0x38); delay(100); LCD_write_com(0x38); LCD_write_com(0x08); /*显示关闭*/ LCD_write_com(0x01); /*显示清屏*/ LCD_write_com(0x06); /*显示光标移动设置*/ delay(100); LCD_write_com(0x0C); /*显示开及光标设置*/ /*简单的蜂鸣器提示
19、音*/ void sound() uint a; for(a=0;a<500;a+) sounder=0; delay(61); sounder=1; /*获取键值函数*/ uint sweep_key() uint jianzhi; if(key1=0) delay(1000); if(key1=0) jianzhi=1; RankFlag=1; if(key2=0|key3=0) delay(1000); if(key2=0) jianzhi=2; if(key3=0) jianzhi=3; ClearNumFlag=1; return (jianzhi); /* 叫号机 按一次一号
20、键变量+1,最大为20 */ void QueueNumProcess() if(RankFlag=1) /判断叫号标志是否有效 if ( LengthFlag<20) num_count+; rank_numberLengthFlag = num_count; LengthFlag+; /* 窗口消号处理函数 */ void ClearNumProcess() uint i; if (ClearNumFlag=1) /判断消号标志是否有效 num=rank_number0; /把消的号赋给全局变量num for(i=0;i<19;i+) /让数组整体左移一个存储单元,即把消得号删
21、除 rank_numberi=rank_numberi+1; LengthFlag-; /* 检测到按键后,检测函数处理及LCD显示处理 */ void CheckButtonProcess(uint m) uint jz,i; jz=m; if(jz=1) && (RankFlag=1) / 当队列人数达到20时,提示 / Queue is full if( LengthFlag>=20 ) LCD_clear(); LCD_write_com(0x80+0x02); delay(100); for(i=0;i<16;i+) LCD_write_data(prom
22、pt3i); delay(100); else QueueNumProcess(); prompt111=(num_count)/10+'0' prompt112=(num_count)%10+'0' LCD_clear(); LCD_write_com(0x80+02); delay(100); for(i=0;i<15;i+) LCD_write_data(prompt1i); /"Your No.is 00!" delay(100); RankFlag=0; if(jz=2|jz=3) && ClearNumFlag=1)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 纺织工程师证书考试适应性培训试题及答案
- 药用拉丁语试题及答案
- 高空作业试题及答案解析
- 纺织品设计师证书考试基础材料试题及答案
- 纺织品设计的文化传播与市场反响试题及答案
- 纺织品的设计伦理与可持续性考量试题及答案
- 伐木合同协议书
- 合作协议书和合同协议书
- 长期委托加工合同协议书
- 二手房合同协议书
- 沥青混凝土拌合站吊装计算书
- 减速机生产工艺流程图
- 牛皮基础知识PPT优质课件
- 黄岩区区级以下河道管理范围
- DB32∕T 3921-2020 居住建筑浮筑楼板保温隔声工程技术规程
- 风电场道路及平台施工组织方案
- 最新幼儿园小朋友认识医生和护士PPT课件
- 《苏东坡传》精美(课堂PPT)
- 第4章单回路控制系统设计-zhm
- 国标法兰尺寸对照表
- 华电 电厂招聘化学试题
评论
0/150
提交评论