




已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档2011年至2012年第一学期银行排队叫号系统设计课程设计班级 1006402 指导教师 涂立、李旎 学生人数 3 设计份数 1 2011年12月23日银行排队叫号系统设计报告一设计时间2011年12月 19日-12月23日二设计地点湖南城市学院实验楼计算机机房三设计目的1进一步熟悉和掌握单片机的结构及工作原理。2掌握单片机的接口技术及相关外围芯片的外特性,控制方法。3通过课程设计,掌握以单片机核心的电路设计的基本方法和技术,详细使用Protel软件绘制原理图的过程。4通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。四实验成员及分工 五.指导老师涂立副教授、李旎讲师.六.设计课题设计一个银行排队叫号系统。理由: 1、系统原理容易理解,更贴近我们的生活。 2、怎个系统简洁明了,适于初学者。 3、能提高我们的综合应用能力。七.基本思路及关键问题的解决方法用八个二极管表示客户取号的号码和营业员准备给那位客户办理业务的号码,用二进制表示,亮的二极管表示0,灭的二极管表示为1 。开关KEY为客户取号码是所用,KEY闭合时八个二极管的亮灭顺序就是客户的号码。开关KEY1,KEY2,KEY3,KEY4是分别在四个营业窗口,其中任意一个按下,八个二极管的亮灭会显示一个号码,此号码对应要办理业务客户的号码,与此同时蜂鸣器也会提醒客户。八算法及流程图算法:程序利用循环结构检测整个系统中的客户端和叫号端是否有按键被按下,如果检测到有按下的信号,首先判断按下按键的端口的类型,然后相应的计数变量加一,并把计数变量的信息以二进制的形式传送到相应的端口;如果没检测到按下信号,程序则跳入下一个循环继续检测按键信息。表1 元件清单元件名称规格与型号数量芯片晶振发光二级管电容电源按键蜂鸣器导线P87C52X2BN11.0592MHZLED10uf、30pf5V非自锁式1183181若干图1. 银行排队叫号系统原理图图2. 银行排队叫号系统流程图九、调试过程中出现的问题及相应解决办法1. 开打keil软件,建立一个新工程单击【Project】在下拉菜单中找到【New project.】选项,如图3所示 图3. 新建工程2. 选择工程要保存的路径,并且输入工程文件名。Keil的一个工程里通常含有很多小文件,为了方便管理,一般将一个工程放在一个独立的文件夹下,比如保存到课程设计文件夹,工程文件的名字为part,如图4 所示图4. 填写工程名程单击保存后会弹出一个对话框,要求选择单片机的型号,可以根据使用的单片机来选择。Keil C51几乎支持所有的51内核的单片机,在这里选择Atmel的AT89C52 ,如图5选择后单击保存。图5. 选择工程控制器型号3. 完成上一步骤后,窗口界面如图6所示图6. 完成工程创建到此为止,还没有建立好一个完整的工程,虽然工程名有了,但工程当中还没有任何文件及代码,接下来的就是添加文件及代码。4. 单击【File】菜单中的【new】菜单项,或单击界面上的快捷键图标。如图7图7. 工程界面新建文件后的窗口界面如图8所示图8 新建文件此时光标在编辑窗口中闪烁,可以输入用户的应用程序,但此时这个新建文件与刚刚建立的工程还没有直接的联系,单击图标,窗口界面如图9所示图9 填写文件名称输入要保存的文件名,同时必须输入正确的扩展名(如果用C语言编写的程序,则扩展名必须是.c;如果用汇编语言编写的程序,则扩展名必须是.asm).这里的文件名不一定要和工程名相同,可以随意填写文件名,然后单击【保存】按钮。5. 回到编辑界面,单击【Target 1】前面的“+”号,然后在【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. 编写好程序就要进行程序的编译,单击工具栏上的进行编译,在编译过程中如果出现错误,修改程序直到没有错误为止,然后在依次点击和,在此过程中出现错误的,也要修改程序直到没有错误为止,编译过程中出现警告一般可以不必考虑,但特殊时也要通过修改程序消除警告。8. 把文件转化成十六进制文件,点击【Project】在下拉菜单里找到【Options for Target target1】,如下图13所示图13 打开文件属性设置窗口单击【Options for Target target1】会弹出下面的对话框在Eprom和Ram后面的框中填入相应的数据(也可以不进行填写),然后单击Output选项出现以下界面如图14图14 设置输出晶振频率用鼠标左键单击Creat HEX Fi:前面的方框,这时方框里会用一个对号如图15图15 设置运行后创建HEX文件点击确定对话框就会消失,这样刚刚所建立的文件就转化成十六进制的文件。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文件 或者直接点击工具栏里图标,点击后会弹出下图19所示的对话框图19 选择HEX文件 找到刚刚所建立的文件,点击后按打开按钮对话框就会消失。然后单击会弹出图20所示的对话框图20 编程准备界面 单击编程后,软件开始把程序烧入试验仪,烧片的过程如图21 图21 烧录程序文件到单片机 当烧片完成后,点击退出就行了。10. 关闭DPFalsh软件。把DP-51PRO单片机仿真试验仪A1区的工作模式选择开关(MOD_sw1)切换到RUN处,然后按一下复位键(RST),MON51程序即开始运行。11. 观察实验运行的情况是不是符合设想。实验现象为:按KEY时八个二极管会按一定的顺序亮灭,显示一个二进制号码,再次按KEY时八个二极管也会按一定的顺序亮灭,显示一个新的二进制号码,此号码为前一个号码加一;按下KEY1,KEY2,KEY3,KEY4中的任意一个按键,八个二极管会按一定的顺序亮灭,显示一个二进制号码,此号码对应要办理业务客户的号码,与此同时蜂鸣器发出声音提示,再次按KEY1,KEY2,KEY3,KEY4中的任意一个按键,八个二极管也会按一定的顺序亮灭,显示一个新的二进制号码,此号码为前一个号码加一,蜂鸣器发出声音。十、课程设计心得体会 通过五天的单片机课程设计,我觉得学习单片机,学习书本上的知识是远远不过的,我们更应该多做实验,在学习的过程中我们要多动脑,多动手,单片机是实实在在的硬件,只有在不断实践中才能领悟它的工作原理。而且当我们在实际动手的过程中要书本和实践相结合,有些不会再去翻书查资料,这样会记得更加牢固。在实验的过程我更加体会到了团队的力量,有时仅仅靠一个人的努力,是完全不行的,要考团队的力量,共同去完成,要形成良好的团队意识。十一、源程序#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; /呼叫客户的按键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)/有按键按下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)/是否有营业员把按键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);delayms(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.刘福太,张立民,金慧琴,梁发麦等译.北京:机械工业出版社,2000:408-458.3 玉德等编.MCS51单片机原理与应用.北京:机械工业出版社,2002.4 李华主编.MCS51系列单片机实用接口技术.北京:北京航空航天大学出版社,2000.5 马骏.车站售票大厅智能排队叫号系统的设计和开发.科技情报开发与经济. 2010.Vol .6 杨彦、王霖、张凤荔、刘丽萍. 基于RS485 和单片机的排
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 石大学前儿童保育学课件6-4生活制度
- 2025年家政服务职业技能竞赛试题
- 智能家居系统在社区安全中的应用-洞察阐释
- 高中美术鉴赏《没有什么不可能》教学设计
- 重庆食品钙生产线项目可行性研究报告(模板范文)
- 香料企业经营管理方案
- 2025至2030年中国玩具模型机床行业投资前景及策略咨询报告
- 2025至2030年中国牛筋索行业投资前景及策略咨询报告
- 2025至2030年中国火炎烧入钢行业投资前景及策略咨询报告
- 2025至2030年中国液压管件接头行业投资前景及策略咨询报告
- 质量异常处理单、不合格品审理单
- 喷播绿化质量检验评定表
- 《学前卫生学》课程教学大纲
- 小学劳动技术 北京版 三年级上册 装饰链 纸拉链 课件
- 唇腭裂儿童的语音干预与治疗
- 冷镦工艺全面介绍-国外资料翻译
- FSSC22000 食品安全管理体系管理手册和全套程序文件
- (高清正版)T-CAGHP 021—2018泥石流防治工程设计规范(试行)
- T∕CCOA 41-2021 大米适度加工技术规范
- 等臂杠杆及夹具说明书
- 光伏项目报价范本
评论
0/150
提交评论