智能交通灯控制器实训报告.docx
《智能交通灯控制器实训报告.docx》由会员分享,可在线阅读,更多相关《智能交通灯控制器实训报告.docx(11页珍藏版)》请在冰豆网上搜索。
智能交通灯控制器实训报告
摘要
1绪论1
2设计方案简述2
2.1实现主要功能2
2.2设计方案与意义2
3详细设计3
3.1系统硬件电路设计3
3.2AT89C51芯片简介3
3.3芯片74LS237介绍6
3.4单元电路设计7
3.5系统整体设计电路9
3.6系统软件功能设计9
4PROTEU与KeilC51的操作12
4.1硬件电路图的接法操作12
4.2单片机系统PROTEUS^计与仿真过程13
4.3仿真结果14
5.5总结18
绪论
交通灯是人们日常出行必须要遵守的交通规则。
它的发明源于
19世纪初,近年来随着科技的飞速发展,单片机的应用正在不断地走向深入。
在实时检测和自动控制的单片机应用系统中,单
片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。
利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。
本课程设计的任务就是设计一个交通灯的控制系统。
鼓励学生在
熟悉基本原理的情况下,与实际应用相联系,提出自己的方案,完善设计。
具体设计任务如下:
1.进行系统总体设计。
2.完成系统硬件电路设计。
3.完成系统软件设计。
4.撰写设计说明书。
设计要求:
1•该控制系统能控制东西南北四个路口的红黄绿灯正常工作。
东
西和南北方向分时准行和禁行。
2•两垂直方向的准行时间均为60s或120s,可以进行控制转换。
3.准行方向亮绿灯与禁行方向亮绿灯55s后,四个产品同时加亮一黄灯进行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变。
4.四个道口无用数码管显示六人行或禁行的剩余时间
5.在交通情况特殊情况下可以通过K1、K2、K3按键对交通灯进
行控制。
设计方案简述
智能交通灯的设计思路如图
根据智能交通灯的具有的功能,将它主要分为三部分,包括数码管显示剩余时间部分、交通灯显示部分和按键实现部分。
总体设计思路如图2-1所示。
2.1实现主要功能
1.该控制系统能控制东西南北四个路口的红黄绿灯正常工作。
东西和南北方向分时准行和禁行。
2.两垂直方向的准行时间均为60s或120s,可以进行控制转换。
3.准行方向亮绿灯与禁行方向亮红灯最后5秒时,四个路口同时
加亮一黄灯进行闪烁,以警告车辆及行人,准行方向与禁行方向即将改变。
4.四个道口均用数码管显示准行或禁行的剩余时间。
5.在出现紧急状况时,可以通过人为操作进入特殊情况。
在此包
含了4种特殊情况,包括加长东西南北方向的通行时间,四个方
向均禁行,东西方向保持通行南北方向禁行,南北方向保持通行
东西方向禁行。
当特殊情况结束时,人为操作进入正常状态。
2.2设计方案与意义
根据实际生活中使用的交通灯,在此次的智能交通灯的设计中
也将具有显
示时间的功能,使我们的设计与实际结合起来,在此部分LED灯将配合红黄绿灯的发光时间显示数据,对于每个数据将使用定时
器来实现定时1秒,当1秒时间到达,LED上显示的时间自动减1,当时间减至为0,交通灯变换红黄绿灯。
基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。
利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率,使其满足交通需要。
3.详细设计
3.1系统硬件电路设计
硬件电路由AT89C51单片机、4个4位共阳极的数码显示管、复位电路、时钟电路、按键电路以及交通灯演示系统组成。
时钟电路
单片机
交通灯显示系统
LED显示系统
按键系统
复位电路
3.2AT89C51芯片简介
芯片AT89C51的外形结构和引脚图如图2-1所示。
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器
(FPEROM-FlashProgrammableandErasableReadOnlyMemor
y)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MC-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制提供了一种灵活性高且价廉的方案。
3.2.1主要特性
8051CPU与MCS-51兼容
4K字节可编程FLASH存储器(寿命:
1000写/擦循环)全静态工作:
OHZ-24KHZ三级程序存储器保密锁定128*8位内部RAM32位可编程I/O线两个16位定时器/计数器5个中断源可编程串行
通道低功耗的闲置和掉电模式片内振荡器和时钟电路
322管脚说明
VGND接地。
P0口:
P0口为一个8位漏极开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第
八位。
在FLASH编程时,P0口作为原码输入口,当FLASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口
作为第八位地址接收。
P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口
管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2
口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高8位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输
出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收
高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3
口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,各功能口功能如下:
口管脚备选功能P3.0RXD(串行输入口)P3.1TXD串行
输出口)P3.2INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0计数器0外部输入)P3.5T1(计数器1外部输入)P3.6/WR(外部数据存储器写选通)P3.7RD(外部数据存储
器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST复位输入。
当振荡器复位器件时,要保持RST脚两个机器
周期的高电平时间。
ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地址字节。
CC:
供电电压器,为很多嵌入式控制系统在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端
以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定是目的。
然而它可用作
对外部输出的脉冲或用于定是目的。
然而要注意的是:
每当用作
外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令时才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执
行状态ALE禁止,置位无效。
PSEN外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次PSEN有效。
但在访问外部数据存储器时,这两次有效的PSEN信号将不出现。
EA/VPP当EA保持低电平时,则在此期间外部程序存储器
(OOOOH-FFFFH,不管是否有内部程序存储器。
注意加密方式1
时,
EA将内部锁定为RESE■当EA端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源
(VPP)o
XTAL1反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2来自反向振荡器的输出引脚。
3.3芯片74LS273介绍
74LS273是8位数据/地址锁存器,如图2-2所示,它是一种带清除功能的8D触发器,下面介绍一下它的管脚图功能资料。
1脚是复位CLR低电平有效当1脚是低电平时,输出脚2(Q0)、
5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部输出
0,即全部复位;
当1脚为高电平时,11(CLK脚是锁存控制端,并且是上升沿触发锁存,当11脚有一个上升沿,立即锁存输入脚3、4、7、&13、14、
17、18的电平状态并且立即呈现在在输出脚2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)上
显示器。
为了显示数字或符号,要为LED显示器提供代码,即字
形代码。
其段发光二极管,再加上一个小数点位,共计8段,因
此提供的字形代码的长度正好是一个字节。
智能交通灯用到的数
字0—9的共阳极字形代码如表3-5:
显示数值驱动代码(16进制)
0123456789
C0HF9HA4HB0H99H92H82HF8H80H90H
表3-5驱动代码表
3.4.2时钟电路设计
MCS-51单片机芯片内部有一个用于构成振荡器的高增益反相放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
当使用内部振荡电路时,XTAL1和XTAL2引脚外接石英晶体和微调电容,如图所示,图中C2、C3大小一般为30pF。
还加了复位/备用电源引脚的接线方法,任何单片机在工作之前都要进行复位,以便CPU以及其他功能部件都处于一个确定的初始化状态,并从这个状态开始工作,也就是程序开始执行之前,单片机做好准备工作。
如何进行复位呢?
只能在单片机的RST引脚上保持两
个机器周期(24个时钟周期)的高电平即可对单片机实现复位操作。
当主电源VCC发生掉电或者是电压降低到电平规定值时,VPD上
外接的备用电源自动启用,为单片机内部RAM提供电源,以保
护片内RAM中的信息不丢失,使系统在恢复上电后能正常运行。
343复位电路设计
AT89C51的复位是由外部的复位电路实现的。
复位电路通常采用上电复位和按钮复位两种方式。
在此次设计中,我使用了上电复位方式。
上电复位是通过外部复位电路的电容充电来实现的。
3.5系统整体设计电路
(1)结合各部分设计电路,
得到交通灯各部分硬件线路如图示。
简易交通灯
3
『蜒广
ir渚
P"
r
■
*E*
单片机
位选驱动I
1
时钟电路
蜂呜耀fli罟电路
按键电路
tTi8¥&
(2)交通灯PCB设计
(3)交通灯电路原理仿真
■x
•—E口
1■
rifrd*
FIhf
hKTftL!
D□PD□nb□
•Tam
fin
F3.vr-:
h
Y*llFTUPUT
FEA-.I3FJ-H"H.
4,
LS1
3.6系统软件功能设计
361LED显示程序
3.6.2程序设计思路
在这部分我使用了数码管动态显示方式来显示数据。
所谓动态显
示方式,就是在某一时刻,只让某一位的位选线处于选通状态,而其他各位的位选线处于关闭状态,同时,段码线上输出相应为
要显示的字符的段码。
这样,在同一时刻,LED中只有选通的那
位显示出字符,而其他位则是熄灭的。
如此循环下去,就可以使各位显示出将要显示的字符。
设计思路如图3-9所示。
输出个位数
扫描十位
输出十位数
扫描百位
输出百位数
图3-9LED显示流程图
363交通灯程序及设计思路
在这部分我设置南北方向通行,东西方向禁行为初始状态,持续
时间为58s。
接下来黄灯闪烁2s,然后南北方向禁行,东西方向通行,持续时间仍为58s,最后黄灯闪烁2s,回到初始状态。
女口此循环,程序流程图如图3-2所示
开始
南北绿灯亮,东西红灯亮
LED?
O
黄灯闪烁
LED?
0
南北红灯亮,东西绿灯亮
LED?
0
黄灯闪烁
图3-10交通灯程序流程图
结束
3.6.4紧急情况程序及设计思路
当需要应对特殊情况时,在人为控制下,程序由中断入口地址切换到中断程序,根据实际情况的不同切换到不同的中断子程序,当紧急情况处理完,由人为控制程序。
单片机系统设计与仿真
1•程序设计
ORGOOOOHLJMPMAINORG0003HLJMPDIPOORGOOOBH
LJMPTTO
MAIN:
MOVR4,#20MOV40H,#00HMOV44H,#00HMOV
45H,#00HMOV46H,#00HMOV47H,#00HMOVR0,46H
CJNER0,#01H,XXMOV41H,#04HMOV42H,#08HMOV43H
#08HXX:
MOV41H,#04HMOV42H,#04HMOV43H,#09H
MOVTH0,#3CHMOVTL0,#0B0HMOVTMOD,#01HSETBE
T0SETBEX0SETBIT0SETBEA
SETBTR0MOVP1,#00H
SETBP1.3/SETBP1.7PLY:
MOVR0,45HCJNER0,#01H,
YYCLRP1.1CLRP1.2CLRP1.0AJMPPLYYY:
CLRP1.1CLR
P1.2SETBP1.0MOVDPTR,#TABMOVA,41HMOVCA,@A+
DPTRMOVDPTR,#7FFFHMOVX@DPTR,ALCALLDEL2MSC
LRP1.0SETBP1.1CLRP1.2MOVDPTR,#TABMOVA,42H
MOVCA,@A+DPTRMOVDPTR,#7FFFHMOVX@DPTR,A
LCALLDEL2MSCLRP1.0CLRP1.1SETBP1.2MOVDPTR,#TA
BMOVA,43HMOVCA,@A+DPTRMOVDPTR,#7FFFHMOV
X@DPTR,AMOVR0,45HDEC45HDJNZR0,Z1RET
DEL1S:
MOVR5,#5DEL11:
MOVR6,#200DEL12:
MOVR7,#126DJ
NZR7,$DJNZR6,DEL12DJNZR5,DEL11CLRRSORET
DJNZ
DEL2MS:
M0VR1,#6DEL21:
M0VR2,#126DJNZR2,$
R1,DEL21RET
TAB:
DB90H,80H,0f8H,82H,92H,99H,0B0H,0A4H,0F9H,0C0HEND
2.在ISIS平台上进行单片机系统电路设计、选择元器件、接插件、
连接电路和电气检测等。
简称Proteus电路设计。
3.在Keil平台上进行单片机系统程序设计、编译、汇编编译、代
码级调试,最后生成目标代码文件(*hex)。
简称Proteus源程序设计和生成目标代码文件。
4.在ISIS平台上将目标代码文件加载到单片机系统中,并实现单片机系统的实时交互、协同仿真。
它在相当程度上反映了实际单片机系统的运行情况。
简称Proteus仿真
5总结
纸上得来终觉浅,绝知此事要躬行。
这句话说的一点也没错,通过二周的单片机原理的课程设计,使我受益匪浅同样使我认识到理论与实践是紧密结合的。
让我可以把书本上的知识得以运用,锻炼了全面思考问题的能力和实践能力,我想这对我以后的学习
和工作会有很大的帮助。
这次实习让我在单片机的基本原理、单
片机应用系统开发过程,以及在常用编程思路技巧的掌握方面也都迈入了大的一步。
这次实习虽然时间不长但是我学到了很多东西,让我明白了无论做任何事情首先态度要端正,拥有一个好的
态度就有一个好的开始。
在实习的过程中我也懂得耐心和细心的重要性,理论与实践结合的意义。
课程设计(论文)
院系:
信息工程学院专业:
应用电子技术
课程设计(论文)题目:
智能交通灯控制器学生姓名:
石义芳
班级:
13应用电子技术
学号:
2013010661
指导教师:
王颖
完成日期:
2015年11月27日