基于单片机的交通灯设计(含开题报告 文献综述 英文翻译) - 图(5)

2019-08-30 21:01

图3-6 数码管显示模块

3.2.4 按键控制模块

按键控制模块由K1、K2、K3三个按键组成,系统初始为自动控制模式。若按下K2键,则系统由自动控制模式进入手动控制模式,此时交通系统强制南北方向通行,东西方向禁止通行;若按下K3键,则系统有自动控制模式进入手动控制模式,此时交通系统强制东西方向通行,南北方向禁止通行;若按下K1键,则系统由手动控制模式进入自动控制模式。

图3-7 按键控制模块

3.2.5 驱动模块

驱动模块由4个PNP8550、4个240欧电阻及1个10k欧的排阻组成。 数码管的段码端口通过排阻与单片机的P0口相连,此处电阻起到限流作用。而数码管的位选端口与PNP型三极管的射极相连,集电极接电源,为数码管提供足够大的驱动电流,三极管的基极与单片机的P2.0到P2.3相连,通过单片机端口的电位变化控制三极管的导通与截止,从而达到驱动数码管稳定显示的功能

[8]

:基于单片机的交通灯设计

图3-8 驱动模块

18

4 软件设计

4.1 主程序流程图

单片机初始化后显示初始数值,首先进入自动控制模式,然后调用键盘扫描函数获取键盘信息,根据按键情况进入不同的的工作模式,从进入各模式的子函数中,最终通过数码管、LED灯将交通信号显示出来。

开始程序初始化设置二极管,数码管显示初始数值调用键盘扫描程序scan_key(),获取键盘信息keybuf=0eYes调用model0()keybuf=0dYes调用model1(0)keybuf=0bYes调用model1(1) 其他T0 0.5ms定时刷新数码显示管 Led以T1 0.5s定时闪烁

图4-1 主流程图

:基于单片机的交通灯设计

4.2子程序流程控制

4.2.1 自动控制模式程序

在自动控制模式下,通过判断工作模式标志位modelflag来判断是保持自动控制模式还是进入人工控制模式。自动控制模式下,数码管开始60秒倒计时显示(从60秒到1秒),LED1、LED3点亮且LED1最后10秒闪烁。如果modelflag为1,则进入人工控制模式。

在model0模式下 modelflag=0YesNomodelflag=0;数码管60s延时显示LED灯点亮且最后10秒闪烁转入model(k)方式 图4-2 自动控制流程图

4.2.2人工控制模式程序

在人工控制模式下,按下K2键或K3键通过判断工作模式标志位modelflag来判断如何保持人工控制状态。

当工作模式标志位modelflag为0时,说明是由自动控制模式转入人工控制模式,再通过判断以前的交通状态来确定当前显示状态:若之前状态和所要求状态相同时,数码管直接显示“9999”,LED灯也直接显示所要求状态;若之前状态和所要求状态不同时,数码管首先显示10秒递减,完成后显示“9999”,LED灯经过延时后,显示所要求状态。

当工作模式标志位modelflag为1时,说明之前工作状态已为人工控制模式。若之前状态与所要求状态不同,则LED灯转变为所要求状态,数码显示管保持

20

“9999”;若之前状态与所要求状态相同,则LED灯保持之前状态,数码显示管仍保持“9999”。

K2或K3按下Yesmodelflag=0Nomodelflag=1(flag=0)&&(dirflag!=k)NoYesirflag=kYesNo LED显示状态方向标志dirflag改变LED保持以前状态关闭时间定时TR1=0;ET1=0显示9999数码管显示10s递减数据 LED闪烁10s

图4-3 人工控制流程图

4.2.3键盘扫描程序

所用三个简单按键作为输入控制端,单片机通过P3口写入全1,然后再判断P3信息是否改变,即判断出是否有键按下。如若有键按下或电路电平抖动,都可能使P3口电位发生变化。因此,为确定是否的确有键按下,要经过一定时间的延时再次判断键值与延时前是否相同。如果相同且不全为1,则断定有确定键按下,否则无键按下。


基于单片机的交通灯设计(含开题报告 文献综述 英文翻译) - 图(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:计算机组成原理2013

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: