基于单片机的交通灯自动控制毕业论文.doc

上传人:laozhun 文档编号:3939877 上传时间:2023-03-28 格式:DOC 页数:40 大小:1.25MB
返回 下载 相关 举报
基于单片机的交通灯自动控制毕业论文.doc_第1页
第1页 / 共40页
基于单片机的交通灯自动控制毕业论文.doc_第2页
第2页 / 共40页
基于单片机的交通灯自动控制毕业论文.doc_第3页
第3页 / 共40页
基于单片机的交通灯自动控制毕业论文.doc_第4页
第4页 / 共40页
基于单片机的交通灯自动控制毕业论文.doc_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《基于单片机的交通灯自动控制毕业论文.doc》由会员分享,可在线阅读,更多相关《基于单片机的交通灯自动控制毕业论文.doc(40页珍藏版)》请在三一办公上搜索。

1、基于单片机的交通灯自动控制摘 要根据AT89C52单片机的特点及交通灯在实际控制中的特点,本文提出一种用单片机自动控制交通灯及时间显示的方法。同时给出了软硬件设计方法,设计过程包括硬件电路设计和程序设计两大步骤,对在单片机应用中可能遇到的重要设计问题都有涉足。本文对十字路口状态预设为,两种,一种是正常状态,另一种是繁忙状态。增设路段遇忙调整时间处理模块,通过手动控制开关按钮增减时间控制,进一步完善了交通灯控制系统。并分别用红、黄、绿灯的不同组合来指挥两个方向通车与禁行,用LED数码管作为倒计时指示,实时的控制当前交通灯时间使LED显示器进行倒计时工作并与状态灯保持同步,在保持交通安全的同时最大

2、限度的提高交通能顺畅交替运行。本文介绍了控制基本原理以及控制的表现,同时,论述了系统中交通现状、交通管理、交通规则及背景信息。关键词:自动控制 显示器 外部中断 延时 方程式控制AbstractAccording to the characteristics of single-chip STC10F04 and traffic lights in the actual control of the characteristics of this paper, a single-chip automatic control with traffic lights and the method

3、of time display. At the same time, given the hardware and software design methodology, design process, including the hardware circuit design and program design two major steps in the single-chip applications that may be encountered in the design of the important issues are involved. In this paper, t

4、he default state of the crossroads for three, one is the normal state is a state of emergency, and the other is a state formula. Additional sections of busy status adjustment formula and an emergency control module Through the manual control switch button convenience A0 and A1 system in the normal s

5、tate and a state of emergency, the equation between the control switch back and forth, and further improve the traffic light control system. And were red, yellow and green light to direct different combinations of traffic in both directions and cut-line, with LED digital tube as a countdown to the i

6、nstructions, real-time control of the current time for traffic lights to LED countdown display work and to keep pace with the state of light in the to maintain safety while minimizing the increase in traffic to alternate running smoothly. This paper introduces the basic principles of control, as wel

7、l as the performance of control at the same time, traffic on the system status, traffic management, traffic regulations and background information.Key words: automatic control; time display; external interrupt; delay; control equation 目 录第1章 交通灯自动控制发展与趋势1第2章 系统分析3 2.1 AT89C52工作原理3 2.2 8段数码管的结构和原理6 2

8、.3 Keilc51软件介绍10 2.4 proteus 软件分析 13第3章 设计方案 16第4章 系统实施 17 4.1 proteus 详细分析与设计具体操作17 4.2 交通灯自动控制演示27第5章 单片机开发的注意事项 29 5.1 单片机开发调试应注意的问题29 5.2 单片机系统软件抗干扰方法30第6章 参考文献 35第7章 结束语 36致谢 37第1章 交通灯研究的背景和意义交通是城市经济活动的命脉,对城市经济发展、人民生活水平的提高起着十分重要的作用。城市交通问题是困扰城市发展、制约城市经济建设的重要因素。城市道路增长的有限与车辆增加的无限这一对矛盾是导致城市交通拥挤的根本原

9、因。城市街道网络上的交通容量的不断增加,表明车辆对道路容量的要求仍然很高,短期内还不可能改变。自从开始使用计算机控制系统后,不管在控制硬件里取得什么样的实际进展,交通控制领域的控制逻辑方面始终没能取得重大突破。可以肯定的说,对于减轻交通拥塞及其副作用一特别是对于大的交通网络而言,仍然缺乏一种真正的交通响应控制策略。计算机硬件能力与控制软件能力很不相符,由此造成的影响是很多交通控制策略根本不能实现。在少数几个例子中,一些新的控制策略确实能得以实现,但他们却没能对早期的控制策略进行改进。由于缺乏能提高交通状况、特别是缺乏拥塞网络交通状况的实时控制策略,几乎可以说真正成熟的控制策略仍然不存在.智能化

10、和集成化是城市交通信号控制系统的发展趋势和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口。因此,研究基于智能集成的城市交通信号控制系统具有相当的学术价值和实用价值。把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。从长远来看该研究具有巨大的现实意义。2 交通灯国内外发展概况随着经济的发展,城市现代化程度不断提高,交通需求和交通量迅速增长,城市交通网络中交通拥挤日益严重,道路运输所带来的交通拥堵、交通事故和环境污染等负面效应也日益突出,逐步成为经济和社会发展中的全球性共同问题。交

11、通问题已经日益成为世界性的难题,城市交通事故、交通阻塞和交通污染问题愈加突出。为了解决车和路的矛盾,常用的有两种方法:一是控制需求,最直接的办法就是限制车辆的增加;二是增加供给,也就是修路。但是这两个办法都有其局限性。交通是社会发展和人民生活水平提高的基本条件,经济的发展必然带来出行的增加,而且在我国汽车工业正处在起步阶段的时期,因此限制车辆的增加不是解决问题的好方法。而采取增加供给,即大量修筑道路基础设施的方法,在资源、环境矛盾越来越突出的今天,面对越来越拥挤的交通,有限的源和财力以及环境的压力,也将受到限制。这就需要依靠除限制需求和提供道路设施之外的其他方法来满足日益增长的交通需求。交通系

12、统正是解决这一矛盾的途径之一。智能交通系统是将先进的信息技术、数据通讯传输技术、电子传感技术、电子控制技术及计算机处理技术等有效的集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的实时、准确、高效的综合交通运输管理系统。对城市交通流进行智能控制,可以使道路畅通,提高交通效率。合理进行交通控制可以对交通流进行有效的引导和调度,使交通保持在一个平稳的运行状态,从而避免或缓和交通拥挤状况,大大提高交通运输的运行效率,还可以减少交通事故,增加交通安全,降低污染程度,节省能源消耗,本文就是通过对交叉路口交通信号的智能控制,达到优化路口交通流的目的 进入20世纪70年代,随着计算机技术

13、和自动控制技术的发展,以及交通流理论的不断完善,交通运输组织与优化理论和技术水平不断提高,控制手段越来越先进,形成了一批商水平有实效的城市道路交通控制系统。早在1977年,Pappis等人就将模糊控制运用到交通控制上,通过建立规则库或是专家系统对各种交通状况进行模糊控制,并取得了很好的效果。近年来,欧美日本等相继建立了智能交通控制系统。在这些系统中,大部分都在路口附近安装磁性环路检测器,还使用了新型检测器等技术和设备。这些现代化设备技术加上控制理论和现代化科学管理技术,使得交通控制系统日益完善。随着一些研究控制理论的学者投身到交通控制的研究中,在交通信号控制领域提出了一些新方法、新思路。如静态

14、多段配时控制、准动态多段配时控制、最优控制、大系统递阶控制、模糊控制、神经网络控制,网络路由控制等。模糊交通控制已经成为了交通信号控制的主流方向之一。国内外很多学者都进行了此类研究。 交通系统作为一个时变的、具有随机性的复杂系统,传统的人为设定多种方案或是建立各种预测模型均比较困难。城市交通控制研究的起源比较早。1868年,英国伦敦燃汽信号灯的问世,标志着城市交通控制的开始。1913年,在美国俄亥俄州的Cleveland市出现了世界上最早的交通信号控制。1926年美国的芝加哥市采用了交通灯控制方案,每个交叉口设有唯一的交通灯,适用于单一的交通流。从此,交通控制技术和相关的控制算法得到了发展和改

15、善,提高了交通控制的安全性、有效性,并减少了对环境的影响。虽然模糊控制能有效处理模糊信息,但是产生的规则比较粗糙,利用规则表查表进行控制,运算速度虽然比较快,但没有自学习功能。而且这些研究有些以相序固定为前提。不能保证相序与实际交通流状况的一致性,影响了绿灯时间的利用率。有些研究则提出了可变相序的模糊控制方法,提高了绿灯时间的利用率,弥补了相序固定的缺点,但同时也存在一些不足。例如目前应用比较好的交通系统:SCOOT(经典交通系统),他们都是主要采用统计模型和经典算法。但城市交通系统是一个复杂的、随机性很强的巨型系统,要想建立实用性较强的数学模型是十分困难。利用模糊控制智能控制技术进行交叉口信

16、号灯控制能取得比定时控制与感应控制更好的效果,是今后单交叉路口信号灯控制的主要研究方向。第2章 系统分析本系统主要有两部分组成:AT89C52单片机和8段数码管,其中以AT89C52单片机的P0口来连接8段数码管,实现红绿灯功能,同时也以P1口连接交通信号灯,来实现设计所需要的效果。上下班高峰期时可按下按钮繁忙进行相应的调整。方程式控制,具体如下:1)按一次繁忙开关按钮时,系统以繁忙方式控制交通灯系统。南北两个方向的通车时间为45秒,东西方向通车时间为30秒。2)按时间+开关按钮时。南北两个方向的通车时间延长5秒。东西方向的通车时间延长5秒。3)按一次时间-开关按钮时。南北两个方向的通车时间减

17、少5秒。东西两个方向的通车时间减少5秒。2.1 AT89C52工作原理 2.1.1 AT89C52概述经过信号放大和A/D处理后的甲烷浓度信号送给单片机(AT89C52),经过软件处理后得到相应的适合于单片机外围接口电路的信号。AT89C52是整个设计所用到的核心芯片,下面让我们来具体介绍一下AT89C52的主要情况。AT89C52是美国ATMEL公司生产的一个低功耗,高性能CMOS 8位单片机,片内含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司

18、的高密度,非易失性存储技术制造,兼容标准MCS-51指令系统及8052引脚结构,芯片内集成了通用8位中央处理器和ISP Flash存储单元,功能强大的微型计算机的AT89C52可为许多嵌入式控制应用系统提供高性价比的解决方案,适合于较多为复杂控制应用场合。AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,如图4-8,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C52的主

19、要性能参数 兼容MCS51指令系统 32个双向I/O口 3个16位可编程定时/计数器中断 2个串行中断 2个外部中断源 2个读写中断口线 图4-8 AT89C52单片机引脚 低功耗空闲和掉电模式 8k可反复擦写(1000次)Flash ROM软件设置睡眠和唤醒功能 256x8bit内部RAM 时钟频率0-24MHz 可编程UART串行通道 共6个中断源 3级加密位21.2 AT89C52芯片的引脚描述u P0口:P0口是一组8位漏极 开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。在访问外部

20、数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。u P1口:P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。u P2口:P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电

21、阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR指令)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。Flash编程或校验时,P2亦接收高位地址和一些控制信号。u P3口:P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。对P3口写入“1”时,它们被内部上位电阻拉高并可作为输入端口。此时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。 P3口除了作为一般的I/O口线外,更重要的用途是

22、它的第二功能,如表4-1所示。表4-1 P3口功能表端口引脚第二功能P3.0RXD(串行数据接收)P3.1TXD(串行数据发送)P3.1(外中断0申请)P3.1(外中断1申请)P3.1T0(定时/计数器0计数输入)P3.1T1(定时/计数器1计数输入)P3.6(外部RAM写选通)P3.7(外部RAM读选通)此外,P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。u RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片复位。u ALE/:当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟

23、振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。 对Flash存储器编程期间,该引脚还用于输入编程脉冲(PROG)。 如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。:程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C52由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲。在此期间,当访问外部

24、数据存储器,将跳过两次RSEN信号。/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。需注意的是:如果加密位LB1被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端),CPU则执行内部程序存储器中的指令。Flash存储器编程时,该引脚加上+12V的编程允许电源VPP,当然这必须是该器件是使用12V编程电压VPP。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。综合上面的描述可知,I/O口线不能全部都当作用户I/O口线。单片机的引脚除了电源、复位、时钟接入、用户I/O外,

25、其余管脚都是为了实现系统扩展而设置的,这些引脚构成了MCS51的三总线结构,即:地址总线:地址总线宽度为16位,因此,其外部存储器直接寻址为64K字节,16位地址总线由P0口经地址锁存器提供低8位地址(A0A7);P2口直接提供高8位地址(A8A15)。数据总线:宽度为8位,由P0口提供。控制总线:由P3口的第二功能状态和4根独立的控制线RESET、EA、ALE、PSEN组成。 在此基础上,我们扩展了外部存储器DS1220Y、键盘显示管理器8279、D/A转换器DAC0832等。其中AT89C52是信号处理系统的核心部件。2.2 8段数码管的结构和原理2.2.1 一数码管显示原理我们最常用的是

26、七段式和八段式LED数码管,八段比七段多了一个小数点,其他的基本相同。所谓的八段就是指数码管里有八个小LED发光二极管,通过控制不同的LED的亮灭来显示出不同的字形。数码管又分为共阴极和共阳极两种类型,其实共阴极就是将八个LED的阴极连在一起,让其接地,这样给任何一个LED的另一端高电平,它便能点亮。而共阳极就是将八个LED的阳极连在一起。其原理图如下。其中引脚图的两个COM端连在一起,是公共端,共阴数码管要将其接地,共阳数码管将其接正5伏电源。一个八段数码管称为一位,多个数码管并列在一起可构成多位数码管,它们的段选线(即a,b,c,d,e,f,g,dp)连在一起,而各自的公共端称为位选线。显

27、示时,都从段选线送入字符编码,而选中哪个位选线,那个数码管便会被点亮。数码管的8段,对应一个字节的8位,a对应最低位,dp对应最高位。所以如果想让数码管显示数字0,那么共阴数码管的字符编码为00111111,即0x3f;共阳数码管的字符编码为11000000,即0xc0。可以看出两个编码的各位正好相反。如下图。2.2.2 数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳数码管是指将所有发光二极管的阳极接到一起形成公

28、共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极管的阳极为高电平时,相应字段就点亮。当某一字段的阳极为低电平时,相应字段就不亮。 2.2.3数码管的驱动方式 数码管要正常显示,就要用驱动电路来驱动数码管的各个段码,从而显示出我们要的数字,因此根据数码管的驱动方式的不同,可以分为静态式和动态式两类。 静态显示驱动:静态驱动也称直流驱

29、动。静态驱动是指每个数码管的每一个段码都由一个单片机的I/O端口进行驱动,或者使用如BCD码二-十进制译码器译码进行驱动。静态驱动的优点是编程简单,显示亮度高,缺点是占用I/O端口多,如驱动5个数码管静态显示则需要5840根I/O端口来驱动,要知道一个89S51单片机可用的I/O端口才32个呢:),实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。 动态显示驱动:数码管动态显示接口是单片机中应用最为广泛的一种显示方式之一,动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线

30、控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为12ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O端口,而且功耗更低。2.2.4数码管参数

31、8字高度:8字上沿与下沿的距离。比外型高度小。通常用英寸来表示。范围一般为0.25-20英寸。长*宽*高:长数码管正放时,水平方向的长度;宽数码管正放时,垂直方向上的长度;高数码管的厚度。时钟点:四位数码管中,第二位8与第三位8字中间的二个点。一般用于显示时钟中的秒。2.2.5数码管应用数码管使用的电流与电压电流:静态时,推荐使用10-15mA;动态时,16/1动态扫描时,平均电流为4-5mA,峰值电流50-60mA。电压:查引脚排布图,看一下每段的芯片数量是多少?当红色时,使用1.9V乘以每段的芯片串联的个数;当绿色时,使用2.1V乘以每段的芯片串联的个数。恒流驱动与非恒流驱动对数码管的影响

32、1、显示效果:由于发光二极管基本上属于电流敏感器件,其正向压降的分散性很大, 并且还与温度有关,为了保证数码管具有良好的亮度均匀度,就需要使其具有恒定的工作电流,且不能受温度及其它因素的影响。另外,当温度变化时驱动芯片还要能够自动调节输出电流 的大小以实现色差平衡温度补偿。2、安全性:即使是短时间的电流过载也可能对发光管造成永久性的损坏,采用恒流驱动电路后可防止 由于电流故障所引起的数码管的大面积损坏。另外,我们所采用的超大规模集成电路还具有级联延时开关特性,可防止反向尖峰电压对发光二极管的损害。超大规模集成电路还具有热保护功能,当任何一片的温度超过一定值时可自动关断,并且可在控制室内看到故障

33、显示。为什么数码管亮度不均匀?关于亮度一致性的问题是一个行业内的常见问题。有二个大的因素影响到亮度一致性。一是使用原材料芯片的选取,一是使用数码管时采取的控制方式。1、原材料-芯片的VF和亮度和波长是一个正态分布,即使筛选过芯片,VF和亮度和波长已在一个很小的范围了,生产出来的产品还是在一个范围内,结果就是亮度不一致。2、要保证数码管亮度一样,在控制方式选取上也有差别最好的办法是恒流控制,流过每一个发光二极管的电流都是相同的,这样发光二极管看起来亮度就是一样的了。如恒压控制,则导致VF不相同的发光二极管分到的电流不相同,所以亮度也不同。当然以上二个条件是相辅相成的。怎样测量数码管引脚,分共阴和

34、共阳?找公共共阴和公共共阳首先,我们找个电源(3到5伏)和1个1K(几百的也欧的也行)的电阻, VCC串接个电阻后和GND接在任意2个脚上,组合有很多,但总有一个LED会发光的找到一个就够了,然后用GND不动,VCC(串电阻)逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阴的了。相反用VCC不动,GND逐个碰剩下的脚,如果有多个LED(一般是8个),那它就是共阳的。也可以直接用数字万用表,红表笔是电源的正极,黑表笔是电源的负极。 2.3 Keil C51软件分析 2.3.1所用编译软件介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统

35、,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 下面详细介绍Keil C51开发系统各部分功能和使用。2.3.2 Keil C51单片机软件开发系统的整体结构C51工具包的整体结构,如图2-6所示, C51 for Windows和for Dos

36、的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 图2-6 C51工具包整体结构图透过Keil uVision2的IDE(整合发展环境),提供80C51汇编语言与C5

37、1语言的编辑、组译/连结、除错/模拟测试,并具备完善的项目管理系统(Project),以及系统文件说明等功能。图2-7显示 Keil Vision2的功能结构,说明如下:Vision2 IDE提供项目管理的整合作业环境,拥有编译、组译、连结等,建构项目的功能。提供各种厂牌型号80C51核心兼容单芯片系统的开发使用。C51提供ANSI C程序语言编译器(ANSI C Compiler);A51:提供8051汇编程序组译器(Macro Assembler)。在程序的连结时,提供ANSI 标准链接库、LIB51链接库管理员,与RTX51实时操作系统。Vision Debugger:有强大的除错工具和

38、平行仿真系统。可执行单步执行,芯片内部缓存器、内存、输出入界面的实时监看功能。 图2-7: Keil C51功能方块图2.3.3项目窗口:项目窗口又可分为三种页面:File、Regs、Books。点选窗口下方的标示做页面的切换。在进入除错功能(debug)时,Regs会显示8051的缓存器状态、Books显示Vision2的在线操作说明书。File负责管理项目的所有档案,File又可分为三个层级Target-Group-File,说明如下:Target:在此层级中,可以选择使用的芯片、频率频率与内存等装置的配置方式。在同一个项目中,可以拥有一个以上的”Target”。两个Target之间基本上

39、可以共享相同的原始程序档案,但是可以各自有着不同的输出入设定或不同的装置,透过建立不同的Target,我们可以得到不同的输出程序版本。有关Target的选项设定,可在Target图标上按鼠标右键,在快速选单上点选Options for Target Target,显示 Options for Target Target 1对话框。Vision2为了方便我们能容易地撰写兼容各式CPU的程序,特别在 Options for Target Target 1对话框中的装置数据库(Device Database),准备了各式CPU的数据。只要我们决定了CPU的型号,Vision2就会自动将一切环境的参数

40、(如CPU频率、内存配置等等)设定好,无须使用者再操心了。建立新方案方案加入档案编辑修改程序编译与连接程序除错与连接模块图2-8 Keil C51项目建立流程图Keil C51具体的开发界面如图2-9所示。 图2-9 KeilC51界面2.4 proteus 软件分析2.4.1 proteus 软件介绍Proteus(海神)的ISIS是一款英国Labcenter electronics公司的EDA工具软件,Proteus软件有十多年的历史,在全球广泛使用,除了其具有和其它EDA工具一样的原理布图、PCB自动或人工布线及电路仿真的功能外,其革命性的功能是,他的电路仿真是互动的,针对微处理器的应用

41、,还可以直接在基于原理图的虚拟原型上编程,并实现软件源码级的实时调试,如有显示及输出,还能看到运行后输入输出的效果,配合系统配置的虚拟仪器如示波器、逻辑分析仪等Proteus组合了高级原理布图、混合模式SPICE仿真,PCB设计以及自动布线来实现一个完整的电子设计系统。Proteus 产品系列也包含了我们革命性的VSM技术,用户可以对基于微控制器的设计连同所有的周围电子器件一起仿真。用户甚至可以实时采用诸如LED/LCD、键盘、RS232终端等动态外设模型来对设计进行交互仿真。其功能模块:个易用而又功能强大的ISIS原理布图工具;PROSPICE混合模型SPICE仿真; ARES PCB设计.

42、 2.4.2 该软件的特点: 全部满足我们提出的单片机软件仿真系统的标准,并在同类产品中具有明显的优势。 具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS一232动态仿真、1 C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。 目前支持的单片机类型有:68000系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。 支持大量的存储器和外围芯片。总之该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大 ,可仿真51、AVR、PIC。 Pr

43、oteus与其它单片机仿真软件不同的是,它不仅能仿真单片机CPU的工作情况,也能仿真单片机外围电路或没有单片机参与的其它电路的工作情况。因此在仿真和程序调试时,关心的不再是某些语句执行时单片机寄存器和存储器内容的改变,而是从工程的角度直接看程序运行和电路工作的过程和结果。对于这样的仿真实验,从某种意义上讲,是弥补了实验和工程应用间脱节的矛盾和现象。 2.4.3 proteus 的工作过程(1)proteus的工作过程 运行 proteus的ISIS程序后,进入该仿真软件的主界面。在工作前,要设置view菜单下的捕捉对齐和system下的颜色、图形界面大小等项目。通过工具栏中的p(从库中选择元件

44、命令)命令,在pick devices窗口中选择电路所需的元件,放置元件并调整其相对位置,元件参数设置,元器件间连线,编写程序;在source菜单的Define code generation tools菜单命令下,选择程序编译的工具、路径、扩展名等项目;在source菜单的Add/remove source files命令下,加入单片机硬件电路的对应程序;通过debug菜单的相应命令仿真程序和电路的运行情况。 (2)Proteus软件所提供的元件资源 Proteus 软件所提供了30多个元件库,数千种元件。元件涉及到数字和模拟、交流和直流等。(3)Proteus软件所提供的仪表资源 在Pro

45、teus软件包中,不存在同类仪表使用数量的问题。除了测试仪表外,Proteus还提供了一个图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来,其作用与示波器相似但功能更多。(4)Proteus软件所提供的调试手段 Proteus提供了比较丰富的测试信号用于电路的测试。这些测试信号包括模拟信号和数字信号。 对于单片机硬件电路和软件的调试,Proteus 提供了两种方法:一种是系统总体执行效果,一种是对软件的分步调试以看具体的执行情况。 对于总体执行效果的调试方法,只需要执行debug菜单下的execute菜单项或F12快捷键启动执行,用debug菜单下的pause animatio

46、n菜单项或pause键暂停系统的运行;或用debug菜单下的stop animation 菜单项或shift-break组合键停止系统的运行。其运行方式也可以选择工具栏中的相应工具进行。 对于软件的分步调试,应先执行 debug菜单下的start/restart debugging 菜单项命令,此时可以选择step over 、step into 和 step out命令执行程序(可以用快捷键F10、F11和ctrl+F11),执行的效果是单句执行、进入子程序执行和跳出子程序执行。在执行了start / restart debuging命令后,在debug菜单的下面要出现仿真中所涉及到的软件列表和单片机的系统资源等,可供调试时分析和查看。第3章 交通灯总体设计方案目前设计交通灯的方案有很多,有应用CPLD实现交通信号灯控制器的设计,有应用PLC实现对交通灯控制系统的设计。有应用单片机实现对交通信号灯设计的方法。由于AT89C52单片机自带有2个

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号