单片机课程设计排队叫号机.docx
《单片机课程设计排队叫号机.docx》由会员分享,可在线阅读,更多相关《单片机课程设计排队叫号机.docx(18页珍藏版)》请在三一办公上搜索。
1、单片机课程设计 排队叫号机单片机原理及应用 课程设计报告书 课题名称 姓 名 学 号 专 业 指导教师 排队叫号机 机电与控制工程学院 年 月 日 任务书 设计要求 利用单片机的串行通信方式,完成一个科学管理各种复杂排队情况的排队叫号系统。具体要求如下: (1) 主机:通过按键来完成报号,由数码管显示叫到的号码,并发出蜂鸣声。 (2) 客户端:通过按键完成取号,由数码管显示号码和当前需要等待的人数。 (3) 主机和客户端用串口通信,在20人等待的队列中进行测试。 目 录 设计要求 . 1 1 方案论证与对比 . 1 1.1 方案一 . 1 1.2 方案二 . 1 1.3 系统方案对比论证 .
2、2 2 硬件电路设计与分析 . 2 2.1 排队取号机主电路设计 . 2 2.2 排队取号机通信电路设计 . 3 2.3 动态显示电路 . 3 2.4 叫号电路 . 3 3 系统软件设计与分析 . 4 3.1 软件流程图 . 4 3.2 动态显示模块 . 4 3.3 叫号模块 . 6 3.4 串行通信模块 . 6 4 系统仿真及调试 . 6 4.1 软件调试 . 6 4.2 硬件调试 . 6 4.2.1 动态显示模块 . 6 4.2.2 叫号模块 . 7 4.2.3 串行通信模块 . 7 5 设计总结 . 7 6 致谢 . 8 7 详细仪器清单 . 9 参考文献 . 10 附录一:整体电路图
3、. 11 附录二:程序清单 . 12 摘 要 排队叫号管理系统(排队机、叫号机)是针对银行、工商、税务、通讯、*机构等部门的大厅工作流程设计的,是利用电脑的科学管理客户排队的系统,很好地解决了客户在服务机构办理业务时所遇到的各种排队、拥挤和混乱现象,为客户办理业务带来莫大的方便和愉悦。本课题研究的目的是研制一款无人排队的排队叫号机,它主要由主控制器、键盘、数码管显示电路、蜂鸣器电路等部分构成。 系统利用单片机进行控制,通过串行通信方式传输处理数据;通过按键取号,在数码管上显示排队的号码以及当前正在等待的人数;通过按键叫号,在数码管上显示叫到的号码,由扬声器发出声音提示客户。同时免除了令客户不舒
4、服的站立式排队,这种现代化的高科技产品彻底解决了银行、医院等服务性企业普遍存在的站立等候,服务无序的问题,深化并完善了服务的质量。本系统采用单片机进行控制,利用数码管显示,蜂鸣器鸣叫提示的人机交互界面,模拟排队管理系统,科学地处理各种排队情况。操作简便,控制灵活,显示清晰,制作成本低,性价比较高。 排队叫号机 设计要求 利用单片机的串行通信方式,完成一个科学管理各种复杂排队情况的排队叫号系统。具体要求如下: (1) 主机:通过按键来完成报号,由数码管显示叫到的号码,并发出蜂鸣声。 (2) 客户端:通过按键完成取号,由数码管显示号码和当前需要等待的人数。 (3) 主机和客户端用串口通信,在20人
5、等待的队列中进行测试。 1方案论证与对比 1.1方案一 系统采用如图 1所示的电路,通过STC89C52的I/O口的扩展一块NEC D8255AC-2构成的矩阵键盘,完成排队取号的流程,单片机控制数码管显示排队等待情况,控制蜂鸣器发声完成叫号功能。 数码显示8255矩阵键盘89C52(主机/从机)蜂鸣器图 1 采用矩阵键盘实现功能 1.2方案二 系统采用如图 2所示的电路,通过STC89C52单片机直接扩展的独立键盘,完成排队取号流程,单片机控制数码管显示排队等待情况,控制蜂鸣器发声完成叫号功能。 1 1.3系统方案对比论证 因为采用矩阵键盘完成排队取号流程,但客户较多的时候要实现排队取号的功
6、能,就要占去过多的I/O端口,操作起来也比较复杂,而方案二的独立键盘操作控制简单,占用主机资源少,所以选择方案二,采用独立键盘控制排队取号,通过串行通信的方式,模拟排队取号管理系统的流程显得更加方便、科学。 数码显示8255独立键盘89C52(主机/从机)蜂鸣器图 2 采用独立键盘实现功能 2硬件电路设计与分析 2.1排队取号机主电路设计 主电路原理图见附录一。 系统采用STC89C52单片机完成整个系统的控制流程。从机通过单片机的中断0按键,当系统检测到按下时完成取号功能。主机同样通过单片机的中断0按键,当系统检测到按下时完成叫号功能。 TXDRXD主机RXD客户端TXD图 3 串行通信电路
7、 2 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端口输出一定频率的方波,使蜂鸣器发声,完成叫号,提醒客户。 3 3系统软件设计
8、与分析 3.1软件流程图 本程序可以实现课程设计的基本要求。客户端通过按键完成取号,数码管显示排队、等待人数情况;主机通过按键完成叫号,数码管显示叫到的号码,并通过蜂鸣器发声提示;客户端和主机通过串行通信方式完成排队取号功能。程序流程如图 7所示: 图 5 叫号电路 图 6 数码管显示电路 4 3.2动态显示模块 此模块由于要使数码显示管不同的数值,数字各位对应的段选值不同,所以位选不能同时打开,所以需要采用动态显示实现同时显示排队号码以及等待的人数。最后采用如图 8所示的电路完成要求功能。 初始化数码显示1N取号?有队伍?NYY缓存器主机数据处理Y叫号?N数码显示1Y从机数据处理鸣叫提示数码
9、显示2图 7 总体流程图 CPU延时改变8255PA、值8255延时处理数码管显示图 8 动态显示流程图 5 3.3叫号模块 此模块采用无源蜂鸣器发声,采用如图 9所示电路,通过单片机向P33端口输出一定频率的方波,就可使蜂鸣器的发声。 CPU方波信号蜂鸣器发声图 9 叫号模块电路 3.4串行通信模块 设计要求客户端与主机通过串行通信方式,采用如图 3所示的常用双机通信方式,通过使用定时器1采用 2400bps的波特率进行通信。 4系统仿真及调试 4.1软件调试 (1)在Keil软件中建立工程,新建工程,选择Atmel AT89C52芯片,创建源代码,进行编译,在Keil中仿真调试。 (2)在
10、Protues软件中,根据功能模块,画出相应原理图。利用Keil中生成的*.hex文件与Keil进行程序联调。 4.2硬件调试 4.2.1动态显示模块 开始调试时,在Protues软件上可以很好模拟动态显示效果,但硬件电路数码管显示效果失真,考虑到延时在动态显示中的重要作用,通过调小延时时间,使数码管稳定、准确地显示。 6 4.2.2叫号模块 开始调试时,由于程序产生的方波频率比较低,导致蜂鸣器无法正常工作,通过查找资料,熟悉蜂鸣器有特定的工作频率范围,调试一合适方波频率,使蜂鸣器正常发声。 4.2.3串行通信模块 开始调试时,通过串口调试助手进行调试,但效果始终不出来,通过向同学请教,设置好
11、软件的波特率在调试可以实现,最后把程序细节部分调试,使串行通信部分正常工作。 5设计总结 (1) 通过本次课程设计,加深了对于怎样学好单片机这门课程的理解,学单片机就是要多实践,老师领我们进入单片机世界,精通它就得靠我们自己,那就是多实践,灵活运用自己所学知识到自己的作品当中。 (2) 在程序设计过程中遇到的很多问题,阻碍设计的过程,通过总结,深深体会到程序设计的时候模块化处理的重要性,可以先画好程序流程图,然后各个模块各个击破。同时遇到问题时可以同学之间相互讨论、回到书本在学习,更有助于加深对所学知识的理解。 (3) 软件编程上,由于对总的流程不是很清晰,刚开始时是一气呵成,把所有的程序编写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机课程设计 排队叫号机 单片机 课程设计 排队 叫号
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3346619.html