APP下载

基于proteus的单片机控制交通信号灯仿真系统设计

2018-05-10张成法张东霞付宁

电子技术与软件工程 2018年24期
关键词:信号灯中断按键

张成法 张东霞 付宁

摘要

本文利用proteus软件中的AT89C51单片机和LED完成了公路十字路口交通信号灯系统的仿真设计,经过验证,该系统可以实现交通功能。

【关键词】proteus单片机 交通信号灯

proteus软件是一款优秀的EDA软件,可以完成单片机控制系统的相关设计。本文利用proteus软件制作的单片机控制交通信号灯系统在设计过程中使用了定时器和中断系统,可以满足车辆正常情况通行、紧急情况通行和特殊情况通行三种情况。

1系统整体设计

本系统的设计要求分为车辆正常情况通行、车辆紧急情况通行和车辆特殊情况通行三种。正常情况通行是南北方向的绿色LED亮60s,同时东西方向的红色LED亮60s,此时表示南北方向通行,东向方向禁止通行,然后南向和北行的绿色LED闪烁5次后熄灭,紧接着南向和北向黄色LED亮5秒后熄灭,然后东西方向的绿色LED亮60s,同时南北方向的红色LED亮60s,此时表示东西方向可以通行,南北方向禁止通行,然后东向和西向的绿色LED闪烁5次后熄灭,紧接着东向和西行的黄色LED亮5秒后熄灭,然后南北方向的绿色LED亮60s,同时东西方向的红色LED亮60s,此时表示南北方向可以通行,东向方向禁止通行,以次循环往复。特殊情况通行是东西向绿色LED亮lOs,同时南北向红色LED亮lOs,紧急情况通行是东西南北四个方向都是红色LED,并且亮lOs。

2硬件设计

本系统主要是由AT89C51单片机、电源电路、晶体振荡器电路、12个LED(绿色、红色、黄色这三个颜色的LED各4个)构成。其中在东西南北方向每个方向都有三个不同颜色的LED,用这三个不同颜色的LED来表示交通信号灯的绿灯、红灯和黄灯。如图1所示。

AT89C51单片机的Pl.0~P1.2引脚连接着南向和北向的控制信号线,单片机的P1.3~P1.5引脚连接着东向和西向的控制信号线。用按键Sl来模仿车辆紧急情况通行的出现,用按键S2来模仿车辆特殊情况通行的出现。当按键Sl和S2都处于断开状态,都是高电平的时候,表示系统运行在正常情况;当Sl按键被按下去,也就是跟Sl键相连的P3.2INTO引脚处于低电平,这是表示实现INTO的中断申请,此时表示系统处于紧急情况;当S2按键被按下去,也就是跟S2键相连的P3.3INT1引脚处于低电平,这是表示实现INT1的中断申请,此时表示系统处于特殊情况。

3程序设计

在程序中会用到多个延时时间,比如5s、lOs、60s,因此以延时函数yanshi_lso实现的Is为基准,利用延时函數yanshibian(unsigned charb)实现多个延时时间的设定。

紧急情况出现时所对应的中断INTO为高优先级中断,特殊情况出现时所对应的中断INT1为低优先级中断,其中在自然优先级中,INTO的优先级要高于INT1的优先级,所以可以省略优先级的设置,实现中断嵌套。

当特殊情况发生时,即S2按键按下去,INT1的中断请求发生,CPU去响应此中断请求,调用INT1的中断函数,进入中断服务程序,实现东向和西向绿色LED亮lOs,南向和北向红色LED亮lOs。进入中断服务程序以后,首先关中断,防止高优先级中断申请(紧急情况发生所产生的中断)出现导致程序混乱。然后对现场进行保护,因为要用到Pl口和延时函数,所以需要将变量Pl、全局延时控制变量m、n、TH1和TL1暂存到中间变量a、b、c、d、e中保护起来,然后开中断,执行相应的程序,实现东西方向绿灯亮lOs,然后再将中断关闭,通过将中间变量a、b、c、d、e再次赋给变量Pl、m、n、TH1、TL1实现现场的恢复,然后再开中断,最后返回主程序。

当紧急情况发生时,Sl按键按下去,INTO的中断请求发生,CPU去响应此中断请求,调用N-I-O的中断函数,进入中断服务程序后,也需要对现场进行保护,但是不需要关闭中断f因紧急情况是高优先级中断)。然后执行相对应的程序,实现东南西北四个方向的红色LED同时亮lOs,这样能够保证紧急情况下紧急车辆能安全通过道路的十字交叉路口,最后再对现场进行恢复,然后返回主程序。

void special_2() interrupt 2// INTl的中断函数

{unsigned char a,b,c,d,e;EA=O;a=Pl;//现场保护

b=m; c=n; d=THl; e=TLl; EA=1; Pl=Oxf3;yanshi_bian (10); EA=O;

Pl=a;//现场恢复

m=b; n=c; THl=d; TLl=e; EA=1;)

4结束语

利用proteus软件中的单片机和LED,应用定时器和中断系统,可以完成交通信号灯系统的仿真设计。该系统设计简单、实现容易。

参考文献

[1]楼俊君,程启明,赵永熹.PROTEUS仿真软件在单片机实践课程中的应用[J].电脑知识与技术,2018.

[2]江世明,许建明,朱群峰,申寿云.单片机原理及应用[M].上海:上海交通大学出版社,2013.

猜你喜欢

信号灯中断按键
基于有限状态机的按键检测程序设计
交通信号灯
跟踪导练(二)(5)
千里移防,卫勤保障不中断
一种多方向导光按键结构设计
安装在路面的交通信号灯
交通信号灯控制系统设计
按键的多种状态检测及消抖处理方法
AT89C51与中断有关的寄存器功能表解
FPGA内嵌PowerPC的中断响应分析