ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:144.05KB ,
资源ID:18249994      下载积分:5 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-18249994.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(排队叫号机.docx)为本站会员(b****0)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

排队叫号机.docx

1、排队叫号机湖南人文科技学院课程设计报告课程名称:单片机原理及应用课程设计设计题目: 排队叫号机 系 别: 通信与控制工程系 专 业: 电子信息工程 班 级: 09级电子信息工程2班 学生姓名: 何军 冯若愚 学 号: 09409249 09409208 起止日期: 2011年12月19日 2011年12月31日 指导教师: 谭周文 田汉平 教研室主任: 侯海良 指导教师评语: 指导教师签名: 年 月 日成绩评定项 目1、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 教研室审核意见:教研室主任签字: 年 月 日教学系审核意见: 主

2、任签字: 年 月 日 摘 要排队叫号管理系统(排队机、叫号机)是针对银行、工商、税务、通讯、政府机构等部门的大厅工作流程设计的,是利用电脑的科学管理客户排队的系统,很好地解决了客户在服务机构办理业务时所遇到的各种排队、拥挤和混乱现象,为客户办理业务带来莫大的方便和愉悦。本课题研究的目的是研制一款无人排队的排队叫号机,它主要由主控制器、键盘、数码管显示电路、蜂鸣器电路等部分构成。 系统利用单片机进行控制,通过串行通信方式传输处理数据;通过按键取号,在数码管上显示排队的号码以及当前正在等待的人数;通过按键叫号,在数码管上显示叫到的号码,由扬声器发出声音提示客户。同时免除了令客户不舒服的站立式排队,

3、这种现代化的高科技产品彻底解决了银行、医院等服务性企业普遍存在的站立等候,服务无序的问题,深化并完善了服务的质量。本系统采用单片机进行控制,利用数码管显示,蜂鸣器鸣叫提示的人机交互界面,模拟排队管理系统,科学地处理各种排队情况。操作简便,控制灵活,显示清晰,制作成本低,性价比较高。关键词:排队叫号机;串行通信;独立键盘;数码管动态显示;蜂鸣器3.3 叫号模块 63.4 串行通信模块 64 系统仿真及调试 64.2.2 叫号模块 74.2.3 串行通信模块 75 设计总结 76 致谢 87 详细仪器清单 9参考文献 10排队叫号机设计要求利用单片机的串行通信方式,完成一个科学管理各种复杂排队情况

4、的排队叫号系统。具体要求如下:(1) 主机:通过按键来完成报号,由数码管显示叫到的号码,并发出蜂鸣声。(2) 客户端:通过按键完成取号,由数码管显示号码和当前需要等待的人数。(3) 主机和客户端用串口通信,在20人等待的队列中进行测试。1方案论证与对比1.1方案一系统采用如图 1所示的电路,通过STC89C52的I/O口的扩展一块NEC D8255AC-2构成的矩阵键盘,完成排队取号的流程,单片机控制数码管显示排队等待情况,控制蜂鸣器发声完成叫号功能。图 1 采用矩阵键盘实现功能1.2方案二系统采用如图 2所示的电路,通过STC89C52单片机直接扩展的独立键盘,完成排队取号流程(本系统直接利

5、用系统的中断0按键控制),单片机控制数码管显示排队等待情况,控制蜂鸣器发声完成叫号功能。1.3系统方案对比论证因为采用矩阵键盘完成排队取号流程,但客户较多的时候要实现排队取号的功能,就要占去过多的I/O端口,操作起来也比较复杂,而方案二的独立键盘操作控制简单,占用主机资源少,所以选择方案二,采用独立键盘控制排队取号,通过串行通信的方式,模拟排队取号管理系统的流程显得更加方便、科学。图 2 采用独立键盘实现功能2硬件电路设计与分析2.1排队取号机主电路设计主电路原理图见附录一。系统采用STC89C52单片机完成整个系统的控制流程。从机通过单片机的中断0按键,当系统检测到按下时完成取号功能。主机同

6、样通过单片机的中断0按键,当系统检测到按下时完成叫号功能。图 3 串行通信电路2.2排队取号机通信电路设计通信电路采用如图 3所示的串行通信电路,通过单片机的串行通信端口进行数据传递。2.3动态显示电路由于需要动态显示排队等待情况,需要使用到LED动态显示功能,考虑到合理利用STC89C52单片机的I/O口资源,本系统通过一块NEC D8255AC-2外扩LED电路进行动态显示。由8255芯片的PA、PB口联合控制数码管显示排队等待情况。采用如图 4、图 6所示电路实现LED动态显示功能。图 4 8255芯片引脚图2.4叫号电路此电路采用如图 5所示的电路,通过单片机的P33端口输出一定频率的

7、方波,使蜂鸣器发声,完成叫号,提醒客户。3系统软件设计与分析3.1软件流程图本程序可以实现课程设计的基本要求。客户端通过按键完成取号,数码管显示排队、等待人数情况;主机通过按键完成叫号,数码管显示叫到的号码,并通过蜂鸣器发声提示;客户端和主机通过串行通信方式完成排队取号功能。程序流程如图 7所示:图 5 叫号电路图 6 数码管显示电路3.2动态显示模块此模块由于要使数码显示管不同的数值,数字各位对应的段选值不同,所以位选不能同时打开,所以需要采用动态显示实现同时显示排队号码以及等待的人数。最后采用如图 8所示的电路完成要求功能。图 7 总体流程图图 8 动态显示流程图3.3叫号模块此模块采用无

8、源蜂鸣器发声,采用如图 9所示电路,通过单片机向P33端口输出一定频率的方波,就可使蜂鸣器的发声。图 9 叫号模块电路3.4串行通信模块设计要求客户端与主机通过串行通信方式,采用如图 3所示的常用双机通信方式,通过使用定时器1采用 2400bps的波特率进行通信。4系统仿真及调试4.1软件调试(1)在Keil软件中建立工程,新建工程,选择Atmel AT89C52芯片,创建源代码,进行编译,在Keil中仿真调试。(2)在Protues软件中,根据功能模块,画出相应原理图。利用Keil中生成的*.hex文件与Keil进行程序联调。4.2硬件调试4.2.1动态显示模块开始调试时,在Protues软

9、件上可以很好模拟动态显示效果,但硬件电路数码管显示效果失真,考虑到延时在动态显示中的重要作用,通过调小延时时间,使数码管稳定、准确地显示。4.2.2叫号模块开始调试时,由于程序产生的方波频率比较低,导致蜂鸣器无法正常工作,通过查找资料,熟悉蜂鸣器有特定的工作频率范围,调试一合适方波频率,使蜂鸣器正常发声。4.2.3串行通信模块开始调试时,通过串口调试助手进行调试,但效果始终不出来,通过向同学请教,设置好软件的波特率在调试可以实现,最后把程序细节部分调试,使串行通信部分正常工作。5设计总结(1) 通过本次课程设计,加深了对于怎样学好单片机这门课程的理解,学单片机就是要多实践,老师领我们进入单片机

10、世界,精通它就得靠我们自己,那就是多实践,灵活运用自己所学知识到自己的作品当中。(2) 在程序设计过程中遇到的很多问题,阻碍设计的过程,通过总结,深深体会到程序设计的时候模块化处理的重要性,可以先画好程序流程图,然后各个模块各个击破。同时遇到问题时可以同学之间相互讨论、回到书本在学习,更有助于加深对所学知识的理解。(3) 软件编程上,由于对总的流程不是很清晰,刚开始时是一气呵成,把所有的程序编写完,接着就上电进行调试,结果什么反应都没有。最后经过老师的指导才顺利完成。其次,是对频率的转换理解不够甚透,计算初值很麻烦,最后是参考了同学的程序才做出来的。在整个电路的设计制作过程中,电路是比较难焊接

11、的。管脚的排列很乱,需把每一个脚的信息用万用表测过方可知道是属于行或是列,这给焊接带来了相当大的难度。在焊接过程中时刻秉着认真、仔细的态度去完成硬件的设计。此外,在调试过程中也遇到很多问题,首先是对电路板的检测方法掌握得不够精,因此给硬件排除故障带来了一定的难度。总的来说,此次电路的设计与制作,我们基本上达到了作品的要求功能。做得好的继续发扬,做得不够好的及时改正。6致谢身为电信专业的学生,设计是我们将来必需具备的技能。而这次课程设计恰恰给我们提供了一个应用自己所学知识去勇于创新和实践的平台。从通过理论设计,到仿真软件仿真,再到确定具体方案,最后到调试电路、成型。整个过程都需要我充分利用所学的

12、知识进行思考、借鉴。可以说,本次课程设计是针对前面所学的知识进行的一次比较综合的检验。总的来说,这次课程设计虽然很累,但却是苦中有乐,非常充实。在这次实习中,正确的思路是很重要的,只有你的设计思路是正确的,那你的设计才有可能成功。因此我们在设计前必须做好充分的准备,认真查找详细的资料,为我们设计的成功打下坚实的基础,所以跑图书馆和上网查资料成为了我每天的必修课。 本次课程设计不仅培养了我们的科学严谨的学习态度,使我们认识到不管做任何事都要付出一定的努力,才会有大的收获。同时也让我们领略到电子技术科学知识领域的广袤。相信这次课程设计过后,我们的理论水平和实践动手能力都会有一个质的飞跃,也为今后的

13、实践课程及毕业设计打下了坚实的基础。要做好本次的课程设计,熟练地掌握课本上的理论知识是前提。这样才能对试验中出现的问题进行一定的分析和解决。 当然能完成本次设计,更离不开老师辛勤地指导,老师能在百忙中来指导我,每当我遇到了棘手的问题,老师总能给我最好的建议,教我改进得方法,不厌其烦地指出我在设计中存在的问题和错误,使我能更好地完成设计。正是老师不厌其烦的指导和每天下午的讲解,让我的设计思路越发清晰,明朗,清除了应该从哪些方面着手作。 同时还要感谢在这样课程设计中给我提供的帮助的同学,是你们让我能更好的完成这次设计。这次课程设计对我来说有着深远的意义,让我对未来的路又看得清楚了些。在此我要深深的

14、感谢那些传授我知识的老师们,是你们无私的奉献,才会有如今掌握一定知识的我们;要感谢父母一直给我的支持,感谢他们的关怀; 还要感谢同学对我的鼓厉,感谢搭档对我的认可,让我能尽情的发挥我的能力,激扬去验证自己的想法。路漫漫其修远兮,吾将上下而求往。在以后的求学道路上,我坚信我们的未来我做主。让我们一起奋斗吧,燃烧我们的激情,释放我们的才华。7详细仪器清单表 1 仪器清单类型规格数量备注5V直流电源ZH-60032USB232converterU232-P92电阻1k28个芯片NEC D8255AC-22片扩展I/O芯片STC89C522片晶振12M2个蜂鸣器无源1个数码管3位共阳极4个极性电容0.

15、1UF2个非极性电容30pf2个按键开关2个三极管901512个参考文献1 张鑫.单片机原理及应用M.北京:电子工业出版社,2005.8.2 邱关源、罗先觉.电路M.北京:高等教育出版社,2006.5.3 康光华.电子技术基础.数字部分M.北京:高等教育出版社,2006.1.4 康光华.电子技术基础.模拟部分M.北京:高等教育出版社,2006.1.5 祁伟, 杨亭. 单片机C51程序设计教程与实验M.北京:北京航空航天大学出版社,2006.6 楼然苗.李光飞.单片机课程设计指导M.北京:北京航空航天大学出版社,2007.47 单片机学习网附录一:整体电路图附录二:程序清单/头文件:#inclu

16、de #include #define PA XBYTE0xD9FF /*PA口地址*/#define PB XBYTE0xDAFF /*PB口地址*/#define PC XBYTE0xDDFF /*PC口地址*/#define CON XBYTE0xDFFF /*控制字地址*/取号程序:#include /头文件#define uchar unsigned char#define uint unsigned intuint m,n;uchar i,j,q_head,q_tail;sbit P32=P32; uchar const table16= 0xA0, 0xBB,0x62,0x2A,

17、0x39,0x2C,0x24,0xBA, 0x20, 0x28,0x30,0x25,0xE4,0x23,0x64,0x74, ;uchar const table_queue= /20个排队号码 0x00,0x01,0x02,0x03,0x04,0x05, 0x06,0x07,0x08,0x09,0x0a, 0x0b,0x0c,0x0d,0x0e,0x0f, 0x10,0x11,0x12,0x13,0x14,;delay(uint k) while(k-);display(uchar p,uchar q) uint b,c,d,e; b=(uint)p/10; c=(uint)p%10; d=

18、(uint)q/10; e=(uint)q%10; PA=0xfe; PB=tableb; delay(200); PA=0Xfd; PB=tablec; delay(200); PA=0xef; PB=tabled; delay(200); PA=0Xdf; PB=tablee; delay(200);init() CON=0x80; EA=1; EX0=1; SCON=0x50; TMOD=0x20; TH1=0xf3; TL1=0xf3; TR1=1; void int0() interrupt 0 if(P32=0) delay(1200); if(P32=0) q_tail=tabl

19、e_queue+m; i=q_tail; j=q_tail-q_head; display(i,j); while(P32!=1)display(i,j);main() init(); q_head=table_queue+n; while(1) display(i,j); if(m=n) TI=0; SBUF=q_head; while(!TI); RI=0; while(!RI)display(i,j); if(nm) q_head=table_queue+n; j=q_tail-q_head; else if(n=m) q_head=table_queue+n; /叫号程序:#inclu

20、de /头文件#define uchar unsigned char#define uint unsigned int uint j,k;uchar t;sbit buzzer=P33;sbit P32=P32; uchar const table16= 0xA0, 0xBB,0x62,0x2A,0x39,0x2C,0x24,0xBA, 0x20, 0x28,0x30,0x25,0xE4,0x23,0x64,0x74, ;delay(uint i) while(i-);display(uint i,uint j) PA=0xfe; PB=tablei; delay(200); PA=0Xfd;

21、 PB=tablej; delay(200);init() CON=0x80; EA=1; EX0=1; SCON=0x50; TMOD=0x20; TH1=0xf3; TL1=0xf3; TR1=1; RI=1; beep() uint s=500; while(s-) buzzer=buzzer; delay(50); display(j,k); void int0() interrupt 0 if(RI=1) t=SBUF; j=(uint)t/10; k=(uint)t%10; display(j,k); RI=0; TI=0; SBUF=0xff; while(!TI); beep(); main() init(); RI=0; while(1) display(j,k);

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2