课程设计(论文)题目名称交通灯控制系统设计课程名称单片机原理及应用学生姓名11学号01111111111系、专业信息工程系、信息类指导教师黄同成2009年6月18日邵阳学院课程设计(论文)评阅表学生姓名彭真学号0741227232系信息工程系专业班级07信本三班题目名称交通灯控制系统设计课程名称单片机原理与应用一、学生自我总结平常都说学宜制用,能够真正的把知识用到实际生活中是我们面临的最大的挑战。在此次课程设计中我们就把单片机的知识用于实际产品的制造上。通过课程设计,我明白了一个工程学观念,产品的最大程度节约和充分利用的观念。这次课程设计中虽然遇到了许多问题,通过问题发现了我学习方面的不足之处。通过不断的向老师和同学询问和自我摸索最终把这个任务完成。虽然最的并不是很完美(图纸有限所以只画了一个方向的黄灯),但是还是完成了正常情况下交通灯的工作。学生签名:年月日二、指导教师评定评分项目综合成绩权重单项成绩指导教师评语:指导教师(签名):年月日注:1、本表是学生课程设计(论文)成绩评定的依据,装订在设计说明书(或论文)的“任务书”页后面;2、表中的“评分项目”及“权重”根据各系的考核细则和评分标准确定。邵阳学院课程设计(论文)任务书年级专业07信息大类学生姓名彭真学号0741227232题目名称交通灯控制系统设计设计时间2009.04.17-2009.04.30课程名称单片机原理及应用课程编号131300109设计地点实验楼5530一、课程设计(论文)目的通过查资料、选方案、设计电路、编写程序,调试程序和撰写设计报告等过程使学生得到一次较全面的开发设计训练,提高自己对单片机模块的操作与运用能力。理论联系实际,培养和提高学生创新能力。以单片机控制为核心,综合应用学科知识,解决工程实际问题。二、已知技术参数和条件1.具备的条件1)具有PROTEUS电子设计平台;2)具有单片机硬件实验平台;3)可供参考的资料较全;2.主要技术参数每个方向有左拐、右拐、直行及行人4种通行指示灯,计时牌显示路口剩余时间。系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15S后系统自动恢复正常管理。正常运行须时间由设计者自定三、任务和要求1、设计任务每个方向有左拐、右拐、直行及行人4种通行指示灯,计时牌显示路口剩余时间,正常运行须时间由设计者自定。在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行的状态,15S后系统自动恢复正常管理。2、设计要求以单片机为控制核心,实现硬件电路的设计、程序设计,并在PROTEUS平台实现仿真;课程设计论文内容正确,结构合理。注:1.此表由指导教师填写,经系、教研室审批,指导教师、学生签字后生效;2.此表1式3份,学生、指导教师、教研室各1份。四、参考资料和现有基础条件(包括实验室、主要仪器设备等)1、现有的理论基础系统学习了《模拟电子技术》、《数字电子技术》、《电路》、《单片机原理与应用》、《C语言程序设计》等电子信息专业相关课程,具备了设计该课题的理论基础。2、具备课题开发的实验条件1)硬件方面:个人计算机、单片机实验箱、单片机学习装置、调试及制作工具。2)软件方面:PROTEUS仿真软件,WAVE软件KEIL相关软件。五、进度安排2009-4-17:组织开会,明确课题,下达课题任务书,宣布课程设计的要求和具体的措施。2009.4.18至2009.4.20:调研、查找资料。2009.4.21:总体方案设计;2009.4.22至2009.4.23:电路设计;2009.4.24至2009.4.26:程序设计及电路仿真;2009.4.27:仿真结果验收;2009.4.28至2009.4.29:撰写课程设计报告;2009.4.30:成绩评定、资料归档。六、教研室审批意见教研室主任(签字):年月日七|、主管教学主任意见主管主任(签字):年月日八、备注指导教师(签字):学生(签字):目录1前言...................................................12需求分析...............................................12.1要求..............................................12.2任务..............................................12.3运行环境............................................12.4开发工具..........................................13概要设计...............................................13.1系统流程图........................................23.2紧急处理流程图.....................................33.3倒计时判断转换流程图...............................34详细设计...............................................34.1分析和设计........................................34.2具体代码实现.......................................55系统仿真...............................................95.1仿真图..............................................95.2系统仿真结果分析...................................106课程设计总结..........................................20参考文献................................................20致谢..................................................20摘要本系统由单片机系统、键盘、LED显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。关键字:正常通行、特种车辆处理、改变延时1前言用8255控制十字路口的交通灯在十字路口的每个方向具有左拐、右拐、直行和行人4种通行指示灯,计时牌显示路口通行转换剩余时间,在出现紧急情况时可由交警手动实现全路口车辆禁行而行人通行的状态;在119、120等特种车辆通过路口时,可自动转为特种车辆放行,其他车辆禁止通行的状态,15s后自动恢复;120s与60s通行管理转换等功能。2需求分析2.1要求(1)用汇编语言实现程序设计;(2)利用结构体进行相关信息处理;(3)画出查询模块的流程图;(4)系统的各个功能模块要求用函数的形式实现;2.2任务(1)设计一个交通灯程序并进行模拟仿真,根据交通规则设置东西南北方向的车辆及行人过道不冲突来设置,并显示倒计时显示器;(2)按下紧急措施按钮,红灯全部亮15秒,按下转换按钮,下次时间改变;(3)画出所有模块的流程图;(4)编写代码;(5)程序分析与调试。2.3运行环境(1)WINDOWS2000/XP系统(2)proteus电子设计软件2.4开发工具Proteus仿真软件3概要设计3.1系统流程图如图3.1所示图3.1系统流程图开始置口地址外部中断初始化两红灯亮延时3秒东西路绿灯亮,南北路口红灯亮延时10秒东西路口绿灯灭东西路口黄灯闪烁5次延时0.2秒南北路口绿灯亮,东西路口红灯亮南北路口绿灯灭南北路口黄灯闪烁5次两红灯亮两红灯亮延时10秒延时0.2秒3.2紧急处理流程图如图3.2所示图3.2紧急中断流程图3.3倒计时判断转换流程图如图3.3所示图3.2倒计时判断转换流程图4详细设计4.1分析和设计给中断安排优先级后,立即打开中断,并设置好8255的控制字。MOVIP,#01H中断入口关闭A口所有亮的绿灯打开B口所有亮的红灯C口查表显示倒计中断返回延时15秒取反P2.2中断返回中断入口SETBIT0SETBEX0SETBIT1SETBEX1SETBEAMOVP0,#80HMOVDPTR,#0700HMOVR5,#0SETBP2.2对于紧急情况的处理,使用中断INT0来控制,,为了保护现场,先把用到相关的寄存器入栈。ORG0003HLJMPEMERGENCYEMERGENCY:PUSHAMOVA,R0PUSHAMOVA,R1PUSHAMOVA,R2PUSHA……MOVDPTR,#0000H……POPAMOVR2,APOPAMOVR1,APOPAMOVR0,APOPAMOVDPTR,#0000HMOVX@DPTR,AMOVDPTR,#0100HMOVX@DPTR,AMOVDPTR,#0700HRETI4.2具体代码实现;用8051控制8255对交通灯进行控制,要求有120与119紧急处理,还要有60秒与30秒倒计时处理。*****************************************************************;设置主程序入口**************************************************ORG0000HLJMPMAIN;设置紧急处理入口************************************************ORG0003HLJMPEMERGENCY;设置60秒与30秒转换入口*****************************************ORG0013HLJMPCHANGE;紧急中断程序***************************************************ORG0030HEMERGENCY:PUSHAMOVA,R0PUSHAMOVA,R1PUSHAMOVA,R2PUSHAMOVA,R3PUSHAMOVA,R4PUSHAMOVDPTR,#0000HMOVA,#0MOVX@DPTR,AMOVDPTR,#0100HMOVX@DPTR,ALCALLDELAY15REDDELAY:LCALLSTARTLCALLCOUNTCJNER0,#3,REDDELAYMOVP1,#0FFHFLASH:LCALLSTARTLCALLCOUNTCJNER0,#0,YELLOWMOVP1,#0POPAMOVR4,APOPAMOVR3,APOPAMOVR2,APOPAMOVR1,APOPAMOVR0,APOPAMOVDPTR,#0000HMOVX@DPTR,AMOVDPTR,#0100HMOVX@DPTR,AMOVDPTR,#0700HRETI;60秒与30秒转换程序*********************************************CHANGE:CPLP2.2RETI;主程序*********************************************************MAIN:MOVIP,#01HSETBIT0SETBEX0SETBET0SETBIT1SETBEX1SETBEAMOVP0,#80HMOVDPTR,#0700HMOVR5,#0SETBP2.2MOVP1,#0CONFIRM:MOVA,R5CLRP2.0CLRP2.1MOVCA,@A+DPTRMOVP0,AINCR5MOVA,R5SETBP2.0MOVCA,@A+DPTRMOVP0,AINCR5LCALLDELAYREDANDGREEN:LCALLSTARTLCALLCOUNTCJNER0,#3,REDANDGR