51单片机 交通灯实验及报告

本文详细介绍了使用51单片机进行交通灯控制的实验过程,包括实验目的、任务和具体实现。通过在Proteus中设计电路图并编写程序,实现了四个方向交通灯的自动切换,确保交通安全流畅。实验代码展示了如何控制12个发光二极管亮灭,以模拟真实交通灯的红绿黄灯变化,通过仿真验证了程序的正确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 实验目的

  1. 学习模拟交通灯控制的实现方法;
  2. 掌握Proteus硬件仿真与调试。

*2. 任务:

  1. 根据要求编写程序,并写出原理性注释;
  2. 将检查程序运行的结果,分析一下是否正确;
  3. 完成所建工程的仿真及调试。

3. 实验内容及要求

按照电路要求在Protues中设计电路图。编程实现如下功能:
用单片机端口作输出口,控制四个方向共12个发光二极管亮灭,模拟交通灯管理。功能描述如下:初始态为四个路口的红灯全亮之后,东西路口的绿灯亮,南北路口的红灯亮,东西路口方向通车,延时一段时间后东西路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北路口方向开始通车,延时一段时间后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁若干次后,再切换到东西路口方向,之后重复以上过程。

在这里插入图片描述

**

4 实验代码:

```c
**`#include <reg51.h>
#include <absacc.h>

#define PA	 XBYTE[0x7FFC]   //PA端口地址
#define PB	 XBYTE[0x7FFD]		
#define PC	 XBYTE[0x7FFE]
#define COM	 XBYTE[0x7FFF]

char code dx516[3] _at_ 0x003b;

unsigned char Second[] = {
   0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,0x09,0x10};  
unsigned char count = 0, total = 0;

/**************8255初始化******************************/
void init_8255(void)
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值