2022年模拟交通灯控制系统 .pdf
《2022年模拟交通灯控制系统 .pdf》由会员分享,可在线阅读,更多相关《2022年模拟交通灯控制系统 .pdf(41页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北京理工大学珠海学院计算机学院课程设计I 课程设计成绩评定表姓名成绩评定权重总分总成绩(五分制)平时成绩20 报告成绩50 答辩成绩30 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计II 模拟交通灯控制系统摘要人口的快速增长和车辆的增加, 使得城市交通拥挤成为不可避免的问题,为了缓解这一现象, 我们设计了模拟交通灯控制系统,通过此系统可以使车辆按一定秩序行驶,降低交通压力。此系统是由8
2、088 为核心部件组建,利用8253A定时/ 计数器芯片的定时功能,向8259A中断控制器芯片发出定时中断请求,驱动8255A可编程并行接口芯片改变路口的LED灯的亮灭和显示倒数的秒数。与此同时,该系统设计了应急中断处理,通过外部中断使各个路口皆为红灯,以便应用于急救车、紧急事件或特别情况的应急处理。关键字: 交通灯 定时器 中断名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计III 目录
3、摘要. . II 1 交通灯路况分析 . 1 1.1 交通灯运作的基本情况. 1 1.2 交通灯状态变化分析 . . 2 1.3 交通灯持续时间分析 . . 2 2 项目概述. 3 2.1 设计内容 . 3 2.2 设计要求 . 3 3 系统设计. 4 3.1 总体设计 . 4 3.2 功能模块 . 6 4 硬件设计. 11 4.1 硬件介绍 . 11 4.2 硬件功能分析 . 15 4.3 硬件模块连接 . 17 5 系统实现. 21 5.1 开发环境 . 21 5.2 运行步骤 . 21 5.3 运行结果分析 . 22 参考文献 . . 23 名师资料总结 - - -精品资料欢迎下载 -
4、- - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计IV 心得体会 . . 24 教师评语 . . 25 附录. . 26 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计1 1 交通灯路况分析1.1 交通灯运作的基本情况一十字路口,
5、 假设 1、3 为东西方向, 2、4 为南北方向, 1、3 路口的绿灯亮,2、4 路口的红灯亮, 1、3 路口方向通车;延时一段时间后, 1、3 路口的绿灯熄灭,而 1、3 路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮,而同时 2、4 路口的绿灯亮, 2、4 路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3 路口方向,并不断重复上述过程。如图1-1 所示:北南东西绿黄红红黄绿绿黄红红黄绿图 1-1 交通灯路况名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
6、 - - - - - - - 第 5 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计2 1.2 交通灯状态变化分析1. 东西方向为红,南北方向为绿,并持续一定的时间,时间到,南北方的绿灯立刻转为黄灯,进入下一个状态。2. 东西方向为红,南北方向为黄,并持续一定的时间,最后8 秒钟南北方向的黄灯闪烁 8 次,并转为红灯, 此时东西方向的红灯应该转为绿灯,并进入下一个状态。3. 南北方向为红,东西方向为绿,并持续一定的时间,时间到,东西方向的绿灯立刻转为黄灯,进入下一个状态。4. 南北方向为红,东西方向为黄,并持续一定的时间,最后8 秒钟东西方向的黄灯
7、闪烁 8 次,并转为红灯, 此时南北方向的红灯应该转为绿灯,并进入下一个状态。5. 当十字路口的灯都经历这四个状态时,重新由第一个状态开始,不断地循环。1.3 交通灯持续时间分析在本实验中, 为了避免长时间的等待, 将交通灯设置了比较短的时间,红灯持续时间为 30 秒,绿灯持续时间为20 秒,黄灯持续时间为10 秒,其中,黄灯最后 8 秒为闪烁时间,即黄灯最后8 秒闪烁 8 次。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 41 页 - - - - - - - - -
8、北京理工大学珠海学院计算机学院课程设计3 2 项目概述2.1 设计内容利用 PC机与 DVCC 实验箱提供的 8253、8255、8259 的芯片设计十字路口交通信号灯自动控制系统,模拟交通灯的运行情况。具体要求如下:1、每个路口有红、黄、绿三个灯,按交通规则对12个灯进行定时控制。一般情况交通灯按如下种状态依次循环切换:南北路口绿灯亮(东西路口红灯亮)30秒南北路口黄灯闪烁 8次(东西路口红灯亮)南北路口红灯亮(东西路口绿灯亮) 30秒东西路口黄灯闪烁 8次(南北路口红灯亮)。2、每个方向的灯明灭时间均由8253完成硬件计时。3、实验仪提供了6 位 8 段码 LED数码管进行倒计时显示,我们
9、采取其中4位来显示时间。4、由 8259完成中断。5、在完成上述所描述功能的基础上,增加行人手动按钮。实现可手动干预的(交通事故、步行可及时通行的)交通灯自动控制系统有手动干预(按钮按下)时,交通灯立即处于该状态: 两个方向均红灯亮 (以便让行人及时通过)。30秒后,交通恢复到人工干预前状态,继续按正常状态循环切换。可利用单脉冲信号作为手动按钮,利用8259外部中断控制器, 实现手动干预。2.2 设计要求2.2.1 要能实现上述描述功能的十字路口交通信号灯自动控制系统。合理的让三个芯片链接起来在dvcc 上运用,以达到学习芯片的基本知识和功能。2.2.2 为提高编程质量 , 养成良好的编程习惯
10、, 要求在书写源代码时, 严格按汇编格式处理 , 给出空行、空隔和注释。2.2.3 在实现了程序的基础上,编写出合理的课程设计报告。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计4 3 系统设计3.1 总体设计本实验包含的模块为, 8259 中断模块,8253定时中断模块,应急中断模块,八段数码管显示模块, 4 个模块都通过总线连接到CPU ,与 CPU进行通信,最后通过编写汇编程序执行
11、相应的命令,来控制整个交通灯的运作。本实验通过分为以下三大模块来分别完成。分别为8253、8259 定时中断交通灯模块, 应急中断模块, 数字显示模块。 其中应急中断的优先级比8253、8259定时中断交通灯模块中断要高, 因为当有紧急情况发生的时候, 必须优先给予中断。当应急中断发生时,会调用显示模块来显示一定的时间,同时8253 对时间进行定时 1 秒,并产生相应的中断, 对时间进行减 1 秒的操作, 并重新回到显示阶段。 8253、8259 定时中断交通灯模块和数字显示模块组成交通灯基本系统,维护交通灯的基本运行,而应急中断作为系统的扩展模块。8253、8259 定时中断交通灯模块:交通
12、灯的最基本功能模块,将交通灯的基本功能通过 LED灯显示出来,其中包含对交通灯状况的分析, 交通灯转灯的分析,1 秒定时中断调用的分析,定时时间的分析。最终结果是将现实交通灯基本的情况通过 8253、8259 定时中断模拟出来。数字显示模块:作为交通灯的必要模块,数字显示必须存在,而且在现实生活中意义重大, 这模块可以将灯存在的秒数显示出来,可以让用户了解更多交通灯定时时间的信息, 以便对行人或者汽车做出让步或者前进的动作,使之能更好把握时间。同时可以提醒汽车或行人应该刹车或者停止行走。应急中断模块: 应急中断作为整个交通灯系统的扩展模块,有很好的使用性和现实性,对于突发事件的发生,能够很好地
13、去处理。当应急中断发生时,表明十字路口发生紧急的情况, 同时对十字路口亮红灯, 所有车辆必须停止行驶。 当中断结束会自动恢复原来状态。系统框架如下图 3-1 所示名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计5 8253 定时中断模块8086 CPU8259中断模块八段数码管显示模块总线应急中断模块图 3-1 系统框架系统流程图如图 3-2 所示:初始化数据 (T_1和T_2 ,设置显示
14、码)初始化8255、8253设置中断向量表,初始化8259显示模块(显示T_1和 T_2)8253、8259定时中断服务程序应急中断服务程序优先返回图 3-2 系统流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计6 3.2 功能模块3.2.1 8253、8259 定时中断交通灯模块首先把中断关闭, cli 是关中断,防止有些硬件中断对程序的干扰,然后保留现场,其次开中断, sti 是
15、开中断,允许硬件中断。进入状态灯的判断,东西方向是否为红, 南北方向是否为红, 否则恢复端口状态并输出当相应的端口,如果东西南北方向都为红灯,则执行下一状态判断,即判断状态1(东西方向是否为红,南北方向是否为绿) ,如果状态 1为真,则判断时间是否为 0,若时间为 0,则改变成下一状态(状态 2:东西方向是否为红,南北方向是否为黄) ,并为黄灯设置一定的秒数,保存状态,返回中断。若状态2(状态2:东西方向是否为红,南北方向是否为黄) 为真,则判断时间是否为零, 若T_2为非0并且到一定时间内黄灯闪烁,若为 0,则南北方向转为红灯,同时东西方向转绿灯,T_2,T_1重新赋值并保存 c口状态并返回
16、。 若南北方向是红, 东西方向是绿, 则判断 T_1是否为0,若为非 0,返回中断,为 0,东西方向绿灯转黄灯,并T_1重新赋值并保存 c口状态。最后判断南北方向是否红, 东西方向是否黄, 若T_1为非0并且到一定时间内黄灯闪烁,如果为 0,则东西方向转为红灯,同时南北方向转绿灯,T_2,T_1重新赋值并保存 c口状态,最后返回中断。交通灯状态:状态 0:东西方向是否为红,南北方向是否为红。状态 1:东西方向是否为红,南北方向是否为绿。状态 2:东西方向是否为红,南北方向是否为黄。状态 3:南北方向是否为红,东西方向是否为绿。状态 4:南北方向是否为红,东西方向是否为黄。名师资料总结 - -
17、-精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计7 8259、8253 定时中断交通灯流程图如3-3 所示:初始化数据(T_1 和T_2,设置显示码 )初始化8255、 8253设置中断向量表,初始化8259调用显示功能中断东西方向是否红,南北方向是否绿东西方向是否红,南北方向是否黄南北方向是否红,东西方向是否黄南北方向绿灯转黄灯T_2是否为 0否是中断返回否是是T_2是否为 0是否南北方向转为红灯,同时东西
18、方向转绿灯T_2重新赋值并保存 c口状态T_2到一定时间内黄灯闪烁T_2, T_1重新赋值并保存 c口状态南北方向是否红,东西方向是否绿T_1是否为 0否是否否是东西方向绿灯转黄灯T_1重新赋值并保存 c口状态是T_1是否为 0T_1到一定时间内黄灯闪烁是否东西方向转为红灯,同时南北方向转绿灯T_2, T_1重新赋值并保存 c口状态否T_1, T_2减1关中断中断服务程序INTREEUP3东西方向是否红,南北方向是否红是否恢复时间和端口状态T_1、 T_2是否为0否是输出端口状态图 3-3 8259、8253 定时中断交通灯流程图3.2.2 交通灯数字显示模块首先,获得 8253 定时器传送来
19、东西方向的数据,然后过滤8 段数码管,防止出现余辉效应而导致结果偏差,将代码段的初始地址赋给BX ,在将数据除以10,取个位数据赋给 AL,在将 0H赋给 AH ,在将 AX的值与 BX相加获得该数据的个位数的字形, 之后初始化字形的接口地址,将字形输出, 再初始化字位的接口名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计8 地址,就可以完整的输出一个个位数。再过滤 8 断数码管, 重新
20、将代码段的初始地址赋给 BX ,在将数据除以10,将 0H赋给 AH ,在将 AX的值与 BX相加获得该数据的十位数的字形, 之后还是初始化字形的接口地址,将字形输出, 再初始化字位的接口地址, 就可以完整的输出一个十位数。 南北方向的数据操作和东西方向操作一样。显示模块流程图如图3-4 所示:获得数据过滤 LED 灯数据除以10将 AH 保存的个位数存入 ALAH 赋值 0H确定数据的位置输出数据确定数据的字形获得数据过滤 LED 灯数据除以10AH 赋值 0H确定数据的位置输出数据确定数据的字形图 3-4 显示模块流程图3.2.3 应急中断模块3.2.3.1 模块介绍当交通出现突发事故、
21、密集人流可及时通行、 急救车等, 需要一段时间来处理事件时,我们可以手动暂停红灯来达到疏散人群的作用。其中INTREEUP2 是增加行人手动按钮。实现可手动干预的(交通事故、步行可及时通行的)交通灯自动控制系统有手动干预(按钮按下)时,交通灯立即处于该状态:两个方向均红灯亮(以便让行人及时通过) 。10秒后,交通恢复到人工干预前状态,继续按正常状态循环切换。其程序框图如图3-5所示:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 41 页 - - - - - - - -
22、 - 北京理工大学珠海学院计算机学院课程设计9 图 3-5 程序框图3.2.3.2 工作流程当十字路口交通灯在按照交通规则正常运行时,这时如果遇到特发事件需要紧急停止, 可以通过手动干预交通灯自动控制系统。进入中断程序后, 这时候先把手动干预前交通灯的状态和秒数记录下来后(T_3=T_1 , T_4=T_2 , C_COPY=C) ,把两个路口的交通灯都转为红灯并设置为30秒, 然后两个路口所亮的灯对应的显示数值减 1,判断两个路口的交通灯状态是否为红灯,不是的话秒数再减 1,是的话再判断两个路口的交通灯得秒数是否为0,不是的话返回判断路口是否为红灯的状态,是的话就读取手动干预前交通灯的状态和
23、秒数(T_1=T_3 ,T_2=T_4 ,C=C_COPY)。此时把将两个路口状态送到8255端口C,恢复现场后中断返回。此工作流程图如图 3-6所示:中断入口保护现场四个方向的红灯亮10 秒输出中断结束命令中断返回恢复现场名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 13 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计10 中断开始T_3=T_1T_4=T_2C_COPY=CT_1=15T_2=15判断两个交通灯是否为红灯T_1=T_
24、3T_2=T_4C=C_COPY将 C口状态送到 8255 端口 C恢复现场中断返回YT_1=0 ?T_1=T_1-1T_2=T_2-1NN图 3-6 工作流程图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 41 页 - - - - - - - - - 北京理工大学珠海学院计算机学院课程设计11 4 硬件设计4.1 硬件介绍4.1.1 8253定时控制芯片8253A 定时/ 计数器具有定时、计数双功能。它具有三个相同且相互独立的16 位减法计数器,分别称为计数器0、计
25、数器 1 和计数器 2。每个计数器计数频率为 02MHZ 。其内部数据总线缓冲器为双向三态,故可直接连在系统数据总线上,通过CPU 写入计数初值,也可由CPU 读出计数当前值。读写控制逻辑,当选中该芯片时,根据读写命令和送来的地址信息控制整个芯片工作。其工作方式通过控制字确定。控制字寄存器用于接收数据总线缓冲器的信息。当写入控制字时, 控制计数器的工作方式; 当写入数据时则装入计数初值。控制寄存器为 8 位,只能写入不能读出。 8253A内部结构见图 3-1。当 8253A执行计数功能时,计数器装入初值后,当GATE 为高电平时,可用外部事件作为 CLK脉冲对计数值进行减1 计数。每来一个脉冲
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年模拟交通灯控制系统 2022 模拟 交通灯 控制系统
限制150内