首页 理论教育 学习Proteus单片机仿真技术:免费教程

学习Proteus单片机仿真技术:免费教程

时间:2023-11-06 理论教育 版权反馈
【摘要】:根据需求分析,程序设计如下:程序首先定义了定时器设置,定时中断时间为0.05s。因此,p的变化是5s一次。只要开中断和将p设为0,就可以获得5s的定时控制。控制方式相同,首先打开原导通方向的黄灯,关闭绿灯,并启动定时至5s。5s到后,关闭黄灯,打开红灯。当自动控制状态下,定时时间大于等于15s,就会进行操作。

学习Proteus单片机仿真技术:免费教程

根据需求分析,程序设计如下:

程序首先定义了定时器设置,定时中断时间为0.05s。在中断处理子程序中,通过变量t的计数控制,和Second秒的控制,只有5s时才会对变量p置为1。因此,p的变化是5s一次。只要开中断和将p设为0,就可以获得5s的定时控制。

再来看主循环程序,分成两部分,开关闭合是手动控制,开关打开是自动控制。

在手动控制部分,又分为南北方向导通和东西方向导通,根据按钮按下哪个决定。控制方式相同,首先打开原导通方向的黄灯,关闭绿灯,并启动定时至5s(通过变量p实现)。5s到后,关闭黄灯,打开红灯。同时打开需导通方向的绿灯,关闭红灯。(www.xing528.com)

在自动控制部分,有2个定时时间,一是黄灯亮的时间仍为5s,另一个是导通方向交换时间,设置为5s的整倍数15s(这里为了演示快些,设置较短,读者可自行调整),加上黄灯时间5s,共为20s。导通方向交换时间控制用变量NorE。

当自动控制状态下,定时时间大于等于15s,就会进行操作。首先是判断原导通方向,即绿灯亮的方向,将该方向绿灯关闭,黄灯开启。等待下一5s后,只要判断哪个方向黄灯亮,将该方向黄灯关闭,红灯开启,同时开启另一方向的绿灯,关闭红灯即可。当然,还要将控制导通方向交换的变量NorE清零。

在实际使用中,红绿灯并不会放在同一个电路板中,而是需要放在不同的路口,互相需要协同工作,这就需要用到我们在前面讲到的单片机通信技术,可以同RS232和RS485协议将多个单片机电路板连接起来,这样,才能真正实现交通灯控制的目标。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈