- 1、本文档共16页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
交通灯控制软件的开发
1 十字路口基本情况分析
设有一个十字路口,1、3为东西方向,2、4为南北方向,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮, 而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,之后重复上述过程。
2 交通灯状态转换分析
合理的设置每个路口、每个方向的交通灯的通行时间,对车辆能否及时疏散,有着决定性的作用。
状态1 的时候:1、3路口的绿灯熄灭,1、3路口的黄灯开始亮,当通行时间剩下5秒结束时,LED会闪烁,而同时2、4路口的红灯亮
状态2的时候:1、3 路口红灯亮, 而同时2、4路口的绿灯亮,2、4路口方向通车;
状态3的时候:1、3 路口红灯亮, 而同时2、4路口的黄灯亮;
状态4 的时候:1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。整个状态转换的过程见表2-1。
表2-1 路口四个状态和相互转换过程
状态每个路口灯的点亮情况通行时间路口1路口2路口3路口4状态1(ZT1)黄 红 黄 红5s状态2(ZT2)红 绿 红 绿15s状态3(ZT3) 红 黄 红 黄5s状态4(ZT4)绿红绿红15s
完成四个状态的一次循环需要40秒, 红灯亮20秒 、绿灯亮15秒 、黄灯亮5秒
完成了在适当的时间限度内,有效的疏散较大的通行量的目的。
3 紧急通行情况分析
手动拨动单脉冲一次,则产生一个优先级高一级的中断,程序转而执行此中断处理程序,处理完后返回继续执行低级中断。整个执行过程见图3-1
主程序
是否中断
继续执行主程序
循环值入栈
红灯全亮
结束中断服务程序
循环值出栈
继续处理未完成的低级中断
图3-1 紧急中断程序
4 硬件功能分析
4.1 8253A定时/计数器芯片
8253A定时/计数器具有定时、计数双功能。它具有三个相同且相互独立的16位减法计数器,分别称为计数器0、计数器1和计数器2。每个计数器计数频率为0-2MHZ。
其内部数据总线缓冲器为双向三态,故可直接连在系统数据总线上,通过CPU写入计数初值,也可由CPU读出计数当前值。读写控制逻辑,当选中该芯片时,根据读写命令和送来的地址信息控制整个芯片工作。其工作方式通过控制字确定。控制字寄存器用于接收数据总线缓冲器的信息。当写入控制字时,控制计数器的工作方式;当写入数据时则装入计数初值。控制寄存器为8位,只能写入不能读出。8253A内部结构见图4-1。
当8253A执行计数功能时,计数器装入初值后,当GATE为高电平时,可用外部事件作为CLK脉冲对计数值进行减1计数。每来一个脉冲减1,当计数值减为0时,由OUT端输出一个标志信号。
当8253A执行定时功能时,计数器装入初值后,当GATE为高电平时,由CLK脉冲触发开始自动计数。当计数到零时,发计数结束定时信号。
8253A可以工作在方式0到方式5,常用的有方式2频率发生器方式和方式3方波发生器方式。在方式2时,当初值装入后,OUT变为高;计数结束,OUT变为低。该方式下如果计数未结束,但GATE为低时,立即停止计数,将OUT变为高;当GATE再变高时,便启动一次新的计数周期。在方式3时,当装入初值后,在GATE上升沿启动计数,OUT输出高电平;当计数完成一半时,OUT输出低电平。
在本系统中,8253A工作于方式3方波发生器方式。计数器0
CLK0
GATE0
OUT0
计数器1
CLK1
GATE1
OUT1
计数器2
CLK2
GATE2
OUT2
数据总线缓冲器
读/写逻辑
控制字寄存器
D0-D7
-RD
-WR
A0
A1
-CS
图 4-1 8253A内部结构图
4.2 8259A中断控制器芯片
8259A是专为控制优先级中断而设计的芯片。它将中断源按优先级排队、辨认中断源和提供中断向量的电路集成于一体,只要用软件对它进行编程,就可以管理8级中断。
8259A的内部结构见图4-2。它由中断请求寄存器(IRR)、优先级分析器、中断服务寄存器(ISR)、中断屏蔽寄存器(IMR)、数据总线缓冲器、读写控制电路、级联缓冲器和比较器组成。
控制逻辑
服务寄存器
优先级分析器
中断请求寄存器
中断屏蔽寄存器IMR
内部总线
IR0
IR1
IR2
IR3
IR4
IR5
IR6
IR7
数据总线控制器
读写电路
级联缓冲器/比较器
CAS0
CAS1
CAS2
D0-D7
-RD
-WR
A0
-CS
SP/-EN
INT
-INTA
图 4-2 8259A的
文档评论(0)