littlebot
Published on 2025-04-08 / 3 Visits
0

【源码】基于AVR单片机的按需交通灯系统

项目简介

本项目基于AVR单片机(ATmega32)实现按需交通灯系统。系统不仅具备常规交通灯控制功能,还引入按需过街按钮,行人按下按钮后交通灯信号会调整,保证行人有足够过街时间,提升行人过街安全性与便利性。采用分层架构设计,模块化驱动程序便于维护和扩展。

项目的主要特性和功能

  1. 双模式运行:有正常模式和行人模式。正常模式下汽车信号灯按绿 - 黄 - 红 - 黄 - 绿顺序每五秒切换,黄灯闪烁五秒;行人按下按钮进入行人模式,信号灯根据汽车灯当前状态调整。
  2. 硬件适配:适配ATmega32微控制器,支持连接一个行人按钮、三组汽车信号灯(绿、黄、红)和三组行人信号灯(绿、黄、红)。
  3. 驱动模块化:分为MCAL(含DIO、Interrupts、TIMERS)和ECUAL(含LED、BUTTONS)驱动,每个驱动含.h和.c文件,方便代码管理与复用。
  4. 测试覆盖:设计5个用户故事作为测试用例,保障系统在不同场景下的稳定性和可靠性。

安装使用步骤

环境准备

  1. 安装适用于AVR单片机的开发环境,如AVR - GCC编译器和AVRDUDE烧录工具。
  2. 安装相关集成开发环境(IDE),如Atmel Studio或VS Code(需安装相关插件)。

代码配置

  1. 解压已下载的项目源码文件。
  2. 按分层架构要求,将源码文件放到对应文件夹。

代码编译与烧录

  1. 用开发环境打开项目源码。
  2. 配置编译器和烧录工具参数,确保与ATmega32微控制器兼容。
  3. 编译项目代码,有错误则根据提示修改。
  4. 编译成功后,用烧录工具将可执行文件烧录到ATmega32微控制器。

硬件连接与测试

  1. 将一个按钮连到ATmega32的(INT0 / INT1 / INT2)引脚作为行人按钮。
  2. 分别连接三组汽车信号灯(绿、黄、红)和三组行人信号灯(绿、黄、红)到相应引脚。
  3. 接通电源,观察交通灯是否按正常模式运行。
  4. 按下行人按钮,检查系统能否正确切换到行人模式并调整信号灯状态。
  5. 按5个用户故事测试,验证系统功能正确性。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】