基于8086的交通灯控制系统课程实验设计报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
鸡西大学课程设计实验报告题目:基于8086的交通灯控制系统课程设计院系:电气与信息工程系
班级:09机电一体化(4)班
*名:***
学号:***********
指导老师:**
(2010.12.9)
目录
一、设计要求。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。2
二、设计目的。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。2
三、设计的具体实现。。。。。。。。。。。。。。。。。。。。。。。。。。。。2
(一)系统概述。。。。。。。。。。。。。。。。。。。。。。。。。。。。2 (二)单元电路设计。。。。。。。。。。。。。。。。。。。。。。。。5 (三)软件程序设计。。。。。。。。。。。。。。。。。。。。。。。。9
四、结论与愿望。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。15
五、心得体会及建议。。。。。。。。。。。。。。。。。。。。。。。。。。。16
六、附录。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。17
七、参考文献。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。18
1
交通灯设计报告
一、设计要求
1、完成系统总体方案设计;
2、设计控制算法;
3、设计系统接线图;
4、完成控制软件的编写;
5、编写课程设计说明书。
二、设计目的
1、了解交通灯管理的基本工作原理
2、熟悉8259A中断控制器的工作原理和应用编程
3、熟悉8255A并行接口的各种工作方式和应用
4、熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法。
5、掌握多位LED显示问题的解决。
三、设计的具体实现
(一)系统概述
系统要求实现正常时序控制,启动开关接通时,交通信号按设定的时序工作,并且各个方向的红、黄、绿灯接通时间倒计时显示,东西方向和南北方向的绿灯接通时间可以由外部设定。所以设计中使用了8259A中断控制器、8254计数器、8255可编程并行接口实现了,对南北、东西方向交通的分别计时、分别控制,设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
城市十字交叉路口红绿灯控制系统主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,正是基于以上考虑,采用如下设计:
1.东西南北两个方向起始状态全为红,延续3秒。
2.东西方向红灯亮,南北方向绿灯亮,延续45秒。
3.东西方向红灯亮,南北方向绿灯以频率1HZ闪烁3秒。
4.东西方向红灯亮,南北方向黄灯亮,延续3秒。
2
5.东西方向绿灯亮,南北方向红灯亮,延续40秒。
6.东西方向绿灯亮以频率1HZ闪烁3秒,南北方向红灯。
7.东西方向黄灯亮,南北方向红灯亮,延续3秒。
8.东西方向红灯亮,南北方向红灯亮循环以上步骤。
通过分析灯亮的规律,总结出如下的功能表:
交通灯亮灭功能表
转换成控制码为:
系统流程图如下:
3
4
(二)单元电路设计
1、 8259的工作原理
1)、数据总线缓冲器:8259A与系统数据总线的接口,是8位双向三态缓冲器。CPU与8259A之间的控制命令信息、状态信息以及中断类型信息,都是通过缓冲器传送的。
2)、读/写控制逻辑:CPU通过它实现对8259A的读/写操作。
3)、级连缓冲器:用以实现8259A芯片之间的级连,使得中断源可以由8级扩展至64级。
4)、控制逻辑电路:对整个芯片内部各部件的工作进行协调和控制。
5)、中断请求寄存器IRR:8位,用以分别保存8个中断请求信号,当响应的中断请求输入脚有中断请求时,该寄存器的相应位置1。
6)、中断屏蔽寄存器IMR:8位,相应位用以对8个中断源的中断请求信号进行屏蔽控制。当其中某位置“0“时,则相应的中断请求可以向CPU提出;否则,相应的中断请求被屏蔽,即不允许向CPU提出中断请求。该寄存器的内容为8259A的操作命令字OCW1,可以由程序设置或改变。
7)、中断服务寄存器ISR:8位,当CPU正在处理某个中断源的中断请求时,ISR寄存器中的相应位置1。
8)、用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别,以决定是否产生多重中断或中断嵌套。
2. 8255A的工作原理
1)、8255A的内部结构:
(1)数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
5
(2)三个端口A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。
(3) A组和B组控制电路:这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。对C口按位复位命令字可对C口的每一位实现置位或复位。A组控制电路控制A口和C口上半部,B 组控制电路控制B口和C口下半部。
(4)读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
2)、8255A的工作方式:
方式0---基本输入输出方式;方式1---选通输入输出方式
方式2---双向选通输入输出方式。
3)、引脚信号
8255A的引脚如图7.5所示,分为数据线、地址线、读/写控制线、输入/输出端口线和电源线。
D7~D0(data bus):三态、双向数据线,与CPU数据总线连接,用来传送数据。
(chip select):片选信号线,低电平有效时,芯片被选中。
A1, A0(port address):地址线,用来选择内部端口。
(read):读出信号线,低电平有效时,允许数据读出。
6