




已阅读5页,还剩22页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
烟台大学 单片机课程设计单片机原理及其接口技术课程设计课题:模拟交通信号灯专业:机械设计制造及其自动化班级:机091-7 姓名:袁跃 学号:200977506236 同组人:顿文强、张萌萌、王莫涵、林垚指导老师:王卫忠目录第一章 课程设计任务书 3 1.1摘要31.2 设计目的和意义4第二章 系统工作原理52.1 LED显示原理52.2 红黄绿灯地控制5第三章 程序框图 73.1主程序框图73.2中断服务程序流程图下图所示8第四章 Proteus软件仿真 9第五章 设计总结12第六章 参考文献15第七章 附页程序清单16第一章 课程设计任务书课程设计内容:模拟交通灯摘 要交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。本系统采用单片机8051为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强。本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间。本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、紧急情况中断系统、复位电路等几大部分组成。系统除基本的交通灯功能外,还具有倒计时、紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。软件上采用C51编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。关键词:AT89C51 LED 数码管 交通灯 程序设计目的和意义加强对单片机和C51语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、 选择芯片器件、模块化编程等多项知识。1、用单片机模拟实现具体应用使个人设计系统能够真正使用。2、把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼。3、提高利用已学的知识分析和解决问题的能力。4、提高动手实践能力。任务要求:1、主干道绿灯60秒,支干道绿灯30秒,黄灯都是三秒;2、要求用延时来实现定时时间;3、要求显示器同步显示主干道时间的倒计时; 4、如果有按键按下,表示有紧急车辆通过(救火车等),此时十字路都亮红灯,蜂鸣器响(十五秒钟后恢复正常)。 第二章 系统工作原理 1、数字LED的显示原理:通过给51单片机P0口送入初始值,并用P0口来控制段选位,P1口来控制位显来实现动态显示,来显示各灯的显示时间。2、黄红绿灯的亮灭8051单片机的P2口的六个端口接主干道和支干道的红、绿、黄灯,显示燃亮情况,通过两个八段显示器显示每个灯的燃亮时间,使灯和显示器时间同步。3、由软件编程来实现灯的燃亮时间,设置使主干道和支干道绿灯别为60秒、30秒循环。4、通过延时程序来实现时间的延时。5、带有紧急按钮,使按钮按下时会有出现中断,使其去执行中断程序,主干道与支干道都为红灯。总设计图如下:第三章 程序框图置主道放行标志0F0主道放行时间送 R1主道亮绿灯,支道亮红灯开始延时1秒主道亮黄灯,支道亮红灯延时3秒置支道放行标志0-F0支道放行时间送R3主道亮红灯,支道亮绿灯延时1秒主道亮红灯,支道亮绿灯延时3秒R11=0R31=0 NN 中断服务程序流程图下图所示:主程序主干路支干路红灯亮判断是否有INT1中断主程序第四章Proteus软件系统仿真硬件系统的接线如图所示,如下图,主干道的红,黄,绿交通灯分别通过P2口的六个端口连在一起,同理,支道上的也互联。受89C51的P2.0-P2.5控制.紧急车请求通过时由按钮控制,通过中断来实现。根据功能要求分别仿真各种情况下的亮灯情况,具体如下:如下图仿真图所示,正常情况下主干道方向亮绿灯,主干道放行。支干道方向亮红灯,支干道禁行:如下所示主干道方向亮黄灯3秒,支干道方向亮红灯:如下图仿真图所示,有紧急车通过时按下按键K0时,主、支干道均亮红灯特殊指示灯亮:第五章 设计总结通过此次课程设计,使我更加扎实的掌握了有关交通信号灯方面的知识,在设计过程中虽然遇到了一些问题,但经过一次又一次的思考,一遍又一遍的检查终于找出了原因所在,也暴露出了前期我在这方面的知识欠缺和经验不足。实践出真知,通过亲自动手制作,使我们掌握的知识不再是纸上谈兵。课程设计诚然是一门专业课,给我很多专业知识以及专业技能上的提升,同时又是一门讲道课,一门辩思课,给了我许多道,给了我很多思,。同时,设计让我感触很深。使我对抽象的理论有了具体的认识。通过这次课程设计,我熟悉了Proteus软件;了解了系统识别的方法;以及如何提高系统的整体性能的性能等等,掌握了LED数码管的方法和技术,通过查询资料,也了解了89C51单片机的工作原理。我认为,在这学期的实验中,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,在实验课上,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑战,只有不断的学习、实践,再学习、再实践。这对于我们的将来也有很大的帮助。以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。回顾起此课程设计,至今我仍感慨颇多,从理论到实践,在这段日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,但可喜的是最终都得到了解决。 实验过程中,也对团队精神的进行了考察,让我们在合作起来更加默契,在成功后一起体会喜悦的心情。果然是团结就是力量,只有互相之间默契融洽的配合才能换来最终完美的结果。此次设计也让我明白了思路即出路,有什么不懂不明白的地方要及时请教或上网查询,只要认真钻研,动脑思考,动手实践,就没有弄不懂的知识,收获颇丰。与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,对单片机汇编语言掌握得不好通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多编程问题,最后在梁强老师的辛勤指导下,终于游逆而解。同时,在王老师的身上我学得到很多实用的知识,在次我表示感谢!同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!最后,非常感谢王老师在设计过程中对我们的指导!第六章 参考文献1 汪贵平,李登峰,雷旭 新编单片机原理与应用 机械工业出版社 2 胡汉才 单片机原理及其接口技术(第二版)清华大学出版社20043 戴佳. 单片机C51语言应用程序设计. 电子工业出版社, 2006.7:168-1694 朱民雄.计算机语言技术. 北京航空航天大学出版社,2002.1:103-1055 李鸿. 单片机原理及应用. 湖南大学出版社. 2004:8:72-736 刘建清. 单片机技术. 国防工业出版社, 2006.8: 104-105 7 杨宁,胡学军单片机与控制技术北京航空航天大学出版社,2005-03:306-32第七章 附页程序清单ORG 0000H AJMP MAIN ORG 00013H LJMP INT9 ; 跳到跳到特种车辆自动服务程序.数字显示代码. TAB: DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH/*主程序*/ ORG 0300H MAIN: MOV 25H,#60 ; 南北通行时间初始值,存到25H单元 MOV 26H,#30 ; 东西通行时间初始值,存到26H单元 SETB IT0 ; 外部中断一边沿触发 MOV IE,#8FH ; 开中断.南北绿灯东西红灯. NBLD: MOV R1,25H ; 为南北方向显示时间做准备 NBLD1: MOV 20H,R1 ; 南北通行时间60秒(25h)=60,(NBLD即东西绿灯) MOV P2,#1EH ; 点亮南北绿灯东西红灯 MOV A,R1 ; ADD A,#3 ; MOV 21H,A ; 为东西方向显示时间做准备 LCALL DISP1 ; 显示通行所剩时间,其中有0.5秒延时 LCALL DISP1 ; 再次显示以便数码管不闪,且再延时0.5秒以便凑够一秒 DJNZ R1,NBLD1 ; 判断60秒是否已完,若未完则从新显示、延时.南北黄灯闪东西红灯.ShanHD: MOV R2,#3 ; 黄灯闪亮3秒 HD: MOV P2,#1DH ; 点亮黄灯 MOV 22H,R2 ; 为显示时间做准备 LCALL DISP2 ; 黄灯闪亮剩时显示 ,其中延时0.5秒 MOV P2,#1FH ; 熄灭黄灯 LCALL DISP2 ; 显时,且再延时0.5秒以便凑够1秒 DJNZ R2,HD ; 判断3秒是否已完,若未完则从新闪灭、延时和显示.南北红灯东西绿灯 . DXLD: MOV R3,26H ; 东西通行30秒 (26H)=30, (DXLD即东西绿灯) DXLD1: MOV P2,#33H ; 点亮南北红灯东西绿灯 MOV 24H,R3 ; 为东西方向显示时间做准备 MOV A,R3 ; ADD A,#3 ; MOV 23H,A ; 为南北方向显示时间做准备 LCALL DISP3 ; 时间显示 ,其中有0.5秒延时 LCALL DISP3 ; 凑够1秒时间 DJNZ R3,DXLD1 ; 判断30秒是否已完.南北红灯东西黄灯闪.ShanHD1: MOV R2,#3 ; 转入黄灯闪亮3秒 HD1: MOV 22H,R2 ; 为显示做准备 MOV P2,#2BH ; 点亮南北红灯东西黄灯 LCALL DISP2 ; 显示时间,并延时0.5秒 MOV P2,#3BH ; 点亮南北红灯关闭东西黄灯 LCALL DISP2 ; 显时,且再延时0.5秒以便凑够1秒 DJNZ R2,HD1 ; 判断3秒是否到,若未到继续闪灭东西黄灯 AJMP NBLD ; 主程序到此完 .延时程序. . DELAY3: MOV R6,#1 ; 5ms延时 ,(5ms=50*50*2us) DE61: MOV R0,#1 DE71: DJNZ R0,DE71 DJNZ R6,DE61 RET DELAY: ACALL DELAY1 ; 10ms延时 ACALL DELAY1 RET DELAY1: MOV R6,#50 ; 5ms延时 ,(5ms=50*50*2us) DE6: MOV R0,#50 DE7: DJNZ R0,DE7 DJNZ R6,DE6 RET.南北通行的时间显示子程序. DISP1: MOV P0,#0 ; 熄灭数码管 MOV R7,#25 ; 以下调用四次5毫秒延时程序,故25*4*5毫秒=0.5秒 RP1: MOV A,20H ; 南北方向要显示时间移到寄存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出十位和个位 MOVC A,A+DPTR ; 找到十位的显示代码 MOV P1,#00001110B; 选择南北数码管十位片 MOV P0,A ; 送出十位显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,A+DPTR ; 找到个位数显示代码 MOV P1,#00001101B ; 选择南北数码管个位片 MOV P0,A ; 送出个位数显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,21H ; 东西方向要显时间移到寄存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出十位和个位 MOVC A,A+DPTR ; 找到十位的显示代码 MOV P1,#00001011B; 选择东西数码管的十位片 MOV P0,A ; 送出十位显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,A+DPTR ; 找到个位的显示代码 MOV P1,#00000111B ; 选择东西数码管的个位片 MOV P0,A ; 送出个位显示码 LCALL DELAY1 DJNZ R7,RP1 ; 是否已循环25次 RET.黄灯的时间显示子程序. DISP2: MOV P0,#0 ; 熄灭数码管 MOV R7,#25 ; 以下调用两次0.01秒延时程序, RP2: MOV A,22H ; 要显示的时间移到寄存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出十位和个位 MOVC A,A+DPTR ; 找到十位的显示代码 MOV P1,#00001010B; 选择南北数码管十位片和东西数码管十位片 MOV P0,A ; 送出十位显示代码 LCALL DELAY ; 延时10ms以点亮数码管 MOV P1,#00000101B ; 选择东西南北数码管个位片 MOV A,B ; 把个位数移到寄存器A MOVC A,A+DPTR ; 找到个位数显示代码 MOV P0,A ; 送出个位数显示代码 LCALL DELAY ; 延时10ms一点亮数码管 DJNZ R7,RP2 RET.东西通行的时间显示子程序. DISP3: MOV P0,#0 ; 熄灭数码管 MOV R7,#25 ; 以下调用4次调用延时程序, RP3: MOV A,23H ; 要南北方向显示的时间移到寄存器A MOV DPTR,#TAB ; 要显示的数字代码表首地址 MOV B,#10 DIV AB ; 要显示的时间与10相除,求出十位和个位 MOVC A,A+DPTR ; 找到十位的显示代码 MOV P1,#00001110B; 选择南北数码管十位片 MOV P0,A ; 送出十位显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,B ; 把个位数移到寄存器A MOVC A,A+DPTR ; 找到个位数显示代码 MOV P1,#00001101B; 选择南北道数码管个位片 MOV P0,A ; 送出个位数显示代码 LCALL DELAY1 ; 延时5ms一点亮数码管 MOV A,24H ; 要东西方向显示的时间移到寄存器A MOV B,#10 DIV AB ; 要显示的时间与10相除,求出十位和个位 MOVC A,A+DPTR ; 找到十位的显示代码 MOV P1,#00001011B ; MOV P0,A ; 送出十位显示代码 LCALL DELAY1 ; 延时5ms以点亮数码管 MOV A,B MOVC A,A+DPTR MOV P1,#00000111B ; 选择东西数码管个位片 MOV P0,A ; 送出个位显示代码 LCAL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度生态旅游区精细化保洁与垃圾分类执行合同
- 2025年绿色生态园区环保设施建设与综合运营服务合同
- 2025年高端商务办公楼扫地车及维护保养服务合同
- 2025年度低碳环保住宅小区装修劳务服务协议
- 2025年度城市绿化项目场地评估及生态土地开发合作协议
- 监控维修安装培训课件
- 2025-2030中国智慧海洋行业发展分析与投资前景及趋势预测报告
- 高温天气混凝土施工防护方案
- 2025-2030中国教育用单目显微镜行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国支票阅读器清洁卡市场销售规模及供需前景监测报告
- 教育政策法规课件
- 2025年秋季开学典礼校长致辞:启步金秋话成长播梦育英向未来
- 2025科研素养考试题及答案
- 兽药销售业务培训教材
- 2025年湖北省农村义务教育学校教师公开招聘小学语文真题(附答案)
- 2025-2030中国医疗护理器械行业市场发展现状及发展趋势与投资风险研究报告
- 2025四川绵阳市医学会招聘2人笔试模拟试题及答案解析
- 测绘法规与管理课件
- 软件项目突发事件应急预案
- 2025年潍坊市中考数学试题卷(含标准答案)
- 医保打击欺诈骗保课件
评论
0/150
提交评论