本项目采用C语言编程实现交通灯控制系统的逻辑设计,并在Proteus软件中完成电路原理图绘制和系统仿真,验证其功能正确性。
硬件设计采用Proteus进行电路原理图的设计与仿真:
1. 单片机选用AT89C51型号,它完全兼容8051系列单片机,并且内部集成了4KB的FLASH ROM,在设计时无需额外添加程序存储器。
2. 显示部分:南北向和东西向各使用两个LED数码管进行计时。对每个方向指示灯点亮的时间进行倒计数显示,最长可设置时间为99秒。
3. 键盘部分包括了用于设定、增加以及减少功能的按键。
系统的工作流程如下:
1. 系统启动后按照预设时间运行:东西向通行60秒,南北向通行40秒,黄灯亮起持续4秒钟。工作模式如表一所示,依次为东西方向先通过交通信号灯控制程序设定的时间之后切换到南北方向的绿灯放行。
2. 调整通行时间的方式:
- 第一次按下“设置键”时,点亮的是东向和西向的绿灯,并且显示当前该方向上的通行秒数。此时其他指示器熄灭,通过按动增加或减少按键可以调整南北方向的绿灯计时时长。
- 按下两次后,切换到黄灯状态下的设置模式;同理可操作东西和南北向黄灯的时间设定。
- 第三次按下“设置键”时点亮的是南向与北向的绿灯,并且显示当前该方向上的通行秒数。此时其他指示器熄灭,通过按动增加或减少按键可以调整南北方向的绿灯计时时长。
- 按下四次后同样切换到黄灯状态下的设置模式;同理可操作东西和南北向黄灯的时间设定。
- 第五次按下“设置键”时系统退出当前配置界面,重新回到初始交通信号控制程序的工作流程中。
软件设计使用Keil C开发环境与语言:
1. 软件模块包括主程序、计时时钟子程序、显示驱动以及键盘扫描和按键处理等几个主要部分。