单片机原理及应用课程设计排队叫号系统_第1页
单片机原理及应用课程设计排队叫号系统_第2页
单片机原理及应用课程设计排队叫号系统_第3页
单片机原理及应用课程设计排队叫号系统_第4页
单片机原理及应用课程设计排队叫号系统_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 课程设计报告课程名称: 单片机原理及应用课程设计设计题目: 排队叫号机 系 别: 信工系 专 业: 物理与电子信息工程 班 级: 学生姓名: 学 号: 起止日期: 指导教师: 成绩评定项 目权重成绩姓名1姓名21、设计过程中出勤、学习态度等方面0.22、课程设计质量与答辩0.53、设计报告书写及图纸规范程度0.3总 成 绩 指导教师评语:指导教师签名: 年 月 日摘 要排队叫号管理系统(排队机、叫号机)是针对银行、工商、税务、通讯、政府机构等部门的大厅工作流程设计的,是利用电脑的科学管理客户排队的系统,很好地解决了客户在服务机构办理业务时所遇到的各种排队、拥挤和混乱现象,为客户办理业务带来莫

2、大的方便和愉悦。本课题研究的目的是研制一款无人排队的排队叫号机,它主要由主控制器、键盘、数码管显示电路、蜂鸣器电路等部分构成。 系统利用单片机进行控制,通过串行通信方式传输处理数据;通过按键取号,在数码管上显示排队的号码以及当前正在等待的人数;通过按键叫号,在数码管上显示叫到的号码,由扬声器发出声音提示客户。同时免除了令客户不舒服的站立式排队,这种现代化的高科技产品彻底解决了银行、医院等服务性企业普遍存在的站立等候,服务无序的问题,深化并完善了服务的质量。本系统采用单片机进行控制,利用数码管显示,蜂鸣器鸣叫提示的人机交互界面,模拟排队管理系统,科学地处理各种排队情况。操作简便,控制灵活,显示清

3、晰,制作成本低,性价比较高。 关键词:排队叫号机;串行通信;独立键盘;数码管动态显示;蜂鸣器目 录1 方案论证32主要芯片功能介绍42.1 STC89C5242.2 74HC138及74HC245引脚功能说明73 硬件电路设计83.1总体设计电路83.2排队取号控制电路93.3排起取号电路104.1程序流程图115系统功能测试与整体指标115.1 硬件测试115.2软件调试116 总结与思考及致谢11参考文献12附录一:详细元件清单12附录二:详细系统源程序13排队叫号机设计要求 利用单片机的串行通信方式,完成一个科学管理各种复杂排队情况的排队叫号系统。具体要求如下: (1) 主机:通过按键来

4、完成报号,由数码管显示叫到的号码,并发出蜂鸣声。 (2) 客户端:通过按键完成取号,由数码管显示号码和当前需要等待的人数。 (3) 主机和客户端用串口通信。1 方案论证 系统采用如图所示的电路,系统采用如图所示的电路,通过STC89C52单片机直接扩展的独立键盘,完成排队取号流程(本系统直接利用系统的中断0按键控制),单片机控制数码管显示排队等待情况控制蜂鸣器发声完成叫号功能。数码显示数码显示STC89C52(从机)STC89C52(主机)蜂鸣器(主机)独立键盘独立键盘2主要芯片功能介绍2.1 STC89C521STC89C52单片机简介STC89C52是美国ATMEL公司推出的系列单片机,将

5、多种功能的8位CPU与FPEROM(快闪可编程/擦除只读存储器)结合在一个芯片上,是一种低功耗、高性能的CMOS控制器,为很多嵌入式控制应用提供了非常灵活而又价格适宜的方案,其性能价格比远高于同类芯片。它与MCS-51指令系统兼容,片内FPEROM允许对程序存储器在线重复编程,也可用常规的EPROM编程器编程,可循环写入/擦除1000次。STC89C52内含4KB的FPEROM,一般的EEPROM的字节擦除时间和写入时间基本上均为10ms,对于任一个实时控制系统来说,这样长的时间是不可能在线修改程序的。其内部结构框图如图3所示:图3 STC89C52内部结构图与EEPROM相比较,FPEROM

6、大大缩短了存储内容擦除和写入的时间,为在线改写程序提供了极大的方便,而且价格也比带EPROM87C系列单片机便宜,这更显示出了89C系列的优越性。它还有128*8Bit的片内RAM;32根I/O线;2个16位定时/计数器;5个中断源;一个全双工的异步串行口;间歇和掉电工作模式;三级程序存储器加密;全静态工作,晶振工作范围:0Hz24MHz。2管脚功能STC89C52单片机为40引脚芯片如图4所示。I/O口线: P0、P1、P2、P3共四个八位标准双向口。P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出,

7、 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P2口也是标准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能,作为第一功能使用时操作同P1口,P3口的第二功能如表1。图4 STC89C52引脚图控制口线: PSEN (片外取控制)、ALE( 地址锁存控制)、EA (片外储器选择)。电源及时钟: VCC、VSS; XTAL1,XTAL2。表1 引脚功能表2.2 74HC138及74HC245引脚功能说明引脚图如下所示:74HC245:

8、74HC138:当一个选通端(G1)为高电平,另两个选通端(/(G2A)和/(G2B))为低电平时,可将地址端(A、B、C)的二进制编码在一个对应的输出端以低电平译出。 利用 G1、/(G2A)和/(G2B)可级联扩展成 24 线译码器;若外接一个反相器还可级联扩展成 32 线译码器。3 硬件电路设计3.1总体设计电路 按照课程设计要求,结合单片机系统特点,排队叫号总体设计电路如图所示: 4系统软件设计4.1程序流程图初始化 判断从机是否取号否是向主机发送数据数码管显示当前人数主机接收数据主机是否叫号是否数码管显示叫到的号码蜂鸣器响应5系统功能测试与整体指标5.1 硬件测试 第一步:目测。检查

9、外部的各种元件或则电路是否有断点; 第二步:用万用表测试。先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象。 第三步:加电检测。给板加电,检测所有的插座或是器件的电源端是否符合要求的值。 第四步:联机检查。因为只有用单片机开发系统才能完成对用户系统的调试。5.2软件调试软件调试是通过对用户程序的汇编、连接、执行来发现程序中存在的语法错误与逻辑错误并加以排除纠正的过程。程序后,编辑,查看程序是否有逻辑的错误。6 总结与思考及致谢(1) 通过本次课程设计,加深了对于怎样学好单片机这门课程的理解,学单片机就是要多实践,老师领我们进入单片机世界,精通它就得靠我们自己,那就是

10、多实践,灵活运用自己所学知识到自己的作品当中。 (2) 在程序设计过程中遇到的很多问题,阻碍设计的过程,通过总结,深深体会到程序设计的时候模块化处理的重要性,可以先画好程序流程图,然后各个模块各个击破。同时遇到问题时可以同学之间相互讨论、回到书本在学习,更有助于加深对所学知识的理解。参考文献1 张鑫.单片机原理及应用M.北京:电子工业出版社,2005.8. 2 邱关源、罗先觉.电路M.北京:高等教育出版社,2006.5. 3 康光华.电子技术基础.数字部分M.北京:高等教育出版社,2006.1. 4 康光华.电子技术基础.模拟部分M.北京:高等教育出版社,2006.1. 5 祁伟, 杨亭. 单

11、片机C51程序设计教程与实验M.北京:北京航空航天大学出版社,2006. 6 楼然苗.李光飞.单片机课程设计指导M.北京:北京航空航天大学出版社,2007.4 7 单片机学习网8谢四莲.王善伟.李石林.单片机原理及应用基于项目教学附录一:详细元件清单仪器名称数量STC89C52芯片2个按键3个电阻29个数码管6块PCB板1块杜邦线2根电源线1根附录二:详细系统源程序 排队叫号机程序:取号程序:#includesbit addr3=P13;sbit enled=P14;sbit keyout1=P23;sbit keyin1=P24;unsigned char T0RH = 0;unsigned

12、 char T0RL = 0;void delay(unsigned int z);void ConfigTimer0(unsigned int ms);unsigned char code LedChar = 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E;unsigned char LedBuff6 = 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF; /数码管缓冲unsigned char getdate;unsigned c

13、har allman;void main()addr3=1;enled=0;keyout1=0;EA=1;ConfigTimer0(1);/串口设置SCON=0x50;PCON=0x00;TMOD&=0x0f; TMOD|=0x20; TH1=0xFD;TL1=0xFD; TR1=1;while(1) if(RI)RI=0;delay(5);allman=SBUF;if(keyin1=0)delay(100);if(keyin1=0)allman+;getdate+;if(allman=100)allman=0;LedBuff0=LedCharallman%10;LedBuff1=LedCha

14、rallman/10%10;LedBuff2=0xbf;LedBuff3=LedChargetdate%10;LedBuff4=LedChargetdate/10%10;SBUF=allman;if(TI)TI=0;delay(5);void delay(unsigned int z) unsigned int x,y; for(x=z;x0;x-) for(y=125;y0;y-); void ConfigTimer0(unsigned int ms) /T0配置函数unsigned long tmp;tmp = 11059200/12; /定时器计数频率tmp = (tmp * ms)/1

15、000;/计算所需的计数值tmp = 65536 - tmp; /计算定时重载值tmp = tmp + 18; /修正中断响应延时造成的误差T0RH = (unsigned char)(tmp 8);/ 定时器重载值拆分为高低字节T0RL = (unsigned char)tmp;TMOD &= 0xF0; TMOD |= 0x01; TH0 = T0RH; TL0 = T0RL;ET0 =1; TR0 = 1; void LedScan() /? static unsigned char i = 0; P0 = 0xFF; P1 = (P1 & 0xF8) | i; P0 = LedBuff

16、i; if (i 5) i+; else i = 0;void InterruptTimer0() interrupt 1 TH0 = T0RH; TL0 = T0RL; LedScan(); 叫号程序:#includesbit addr3=P13;sbit enled=P14;sbit keyout1=P23;sbit keyin1=P24;sbit beep=P16;unsigned char flag = 0;unsigned char getdate =0;unsigned char allman;unsigned char T0RH = 0;unsigned char T0RL =

17、0;void delay(unsigned int z);unsigned char LedBuff6 = 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF;/数码管显示缓冲区,初值0XFF确保启动时都不亮unsigned char code LedChar = 0xC0, 0xF9, 0xA4, 0xB0, 0x99, 0x92, 0x82, 0xF8, 0x80, 0x90, 0x88, 0x83, 0xC6, 0xA1, 0x86, 0x8E;void ConfigTimer0(unsigned int ms);void beeper();void main()enl

18、ed=0;addr3=1;keyout1=0;EA=1;ConfigTimer0(1);SCON=0x50;/设置串口工作方式1PCON=0x00;TMOD&=0x0f; /清零T1控制位TMOD|=0x20; /配置T1为模式2TH1=0xFD;TL1=0xFD;/设置TH1.TL1初值TR1=1;LedBuff0=LedChargetdate%10;LedBuff1=LedChargetdate/10%10;while(1)if(RI)RI=0;delay(5);allman=SBUF;if(keyin1=0)delay(100);if(keyin1=0)if(allman != 0)getdate+;allman-; flag = 1;else allman = allman;getdate = getdate;flag = 0;LedBuff0=LedChargetdate%10;LedBuff1=LedChargetdate/10%10;SBUF=allman;if(TI)TI=0;delay(5); if(flag) beeper(); elsebeep=0;void beeper()unsigned char i,j,k;for(i=0;i18;i+)for(j=0;j250;j+)for(k=0;k120;k+) ;beep=!beep;for(j=0;j13

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论