项目简介
本项目基于AVR单片机(ATmega32)实现按需交通灯系统。系统不仅具备常规交通灯控制功能,还引入按需过街按钮,行人按下按钮后交通灯信号会调整,保证行人有足够过街时间,提升行人过街安全性与便利性。采用分层架构设计,模块化驱动程序便于维护和扩展。
项目的主要特性和功能
- 双模式运行:有正常模式和行人模式。正常模式下汽车信号灯按绿 - 黄 - 红 - 黄 - 绿顺序每五秒切换,黄灯闪烁五秒;行人按下按钮进入行人模式,信号灯根据汽车灯当前状态调整。
- 硬件适配:适配ATmega32微控制器,支持连接一个行人按钮、三组汽车信号灯(绿、黄、红)和三组行人信号灯(绿、黄、红)。
- 驱动模块化:分为MCAL(含DIO、Interrupts、TIMERS)和ECUAL(含LED、BUTTONS)驱动,每个驱动含.h和.c文件,方便代码管理与复用。
- 测试覆盖:设计5个用户故事作为测试用例,保障系统在不同场景下的稳定性和可靠性。
安装使用步骤
环境准备
- 安装适用于AVR单片机的开发环境,如AVR - GCC编译器和AVRDUDE烧录工具。
- 安装相关集成开发环境(IDE),如Atmel Studio或VS Code(需安装相关插件)。
代码配置
- 解压已下载的项目源码文件。
- 按分层架构要求,将源码文件放到对应文件夹。
代码编译与烧录
- 用开发环境打开项目源码。
- 配置编译器和烧录工具参数,确保与ATmega32微控制器兼容。
- 编译项目代码,有错误则根据提示修改。
- 编译成功后,用烧录工具将可执行文件烧录到ATmega32微控制器。
硬件连接与测试
- 将一个按钮连到ATmega32的(INT0 / INT1 / INT2)引脚作为行人按钮。
- 分别连接三组汽车信号灯(绿、黄、红)和三组行人信号灯(绿、黄、红)到相应引脚。
- 接通电源,观察交通灯是否按正常模式运行。
- 按下行人按钮,检查系统能否正确切换到行人模式并调整信号灯状态。
- 按5个用户故事测试,验证系统功能正确性。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】