智能交通信号灯模拟控制系统设计毕业设计论文稿(5)

2019-04-05 14:33

使单片机从一种确定的状态开始运行。当AT89C51单片机的复位引脚RST出现5ms以上的高电平时,单片机就完成了复位电路操作。需要注意的是,当复位端RST持续高电平的时间过长,单片机就会处于循环复位状态,这样,单片机就无法执行程序。因此,要求单片机复位后能够脱离复位状态。本系统的复位电路采用上电开关复位电路。上电后,由于电容充电,使RST持续一段时间。当单片机已经在运行时,按下复位键也能使RST持续一段时间的高电平,从而实现上电开关复位的功能。 3.2.4 人行道信号灯控制电路

为了节省控制端口,电路控制采取74LS373锁存器+74LS04反相器控制。经分析,由于人行道信号灯的亮灭状态刚好相反,即同一处的信号灯,若亮绿灯,则该处的红灯灭,根据这种状态控制方式,故采取上述电路控制。此外,51单片机的端口可以最多驱动8个TTL电平,所以,在设计时采取了一个输出端口,控制锁存器的两个数据输入端口。以节省电路控制端口。电路见图3-6所示。

图3-6 人行道信号灯控制电路图

3.2.5 机动车道信号灯控制电路

经分析,可以发现有这么一种状态。如果是南北车道通行控制,则东西车道只需控

18

制红灯的亮灭。也就是说,每次只需单独控制十个灯的状态即可。为此,南北车道和东西车道的直走,左拐和黄灯控制可以由同一单片机端口输出控制信号,外加使能控制,分时工作即可。这样,又可减少端口的使用。电路采取两片74LS373锁存器,锁存器的LE口都接高电平,/OE口则由单片机的P2.4和P2.5控制,数据输入由P1口的0、1、3、4、5、7端口输出。控制电路图见图3-7所示。

图3-7 机动车道信号灯控制电路图

4. 软件系统设计

4.1 主机程序流程图

主机程序流程图如图4-1所示。

19

开始东西C车道直行、左拐灯亮秒倒计时显示向从机发送启动检测信号系统初始化NO南北A车道直行、左拐灯亮显示秒倒计时向从机发送启动检测信号从机传输回有效信号YES时间增加20秒从机传输回有效信号YES时间增加20秒NO东西C车道直行、左拐时间到NOYES东西C、D车道直行秒倒计时显示向从机发送启动检测信号NO南北A车道直行、左拐时间到YES南北A、B车道直走灯亮秒倒计时显示向从机发送检测信号NO从机传回有效信号YES时间增加20秒从机传回有效信号YES时间增加20秒NO东西C、D车道直行时间到NOYES东西D车道直行、左拐灯亮秒倒计时显示向从机发送启动检测信号NO南北A、B车道直走时间到YES

20

从机传回有效信号YES时间增加20秒NOYES东西D车道直行、左拐时间到NO

图4-1 主机程序流程图

4.2 C语言程序设计

4.2.1 1秒钟程序设计

AT89C51单片机定时/计数器有4种工作方式,不同的工作方式有不同的特点。其中,工作方式0是13位方式;工作方式1是16位方式;工作方式2是8位自动装入计数初值方式;工作方式3是T0为2个八位方式。

定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。它是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式:

TC =M?C

式中M为计数器摸值,该值和计数器工作方式有关。在方式0时M为8192 ;在方式1时M的值为65536;在方式2和3为256。

T?(M?TC)?T计数

T计数是单片机时钟周期TCLK的12倍,TC为定时初值。如单片机的主脉冲频率为TCLK=12MHZ,经过12分频,

方式0 TMAX=213?1us=8.192ms 方式1 TMAX=216?1us=65.536ms

21

显然1秒钟已经超过了计数器的最大定时间,所以设计时只有采用定时器和软件相结合的办法才能解决这个问题。

本设计中采用在主程序中设定一个初值为20的软件计数器和使T0定时50ms.这样每当T0到50ms时CPU就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,CPU先使软件计数器减1,然后判断它是否为零。为零表示1秒已到可以返回到输出时间显示程序。 4.2.2 LED数码显示器程序设计

LED数码管显示分为静态显示和动态显示两种方式。为了节省控制端口和节约能源,系统设计采取动态显示方式。动态显示是利用了人的视觉惯性,虽然同一时间里只能显示一个,但是,通过不断地分时轮流扫描显示,只要每个显示保持延时几毫秒,刷新周期不超过20ms(刷新周期和LED工作电流有关)就可获得视觉稳定的显示效果。

本系统设计中有四个二位一体的LED数码管显示器显示交通信号灯通行时间。为了实现动态显示,系统采用74ls138译码器作为位选端控制输入,单片机的P0口作为段选码输出控制,分时控制显示时间。显示时采取倒计时方式显示。具体编程时将0~9数字段码的十六进制放在一个一维数组里,如: uchar code tap[10]={0xC0,0xF9,0xA4, 0xB0,0x99,0X92,0x82,0xF8,0x80,0x90};此为共阳极0~9数字段码,在显示函数Show_LED()里按动态显示,逐一轮流显示。

5. 系统调试与结果分析

5.1 硬件调试

电路调试操作流程: (1)短路、开路检测

电路焊接完成后,为了确保焊接的正确性,必需进行短路,短路的检测。把万用表打到二极管档,用红、黑笔接到电路的正负极,检测电路是否存在短路现象。另外,把万用表的红、黑笔分别接到有相连接的回路中,检测回路中是否存在断路、虚焊现象。

(2)确认电路连接的正确性

22


智能交通信号灯模拟控制系统设计毕业设计论文稿(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:家庭消费的内容 教学设计示例(一)-教学教案

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

马上注册会员

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