文档介绍:
目录
摘要 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、N分别为南、北方向,E、W为东、西方向,初始态为2个路口的红灯亮以及另2个路口绿灯亮。之后,S、N路口的绿灯亮,转向红灯亮。E、W路口的红灯亮,转向绿灯亮。E、W路口方向通车,S、N路口可以转向。30秒后,E、W路口的绿灯熄灭,而E、W路口的黄灯开始亮。黄灯亮后,E、W路口的红灯亮,转向绿灯亮。同时S、N路口的绿灯亮,转向红灯亮。S、N路口方向开始通车,E、W方向可以转向。30秒时间后,S、N
路口的绿灯熄灭,而黄灯开始亮。黄灯亮后,再切换到E、W路口方向。之后,重复上述过程。即为:
(1)该设计能控制东、西、南、北四个路口的红、黄、绿信号灯正常工作。
(2)当东西方向放行、南北方向禁行时,东西方向绿灯亮30s,然后黄灯亮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和P
内容来自淘豆网www.taodocs.com转载请标明出处.