单片机课程设计(交通灯)_第1页
单片机课程设计(交通灯)_第2页
单片机课程设计(交通灯)_第3页
单片机课程设计(交通灯)_第4页
单片机课程设计(交通灯)_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单片机应用系统设计报告设计题目:交通灯控制系统专业班级:电信0801班学生姓名:陈琛08090103任晓峰08090107指导教师:王先春设计时间:2011年06月6日--17日主要功能和作用通过用80C51芯片写入程序,实现十字路口交通灯通行功能,模拟路口处得红绿灯状态转换,达到保持车辆顺畅通行无阻,禁止路口处车辆阻塞,疏导交通的目的。主要性能指标按照时间控制原则,利用并行接口8255,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。设计方案通过分析可以知道,采用单片机控制模块提供电源,该方案的优点是系统简明扼要,节约成本,缺点是输出功率不高,但是我们主要是通过课程设计模拟十字路口交通灯状态转换模拟,所以不必考虑这点。对于路灯方面,我们采用红黄绿三种颜色的LED显示灯,这样相对比较容易,只用控制芯片输出信号的高低电平即可实现要求。通过80C51芯片连接74ls240和8255可以使该功能电路更加精简和优化。我们所要设计的交通信号控制电路要能够适应于有一条干道和一条支干道的汇合点形成的十字路口。能够做到主、支的红绿闪亮的时间不完全相同,根据干道车流量可以设定。在路灯垂直两个方向红绿灯状态变化的过程中能够用黄灯进行过渡。使得行驶中的车辆有足够的时间停下和准备通行。要求红绿灯通行时间为30秒,黄灯过渡时间为3S,由此南北方向,东西方向,周而复始,保证交通正常通行。工作原理系统工作原理(1)通过程序定义PORTC交通灯初始化状态为0XFF,信号通过74LS373地址锁存并行输入,8255输出端口经过非门反向使12个灯初始化全为熄灭状态。通过8051单片机P2.0输入到系统。

(2)由8051单片机的定时器每秒钟通过P0口向8255的数据口送信息,由8255的PC口显示红、绿、黄灯的工作情况;如果需要显示时间,可由8255的PA口显示每个灯的燃亮时间。

(3)8051通过设置各个信号等的燃亮时间,红绿灯和黄灯时间分别为30秒、3秒循环由8051的P0口向8255的数据口输出。

(4)通过8051单片机的WR和RD来控制系统读写信号。通过ALE控制地址锁存信号。

(5)绿灯时间倒计时完毕,重新循环。

工作原理图芯片选择与简介MCS-51单片机内部结构8051是MCS-51系列单片机的典型产品,8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线。MCS-51的引脚说明MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。8255可编程并行接口芯片简介8255可编程并行接口芯片有三个输入输出端口,即A口、B口和C口,对应于引脚PA7~PA0、PB7~PB0和PC7~PC0。其内部还有一个控制寄存器,即控制口。通常A口、B口作为输入输出的数据端口。C口作为控制或状态信息的端口,它在方式字的控制下,可以分成4位的端口,每个端口包含一个4位锁存器。它们分别与端口A/B配合使用,可以用作控制信号输出或作为状态信号输入。8255可编程并行接口芯片方式控制字格式说明:8255有两种控制命令字;一个是方式选择控制字;另一个是C口按位置位/复位控制字。其中C口按位置位/复位控制字方式使用较为繁难,说明也较冗长,故在此不作叙述,需要时用户可自行查找有关资料。方式控制字格式说明如表2-1:表2-1D7D6D5D4D3D2D1D0D7:设定工作方式标志,1有效。D6、D5:A口方式选择00—方式001—方式11×—方式2D4:A口功能(1=输入,0=输出)D3:C口高4位功能(1=输入,0=输出)D2:B口方式选择(0=方式0,1=方式1)D1:B口功能(1=输入,0=输出)D0:C口低4位功能(1=输入,0=输出)8255可编程并行接口芯片工作方式说明:方式0:基本输入/输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。输出可被锁存,输入不能锁存。方式1:选通输入/输出方式。这时A口或B口的8位外设线用作输入或输出,C口的4条线中三条用作数据传输的联络信号和中断请求信号。方式2:双向总线方式。只有A口具备双向总线方式,8位外设线用作输入或输出,此时C口的5条线用作通讯联络信号和中断请求信号。系统设计接口电路设计将8051芯片和74LS373芯片、8255A芯片的数据端口D0-D7用总线编号连接,8051芯片ALE端口和74LS373芯片地址锁存端口连接,RD和WR端口、P2.0连接8255A芯片读写端口和片选信号端口,8255A芯片A0、A1控制工作方式,然后通过8255芯片PC输出端口输出信号,接非门反向变成高平信号然后与交通灯控制LED显示电路连接。为了简化电路图,本部分采用数据总线以及编号连接方式。PC0、PC3控制红色LED,PC1、PC4控制黄色LED,PC2、PC5控制绿色LED,8255A芯片控制字为0X80,设定模式为10000000,工作方式为00,方式0,A、B、C口皆为输出端口,且输出可被所存。程序原理设计#include<absacc.h>;加载一头文件#definePORTCXBYTE[0Xfefe];定义地址入口空间#defineCONTROLXBYTE[0Xfeff];定义控制字voidDELAYLONG(void);;函数声明,红绿灯通行时间调用voidDELAYSHORT(void);;函数声明,黄灯闪烁时间调用函数voidmain(void){CONTROL=0x80;;80H放入地址0Xfeff中,定义控制字PORTC=0XFF;;将FF放入地址0Xfefe中,初始化while(l);无限循环{PORTC=0Xde;;将de放入地址0Xfefe中,11011110DELAYLONG();;调用DELAYLONG函数PORTC=0Xee;;将Ee放入地址0Xfefe中DELAYSHORT();;调用DELAYSHORT函数PORTC=0Xfe;DELAYSHORT();PORTC=0Xee;DELAYSHORT();PORTC=0Xfe;DELAYSHORT();PORTC=0Xee;DELAYSHORT();PORTC=0Xfe;DELAYSHORT();PORTC=0Xee;DELAYSHORT();PORTC=0Xfe;DELAYSHORT();PORTC=0Xee;DELAYSHORT();PORTC=0Xfe;DELAYSHORT();PORTC=0Xee;DELAYSHORT();PORTC=0Xfe;DELAYSHORT();PORTC=0Xf3;;将11110011放入0Xfefe中DELAYLONG();;调用DELAYLONG函数PORTC=0Xf5;DELAYSHORT();PORTC=0Xf7;DELAYSHORT();PORTC=0Xf5;DELAYSHORT();PORTC=0Xf7;DELAYSHORT();PORTC=0Xf5;DELAYSHORT();PORTC=0Xf7;DELAYSHORT();PORTC=0Xf5;DELAYSHORT();PORTC=0Xf7;DELAYSHORT();PORTC=0Xf5;DELAYSHORT();PORTC=0Xf7;DELAYSHORT();PORTC=0Xf5;DELAYSHORT();PORTC=0Xf7;DELAYSHORT();}}voidDELAYLONG(void);三次循环,定义红绿灯时间函数{unsignedi,j,k;;定义I,J,K三变量for(i=0;i<20;i++);for循环函数for(j=0;j<40;j++) for(k=0;<2500;k++); } voidDELAYSHORT(void);;循坏30000次,设置时间3S { unsignedi; for(i=0;i<30000;i++); }程序流程图开始开始交通灯初始化状态,东西南北LED灯全部熄灭。交通灯初始化状态,东西南北LED灯全部熄灭。状态状态1,南北绿灯亮,东西红灯亮,南北通行,持续时间30S。状态状态2,南北保持绿灯亮,东西黄灯闪烁6次,时间为3S。状态状态3,南北红灯亮,东西绿灯亮,东西通行,持续时间30S。状态状态4,东西保持绿灯亮,南北黄灯闪烁6次,持续时间3S。返回返回时间分析与计算定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC可得到如下计算通式:TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为213;在方式1时M的值为216;在方式2和3为28。计算公式T=(M-TC)T或TC=M-T/TT计数是单片机时钟周期TCLK的12倍;TC为定时初值,如单片机的主脉冲频率为TCLK12MKZ,经过12分频。方式0TMAX=213*1微秒=8.192毫秒方式1TMAX=216*1微秒=65.536毫秒显然1秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题。设计总结本系统的实现,根本上得益于王老师教授的各方面知识,因为只有拥有老师教授的这些知识的基础上,我们才能进一步思考和摸索,才会有本课程设计的成功,所以,在此向王老师表示感谢。通过对此次交通灯控制系统的课程设计,使得我们自身对于单片机方面的知识有了比较深刻的巩固和掌握,很大程度上提升了自身对于问题的独立思考和解决问题的能力,同时,通过该次课程设计的报告书写,掌握了写好一片设计论文的最基本的格式要求和步骤,为将来毕业做毕业论文打好了基础。相信,有了此次这样的经历和经验,在以后的日子里,对于问题处理和论文格式要求灯我们会处理的更加完善,做的更加的好和完美。关于这次我们做的交通灯模拟设计,虽然比不上其他基于单片机系统的复杂和精深,但其作为较早出现在单片机应用领域的项目,在如今也是较普遍和广泛的与单片机相结合而实际的应用项目之一,同时,交通灯控制系统具有较强的实用性和操作简单,扩展功能强等特点,因此,对于单片机学习者巩固自身所学知识和提高实际动手实践应用能力是较为适合的选择。

本课程设计在完成后经过protues软件模拟则是,基本上可以实现预先设想的既定目标,其效果为:东西南北四个方向的各三个LED灯,通过四种状态的转换,状态1,南北绿灯亮,东西红灯亮,持续时间30S;状态2,东西红灯亮,南北绿灯灭,南北黄灯闪烁3S;状态3,南北红灯亮,东西绿灯亮,时间持续30S;状态4,东西绿灯灭,东西黄灯闪烁3S,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论