《微机原理十字路口交通灯课程设计.doc》由会员分享,可在线阅读,更多相关《微机原理十字路口交通灯课程设计.doc(15页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流微机原理十字路口交通灯课程设计.精品文档.二一 一 二一二学年第 二 学期信息科学与工程学院课程设计报告书课程名称: 微机原理课程设计 班 级: 电子信息工程2009级 6 班 学 号: 200904135150 姓 名: 张 强 指导教师: 徐 守 明 二一二年 二 月 二十 日课程设计任务书 2011 年 秋 季学期学生姓名学 号专业方向电力系统班 级08(2)班题目名称 交通控制灯系统1东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟;21分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维
2、持红灯点亮。3东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;4南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。5南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。一、 课程设计总结报告要求1、 选用适当的存储芯片、接口芯片完成相应的功能。2、 设计键盘和LED完成输入和显示功能。3、 画出详细的硬件连接图。4、 给出程序设计思路,画出各程序的流程图。5、 给出所有程序清单并加上必要注释。6、 完成设计说明书二、设计进度第一周:星期一上午 讨论设计题目星期一下午
3、查资料星期二至星期五 完成对硬件电路的基本设计第二周:星期一至星期二 完成软件流程图及软件设计星期三至星期四 软硬件统调,画图,撰写设计说明书星期五 答辩 指导教师签字: 前言 随着计算机科学技术的不断发展,微型计算机得到了广泛的应用,成为人们利用计算机设计和开发各种应用系统的基础。同时微型计算机接口技术也是一门实践性较强的课程,理论与实践相结合可以更好的掌握知识,这也是这次微机原理课程设计目的。交通灯是交通安全的关键,已广泛应用于城乡的十字路口,它的有无作为交通安全检查的重要依据,是交通秩序正常进行的有力保障。 十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿
4、灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯绿灯”转换间隔,并自动切换。它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。交通灯的时间控制显示,以固定时间值预先“固化”,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受人为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者
5、直接导致交通堵塞,导致城市交通效率的下降。目前,有一种使用“模糊控制”技术控制交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。 本次课程设计以固定的程序实现对交通灯实行控制,没有实现智能化,但智能化是交通控制系统是交通控制系统发展的必然趋势,也是满足日益发展的社会需要。通过本次的课程设计,更好的学习微机接口的应用技术,使我们将课堂所学到的知识和实践有机结合起来,初步掌握计算机应用系统设计的步骤和接口设计的方法,提高分析和
6、解决实际问题的能力。摘要:本文介绍了以计算机为核心.利用可编程并行接口芯片8255的软硬件功能,实现对交通灯控制。关键词: 交通灯 8255目 录1 课题简介.52 设计要求.53 具体设计.63.1 延时设计.63.2 8255引线及构.63.3 电路接线图.104 使用方法.115 流程图设计.126 程序设计.127 设计总结.168 参考文献.161 课题简介十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯绿灯”转换间隔,并自动切换。它们一般由“通行与
7、禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒。交通灯的时间控制显示,以固定时间值预先“固化”,每次只是以一定周期交替变化。但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。 目前,有一种使用“模糊控制”技术控制
8、交通灯的方法。能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。2 设计要求 1东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟。 21分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。3东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟。4南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向
9、仍维持红灯点亮。5南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。3 具体设计3.1延时设计 在模拟交通等设计中,如何使红灯、绿灯保持一定时间,黄灯闪烁的时间是一个非常关键的问题。本任务要求交通信号灯能实现自行定时、延时、切换等功能,即能实现交通信号灯自动控制。一般计算机控制系统实现定时或延时有两种基本方法:利用软件定时和硬件定时。软件定时,即让机器执行一段程序,程序没有具体的执行目的,利用执行每条指令CPU所花费的时间,可实现延时功能。这种方法容易实现,仅需选用恰当指令并安排循环即可实现,定时时间调整方便,但不能做到精确定时。另外,时间调整是以一条指令执行时间为基准,
10、占用CPU资源,降低CPU利用率。 硬件定时,即使用可编程定时/计数器硬件芯片定时。这种芯片内部有一个可编程定时器,其定时值、定时范围可以很容易地由软件程序改变,定时时间到时可发出某种形式的信号通知外设或CPU。定时器的输出频率和波形等均由程序设定,因而使用灵活,功能强。 本次课程设计根据我们所学知识、所查资料以及水平所限,我们利用了入栈、出栈所消耗的时间再加上确定次数的循环控制,达到我们所需要的延时时间。 3.2 8255的引线结构8255的引线结构如图1所示。共有40个引脚,其功能分别如下:D0D7:三态双向数据总线,8255与CPU数据传送的通道,当CPU 执行输入输出指令时,通过它实现
11、8位数据的读/写操作,控制字和状态信息也通过数据总线传送。 RD:读信号线,当这个输入引脚为低电平时,即RD=0且CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。CS:芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。PA0PA7:端口A输入输出线,一个8位的数据输出锁存器/缓冲器, 一个8位的数据输入锁存器。 PB0PB7:端口B输入输出线,一个8位的I/O锁存器, 一个8位的输入输出缓冲器。 PC0PC7:端口C输入输出线,一个8位的数据输出锁存
12、器/缓冲器, 一个8位的数据输入缓冲器。端口C可以通过工作方式设定而分成2个4位的端口, 每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。RESET:复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。 A1,A0:地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。 当A1=0,A0=0时,PA口被选择; 当A1=0,A0=1时,PB口被选择; 当A1=1,A0=0时,PC口被选择; 当A1=1.A0=1时,控制寄存器被选择;在本次课程设计当中,设计采用的是软件定时(
13、即通过汇编指令)实现的。而灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。 并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。CPU和接口之间的数据传送总是并行的,即可以同时传递8位、16位、32位等。8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:方式0-基本输入/出方式、方式1-选通输入/出方式、方式2-双向选通工作方式。8255的内部结构及引脚如图1所示,8255工作方式控制字和C口按位置位/复位控制字格式如图2所示。 图1 8255的内部
14、结构及引脚76543210控制C口低4位1:输入0:输出控制B口8位1:输入0:输出方式选择0:方式01:方式1控制C口高4位0:输出1:输入控制A口8位0:输出1:输入方式选择00:方式001:方式11X:方式20XXXD3D2D1D0标志位 无关 图2 8255工作方式控制字和C口按位置位/复位控制字格式 3.3电路接线图图3 红绿灯模拟设计总电路图 上电路图为红绿灯模拟设计总电路图,通过8086CPU系统总线来控制8255的A端口、B端口,而A、B端口分别接LED发光二极管来控制十字路口红绿灯。 红、黄、绿灯的表示情况如下:由于仪器上面只有16个发光二级管,且从高到低依次为:D15D14
15、D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在设计的过程中做了如下的规定:R表示红灯,G表示绿灯,Y表示黄灯;E表示方向东,W表示方向西,S表示方向南,N表示方向北,例如:ER表示东方向为红灯,WG表示西方向为绿灯,SY表示南方向为黄灯,其余的类似。所以在设计中采用如下的规定:D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0表示NY。具体连线及表示如下图所示(
16、圆圈表示发光二极管)。图4 十字路口红黄绿灯的表示4 使用说明 这是一个交通红绿灯的模拟显示实验,由8255控制16个LED发光二极管的亮与暗来表达十字路口的交通信号,A口表示东、南方向,B口表示西、北方向,绿灯和红灯共同表示黄灯。可以通过发光二极管来判断具体是哪个方向、哪个灯亮。5 流程图设计芯片初始化东西方向绿灯亮,南北方向红灯亮60秒 东西方向黄灯闪烁,南北方向红灯亮5秒 东西方向红灯亮,南北方向绿灯亮20秒 东西方向红灯亮,南北方向黄灯闪烁5秒 有键按下?返回到DOS 结束 否是6 程序设计IOY0 EQU 0DA00H ;片选IOY0对应的端口始地址MY8255_A EQU IOY0
17、+00H*4 ;8255的A口地址MY8255_B EQU IOY0+01H*4 ;8255的B口地址MY8255_C EQU IOY0+02H*4 ;8255的C口地址MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址STACK1 SEGMENT STACK DW 256 DUP(?)STACK1 ENDSDATA SEGMENT LA DB ? ;定义数据变量LB DB ?DATA ENDSCODE SEGMENT ASSUME CS:CODE,DS:DATASTART: MOV AX,DATA MOV DS,AX MOV DX,MY8255_MODE ;定义
18、8255工作方式 MOV AL,80H ;工作方式0,A口和B口为输出 OUT DX,ALLOOP1: MOV DX,MY8255_A ;写A口发出的数据,东方向绿灯亮,南方向红灯亮 MOV AL,3CH OUT DX,AL MOV DX,MY8255_B ;写B口发出的数据,西方向绿灯亮,北方向红灯亮 MOV AL,3CH OUT DX,AL CALL DALLY1L1: MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯亮,南方向红灯亮 MOV AL,0FCH OUT DX,AL MOV DX,MY8255_B ;写A口发出的数据,西方向黄灯亮, 北方向红灯亮 MOV AL,0
19、FCH OUT DX,AL CALL DALLY2MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯灭,南北方向红灯亮 MOV AL,30H OUT DX,ALMOV DX,MY8255_B ;写B口发出的数据,西方向黄灯灭,南北方向红灯亮 MOV AL,30H OUT DX,AL CALL DALLY2 LOOP L1MOV DX,MY8255_A ;写A口发出的数据,东方向红灯亮,南方向绿灯亮 MOV AL,0C3H OUT DX,AL MOV DX,MY8255_B ;写B口发出的数据,西方向红灯亮,北方向绿灯亮 MOV AL,0C3H OUT DX,AL CALL DALL
20、Y3L2: MOV DX,MY8255_A ;写A口发出的数据,南方向黄灯亮,东方向红灯亮 MOV AL,0F3H OUT DX,AL MOV DX,MY8255_B ;写B口发出的数据,北方向黄灯亮,西方向红灯亮 MOV AL,0F3H OUT DX,AL CALL DALLY2 MOV DX,MY8255_A ;写A口发出的数据,南北方向黄灯灭,东方向红灯亮 MOV AL,0C0H OUT DX,AL MOV DX,MY8255_B ;写B口发出的数据,南北方向黄灯灭,西方向红灯亮 MOV AL,0C0H OUT DX,AL CALL DALLY2 LOOP L2 MOV AH,1 ;判断
21、是否有按键按下,调用功能号1 INT 16H ;ROM BIOS 功能调用 JZ LOOP1 ;无按键则跳回继续循环,有则退出QUIT: MOV AX,4C00H ;结束程序退出 INT 21H ;DOS 系统功能调用DALLY PROC NEAR ;软件延时子程序 PUSH CX PUSH AX MOV CX,0FFFHD1: MOV AX,0FFFFHD2: DEC AX JNZ D2 LOOP D1 POP AX POP CX RETDALLY ENDPDALLY1 PROC NEAR ;软件延时子程序,东西方向红灯亮,南北方向绿灯亮 PUSH CX PUSH AX MOV CX,1EH
22、D3: CALL DALLY LOOP D3 POP AX POP CX RETDALLY1 ENDPDALLY2 PROC NEAR ;软件延时子程序,黄灯闪烁(即亮与灭)的时间间隔, PUSH CX PUSH AX MOV CX,02HD4: CALL DALLY LOOP D4 POP AX POP CX RETDALLY2 ENDPDALLY3 PROC NEAR ;软件延时子程序,东西方向绿灯亮,南北方向红灯亮, PUSH CX PUSH AX MOV CX,0AHD5: CALL DALLY LOOP D5 POP AX POP CX RETDALLY3 ENDPCODE ENDS
23、 END START7 设计总结通过这两周的微机原理与接口技术课程设计课,我对这学期微机原理与接口技术原理的知识有了更进一步的认识,经过这次课程设计的鞭策和逼迫,我们才不得不通过各方面途径去查取相关资料,去自学相关知识,去一个个逐步消解我们学习上的盲点,使我受益匪浅,收获颇多,但从中也发现了自己许多的不足和需要改进的地方。首先,就要把握整个的设计的大概的流程,然后再对每一个分快进行设计,本次设计这一点没有做好,在设计当中做了不少无用功,其次在设计的过程中,很重要的一点是要熟悉可编程并行通信接口芯片8255的初始化及其端口的使用,在设计当中关于延时的选择,由于水平所限未选8253、8259的芯片
24、,使过程得到简化,但不利于交通信号灯的精确控时,是本次设计的最大缺陷,但通过南北东西方向不同时间的控制也是本次设计的一大亮点,可以值得在交通量不同方向街道加以推广,对缓解交通具有重要意义。通过本次课程设计,我的实际操作能力和设计能力都得到了一定的提高,但理论与实践之间永远是存在着一定差距的,要把理论知识充分灵活地运用于实践是需要一定的实践经验和牢固的理论基础,希望以后能有更多这样的实践的机会,最后,对微机原理课程张老师的一学期的幸苦教学,说声谢谢!8 参考文献1 冯博琴.吴宁.微型计算机原理与接口技术(第二版)北京. 清华大学出版社, 20072 舒贞权.任伟利.微机计算机原理M西安:西安交通
25、大学出版社,20043 楼顺天.周社佳.微机原理与接口技术M北京:科学出版社,20064 王玉良.吴晓非.微机原理与接口技术M北京:北京邮电大学出版社,20065 舒贞权,任伟利微机计算机原理M西安:西安交通大学出版社,1997微机原理与接口技术课程设计成绩评定表姓 名学 号专业班级电气工程及其自动化课程设计题目:交通灯控制系统课程设计答辩或质疑记录:成绩评定依据:评 定 项 目评 分 成 绩1.选题合理、目的明确(10分)2.设计方案可行性、创新性(20分)3.设计结果(系统原理图、源程序、调试运行结果)(30分)4.平时成绩(态度认真、遵守纪律)(10分)5.设计报告的规范性、参考文献充分(不少于5篇)(10分)6.答辩(20分)总 分最终评定成绩(以优、良、中、及格、不及格评定) 指导教师签字: 年 月 日