回
movdxio8255amoval0outdxalmovah4chi
t21hcodee
dse
dstart
实验三、交通灯控制实验
一实验目的通过并行接口8255实现十字路口交通灯的模拟控制进一步掌握对并行口的使用。二实验内容如图29,L7、L6、L5作为南北路口的交通灯与PC7、PC6、PC5相连,L2、L1、L0作为东西路口的交通灯与PC2、PC1、PC0相连。编程使六个灯按交通灯变化规律亮灭。三编程提示十字路口交通灯的变化规律要求:(1)南北路口的绿灯、东西路口的红灯同时亮30秒左右。(2)南北路口的黄灯闪烁若干次,同时东西路口的红灯继续亮。(3)南北路口的红灯、东西路口的绿灯同时亮30秒左右。(4)南北路口的红灯继续亮、同时东西路口的黄灯亮闪烁若干次。(5)转(1)重复。四、实验原理图
f十字路口红绿灯模拟演示程序
端口各灯的设置1红1黄1绿002红2黄2绿
datasegme
tioportio8255aio8255bequ0d400h0280hequioport28ahequioport28bh六个灯可能
portc1db24h44h04h44h04h44h04h
fdb81h82h80h82h80h82h80h的状态数据db0ffhdatae
dscodesegme
tassumecscodedsdatastartmovmovmovmovout为C口输出movre_o
o
movmovcmpjzout的灯i
cbxdxio8255abx0alportc1bxal0ffhre_o
dxal点亮相应axdatadsaxdxio8255bal90hdxal设置8255结束标志
fmov初值
cx20
参数赋
testal21h灯亮jz延时mov时de1值5000de0decj
zdide0movdi9000cx2000de1
是否有绿
没有短
有长延
di赋初
减1计数di不为0
loopde1pushdxmovah06hmovdl0ffhi
t21hpopdxjzo
到o
exitmovi
tah4ch21h返回没有转
fcodee
dse
dstart
fr