基于MCS-51的交通灯控制系统设计与实现

需积分: 10 11 下载量 184 浏览量 更新于2024-07-19 2 收藏 1.03MB DOCX 举报
"交通灯控制系统课程设计东华大学" 在这个交通灯控制系统课程设计中,学生将学习和应用MCS-51系列的C51单片机进行系统开发。设计目标是一个十字路口的交通灯控制系统,它由红绿两色的LED显示器构成,用于指示车辆通行。系统具有以下关键特性: 1. **主干道通行时间**:主干道(A道)的通行时间为45秒,之后有5秒的红灯延时,总计50秒。 2. **支道通行时间**:支道(B道)的通行时间为25秒,加上红灯延时,共30秒。 3. **交错通行**:主干道和支道交替通行,确保交通流畅。 4. **紧急情况处理**:在紧急情况下,按下开关,主干道和支道都会显示红灯20秒,确保安全。 5. **人工控制**:根据实时交通状况,通过按键K2可使主干道延长30秒通行时间,按键K3则使支道延长30秒。 在系统设计上,采用了以AT89C51为核心控制器的电路。AT89C51是一款8位微控制器,拥有两个定时器中断(T0和T1)、两个外部中断,以及四个I/O端口(P0-P3)。设计中利用定时器T1实现定时功能,通过中断程序更新计时变量,以控制LED显示器的显示。 **设计思路**: - **模块化设计**:系统分为定时器中断控制、按键扫描和LED数码管显示三大部分。 - **可行性分析**:AT89C51的特性满足设计需求,如定时器中断和丰富的I/O端口。通过定时器T1设定1秒的定时,用于LED显示更新,而0.2秒的定时用于按键扫描。 - **节省资源**:使用串口显示芯片MAX7219驱动LED数码管,减少I/O口占用并简化硬件连接。 **硬件设计**: - **单片机最小系统**:包括AT89C51,12MHz晶振,以及必要的电源和复位电路。 - **LED显示**:使用MAX7219串行接口芯片,能有效管理8段LED显示器,显示倒计时。 - **按键部分**:独立按键K2和K3用于人工干预通行时间。 在软件方面,编程环境是Keil,采用C语言编写,利用中断服务程序和主循环实现功能。程序结构清晰,模块化编程使得代码易于理解和维护。硬件设计在Proteus环境中仿真,而软件设计则在Keil中进行编译和调试。 这个课程设计旨在让学生掌握单片机控制系统的实际设计与开发,理解定时器中断、I/O接口、串行通信以及人机交互等关键概念,同时提升问题解决和实际操作的能力。