1、 综合性、设计性实验报告综合性、设计性实验报告 设 计 题 目 交通灯的设计 实验课程名称 微机原理及应用 一、实验设计方案一、实验设计方案 实验名称: 交通灯的设计 实验时间:2010/12/26 小组合作: 是 否 小组成员:无 1、实验目的: 分析实际的十字路口交通灯的亮灭过程,用实验箱上的 8255 实现交通灯的控制。 (红,黄, 绿三色灯) 2、实验设备及材料: 微机原理和接口技术实验室的实验箱和电脑设备等。 3、理论依据: 此设计是通过并行接口芯片8255A和8086计算机的硬件连接, 以及通过8253延时的方法, 来实现十字路口交通灯的模拟控制。 如硬件连接图所示(在后) ,红灯
2、(RLED) ,黄灯(YLEDD)和绿灯(GLED)分别接在 8255 的 A,B,C 口的低四位端口,PA0,PA1,PA2,PA3 分别接 1,2,3,4(南东北西)路口的红 灯, B, C 口类推。 8086 工作在最小模式, 低八位端口 AD0AD7接到 8255 和 8253 的 D0D7, AD8AD15 通过地址锁存器 8282,接到三八译码器,译码后分别连到 8255 和 8253 的 CS 片选端。8253 的 三个门控端接+5V,CLOCK0 接由分频器产生的 1MHZ 的时钟脉冲,OUT0 接到 CLOCK1 和 CLOCK2, OUT1 接到 8086 的 AD18,8
3、086 通过检测此端口是否有高电平来判断是否 30s 定时到。OUT2 产生 1MHZ 方波通过或门和 8255 的 B 口共同控制黄灯的闪烁。 8255 三个口全部工作在方式 0 既基本 输入输出方式,红绿灯的转换由软件编程实现。 4、实验方法步骤及注意事项: 1 设计思路 红,黄,绿灯可分别接在 8255 的 A 口,B 口和 C 口上,灯的亮灭可直接由 8086 输出 0, 1 控制。 设 8253 各口地址分别为:设 8253 基地址即通道 0 地址为 04A0H,通道 1 为 04A2H,通道 2 为 04A4H,命令控制口为 04A6H。 黄灯闪烁的频率为 1HZ,所以想到由 82
4、53 产生一个 1HZ 的方波, 8255 控制或门打开的时 间,在或门打开的时间内,8253 将方波信号输入或门使黄灯闪烁。 由于计数值最大为 65535,1MHZ/65536 的值远大于 2HZ,所以采用两个计数器级联的方 式,8253 通道 0 的 clock0 输入由分频器产生的 1MHZ 时钟脉冲, 工作在方式 3 即方波发生器方 式,理论设计输出 周期为 0.01s 的方波。1MHZ 的时钟脉冲其重复周期为 T=1/1MHZ=1s,因 此通道 0 的计数初值为 10000=2710H。由此方波分别作为 clock1 和 clock2 的输入时钟脉冲, 所以通道 1 和通道 2 的输
5、入时钟频率为 100HZ,通道 1 作计数器工作在方式 1,计数初值 3000=BB8H 既 30s,计数到则输出一个高电平到 8255 的 PA7 口,8255 将 A 口数据输入到 8086, 8086 检测到高电平既完成 30s 定时。通道 2 工作在方式 3 需输出一个 1HZ 的方波,通过一个 或门和 8086 共同控制黄灯的闪烁,因此也是工作在方波发生器方式,其计数初值为 100=64H, 将黄灯的状态反馈到 8055 的端口 PB7 和 PC7,同样输入到 8086,8086 通过两次检测端口状态 可知黄灯的状态变化,计 9 次状态变化可完成 5 次闪烁。 三个通道的门控信号都未
6、用,均接5V 即可。 2 硬件原理及电路图 由于 8255A 与 8086CPU 是以低八位数据线相连接的,所以应该是 8255A 的 1 A 、 0 A 线分别与 8086CPU 的 2 A 、 1 A 线相连,而将 8086 的 0 A 线作为选通信号。如果是按 8255A 内部地址来看, 则在图中它的地址是 PA 口地址即(CS+000H),PB 口地址为(CS+001H),PC 口地址为(CS+002H), 命令控制口地址为(CS+003H),其中,CS 为 8255 片选信号CS的首地址;若是按 8086CPU 地址 来看,则 8255A 的地址是 PA 口地址即(CS+000H),PB 口地址为(CS+002H),PC 口地址为 (CS+004H),命令控制口地址为(CS+006H)。当 CS0288H,则 PA 口地址为 0288H,PB 口地址 为 028AH,PC 口地址为 028CH,命令控制口地址为 028EH。 电路图如下所示: 3 程序流程图 初始化 8255,8253 红灯全亮 绿灯黄灯全灭 南北绿灯亮