汇编语言与接口技术实习报告+原理图代码

《汇编语言与接口技术》课程实习

                                                     题目:                  模拟交通灯                   

  • 项目描述

该项目是基于AT89C51芯片设计的交通灯控制系统,主要应用于十字路口。模拟交通信号灯控制:一般情况下正常显示,东西-南北交替放行,各方向通行时间为30秒。有救护车或警车到达时,两个方向交通信号灯全为红色,以便让急救车或警车通过,设通行时间为10秒,之后交通恢复正常。

  • 选用资源

定时器/计数器、数码管、单刀双掷开关、交通信号灯

  • 设计思路

本项目主要分为信号灯显示、信号灯时间显示、紧急情况修改信号灯显示等模块

1) 信号灯显示模块:一般情况下东西-南北交替放行,各方向通行时间为30秒(各方向绿灯持续27秒,黄灯出现持续3秒),在遇到警车或救护车执行紧急任务时,各方向都变为红灯,持续10秒。

2) 信号灯时间显示:两个数码管显示红绿灯所剩余的持续时间。

3) 信号灯紧急情况模块:当有警车或救护车等执行紧急任务时,按下单刀双掷开关,使得各个方向的信号灯全部变红,同时数码管开始10秒的倒计时供执行紧急任务的车辆通过

  • 软件部分设计

本项目软件设计部分可以分为三个模块:信号灯显示模块、信号灯时间显示模块和信号灯紧急情况模块。

1. 信号灯显示模块

实现逻辑:当没有紧急情况发生时(没有触发外部中断),交通灯的信号首先是南北方向显示绿灯,东西显示红灯,经过27秒以后,南北方向由绿灯转变为黄灯,持续3秒,3秒后东西方向由红灯转变为绿灯,南北方向由黄灯变为红灯。再经过27秒后,东西方向由绿灯转变为黄灯,持续3秒,3秒后东西方向由红灯转变为绿灯,南北方向由黄灯变为绿灯。

2.数码管显示模块流程图:

实现逻辑:首先初始化相关变量和端口,然后加载要显示的数值。接着通过除法操作将数值分解为十位和个位,并根据结果从预设的查找表中获取对应的编码地址。通过间接寻址获取编码并发送到相应的端口以控制数码管显示。完成十位和个位的显示后返回调用。

3.信号灯紧急情况模块流程图:

  • 17
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倚楼听风疏雨骤

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值