《银行排队叫号系统设计》课程设计 .doc

上传人:laozhun 文档编号:3933162 上传时间:2023-03-28 格式:DOC 页数:16 大小:873.50KB
返回 下载 相关 举报
《银行排队叫号系统设计》课程设计 .doc_第1页
第1页 / 共16页
《银行排队叫号系统设计》课程设计 .doc_第2页
第2页 / 共16页
《银行排队叫号系统设计》课程设计 .doc_第3页
第3页 / 共16页
《银行排队叫号系统设计》课程设计 .doc_第4页
第4页 / 共16页
《银行排队叫号系统设计》课程设计 .doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《《银行排队叫号系统设计》课程设计 .doc》由会员分享,可在线阅读,更多相关《《银行排队叫号系统设计》课程设计 .doc(16页珍藏版)》请在三一办公上搜索。

1、2011年至2012年第一学期银行排队叫号系统设计课程设计班级 1006402 指导教师 学生人数 3 设计份数 1 2011年12月23日银行排队叫号系统设计报告一设计时间2011年12月 19日-12月23日二设计地点湖南城市学院实验楼计算机机房三设计目的1进一步熟悉和掌握单片机的结构及工作原理。2掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,详细使用Protel软件绘制原理图的过程。4通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。四实验成员及分工 五.指导老师涂立副教授、李旎讲师.六.设计课题设计一个银行

2、排队叫号系统。理由: 1、系统原理容易理解,更贴近我们的生活。 2、怎个系统简洁明了,适于初学者。 3、能提高我们的综合应用能力。七.基本思路及关键问题的解决方法用八个二极管表示客户取号的号码和营业员准备给那位客户办理业务的号码,用二进制表示,亮的二极管表示0,灭的二极管表示为1 。开关KEY为客户取号码是所用,KEY闭合时八个二极管的亮灭顺序就是客户的号码。开关KEY1,KEY2,KEY3,KEY4是分别在四个营业窗口,其中任意一个按下,八个二极管的亮灭会显示一个号码,此号码对应要办理业务客户的号码,与此同时蜂鸣器也会提醒客户。八算法及流程图算法:程序利用循环结构检测整个系统中的客户端和叫号

3、端是否有按键被按下,如果检测到有按下的信号,首先判断按下按键的端口的类型,然后相应的计数变量加一,并把计数变量的信息以二进制的形式传送到相应的端口;如果没检测到按下信号,程序则跳入下一个循环继续检测按键信息。表1 元件清单元件名称规格与型号数量芯片晶振发光二级管电容电源按键蜂鸣器导线P87C52X2BN11.0592MHZLED10uf、30pf5V非自锁式1183181若干图1. 银行排队叫号系统原理图图2. 银行排队叫号系统流程图九、调试过程中出现的问题及相应解决办法1. 开打keil软件,建立一个新工程单击【Project】在下拉菜单中找到【New project.】选项,如图3所示 图

4、3. 新建工程2. 选择工程要保存的路径,并且输入工程文件名。Keil的一个工程里通常含有很多小文件,为了方便管理,一般将一个工程放在一个独立的文件夹下,比如保存到课程设计文件夹,工程文件的名字为part,如图4 所示图4. 填写工程名程单击保存后会弹出一个对话框,要求选择单片机的型号,可以根据使用的单片机来选择。Keil C51几乎支持所有的51内核的单片机,在这里选择Atmel的AT89C52 ,如图5选择后单击保存。图5. 选择工程控制器型号3. 完成上一步骤后,窗口界面如图6所示图6. 完成工程创建到此为止,还没有建立好一个完整的工程,虽然工程名有了,但工程当中还没有任何文件及代码,接

5、下来的就是添加文件及代码。4. 单击【File】菜单中的【new】菜单项,或单击界面上的快捷键图标。如图7图7. 工程界面新建文件后的窗口界面如图8所示图8 新建文件此时光标在编辑窗口中闪烁,可以输入用户的应用程序,但此时这个新建文件与刚刚建立的工程还没有直接的联系,单击图标,窗口界面如图9所示图9 填写文件名称输入要保存的文件名,同时必须输入正确的扩展名(如果用C语言编写的程序,则扩展名必须是.c;如果用汇编语言编写的程序,则扩展名必须是.asm).这里的文件名不一定要和工程名相同,可以随意填写文件名,然后单击【保存】按钮。5. 回到编辑界面,单击【Target 1】前面的“+”号,然后在【

6、Source Group 1】单击右键,弹出如图10所示的菜单、 图10 添加程序文件到工程然后选择【Add Files to Group Source Group 1】菜单项弹出对话框图11图11 选择C语言程序文件6. 选中【Text1】,单击【Add】按钮,再单击【Close】按钮,然后再单击左侧【Source Group 1】前面的“+”,屏幕窗口如图12所示图12 进入程序编辑界面接着是在编辑窗口中编写程序。7. 编写好程序就要进行程序的编译,单击工具栏上的进行编译,在编译过程中如果出现错误,修改程序直到没有错误为止,然后在依次点击和,在此过程中出现错误的,也要修改程序直到没有错误为

7、止,编译过程中出现警告一般可以不必考虑,但特殊时也要通过修改程序消除警告。8. 把文件转化成十六进制文件,点击【Project】在下拉菜单里找到【Options for Target target1】,如下图13所示图13 打开文件属性设置窗口单击【Options for Target target1】会弹出下面的对话框在Eprom和Ram后面的框中填入相应的数据(也可以不进行填写),然后单击Output选项出现以下界面如图14图14 设置输出晶振频率用鼠标左键单击Creat HEX Fi:前面的方框,这时方框里会用一个对号如图15图15 设置运行后创建HEX文件点击确定对话框就会消失,这样刚

8、刚所建立的文件就转化成十六进制的文件。9. 用40针排线把DP-51PRO试验仪(如下图)上的A1区J76接口与A2区J79接口相连,然后使用导线把A2区的J61接口与D1区的J52接口相连。再用导线把A2区的J58的RXD,TXD,与A2区的J53的KEY1,KEY2相连,最后用导线把A2区的J58的INTO与D4区的J8的任意一接口相连。图16 DP-51PRO试验仪10对DP-51PRO试验仪上电。打开DPFlash软件出现如图17所示界面图17 DPFlash软件界面点击栏中的【文件】在下拉菜单里找到【装载】,如图18所示图18 装载HEX文件 或者直接点击工具栏里图标,点击后会弹出下

9、图19所示的对话框图19 选择HEX文件 找到刚刚所建立的文件,点击后按打开按钮对话框就会消失。然后单击会弹出图20所示的对话框图20 编程准备界面 单击编程后,软件开始把程序烧入试验仪,烧片的过程如图21 图21 烧录程序文件到单片机 当烧片完成后,点击退出就行了。10. 关闭DPFalsh软件。把DP-51PRO单片机仿真试验仪A1区的工作模式选择开关(MOD_sw1)切换到RUN处,然后按一下复位键(RST),MON51程序即开始运行。11. 观察实验运行的情况是不是符合设想。实验现象为:按KEY时八个二极管会按一定的顺序亮灭,显示一个二进制号码,再次按KEY时八个二极管也会按一定的顺序

10、亮灭,显示一个新的二进制号码,此号码为前一个号码加一;按下KEY1,KEY2,KEY3,KEY4中的任意一个按键,八个二极管会按一定的顺序亮灭,显示一个二进制号码,此号码对应要办理业务客户的号码,与此同时蜂鸣器发出声音提示,再次按KEY1,KEY2,KEY3,KEY4中的任意一个按键,八个二极管也会按一定的顺序亮灭,显示一个新的二进制号码,此号码为前一个号码加一,蜂鸣器发出声音。十、课程设计心得体会 通过五天的单片机课程设计,我觉得学习单片机,学习书本上的知识是远远不过的,我们更应该多做实验,在学习的过程中我们要多动脑,多动手,单片机是实实在在的硬件,只有在不断实践中才能领悟它的工作原理。而且

11、当我们在实际动手的过程中要书本和实践相结合,有些不会再去翻书查资料,这样会记得更加牢固。在实验的过程我更加体会到了团队的力量,有时仅仅靠一个人的努力,是完全不行的,要考团队的力量,共同去完成,要形成良好的团队意识。十一、源程序#include /52系列单片机头文件#define uchar unsigned char /宏定义#define uint unsigned int /宏定义sbit key=P33; /取号用的按键sbit beep=P32; /蜂鸣器接口sbit key1=P34; /呼叫客户的按键1sbit key2=P35; /呼叫客户的按键2sbit key3=P23;

12、/呼叫客户的按键3sbit key4=P24; /呼叫客户的按键4void delayms(uchar x) /延时函数uchar i,j;for(i=x;i0;i-)for(j=110;j0;j-);void main()uchar temp=0xff,temp1=0xff;/temp为取号参数,temp1呼号参数key=1;key1=1;key2=1;key3=1;key4=1;/初始化各按键状态while(1) if(temp1=0x00) temp1=0xff;/当号码取完时,从0重新开始if(key=0)/是否有客户把按键按下delayms(10);/消抖if(key=0)/有按键按

13、下P1=temp;/客户领取号码temp-;/为下个客户取号码做准备while(!key);delayms(10);while(!key);/按键松手检测if(temp=0x00)temp=0xff;/当号码取完时,从0重新开始 if(key1=0)/是否有营业员把按键delayms(10);/消抖if(key1=0)/有按键按下P1=temp1;/营业员取要为那位客户服务的号码 beep=beep;delayms(50);/呼叫客户temp1-;/为呼叫下个客户做准备while(!key1);delayms(10);while(!key1);/按键松手检测 else if(key2=0)/是

14、否有营业员把按键delayms(10);/消抖if(key2=0)/有按键按下P1=temp1;/营业员取要为那位客户服务的号码beep=beep;delayms(50);/呼叫客户temp1-;/为呼叫下个客户做准备while(!key2);delayms(10);while(!key2);/按键松手检测 else if(key3=0)/是否有营业员把按键delayms(10);/消抖if(key3=0)/有按键按下P1=temp1;/营业员取要为那位客户服务的号码beep=beep;delayms(50);/呼叫客户temp1-;/为呼叫下个客户做准备while(!key3);delaym

15、s(10);while(!key3);/按键松手检测 else if(key4=0)/是否有营业员把按键delayms(10);/消抖if(key4=0)/有按键按下P1=temp1;/营业员取要为那位客户服务的号码beep=beep;delayms(50);/呼叫客户temp1-;/为呼叫下个客户做准备while(!key4);delayms(10);while(!key4);/按键松手检测 参考文献1 郭天翔主编.新概念51单片机C语言教程.北京:电子工业出版社,2008.2美 Richard Anderson, Chris Blexrud著.ASP3高级编程M.刘福太,张立民,金慧琴,梁

16、发麦等译.北京:机械工业出版社,2000:408-458.3 玉德等编.MCS51单片机原理与应用.北京:机械工业出版社,2002.4 李华主编.MCS51系列单片机实用接口技术.北京:北京航空航天大学出版社,2000.5 马骏.车站售票大厅智能排队叫号系统的设计和开发.科技情报开发与经济. 2010.Vol .6 杨彦、王霖、张凤荔、刘丽萍. 基于RS485 和单片机的排队机控制系统设计. 中文核心期刊微计算机信息(测控自动化)2008 年第24 卷第1-1 期.7 张忠安 齐俊传. 门诊排队叫号系统设计. 医疗卫生装备2006年第27卷第108 张毅刚.MCS-51单片机应用设计.哈尔滨:哈尔滨工业大学出版社.9 闫玉德 俞虹.MCS-51单片机原理与应用(C语言版).机械工业出版社.2003.10

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号