交通灯控制系统Word文档下载推荐.docx
- 文档编号:21433856
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:12
- 大小:102.99KB
交通灯控制系统Word文档下载推荐.docx
《交通灯控制系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《交通灯控制系统Word文档下载推荐.docx(12页珍藏版)》请在冰豆网上搜索。
语
指导教师:
年月日
目录
一、设计题目------------------------------------------------------------4
2、设计目的------------------------------------------------------------3
3、设计原理及方案------------------------------------------------------3
1、电路原理-----------------------------------------------------------3
2、8253,8255,8259工作原理-------------------------------------------3
3、程序流程图----------------------------------------------------------4
四、实现方法-------------------------------------------------------------5
1、软件驱动安装--------------------------------------------------------5
2、仿真器设置----------------------------------------------------------6
3、创建实验程序--------------------------------------------------------6
4、选择并调试实验程序--------------------------------------------------6
五、实施结果------------------------------------------------------------11
六、改进建议及意见------------------------------------------------------11
七、设计体会------------------------------------------------------------12
一、设计题目:
二、实验目的
在城镇街道的十字交叉路口中,为保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止车辆通行;
黄灯亮表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;
绿灯亮表示该条道路允许通行。
交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人通行实现十字路口交通管理的自动化。
三、设计原理及方案
1、电路原理
本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。
完整系统的硬件连接(如下图所示)。
硬件电路由8253定时模块、8259中断模块及8255输出模块组成。
2、8253,8255,8259工作原理
(1)8259的工作原理
数据总线缓冲器:
8259A与系统数据总线的接口是8位双向三态缓冲器。
CPU与8259A之间的控制命令信息、状态信息以及中断类型信息都是通过缓冲器传送的。
读/写控制逻辑:
CPU通过它实现对8259A的读/写操作。
级连缓冲器:
用以实现8259A芯片之间的级连使得中断源可以由8级扩展至64级。
控制逻辑电路:
对整个芯片内部各部件的工作进行协调和控制。
中断请求寄存器IRR:
8位用以分别保存8个中断请求信号当响应的中断请求输入引脚有中断请求时该寄存器的相应位置1。
中断屏蔽寄存器IMR:
8位相应位用以对8个中断源的中断请求信号进行屏蔽控制。
当其中某位置“0“时则相应的中断请求可以向CPU提出否则相应的中断请求被屏蔽即不允许向CPU提出中断请求。
该寄存器的内容为8259A的操作命令字OCW1可以由程序设置或改变。
中断服务寄存器ISR:
8位当CPU正在处理某个中断源的中断请求时ISR寄存器中的相应位置1。
用以比较正在处理的中断和刚刚进入的中断请求之间的优先级别以决定是否产生多重中断或中断嵌套。
(2)8255A的工作原理
8255A的内部结构:
这是一个双向三态的8位数据缓冲器它是8255A与微机系统数据总线的接口。
输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。
三个端口AB和C:
A端口包含一个8位数据输出锁存器和缓冲器一个8位数据输入锁存器。
B端口包含一个8位数据输入/输出锁存器和缓冲器一个8位数据输入缓冲器。
C端口包含一个8位数据输出锁存器和缓冲器一个8位数据输入缓冲器(输入没有锁存器)。
A组和B组控制电路:
这是两组根据CPU输出的控制字控制8255工作方式的电路它们对于CPU而言共用一个端口地址相同的控制字寄存器接收CPU输出的一字节方式控制字或对C口按位复位字命令。
方式控制字的高5位决定A组的工作方式低3位决定B组的工作方式。
对C口按位复位命令字可对C口的每一位实现置位或复位。
A组控制电路控制A口和C口上半部B组控制电路控制B口和C口下半部。
读写控制逻辑:
用来控制把CPU输出的控制字或数据送至相应端口也由它来控制把状态信息或输入数据通过相应的端口送到CPU。
8255A的工作方式:
方式0---基本输入输出方式
方式1---选通输入输出方式
方式2---双向选通输入输出方式。
(3)8253的工作原理
8253是可编程的计数器/定时器,其内部有三个独立的16位计数器/定时器通道,每个计数器通道均可按6种不同的方式工作,并且都可以按二进制或十进制计数。
其CLK0与CLK2是计数器0、2的时钟脉冲输入端,GATE0和GATE2是门控脉冲输入端,OUT0与OUT2是输出端。
3、程序流程图
四、实现方法
1、软件驱动安装
(1)连接电源和串口线后,系统提示安装驱动程序
(2)查找D盘上文件VW/Drivers/Cuypress/ezusb完成驱动安装
2、仿真器设置
(1)选去复选框里的对钩
(2)选择Lab8000—8088/86实验—8088
(3)确定“好”
3、创建实验程序
在D盘下创建实验程序文件jiaotongdeng.asm实验源程序如下:
modeequ82h;
8255工作方式
PA8255equ8000h;
8255PA口输出地址
CTL8255equ8003h
ICW1equ00010011b;
单片8259,上升沿中断,要写ICW4
ICW2equ00100000b;
中断号为20H
ICW4equ00000001b;
工作在8086/88方式
OCW1equ11111100b;
只响应INT0中断
CS8259Aequ09000h;
8259地址
CS8259Bequ09001h
CONTROLequ0A003h
COUNT0equ0A000h
COUNT1equ0A001h
COUNT2equ0A002h
datasegment
CNTdb0
STBdb0
dataends
codesegment
assumecs:
code,ds:
data
DELAprocnear
pushcx
pushbx
movcx,0ffh
D1:
movbx,0ffh
D2:
decbx
jnzD2
loopD1
popbx
popcx
ret
DELAendp
IEnterprocnear
pushax
pushdx
movdx,PA8255
;
moval,01h
outdx,al
callDELA+
cmpCNT,0
jnzGREEN
moval,01h
outdx,al
callDELA
moval,02h
outdx,al;
输出计数值
movCNT,0fh
jmpENDI
GREEN:
moval,04h
outdx,al
movCNT,00h
ENDI:
movdx,CS8259A
moval,20h;
中断服务程序结束指令
popdx
popax
iret
IEnterendp
IEntprocnear
movdx,CS8259B
moval,0fdh
movCNT,0ffh
cmpSTB,0
jnzGRE
moval,02h
movSTB,0fh
jmpENDII
GRE:
movSTB,00h
ENDII:
IEntendp
IInitproc
moval,36h;
通道0,方式0
movdx,CONTROL
moval,76h;
通道1,方式0
moval,0d0h;
计数器初始值。
movdx,COUNT0
低八位
moval,07h
高八位
moval,0e8h;
movdx,COUNT1
moval,03h
moval,ICW1
moval,ICW2
moval,ICW4
moval,OCW1
IInitendp
startprocnear
movdx,CTL8255
moval,mode
cli
movax,0
movds,ax
movbx,4*ICW2;
中断号
movax,code
shlax,4;
x16
addax,offsetIEnter;
中断入口地址(段地址为0)
mov[bx],ax
incbx
mov[bx],ax;
代码段地址为0
shlax,4
addax,offsetIEnt
callIInit
movax,data
movCNT,0;
计数值初始为0
moval,CNT
sti
LP:
等待中断,并计数。
nop
jmpLP
startendp
codeends
endstart
4、选择并调试实验程序
(1)选择帮助—Lab8000图是帮助
(2)点击实验选择
(3)复选框中选择i8088/86
(4)选择实验并点击“连线”即可
(5)打开实验程序汇编语言文件,即jiaotongdeng.asm
(6)点击执行—全速执行
五、实施结果
假设十字路口1,3是南北方向,2,4是东西方向。
初态为4个红灯全亮,表示禁止通行;
(1)1,3路口绿灯亮,2,4路口红灯亮;
(2)1,3路口绿灯灭;
(3)1,3路口黄灯闪烁;
(4)4个路口红灯全亮;
(5)2,4路口绿灯亮,同时1,3路口红灯亮;
(6)2,4路口绿灯灭;
(7)2,4路口黄灯闪烁;
(8)转向
(1)循环执行
6、改进建议及意见
如何在实验台上实现,每个路口的灯都独自控制,以至于当出现有一边发生故障时候,不影响其他路口的工作情况,以及如何在出现故障时候有补救的方法,把损失减到最小。
7、设计体会
本次实验我主要负责程序的调试,连线方面,通过了解实验原理,在实验面板上独立连线,实现单步调试,首先把代码读懂,每一步都要注释,最终我们成功实现了交通灯的实验,在调试过程中我们不断改进,从一开始的只用三个灯,到用到六个灯,虽然我们没能实现单独的控制,但是我们通过讨论不断的改善,在这个过程中我们体会到了乐趣。
这次课程设计让我对接口有了更深的了解,使我认识到了自身许多的不足之处,自身动手操作水平得到了提高。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 控制系统