交通信号灯实时控制系统设计报告Word文档格式.docx

上传人:b****1 文档编号:4923511 上传时间:2023-05-04 格式:DOCX 页数:13 大小:207.23KB
下载 相关 举报
交通信号灯实时控制系统设计报告Word文档格式.docx_第1页
第1页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第2页
第2页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第3页
第3页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第4页
第4页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第5页
第5页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第6页
第6页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第7页
第7页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第8页
第8页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第9页
第9页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第10页
第10页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第11页
第11页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第12页
第12页 / 共13页
交通信号灯实时控制系统设计报告Word文档格式.docx_第13页
第13页 / 共13页
亲,该文档总共13页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

交通信号灯实时控制系统设计报告Word文档格式.docx

《交通信号灯实时控制系统设计报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《交通信号灯实时控制系统设计报告Word文档格式.docx(13页珍藏版)》请在冰点文库上搜索。

交通信号灯实时控制系统设计报告Word文档格式.docx

⒈80X86系列微机一台。

⒉微机硬件实验平台。

⒊定时/计时器和并行接口芯片。

⒋按键开关1个〔单脉冲源〕,钮子开关〔上下电平开关〕3个及红,黄,绿发光二极管〔即实验平台上的三色显示灯〕。

四、实验原理

根据实验任务要求,在本实验系统中,微机需要检测4个开关送来的主,支干道车辆到达信号,并按一定的条件发出主,支干道6个信号灯的控制信号。

显然,用一片8255A足以满足上述要求。

对8255A各端口不妨作如下安排:

令端口A工作于方式0的无条件数据输出方式,用以控制交通灯的亮灭;

端口B工作于方式1的输入方式,并设置为允许中断;

将端口C的PC2接到中断恳求线上,使得当支干道上有车来时,由中断恳求线向CPU发出中断,CPU响应中断后发出控制信号来控制主,支干道交通灯变换状态。

端口C的高4位用作输入口,从PC7,PC6,PC5接入3个钮子开关,当钮子开关打到高电平时,表示主干道有车辆到来。

详细设置如下:

端口A的地址为:

250H

端口B的地址为:

251H

端口C的地址为:

252H

控制存放器地址为;

253H

有关定时/计时器的功能,可以采用8253计时/定时器结合中断效劳程序计数的方法来实现。

可设想用8253来产生秒时钟信号,为此可以设置8253的定时器0工作方式3〔方波方式〕,定时器1工作于方式2〔分频方式〕,并将定时器0的输出端接到定时器1的时钟端。

这样,就可以做到让定时器0每隔10ms向定时器1发出一个计数脉冲,而当定时器1计满100个数时,向主机发出一次中断恳求信号,于是就实现了每隔1s发出一次中断恳求的功能。

然后在时钟中断效劳程序中对秒信号作相应的计数。

〔通道1接10KHZ的方波脉冲源〕。

另外附加三色显示灯的变色原理:

从8255芯片的PA1,PA2,PA6,PA74个接口连出4根线接到三色显示灯的4个接口上,每两个控制一个灯。

其中控制信号由程序中通过表示上下电平来设置好,如:

红灯为1000绿灯0100黄灯1100

综上所述,本试验系统的硬件构造框架如以下图所示:

8253通道0的端口地址为220H,通道1的为221H,控制存放器的地址为223H。

实验的主程序和支干道来车中断效劳程序流程图那么如以下图:

.modelsmall

.stack

.data

countdb0

runningdb'

running'

13,10,'

$'

messagedb'

inter'

timedb'

.'

'

.code

mainprocfar

start:

movax,@data

movds,ax

cli;

中断标志置0IF<

-0

movah,09

leadx,running

int21h

moval,0fh;

0bH

movah,35h

pushes

pushbx

pushds

;

设置两个中断向量

movax,seginterproc

movdx,offsetinterproc

moval,0fh

movah,25h

int21h

popds

popbx

popes

moval,0bh;

movax,segtimeproc

movdx,offsettimeproc

moval,0bh

保存原8259屏蔽字

inal,21h

pushax

inal,0a1h

moval,071h

out21h,al

moval,0fdh

out0a1h,al

初始化8253,设置两个计数器的工作方式

定时器0工作方式3(方波方式)10ms

movdx,223h

moval,16h;

控制字

outdx,al

movdx,210h

moval,64h

定时器1工作方式2(分频方式)100个数

moval,54h;

movdx,221h

moval,00001010b

outdx,al

初始化8255,设置各端口的工作形式

movdx,253h

moval,10001111b;

将8255的pc2置1,允许中断

moval,00000101b

repeat:

开中断,等待

sti

从8255的A端口送出红绿灯信号

movdx,250h

moval,01000010b;

主绿支红

movah,1;

Ctrl+C

int16h

jzrepeat

cli

popax

返回DOS

movax,4c00h

mainendp

interprocprocnear;

中断处理程序

保存现场

pushcx

pushdx

movah,09

leadx,message

movdx,251h

inal,dx

主干道有3辆车吗?

movdx,252h

andal,11100000b;

7,6,5

cmpal,11100000b

jzgoend

去除秒计算器

movcount,0

送主干道黄灯,支干道红灯数据

moval,11000010b;

主黄支红

计数

libo:

cmpcount,4

jnzlibo

秒计数器清零,送主干道红灯,支干道绿灯数据

moval,10000001b;

主红支绿

captain:

cmpcount,25

jzcipher

jnzcaptain

cipher:

秒计数器清0,并送主干道红灯,支干道黄灯数据

moval,10000011b;

主红支黄

smartcat:

jnzsmartcat

goend:

moval,20h

out20h,al

out0a0h,al

恢复现场

popdx

popcx

iret;

退出中断

interprocendp

timeprocprocnear;

时间中断

inccount

leadx,time

timeprocendp

endstart

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 表格模板 > 合同协议

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2