- 1、本文档共37页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
目录
摘要 1
1设计任务及要求分析 2
1.1初始条件 2
1.2题目分析 2
1.3设计要求: 2
2方案比较及选择 3
2.1设计方案一 3
2.2设计方案二 4
2.3设计方案三 4
3系统原理 6
3.1硬件思想 6
3.1.1关于8086 CPU 6
3.1.2关于8255 7
3.1.3关于8253 8
3.1.4硬件原理 9
3.2软件思想 10
3.2.1 DOS系统功能调用 10
3.2.2 BIOS屏幕功能调用 11
3.2.3图像显行设计 12
3.2.4程序流程图 14
3.3程序运行调试结果 15
3.4硬件与软件设计的比较 17
4总结与心得 19
参考资料 21
附录:程序代码 22
摘要
城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。在本文中将运用微机原理及接口技术,介绍几种不同的方式,分别从硬件的思维与软件的思维,来实现简单的十字路口交通情况模拟。同时,本文还将介绍8086CPU最小系统相关硬件芯片及其特点,还有一些简单有用的汇编知识。
关键词:交通灯 汇编程序 模拟
十字路口交通信号模拟
1设计任务及要求分析
1.1初始条件
在屏幕上模拟十字路口交通情况,红灯或绿灯各亮30秒,其间黄灯闪3秒,绿灯方向有车通过,红灯方向车停止等待。按Q退出程序。
1.2题目分析
有一条主干道和一条次干道的城市交叉路口,每边都设置红、绿、黄色信号灯,红灯亮表示禁止通行;绿灯亮表示可以通过;在绿灯亮转变为红灯亮之前,先要求黄灯亮几秒钟,以便让交叉路口停车线以外的车辆停止运行。每一边的红、绿、黄色信号灯亮的顺序是红→绿→黄→红→绿→黄……。主干道红灯亮时,对应次干道的绿灯、黄灯亮;主干道绿灯、黄灯亮时,对应次干道的红灯亮。这样就要求主干道红灯亮的时间,应等于次干道绿灯亮与黄灯亮的时间之和;同理,次干道红灯亮的时间,应等于主干道绿灯亮与黄灯亮的时间之和。红、绿、黄色信号灯亮的时间,要求采用倒计时的方式,用十进制数字显示出来。
1.3设计要求:
设有一个十字路口,S、NE、W2个路口的红灯亮以及另2个路口绿灯亮。之后,S、NE、WE、WS、N30秒后,E、WE、WE、WS、NS、NE、W30秒时间后,S、NE、W30s,然后黄灯亮3s;南北方向红灯亮33s。
(3)当南北方向放行、东西方向禁行时,南北方向绿灯亮30s,然后黄灯亮3s;东西方向红灯亮33s。
(4)C键可以改变时间参数,Q键可以退出程序。
2方案比较及选择
分析题意,红,黄,绿灯可分别接在8255的A口,B口和C口上,灯的亮灭可直接由8086输出0与输出1控制。30秒延时及闪烁可以由8253控制。
方法有两种方案:
2.1设计方案一
设8253各口地址分别为:设8253基地址即通道0地址为04A0H;通道1为04A2H;通道2为04A4H;命令控制口为04A6H。
黄灯闪烁的频率为1HZ,所以想到由8253产生一个1HZ的方波,8255控制或门打开的时间,在或门打开的时间内,8253将方波信号输入或门使黄灯闪烁。
由于计数值最大为65535,不能超过这个范围,而1MHZ/65536的值远大于2HZ, 所以采用两个计数器级联的方式,8253通道0的CLK0 输入由分频器产生的1MHZ 时钟脉冲,工作在方式3即方波发生器方式,理论设计输出的周期为0.01s的方波。1MHZ的时钟脉冲其重复周期为 T=1/1MHZ=1μs,因此通道0的计数初值为10000=2710H。由此方波分别作为CLK1和CKL2的输入时钟脉冲,所以通道1和通道2的输入时钟频率为100HZ,通道1作计数器工作在方式1,计数初值 3000=BB8H,既30s,计数到则输出一个高电平到8255的PA7口,8255将A口数据输入到8086,8086检测到高电平既完成30s定时。通道2工作在方式3需输出一个1HZ的方波,通过一个或门和8086共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为100=64H,将黄灯的状态反馈到8255的端口PB7和PC7,同样输入到8086,8086通过两次检测端口状态可知黄灯的状态变化,计9次状态变化可完成5次闪烁。
三个通道的门控信号都未用,均接+5V即可。
2.2设计方案二
考虑到题目要求黄灯闪烁的频率为1HZ,既每秒1次,那么前0.5秒黄灯亮,后0.5秒黄灯灭,所以最小的定时单位为0.5秒,频率为2HZ,30秒即为60个0.5 秒。
显然与方案一相同,由一个计数器是无法完成,所以采用两个计数器级联的方式,将计数器0的输出OUT0接到计数器1的输入端CLK1,CLK0=1MHZ,计数值为50000=C350H,OUT0=20HZ,CLK1=20HZ,记数
文档评论(0)