微型计算机课设报告,微机原理课程设计报告-8086+8255交通灯

这篇博客介绍了使用8086微处理器和8255芯片设计的交通灯控制系统。通过ASM代码,展示了如何控制不同灯组的亮灭状态,包括红绿黄灯的交替及延时控制,实现了交通灯的自动化循环运行。
摘要由CSDN通过智能技术生成

;SAMPLE.ASM

.MODEL SMALL

.8086

.stack

.code

.startup

mov dx,0206h      ;    将控制端口的地址送给 dx

mov ax,80h       ;     将控制字送给 ax

out dx,ax     ;           将控制字送给控制端口

mov dx,0200h      ;    将a 端口的地址送给 dx

mov ax,0ffh     ;      将初始化数据送给 ax

out dx,ax     ;           将端口初始化

s0: mov ax,0bbh      ;       将数据 10111011B送给ax

out dx,ax     ;           将ax 数据送给 dx,让4 个红灯亮

call delay5    ;          调用延时程序子程序,维持 4-5s

s1: mov ax,0beh      ;       将数据 10111110B送给ax

out dx,ax     ;           将ax 数据送给 dx,使南北绿灯亮,东西红灯亮

call delay5    ;          调用延时程序子程序,维持 4-5s

mov cx,6       ;       将

lp: mov ax,0bfh     ;       将数据 10111111B送给ax

out dx,ax     ;           将ax 数据送给 dx,使南北绿灯灭,东西红灯亮

call delay05   ;          调用延时程序子程序,维持 4-5s

m

(1)用8253 计时器来完成时间的定; (3)用8259 中断控制器来进行紧急情况处理,如警车执行任务等情况; (4)通过8255A 并口来控制LED 发光二极管的亮灭,输出为0 则亮,输出为1 则 灭; (5)用8255 来输出绿灯的倒计时间。 2 计方案及分工 在这个方案里,我们将此计分为5 个模块,即:实现电路计、连接电路以及各模块 间整合的模块、实现交通灯循环的模块、对中断进行处理的模块、实现绿灯倒计时的显示模 块、实现夜间控制模块。 具体分工如下: xx:实现8253、电路计、连接电路以及各模块间整合的模块 xx:实现夜间控制模块 xx:实现交通灯循环的模块 xx: 对中断进行处理的模块 xx: 实现绿灯倒计时的显示模块 我们想通过这次计,具体实现以下功能: 以8086CPU 为核心计一个交通灯控制系统,通过8255 并口来控制LED 发光二级管 的亮灭,输出0 为亮,输出一为灭;用8253 来实现一个定时器(隔一定时间发生一边沿跳 变,引发8259 中断);用8259 来实现对中断的处理; 有一个十字路口,东西方向与南北方向各有一个红绿灯,初始状态为东西路口的红灯 亮南北路口的绿灯,南北方向的路口通车,并显示南北路口绿灯的倒计时间。延迟一定时间 之后,南北路口与东西路口都为黄灯亮,延迟一定的时间后,南北方向的红灯亮,东西路口 的绿灯两,东西方向的路口通车,并显示东西路口的绿灯倒计时间。延迟一定时间后直接跳 变为东西方向的红灯亮,南北路口的绿灯亮。如上所述循环一定次数后假进入晚上,屏幕 上显示Good Night!此时这两个路口的黄灯开始闪烁,数码管清零并且闪烁。延迟一定时间 后假进入早晨并在屏幕上显示Good Night!并实现交通灯的循环。如果遇到紧急情况,采 取紧急中断并且两个方向路口的红灯全亮确保紧急情况得到妥善处理,并且不管。在紧急情 况中断处理模块里通过拨动按钮KK2 来触发中断,使各个路口的灯全显示红灯,并在屏幕 上输出Waring!中断完成后跳回原来的状态,继续运行。 3. 各个模块的实现 3.1交通灯循环模块(XX) 3.1.1 计思想 十字路口分为南北方向和东西方向,各个方向有红黄绿三灯,其循环过程如下: 1:东西方向路口的红灯亮,南北路口的绿灯亮; 2:东西路口与南北路口都为黄灯亮; 3:东西方向路口的绿灯亮,南北方向路口的红灯亮; 4:不经过黄灯亮,直接跳变为状态1; 5:按如上过程循环; 3.1.2流程图 图3-1 8255 并口输出流程图
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值