完整基于51单片机控制交通灯的毕业设计.docx
《完整基于51单片机控制交通灯的毕业设计.docx》由会员分享,可在线阅读,更多相关《完整基于51单片机控制交通灯的毕业设计.docx(19页珍藏版)》请在冰豆网上搜索。
![完整基于51单片机控制交通灯的毕业设计.docx](https://file1.bdocx.com/fileroot1/2023-1/23/54e80634-f3f0-4a31-a23c-9fe4c6e757b1/54e80634-f3f0-4a31-a23c-9fe4c6e757b11.gif)
完整基于51单片机控制交通灯的毕业设计
(完整)基于51单片机控制交通灯的毕业设计
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于51单片机控制交通灯的毕业设计)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于51单片机控制交通灯的毕业设计的全部内容。
安徽工商职业学院
ANHUIBUSINESSVOCATIONALCOLLEGE
毕业设计(论文)
基于单片机控制的交通灯毕业设计
系别:
电子信息系
专业班级:
10应用电子技术2班
学号:
103596
学生姓名:
吴坤
指导老师:
聂凯
二零一二年十月
基于单片机控制的交通灯毕业设计
摘要
十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。
那么靠什么来实现这井然秩序呢?
靠的是交通信号灯的自动指挥系统。
交通信号灯控制方式很多。
本设计主要分为五大模块输入:
控制电路、时钟控制电路、片内外程序切换控制、显示电路.以MSC-51系列单片机IntelAT89C51为中心器件来设计交通灯控制器,实现了AT89C51芯片的P0口设置红灯、绿灯、黄灯燃亮时间的功能;为了系统稳定可靠采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C51的P2口输出,由CD4511驱动LED数码管显示红灯燃亮时间.
关键字:
AT89C51 LED显示 交通灯
TheTrafficLightBasedOnTheSingle-chipControl
Abstract
Theintersectionsvehiclewearsshuttle,pedestrianXiRang,garagedriveway,person'ssidewalk,orderly。
Sodependwhattocarryoutthiswellarrangedorder?
Whattodependisatrafficsignlightofautomaticconductorsystem.Thecontrolmethodofthetrafficsignlightisalotof。
Thisdesignismainlydividedintofivegreatestmoldsapiecetheelectriccircuit,clockoftheimportationcontrolacontroloutsideprocedureinsidetheelectriccircuit,slicetocutoveracontrolandshowselectriccircuit。
TakesingleslicethemachineIntelAT89C51oftheseriesesMSC—51sasacenterspareparttodesigntransportationlightcontroller,carriedouttheAT89C51'sP’s0people’sconstitutionofthechipsred,thefunctioninbrighttimeofgreenlight,Huang2DengRan2;Forthesakeofsystemstabilitythecredibilityadopteda74LS14airtighttriggereliminateofmachinechiptotrembleelectriccircuitespecially,avoidedsystembecauseofimportationthesignaltremblemovablepropertytolivingamistakeoperation;TheP2peoplewhoshowsthattimedirectlypassestheAT89C51output,isdrivenLEDfiguresatubebytheCD4511toshowred-lightRanbrighttime。
Keyword:
TheAT89C51 LEDshow transportationlight
前言
本课程设计是在学完单片机原理及课程之后综合利用所学单片机知识完成一个单片机应用系统设计并在实验室实现。
该课程设计的主要任务是通过解决一、两个实际问题,巩固和加深“单片机原理与接口技术”课程中所学的理论知识和实验能力,基本掌握单片机应用电路的一般设计方法,提高电子电路的设计和实验能力,加深对单片机软硬知识的理解,获得初步的应用经验,为以后工作打下一定的基础。
在今天,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
通过这次的设计学习,本人对单片机的结构和功能已有了初步的了解和认识.单片机在交通控制中起到了举足轻重的作用,掌握了单片机的工作原理也就基本了解了交通灯的运作原理。
作为一个学生,为了更好地掌握单片机的结构和功能,为了进一步加强自己的实践能力,本人设计了以下的一款交通灯。
一、工程简介
(一)、概述
本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。
假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。
然后转状态一东西绿灯通车,南北为红灯。
过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。
再转状态三南北绿灯通车,东西红灯。
过段时间转状态四南北绿灯闪几次转黄灯,延时几秒,东西仍为红灯。
最后循环至状态一。
交通信号灯模拟控制系统设计利用单片机的定时器定时,控制十字路口红绿灯交替点亮和熄灭,并且用LED数码管显示时间,但由于时间及水平的不足,在此实验中不显示.用十二个发光二极管代替交通灯进行实验设计。
这次设计是《单片机原理与接口技术》课程的综合训练,我们通过理论学习,课题选择,资料查阅,软、硬件设计,系统调试等环节,巩固所学的知识及提高应用水平.在此我们要学会从提出问题,观察与分析问题,到最终解决问题科学方法.提高自己的思维能力和动手能力,在设计中获得一些实操经验,更是要培养我们的工作作风和工作态度。
为今后的毕业设计、及从事单片机控制系统的设计与维护奠定坚实的基础。
这次课题设计的意义在于通过具体的控制系统的设计,掌握单片机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段.使我们能在实践教学环境中累积设计经验,开拓思维空间,全面提高个人的综合能力。
(二)、工艺流程图
因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律.假设一个十字路口为东西南北走向。
初始状态0为东西南北灯都熄灭。
然后转状态1东西绿灯通车,南北红灯。
过一段时间转状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯.过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
交通信号灯模拟控制系统设计利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用LED数码管显示时间,但由于时间和水平的限制就不显示时间.用十二个发光二极管燃灭,模拟交通灯管理。
具体的接口如下图一。
二、工程设计
(一)、控制方案的确定
交通灯控制系统的原理主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作.如图2完整的电路板。
(二)、硬件部分
(1)、交通灯控制系统的硬件设计:
交通灯控制系统的硬件设计包括:
存储器的扩展(62256),I/O口的扩展(8255),地址的锁存(74LS373或74LS273),还有反向器(7407)。
数据缓冲器,I/O控制逻辑,控制和定时寄存器及定时与控制电路,扫描计数器,回复缓冲器,FIFO/传感器RAM及其状态寄存器,显示RAM及显示地址寄存器等组成。
(2)、硬件系统的设计具备以下原则:
1.满足系统的设计要求,易于操作维护。
2.系统功能灵活,便于扩展.
3。
具有自动诊断功能。
(3)、硬件结构框图(如图3所示)。
图3
硬件系统在该系统中的作用主要是进行数据的传送,有关逻辑的计算,并且提供显示,人为的进行数据的修改,系统的启动,停止等等.此外系统运行的安全可靠性要靠硬件系统来实现.
(4)、交通灯控制系统的原理框图(如图4所示)。
图4交通灯控制系统的原理框图
图中:
TL:
表示甲车道或乙车道绿灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。
定时时间到,TL=1,否则,TL=0。
TY:
表示黄灯亮的时间间隔为5秒.定时时间到,TY=1,否则,TY=0.
ST:
表示定时器到了规定的时间后,由控制器发出状态转换信号.由它控制定时器开始下个工作状态的定时。
1.定时器
定时器由与系统秒脉冲(由时钟脉冲产生器提供)同步的计数器构成,要求计数器在状态信号ST作用下,首先清零,然后在时钟脉冲上升沿作用下,计数器从零开始进行增1计数,向控制器提供模5的定时信号TY和模25的定时信号TL。
(电路图如图5所示)
图5定时器电路图
2.控制器
控制器是交通管理的核心,它应该能够按照交通管理规则控制信号灯工作状态的转换.从ASM图可以列出控制器的状态转换表,如表1所示。
选用两个D触发器FF1、FFO作为时序寄存器产生4种状态,控制器状态转换的条件为TL和TY,当控制器处于Q1n+1Q0n+1=00状态时,如果TL=0,则控制器保持在00状态;如果,则控制器转换到Q1n+1Q0n+1=01状态。
这两种情况与条件TY无关,所以用无关项"X”表示。
(控制器逻辑图如图6所示)
输入
输出
现态
状态转换条件
次态
状态转换信号
ST
0
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
1
X
X
0
1
X
X
X
X
0
1
X
X
0
1
0
0
0
1
1
1
1
0
0
1
1
1
1
0
0
0
0
1
0
1
0
1
0
1
表1
根据表1可以推出状态方程和转换信号方程,其方法是:
将
、
和ST为1的项所对应的输人或状态转换条件变量相与,其中”1"用原变量表示,”0"用反变量表示,然后将各与项相或,即可得到下面的方程:
控制器逻辑图(如图6所示)
3.译码器
74LS138译码器
74LS138译码器有3个输入端,组成8种输入状态,输出端有8个,每个输出端对应8种输入状态的一种,低电平有效。
此外还有3个使能端E3,E2,E1,这3个使能端必须同时输入有效电平,译码器才能工作,即E3=1,E2=0,E1=0。
译码器的主要任务是将控制器的输出Q1、Q0的4种工作状态,翻译成甲、乙车道上6个信号灯的工作状态。
控制器的状态编码与信号灯控制信号之间的关系如表12、4所示。
实现上述关系的译码电路请读者自行设计。
4.交通灯驱动电路(如图7所示)
图7
5.电路图(如附录B)及电路图说明
电路图说明
1。
这个LED动态显示电路用了一个单片机的一个I/O口P0口。
2。
P0口的低四位输出显示数字的BCD码,输出的BCD码送到74LS138中进行译码。
然后输出段代码经上拉电阻上拉后送到显示器的各显示段的引脚。
3。
。
P03、P04、P05这三个口输出位选信号。
位选信号送到74LS138中经译码产生显示器的位选信号。
4.当输出短代码后,低电平的端口将会把这个口的电平拉低。
所以此时发光二极管将不发光,而高电平的端口则会向这个发光二极管的阳极提供一个高电平,只要这个位被选中,那么这个发光二极管将发光,在在段代码表找查找就能出现响应的数字。
每一个位选电路由一个PNP三极管组成.当位选口发出低电平,那么这一位的三极管就会饱和导通,由于显示器是共阴的内部结构,所以当三极管饱和导通时相当于将显示器接地。
5。
当脉冲到MCS—51单片机时,LED8位显示器就接收信号,并将信号储存到扩展寄存器中,当P0口的低四位输出显示数字的BCD码,输出的BCD码送到74LS138译码器译码,然后在显示提示符段码中查询显示数字.
6。
前面四位显示干道通行时间,后面四位显示支道时间,通过LED显示器的显示来控制车辆的放行、禁行情况。
(5)、8279的结构及引脚功能:
8279的内部结构由数据缓冲器,I/O控制逻辑,控制和定时器及定时控制电路,扫描计数器,回复缓冲器,FIFO/传感器RAM及其状态寄存器,显示RAM及显示地址寄存器等部分组成。
(a)数据缓冲器及I/O控制逻辑数据缓冲器是一个双向缓冲器,它连接内部总线和外部总线,用于传送CPU和8279之间的命令,数据和状态.I/O控制逻辑完成对芯片的读写控制,芯片选择以及端口选择.
(b)控制和定时器及定时用来寄存操作命令字。
(c)扫描计数器扫描计数器有两种工作方式。
一种为外部译码方式.计数器以二进制方式计数,4位计数状态从扫描线SL0-SL3输出,经外部译码器译码后,形成16位扫描信号;另一种为内部译码方式。
该方式下,扫描计数器的低二位经内部译码后从SL0-SL3输出,形成4位扫描信号.
(d)回复缓冲器回复缓冲器缓冲并锁存来自SL0-SL7八根回复线的回复信号.
(e)FIFO/传感器RAM及其状态寄存器FIFO/传感器RAM是一个双重功能的8*8RAM.
(f)显示RAM及显示地址寄存器显示RAM用来存储显示数据,容量为16*8位.在显示过程中,存储的显示数据轮流从显示寄存器输出.
在灯火控制实验中,它的片选信号线接Q0、数据选择输入线接的是Q1,所以他的控制口地址是FF82H,数据口地址是FF80H,中断是悬空的。
8951最小应用系统
管脚说明:
VCC:
供电电压.
GND:
接地。
P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P0口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,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口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容.P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入.作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚备选功能
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2/INT0(外部中断0)
P3。
3/INT1(外部中断1)
P3.4T0(记时器0外部输入)
P3.5T1(记时器1外部输入)
P3.6/WR(外部数据存储器写选通)
P3。
7/RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间.
ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节.在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的.然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲.如想禁止ALE的输出可在SFR8EH地址上置0.此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效.
/PSEN:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效.但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:
当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器.在FLASH编程期间,此引脚也用于施加12V编程电源(VPP).
XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
8951是片内无程序存储器的供应状态芯片。
因此,其最小应用系统必须在片外扩展EPROM。
外接程序存储器的地址线A8-A15由P2口提供;A0-A7由P0口通过地址锁存器提供。
地址锁存器的锁存信号为ALE.指令数据由P0口读入。
程序存储器的取指信号为/ALE.其片选线直接接地.同时必须有单位及时钟电路.
8255可编程接口芯片
三个并行I/O口-A口,B口,C口在此设计中用到了A,B两个口。
1)工作方式控制电路;
2)读写控制逻辑电路;
数据总线缓冲器;
(三)、软件部分
(1)、延时子程序的计算:
采用寄存器R0、R1、R2作为记数值,R2中暂存1,R1中存0。
当减1后变为255即R1中存数256。
R0中存数#0B2H即178。
各指令共占指令周期数为(见图延时程序后所附)
DELAY2延时为:
N=(2+2+2+1+1+2*178)+255*(1+1+2+2*178)=9164.
共计9164个指令周期,而系统晶振为11.0592.所以T=12/11.0592=1.085(微秒)
延时DELAY2为:
t=9164*1。
085/1000000=0。
09996
约等于0.1(秒)
通过改变R2的值可以改变延时的秒数。
(2)、流程图(如图8所示)
首先四个路口所有的灯灭,在东西绿灯亮南北红灯亮延时20s,绿灯闪三下,为3秒转黄灯亮2秒,在南北绿灯亮东西红灯亮延时20s,绿灯闪三下,为3秒转黄灯亮2秒,如此循环。
、
(3)、源程序(如附录A)
(4)、程序的执行的表达(如表2)
状态
持续时间/S
东西方向
南北方向
绿
黄
红
绿
黄
红
1
50
亮
灭
灭
灭
灭
亮
2
3
闪
灭
灭
灭
灭
亮
3
2
灭
亮
灭
灭
灭
亮
4
50
灭
灭
亮
亮
灭
灭
5
3
灭
灭
亮
闪
灭
灭
6
2
灭
灭
亮
灭
亮
灭
循环
三、系统的试调运行
(一)、硬件调试
利用DVCC实验与开发系统、基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。
其中硬件调试可分为静态调试与动态调试两步进行。
(1)、静态调试
是在用户系统未工作时的一种硬件检测。
第一步:
目测。
检查外部的各种元件或者是电路是否有断点.
第二步:
用万用表测试。
先用万用表复核目测中有疑问的连接点,再检测各种电源线与地线之间是否有短路现象.
第三步:
加电检测。
给板加电,检测所有插座或是器件的电源端是否符合要求的值
第四步:
是联机检查。
因为只有用单片机开发系统才能完成对用户系统的调试。
(2)、动态调试
是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查.动态调试的一般方法是由近及远、由分到合。
由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。
当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。
由分到合的调试既告完成。
由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
四、系统设计及总结特点
通过这次的课程设计,让我受益匪浅,也让我了解和掌握了一些编程思想和对I/O口的使用和应用的条件的思考,对实现了软件和硬件的有效结合,缺一不可。
设计让我把单片机的理论知识用在实践中,实现了理论和实践相结合,从中更懂得理论的是实践的基础,实践有能检验理论的正确性,更激发了我对专业知识的渴求,这些对我以后参加工作或者继续学习都会有很大的帮助和影响。
这次课程设计也让我学会了撰写论文,懂得了论文的要素,这些对于我在以后写毕业设计论文有很大的帮助,并且在我将来的工作中也会有很多益处。
在撰写论文中,也使我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为日后成为合格的应用型人才打下良好的基础。
而作为一位学生,在对交通灯的设计中,因知识和经验的不足,只能通过模仿其它的编程思路,再加上一些自己的思想去完成这个设计,因此在各个方面都会有一些不足,敬请指正。
但我会在以后的学习中逐渐去完善、巩固我的单片机知识。
单片机的各个管脚功能的理解和掌握。
致谢
通过这次的课程设计,让对单片机有了更深一层的了解,也体会了单片机在现实生活中的重要性。
在这次实习中,我能顺利完成交通灯的设计,要感谢安徽工商职业学院,而我在设计中遇到的很多问题,都应该感谢聂凯老师在理论和实操方面的帮助,我才能顺利地完成,也让我学到了很多知识.同时也要对帮助过我的同学表示谢意。
在以后的学习中,定会更加地努力,以更好的成绩去回报学校及老师的栽培。
参考文献
(1)曹天汉.单片机原理与接口技术,北