计算机控制技术课程设计微机型交通信号灯实时控制系统的模拟设计_第1页
计算机控制技术课程设计微机型交通信号灯实时控制系统的模拟设计_第2页
计算机控制技术课程设计微机型交通信号灯实时控制系统的模拟设计_第3页
计算机控制技术课程设计微机型交通信号灯实时控制系统的模拟设计_第4页
计算机控制技术课程设计微机型交通信号灯实时控制系统的模拟设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

1、学 号: 课 程 论 文课程名称计算机控制技术课程教师赵志华论文题目微机型交通信号灯实时控制系统的模拟设计学 院计算机科学与信息工程学院专 业自动化班 级一班学生姓名师小青,陈浩,吴双,李兆前文丽丹,冯雪娇,薛海燕,张丁方2014年5月22日微机型交通信号灯实时控制系统的模拟设计摘要:近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢

2、?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用msc-51系列单片机atsc51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的p1口设置红、黄、绿灯燃亮时间的功能。本系统实用性强、操作简单、扩展功能强。关键词:51单片机,集成电路芯片,交通灯引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安

3、装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段

4、时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。一、 单片机及主要芯片简介1.1 单片机的概述(1)单片机的定义所谓单片机

5、,即把组成微型计算机的各个功能部件,如中央处理器cpu、随机存储器ram、只读存储器rom、输入/输出接口电路、定时器/计数器以及串行通信接口等集成在一块芯片中,构成一个完整的微型计算机。因此单片机早期的含义为单片微型计算机,直译为单片机,并沿用至今。由于单片机面对的是测控对象,突出的是控制功能,所以它从功能和形态上来说都是应控制领域的要求而诞生的。随着单片机技术的发展,它在芯片内集成了许多面对测控对象的接口电路,如adc、dac、高速i/o 口、pwm、wdt等。这些对外电路及外设接口已经突破了微型计算机传统的体系结构,所以更为确切反映单片机本质的名称应为微型控制器。单片机是单芯片形态作为嵌

6、入式应用的计算机,它有唯一的、专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级体积的优点和在现场环境下可高速可靠运行的特点。但是,在国内单片机的叫法任然有着普遍的意义。我们已经把单片机理解为一个单芯片形式的微控制器。它是一个典型的嵌入式应用计算机系统。目前按单片机内部数据通道的宽度,把它们分为4 位、8 位、16 位、32 位单片机。(2)单片机与微处理器的简介随着大规模与超大规模集成电路技术的发展,微计算机技术形成了两大分支:微处理器和单片机。微处理器mpu 是微型计算机的核心部件,它的性能决定了微处理器的性能。通用型的计算机已从早期的数值计算、数据处理发展到当今的人工智能阶段。它

7、不仅可以处理文字、字符、图形、图像等信息,而且还可以处理音频、视频等信息,并正向多媒体、人工智能、数字模拟和仿真、网络通信等方向发展。它的存储容量和和运算速度正在以惊人的速度发展。高性能的32 位、64位微型计算机系统正向中、大型计算机挑战。单片机 mcu 主要用于控制领域。它构成的检测控制系统应该有实时的、快速的外部响应,应该能迅速采集到大量数据,能在正确地作出逻辑推断后实现对被控对象参数的调整与控制。单片机的发展直接利用了mpu的成果,也发展了16 位、32 位的机型。但它的发展方向是高性能、高可靠性、低功耗、低电压、低噪音和低成本。目前,单片机的主流仍以8 位机为主,16 位、32 位机

8、为辅。单片机的发展主要还是表现在其接口和性能不断满足多种多样检测控制对象的要求上,尤其突出表现在它的控制功能上,构成各种专用的控制器和多机控制系统。(3)单片机和嵌入式系统面向检测控制对象,嵌入到应用系统中去的计算机系统,称之为嵌入式系统。实时性是它的主要特征,对系统的物理尺寸、可靠性、重启动和故障恢复方面也有特殊的要求。由于被嵌入对象的体系结构、应用环境等要求,嵌入式计算机系统比通用的计算机系统应用设计更为复杂,涉及面也更为广泛。从形式上可将嵌入式系统分为系统级、板级和芯片级。系统级嵌入式系统为各种类型的工控机,包括进行机械加固和电气加固的通用计算机系统,各种总线方式工作的工控机和模块组成的

9、工控机。它们大都有丰富的通用计算机软件及周边外设的支持,有很强的数据处理能力,应用软件的开发也很方便。但由于体积庞大,适用于具有大空间的嵌入式应用环境,如:大型试验装置、船舶、分布式测控系统等。板级嵌入式系统则有各种类型的带cpu 的主板及oem 产品。与系统级相比,板级嵌入式系统体积较小,可以满足较小空间的嵌入式应用环境。芯片级嵌式系统则以单片机最为经典。单片机嵌入到对象的环境、结构体系中去作为其中一个智能化的控制单元,是最经典的嵌入式计算机系统。它有唯一的专门为嵌入式应用而设计的体系结构和指令系统,加上它的芯片级的体积和在现场环境下运行的高可靠性,它最能满足各种中小型对象的嵌入式应用要求。

10、因此,单片机是目前发展最快、品种最多、数量最大的嵌入式计算机系统。但是,一般的单片机目前还没有通用的系统管理软件或监控程序。它本身不具备开发能力,常常需要专门的开发工具。1.2 芯片简介1.2.1 msc-51芯片简介intel 公司推出的80c51 是mcs-51 系列单片机中以chmos 为生产工艺的一个典型产品;其它厂商以8051 为基核开发出的cmos 工艺单片机产品统称为80c51系列。80c51单片机的结构框图如图下所示可以看出,在一块芯片上集成了一个微型计算机的主要部件,它包括以下几部分:(1)8 位cpu 1 个。(2)时钟电路(振荡电路和时序osc)。(3)4kb程序存储器(

11、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 个优先级嵌套中断1.2.2 p89v51rrd2 简介p89v51rb2/rc2/rd2 是一款80c51 微控制器,包含16/32/64kb flash和1024 字节的数据ram。p89v51rb2/rc2/rd2 的典型特性是它的x2 方式选项。利用该特性,设计工程师可使应用程序以传统的80c51 时

12、钟频率(每个机器周期包含12个时钟)或x2 方式(每个机器周期包含6 个时钟)的时钟频率运行,选择x2方式可在相同时钟频率下获得2 倍的吞吐量。从该特性获益的另一种方法是将时钟频率减半而保持特性不变,这样可以极大地降低电磁干扰(emi)。flash 程序存储器支持并行和串行在系统编程(isp)。并行编程方式提供了高速的分组编程(页编程)方式,可节省编程成本和上市时间。isp 允许在软件控制下对成品中的器件进行重复编程。应用固件的产生更新能力实现了isp 的大范围应用。p89v51rb2/rc2/rd2 也可采用在应用中编程(iap),允许随时对flash 程序存储器重新配置,即使是应用程序正在

13、运行也不例外。1.2.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 为电源正极。1.2.4 74hc573 芯片简介74hc573,8 数据锁存器。主要用于数码管、按键等等的控制(1)真值表(2) 高阻态就是输出既不是高电平,也不是低电平,而是高阻抗的状态;在这种状态下,可以多个芯片并联输出;但是,这些芯

14、片中只能有一个处于非高阻态状态,否则会将芯片烧毁。(3)数据锁存当输入的数据消失时,在芯片的输出端,数据仍然保持;这个概念在并行数据扩展中经常使用到。(4)数据缓冲加强驱动能力。74ls244/74ls245/74ls373/74ls573都具备数据缓冲的能力。oe:output_enable,输出使能;le:latch_enable,数据锁存使能,latch 是锁存的意思;dn:第n 路输入数据;on:第n 路输出数据;二、系统方案的确定与选择2.1 系统方案设计为了有效地实现交通灯的控制,且符合系统控制要求,设计时必须考虑以下因素:(1)系统有2 路信号处理单元来处理主路和支路的车辆情况。

15、(2)系统必须有一套计时模块来处理交通灯倒计时问题。(3)由于要控制交通灯的变化,必须要有2 路输出控制,来实现交通灯的变化。2.2 系统方案的比较及选择首先确定使用51 单片机作为核心控制部分,余下的部分主要有如下两种实现方式:(1)主路使用3 路输入,支路使用一路输入到51 单片机,输出采用6 个单片机i/o来实现,并采用专门的计时器芯片实现时间的控制。(2)使用数字芯片预先处理主路输入,转化为一个位信号,计时部分采用单片机内部自带计时器实现。综合考虑各项因素,我们采用第二种实现方案。三、系统具体电路设计本系统采用增强型51 单片机p89v51rrd2 为控制核心,74ls32 四二输入或

16、门来处理主路的车辆情况。相对于方案一,本方案可以提高系统的可靠性,同时也可以降低系统成本。为了更符合实际情况和便于调试观察,本方案增加了显示模块。系统框图如下图所示:3.1 主路及支路电路设计3.1.1 主路电路设计主干道的 3 辆车,等效于电路中的三个开关。当主路有车来时,主路电路的开关闭合,输入低电平到74ls32 四二输入或门芯片,将信号处理后输入到单片机。当且仅当三个开关均闭合时(即:主路有三辆车来时),向单片机输入一个低电平。单片机根据74ls32 四二输入或门芯片向其输入的信号对主路和支路交通灯的亮灭情况进行控制。由于单片机默认状态是高电平,所以检测外部低电平可以避免单片机上电时的

17、错误输入。当通过主路的车辆数少于3 辆时,74ls32 输出高电平。其逻辑关系如表3.1所示:(其中1 表示接地,2 表示主路车辆1,3 表示主路车辆2,4 表示主路车辆3)3.1.2 支路电路与主干道设计相同,支干道以开关状态模拟代替是否有车辆经过,有车时开关闭合为低电平,无车时开关断开为高电平。系统据该引脚的检测信号对交通灯的亮灭进行控制。、3.1.3 主路、支路总体电路图3.2 单片机系统本设计采用p89v51rrd2 作为控制部分,该单片机可以实现spi在线下载程序,与同类51 单片机相比,不用将单片机取下烧写程序,可以省去反复拔插单片机烧写程序情况。本单片机系统采用的是51 单片机的

18、最小系统,其中包括振荡电路和复位电路。振荡电路采用12mhz 无源晶振,这样可以方便地操作单片机定时器。3.3 交通灯电路本系统中,交通灯采用单片机的p1.0 到p1.5 口来驱动,其中p1.0 到p1.2分别对应主干道的绿色交通灯,黄色交通灯,红色交通灯,p1.3 到p1.5 分别对应支干道的绿色交通灯,黄色交通灯,红色交通灯。3.4 显示电路为了更符合实际情况,本系统另外设计了显示电路,用来显示倒计时的时间。由于单片机有足够的i/o 口线,所以我们采用静态驱动数码管,以减小程序的复杂度。由于p0 口是三态口线,为避免其处于不定状态,需要增加上拉电阻,本设计选用更实用的10k 网络电阻,这样

19、比8 个单独的电阻更加合理。为了提高系统可靠性,本设计采用i/o口驱动74hc573,然后由74hc573 驱动共阴数码管。倒计时显示电路四、系统软件设计4.1 系统软件设计流程图当单片机上电后,系统硬件复位,然后单片机初始化。本设计采用循环扫描主干道和支干道车辆状态,通过计时器t0来计时。系统正常运行时,交通灯程序循环运行,系统软件程序框图如图所示:主程序设置两个中断向量初始化8051,设置两个计数器的工作方式保存原8051中断屏蔽字开中断0,等待从并行口送出红绿灯信号(主干道绿灯,支干道红灯) 恢复中断向量及屏蔽字发中断结束命令,恢复现场初始化i/o口,设置各端口的工作方式返回dos按键开

20、关按下?中断服务程序保护现场,开外部中断1送主干二极管信号绿灯变黄灯开定时器0秒定时器0开始计时(一次100ms)秒定时器溢出30次后,送二极管信号(主干红灯,支干红变绿)秒定时器1溢出200次后中断返回n拨动开关全部按下?n关定时器0,开定时器1秒定时器1开始计时(一次100ms)y送支干道黄灯,秒定时器0工作,溢出30次后支干道黄灯,主干道绿灯关定时器1,开定时器0y整个系统的软件设计分为三个部分:显示函数设计、延时函数设计和主函数设计。4.2 各函数具体功能分析(1)显示函数功能分析实现数码管的静态显示,据计时个数n 当前的情况,调用数码管段码分别实现各位数码管和十位数码管的当前数据显示

21、。(2)延时函数功能分析以定时器中断的方式实现10ms 延时,用于计时溢出后装入计时初值,同时判断总延时时间是否到达。若尚未到达,则调用显示函数显示当前值;若已达到总延时时间,则计时结束且关闭定时器。(3)主函数功能分析首先初始化各变量值,置定时器初值。据当前主路、支路的车辆检测状态,控制交通的亮灭。五、系统软硬件模拟调试5.1 系统调试环境(1)proteus 仿真软件(2)keil c51 编译器5.2 keil 与proteus 连机调试下载keil c51 编译软件和 proteus 6.7 sp3 软件,分别进行安装。安装完毕以后进行如下置:(1)系统安装上tcp/ip协议(2)把p

22、roteus 安装目录下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, 输

23、入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 仿真调试效果六、结束语本文阐述了交通灯的总

24、体设计方法,并对系统软硬件的设计及其实现进行了具体的分析。从介绍交通灯系统的需求开始,分别从各电路模块、软件等几个方面对系统进行了讨论、设计,重点为各模块电路的设计方法。在小组成员的共同努力下,小组成功地完成了对本系统所有软硬件的设计,并借助proteus 和keil uvision3 软件模拟出了系统的实际运行效果,成功地实现了对交通灯的实时控制。参考文献1江思敏,protel电路设计教程,-北京,清华大学出版社, 2002,92康华光,电子技术基础.模拟部分 -5 版.北京, 高等教育出版社, 20063谭浩强,c 程序设计(第二版),北京,清华大学出版社, 19994王昊,集成运放应用电

25、路设计360例,北京,电子工业出版社, 20075周立功公司,p89v51 系列单片机isp 下载简明操作步骤,20066李群芳,单片机原理、接口及应用嵌入式系统技术基础,-北京,清华大学出版社,2005,37philips semiconductors, p89v51rb2/rc2/rd2 product data.pdf,20048laan, signal sampling techniques for data acquisition in processcontrol, the estate of norman cantor,20069philips semiconductors, r

26、x2 device comparison table, august 200410philips semiconductors, upgrade instructions from bootcode v04 tov05,2004附录附录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 zh

27、i=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);/十位数码管待添加的隐藏文字内容3void timer0() interrupt 1 /10ms 延时;th0=0xd8;

温馨提示

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

评论

0/150

提交评论