微机型交通信号灯课程设计.doc_第1页
微机型交通信号灯课程设计.doc_第2页
微机型交通信号灯课程设计.doc_第3页
微机型交通信号灯课程设计.doc_第4页
微机型交通信号灯课程设计.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

江西理工大学应用科学学院 微机控制系统课程设计1序论:1.1引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。1.2、设计要求(1)要求设计一个十字路口的交通灯动作(2)增加昼夜功能;24:006:00所有黄灯闪烁。1.3、此次设计研究的主要内容应解决的问题(1)进行硬件的设计,主要是整个系统的电路图的绘制;(2)根据电路图对电路板进行焊接;(3)进行软件设计,根据要求编写控制系统的控制程序和监控程序;2单片机及主要芯片简介2.1 芯片简介2.1.1 MSC-51芯片简介Intel 公司推出的80C51 是MCS-51 系列单片机中以CHMOS 为生产工艺的一个典型产品;其它厂商以8051 为基核开发出的CMOS 工艺单片机产品统称为80C51系列。80C51单片机的结构框图如图下所示可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:(1)8 位CPU 1 个。(2)时钟电路(振荡电路和时序OSC)。(3)4KB程序存储器(ROM/EPROM/Flsh),可外扩展到64KB。(4)128B数据存储器RAM,可外扩展到64KB。(5)2 个16 位定时/计数器。(6)64KB总线扩展控制电路。(7)4 个8 位并行I/O 接口P0P3。(8)1个全双工异步串行I/O接口。(9)中断系统:5 个中断源,其中包括2 个优先级嵌套中断2.1.2 P89V51RRB2 简介P89V51RB2/RC2/RD2 是一款80C51 微控制器,包含16/32/64kB Flash和1024 字节的数据RAM。P89V51RB2/RC2/RD2 的典型特性是它的X2 方式选项。利用该特性,设计工程师可使应用程序以传统的80C51 时钟频率(每个机器周期包含12个时钟)或X2 方式(每个机器周期包含6 个时钟)的时钟频率运行,选择X2方式可在相同时钟频率下获得2 倍的吞吐量。从该特性获益的另一种方法是将时钟频率减半而保持特性不变,这样可以极大地降低电磁干扰(EMI)。Flash 程序存储器支持并行和串行在系统编程(ISP)。并行编程方式提供了高速的分组编程(页编程)方式,可节省编程成本和上市时间。ISP 允许在软件控制下对成品中的器件进行重复编程。应用固件的产生更新能力实现了ISP 的大范围应用。P89V51RB2/RC2/RD2 也可采用在应用中编程(IAP),允许随时对Flash 程序存储器重新配置,即使是应用程序正在运行也不例外。2.1.3 74ls32 芯片简介74LS32 是通用数字电路:四2 输入或门。Y=A+B,以集成块的一侧有缺口的为左起左下1-1A,2-1B,3-1Y;4-2A,5-2B,6-2Y;7-GND;右起:右上8-3Y,9-3A,10-3B;11-4Y,12-4A,13-4B;14VCC其中A,B 为输入端,Y 为输出端,GND 为电源负极,VCC 为电源正极。2.2.4 74HC573 芯片简介74HC573,8 数据锁存器。主要用于数码管、按键等等的控制(1)真值表(2) 高阻态就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯片中只能有一个处于非高阻态状态,否则会将芯片烧毁。(3)数据锁存当输入的数据消失时,在芯片的输出端,数据仍然保持;这个概念在并行数据扩展中经常使用到。(4)数据缓冲加强驱动能力。74LS244/74LS245/74LS373/74LS573都具备数据缓冲的能力。OE:output_enable,输出使能;LE:latch_enable,数据锁存使能,latch 是锁存的意思;Dn:第n 路输入数据;On:第n 路输出数据;3、系统具体电路设计本系统采用增强型51 单片机P89V51RRB2 为控制核心,74ls32 四二输入或门来处理主路的车辆情况。相对于方案一,本方案可以提高系统的可靠性,同时也可以降低系统成本。为了更符合实际情况和便于调试观察,本方案增加了显示模块。系统框图如下图所示:3.1 主路及支路电路设计3.1.1 主路电路设计主干道的 3 辆车,等效于电路中的三个开关。当主路有车来时,主路电路的开关闭合,输入低电平到74ls32 四二输入或门芯片,将信号处理后输入到单片机。当且仅当三个开关均闭合时(即:主路有三辆车来时),向单片机输入一个低电平。单片机根据74ls32 四二输入或门芯片向其输入的信号对主路和支路交通灯的亮灭情况进行控制。由于单片机默认状态是高电平,所以检测外部低电平可以避免单片机上电时的错误输入。当通过主路的车辆数少于3 辆时,74ls32 输出高电平。其逻辑关系如表3.1所示:(其中1 表示接地,2 表示主路车辆1,3 表示主路车辆2,4 表示主路车辆3)3.1.2 支路电路与主干道设计相同,支干道以开关状态模拟代替是否有车辆经过,有车时开关闭合为低电平,无车时开关断开为高电平。系统据该引脚的检测信号对交通灯的亮灭进行控制。、3.1.3 主路、支路总体电路图3.2 单片机系统本设计采用P89V51RRD2 作为控制部分,该单片机可以实现SPI在线下载程序,与同类51 单片机相比,不用将单片机取下烧写程序,可以省去反复拔插单片机烧写程序情况。本单片机系统采用的是51 单片机的最小系统,其中包括振荡电路和复位电路。振荡电路采用12MHz 无源晶振,这样可以方便地操作单片机定时器。3.3 交通灯电路本系统中,交通灯采用单片机的P1.0 到P1.5 口来驱动,其中P1.0 到P1.2分别对应主干道的绿色交通灯,黄色交通灯,红色交通灯,P1.3 到P1.5 分别对应支干道的绿色交通灯,黄色交通灯,红色交通灯。3.4 显示电路为了更符合实际情况,本系统另外设计了显示电路,用来显示倒计时的时间。由于单片机有足够的I/O 口线,所以我们采用静态驱动数码管,以减小程序的复杂度。由于P0 口是三态口线,为避免其处于不定状态,需要增加上拉电阻,本设计选用更实用的10K 网络电阻,这样比8 个单独的电阻更加合理。为了提高系统可靠性,本设计采用I/O口驱动74HC573,然后由74HC573 驱动共阴数码管。倒计时显示电路4系统软件设计4.1 系统软件设计流程图当单片机上电后,系统硬件复位,然后单片机初始化。本设计采用循环扫描主干道和支干道车辆状态,通过计时器T0来计时。系统正常运行时,交通灯程序循环运行,系统软件程序框图如图所示:主程序设置两个中断向量初始化8051,设置两个计数器的工作方式保存原8051中断屏蔽字开中断0,等待从并行口送出红绿灯信号(主干道绿灯,支干道红灯) 恢复中断向量及屏蔽字发中断结束命令,恢复现场初始化I/O口,设置各端口的工作方式返回DOS按键开关按下?中断服务程序保护现场,开外部中断1送主干二极管信号绿灯变黄灯开定时器0秒定时器0开始计时(一次100ms)秒定时器溢出30次后,送二极管信号(主干红灯,支干红变绿)秒定时器1溢出200次后中断返回N拨动开关全部按下?N关定时器0,开定时器1秒定时器1开始计时(一次100ms)Y送支干道黄灯,秒定时器0工作,溢出30次后支干道黄灯,主干道绿灯关定时器1,开定时器0Y整个系统的软件设计分为三个部分:显示函数设计、延时函数设计和主函数设计。4.2 各函数具体功能分析(1)显示函数功能分析实现数码管的静态显示,据计时个数n 当前的情况,调用数码管段码分别实现各位数码管和十位数码管的当前数据显示。(2)延时函数功能分析以定时器中断的方式实现10ms 延时,用于计时溢出后装入计时初值,同时判断总延时时间是否到达。若尚未到达,则调用显示函数显示当前值;若已达到总延时时间,则计时结束且关闭定时器。(3)主函数功能分析首先初始化各变量值,置定时器初值。据当前主路、支路的车辆检测状态,控制交通的亮灭。5系统软硬件模拟调试5.1 系统调试环境(1)Proteus 仿真软件(2)keil c51 编译器5.2 Keil 与proteus 连机调试下载keil c51 编译软件和 proteus 6.7 SP3 软件,分别进行安装。安装完毕以后进行如下置:(1)系统安装上TCP/IP协议(2)把proteus 安装目录下VDM51.dll( C:ProgramFilesLabcenterElectronicsProteus 6ProfessionalMODELS)文件复制到Keil 安装目录的 C51BIN 目录中。(3)编辑C51 里tools.ini 文件,加入: TDRV1=BINVDM51.DLL(PROTEUS VSMMONITOR 51 DRIVER)(4)keil 里设置: projectproject-options for project-debug tab(5)选中use proteus VSM monitor 51( 如果想用两台电脑仿真,双击setting, 输入IP 地址或者DNS name.(6)载入proteus文件(7)proteus里DEBUG-use remote debug monitor进入KEIL的project菜单option for target 工程名。在DEBUG选项中右栏上部的下拉菜选中Proteus VSM Monitor-51 Driver。再进入seting,如果同一台机IP名为127.0.0.1,如不是同一台机则填另一台的IP地址。端口号一定为8000 注意:可以在一台机器上运行keil,另一台中运行proteus 进行远程仿真。(8)打开KEIL, 按F5开始仿真5.3 仿真调试效果参考文献1江思敏,Protel电路设计教程,-北京,清华大学出版社, 2002,92康华光,电子技术基础.模拟部分 -5 版.北京, 高等教育出版社, 20063谭浩强,C 程序设计(第二版),北京,清华大学出版社, 19994王昊,集成运放应用电路设计360例,北京,电子工业出版社, 20075周立功公司,P89V51 系列单片机ISP 下载简明操作步骤,2006 附录1:程序清单#include#define led1 P2 /数码管7段个位显示由P2 控制#define led2 P0 /数码管7段十位显示由P0 控制sbit zhug=P10;sbit zhuy=P11;sbit zhur=P12;sbit zhig=P13;sbit zhiy=P14;sbit zhir=P15;sbit zhu=P32;sbit zhi=P33;unsigned char time;/延时秒数unsigned int i;/延时计数bit temp;/计时状态标志,temp=0 为正在计时,temp=1 为计时结束unsigned char table10 = 0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;/数码管字形表/数码管为共阴极,输出为高电平时点亮对于段码display(unsigned char n)if(n=10)|(n=20)/如果计时个数等于10,或者20 时,个位数码管显示0;led1=table0;else led1=tablen%10;/个位数码管,取余led2=table(n/10);/十位数码管void Timer0() interrupt 1 /10ms 延时;TH0=0xD8; /重装计时器T0高位;TL0=0xF0; /重装计时器T0低位;if(i0)display(i/100);/调用显示函数,传递计时时间i-;elsetemp=1;TR0=0;/关定时器main()i=0;/延时计数temp=0;/计时状态标志,temp=0 为正在计时,temp=1 为计时结束zhug=0;/初始化主路为绿灯zhir=0;/初始化支路为红灯led1=0x00;led2=0x00;TMOD=0x01; /定时器0 工作在方式1TH0=0xD8; /预置计时器T0高位;TL0=0xF0; /预置计时器T0低位;EA=1; /开放总中断ET0=1; /允许定时器0中断while(1)if(zhi=0)/支路有车zhug=1;/关闭主路绿灯zhuy=0;/打开主路黄灯time=3;/延时3秒i=(time+1)*100;TR0=1;/定时器计数whil

温馨提示

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

评论

0/150

提交评论