45~V
I/O
6)、8255A的逻辑图
图13:8255A内部逻辑图
00000
11011
11011
01010
11011
11111
00111
11111
56789
6dH7dH07H7fH6fH
(三)、硬件总逻辑图及其说明
1)、硬件原理说明:
本设计以PROTUES实验仿真软件提供的最实用、新颖的实验系统和EMU8086提供的汇编环境进行课程软件设计的,在课程设计中主要利用了PROTUES软件提供的8255A芯片、74LS138、74LS373、7段LED显示器以及红绿灯LED显示二极管,课程设计时完成编程调试的是emu8086环境。
2)、硬件连接说明:
8255A芯片的PA、PB、PC三口的工作方式为方式0,将8255的PB0PB7接红绿灯用以模拟交通灯的变化,PA0PA7接7段LED灯的段选码完成LED显示器的段选,P74LC0PC3接LED显示器的位选码用以完成位选。将8255A芯片的片选信号CS与74LS138的CS1相连接来决定各端口的初始地址。8255A芯片的PB口中PB0PB7与红绿黄灯相连接,用来实现控制交通灯的变化规律;8255A的PC
5
f基于8086的交通信号控制器的设计
口中的PC0PC3与7段LED灯的位选码相连接,用来实现选择绿灯倒计时时的7段LED灯的位置选择,8255A芯片的PA口中的PA0PA7与7段LED灯的段选码相连接,用来实现7段LED灯的段选码选择。LED灯管的a、b、c、d、e、f、g、dp做为段选来显示倒计时数据。
图15硬件总连接图
(四)、控制程序设计
1)控制程序设计思路说明:
首先,明确交通灯的变化规律,假设在一个十字路口,其中东西方向,南北方向,工作方式如下:将红黄绿灯按照红灯停,绿等行,黄灯闪烁为缓冲时间的原则进行通车。倒计时将可以由用户自由设定,用8255的PB,PC口来连接红黄绿灯电路板,而PA口连接LED显示管来计数倒计时。开始时初始化东西南北方向全为红灯,然后东西方向绿灯亮,进入倒计时默认值50秒,结束后东西方向绿灯闪烁5次,变黄灯亮5秒,然后红灯亮;南北方向绿灯亮,此时南北方向进入倒计时,倒计时时间可以在开关口提前设定本次倒计时时间。结束后绿灯闪烁5秒后,变黄灯亮5秒,然后红灯亮,东西方向绿灯亮,如此循环下去。其次,主程序的设计思路:首先初始化8255A的芯片的控制字格式和状态字格式,其次设置交通灯开始运行的初始状态并做相应的延时便于观察,再次调用子程序对东西绿灯的倒计时时间,调用子程序显示绿灯的倒计时,后进行查表选择相应的LED灯的段选码,使相应的灯亮,显示东西绿灯交通灯变化,然后设置绿灯的闪烁,以及黄灯的亮持续,再次就是查表设置转换成南北绿灯的亮,同时调用r