基于十字路口的交通灯毕业论文_第1页
基于十字路口的交通灯毕业论文_第2页
基于十字路口的交通灯毕业论文_第3页
基于十字路口的交通灯毕业论文_第4页
基于十字路口的交通灯毕业论文_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、 摘 要 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用mcs-51系列单片机at89c51为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的p3口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过p1口输

2、出,显示时间通过p0口输出至双位数码管)。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。 关键词:单片机;交通灯 ;数码管abstractin recent years, with the rapid development of science and technology, the application of scm is going deep, driving the traditional detection techniques to renew day by day. in the real-time examination and in the auto

3、matic control monolithic integrated circuit application system, the monolithic integrated circuit often took a core part uses. the monolithic integrated circuit aspect knowledge is only insufficient, but should also act according to the concrete hardware architecture software and hardware union, to

4、be improved.the intersection vehicles shuttle, the pedestrian is bustling, car dealership traffic lane, person sidewalk, methodical. then depending on what to realizes this orderly order? the traffic lights on the automatic control system. there are great number kinds of modes to control the traffic

5、 lights. the system uses a series of mcs-51 as the center at89c51 single-chip device designed to control the traffic lights, so as to realize the function of setting red, green light time by 8051 chips p3 port according to the actual traffic flows, lighting the red-light and green-light by turn and

6、lighting the yellow-light to warm while 5 seconds left(outputting the traffic light signal by p1,outpuing the time by p0 and showing the time on double-digits nixie tube). short of the design cycle, high reliability, practical, simple operation, easy maintenance, the expansion of powerful is this sy

7、stem.key words: scm, mcu,traffic light,nixie tube目 录1绪论11.1 研究的背景和意义11.2 国内外发展概况11.3设计要求31.4设计目的31.5 方案比较、设计与论证42 原理分析 52.1 交通灯显示时序的分析52.2 交通灯显示的理论分析 73 程序设计流程图 74 总体设计与电路图94.1 芯片的选择94.2 电路的设计 155 系统仿真 16 5.1 protues软件介绍 16 5.2 keil软件介绍 20 5.3 交通灯程序 256总结与展望36 致谢36 1 绪论1.1 交通灯研究的背景和意义 交通是城市经济活动的命脉,对

8、城市经济发展、人民生活水平的提高起着十分重要的作用。城市交通问题是困扰城市发展、制约城市经济建设的重要因素。城市道路增长的有限与车辆增加的无限这一对矛盾是导致城市交通拥挤的根本原因。城市街道网络上的交通容量的不断增加,表明车辆对道路容量的要求仍然很高,短期内还不可能改变。自从开始使用计算机控制系统后,不管在控制硬件里取得什么样的实际进展,交通控制领域的控制逻辑方面始终没能取得重大突破。可以肯定的说,对于减轻交通拥塞及其副作用特别是对于大的交通网络而言,仍然缺乏一种真正的交通响应控制策略。计算机硬件能力与控制软件能力很不相符,由此造成的影响是很多交通控制策略根本不能实现。在少数几个例子中,一些新

9、的控制策略确实能得以实现,但他们却没能对早期的控制策略进行改进。由于缺乏能提高交通状况、特别是缺乏拥塞网络交通状况的实时控制策略,几乎可以说真正成熟的控制策略仍然不存在.智能化和集成化是城市交通信号控制系统的发展趋势和研究前沿,而针对交通系统规模复杂性特征的控制结构和针对城市交通瓶颈问题并代表智能决策的阻塞处理则是智能交通控制优化管理的关键和突破口。因此,研究基于智能集成的城市交通信号控制系统具有相当的学术价值和实用价值。把智能控制引入到城市交通控制系统中,未来的城市交通控制系统才能适应城市交通的发展。从长远来看该研究具有巨大的现实意义。1.2 交通灯国内外发展概况 随着经济的发展,城市现代化

10、程度不断提高,交通需求和交通量迅速增长,城市交通网络中交通拥挤日益严重,道路运输所带来的交通拥堵、交通事故和环境污染等负面效应也日益突出,逐步成为经济和社会发展中的全球性共同问题。交通问题已经日益成为世界性的难题,城市交通事故、交通阻塞和交通污染问题愈加突出。为了解决车和路的矛盾,常用的有两种方法:一是控制需求,最直接的办法就是限制车辆的增加;二是增加供给,也就是修路。但是这两个办法都有其局限性。交通是社会发展和人民生活水平提高的基本条件,经济的发展必然带来出行的增加,而且在我国汽车工业正处在起步阶段的时期,因此限制车辆的增加不是解决问题的好方法。而采取增加供给,即大量修筑道路基础设施的方法,

11、在资源、环境矛盾越来越突出的今天,面对越来越拥挤的交通,有限的源和财力以及环境的压力,也将受到限制。这就需要依靠除限制需求和提供道路设施之外的其他方法来满足日益增长的交通需求。交通系统正是解决这一矛盾的途径之一。智能交通系统是将先进的信息技术、数据通讯传输技术、电子传感技术、电子控制技术及计算机处理技术等有效的集成运用于整个地面交通管理系统而建立的一种在大范围内、全方位发挥作用的实时、准确、高效的综合交通运输管理系统。对城市交通流进行智能控制,可以使道路畅通,提高交通效率。合理进行交通控制可以对交通流进行有效的引导和调度,使交通保持在一个平稳的运行状态,从而避免或缓和交通拥挤状况,大大提高交通

12、运输的运行效率,还可以减少交通事故,增加交通安全,降低污染程度,节省能源消耗,本文就是通过对交叉路口交通信号的智能控制,达到优化路口交通流的目的 进入20世纪70年代,随着计算机技术和自动控制技术的发展,以及交通流理论的不断完善,交通运输组织与优化理论和技术水平不断提高,控制手段越来越先进,形成了一批商水平有实效的城市道路交通控制系统。早在1977年,pappis等人就将模糊控制运用到交通控制上,通过建立规则库或是专家系统对各种交通状况进行模糊控制,并取得了很好的效果。近年来,欧美日本等相继建立了智能交通控制系统。在这些系统中,大部分都在路口附近安装磁性环路检测器,还使用了新型检测器等技术和设

13、备。这些现代化设备技术加上控制理论和现代化科学管理技术,使得交通控制系统日益完善。随着一些研究控制理论的学者投身到交通控制的研究中,在交通信号控制领域提出了一些新方法、新思路。如静态多段配时控制、准动态多段配时控制、最优控制、大系统递阶控制、模糊控制、神经网络控制,网络路由控制等。模糊交通控制已经成为了交通信号控制的主流方向之一。国内外很多学者都进行了此类研究。 交通系统作为一个时变的、具有随机性的复杂系统,传统的人为设定多种方案或是建立各种预测模型均比较困难。城市交通控制研究的起源比较早。1868年,英国伦敦燃汽信号灯的问世,标志着城市交通控制的开始。1913年,在美国俄亥俄州的clevel

14、and市出现了世界上最早的交通信号控制。1926年美国的芝加哥市采用了交通灯控制方案,每个交叉口设有唯一的交通灯,适用于单一的交通流。从此,交通控制技术和相关的控制算法得到了发展和改善,提高了交通控制的安全性、有效性,并减少了对环境的影响。虽然模糊控制能有效处理模糊信息,但是产生的规则比较粗糙,利用规则表查表进行控制,运算速度虽然比较快,但没有自学习功能。而且这些研究有些以相序固定为前提。不能保证相序与实际交通流状况的一致性,影响了绿灯时间的利用率。有些研究则提出了可变相序的模糊控制方法,提高了绿灯时间的利用率,弥补了相序固定的缺点,但同时也存在一些不足。例如目前应用比较好的交通系统:scoo

15、t(经典交通系统),他们都是主要采用统计模型和经典算法。但城市交通系统是一个复杂的、随机性很强的巨型系统,要想建立实用性较强的数学模型是十分困难。利用模糊控制智能控制技术进行交叉口信号灯控制能取得比定时控制与感应控制更好的效果,是今后单交叉路口信号灯控制的主要研究方向。1.3设计要求1.3.1系统分三种工作模式: 正常模式、繁忙模式、特殊模式,并且通过三个按钮“正常”、“繁忙”、“特殊”可相互转化。程序开始运行先南北段通行、东西段禁止60s,后东西段通行、南北段禁止60s,依此循环,还可以在线更改直行时间,可以通过按时间加和时间减来实现。1.3.2正常模式: 直行时间显示数码管显示60。此时南

16、北段直行通行(绿灯)、东西段禁止(红灯)40s,南北段人行道通行(绿灯),东西段人行道禁止(红灯),同时南北段和东西段方向的数码管分别从40s和60s开始倒计时,至最后5s时南北段绿灯变成黄灯闪烁;此后南北段左拐(左拐灯亮)通行、东西段禁止(红灯)20s,南北段、东西段人行道都禁止(红灯),同时南北段和东西段方向的数码管都从20s开始倒计时,至最后5s时南北段左拐灯变成黄灯闪烁;再后东西段直行通行(绿灯)、南北段禁止(红灯)40s,东西段人行道通行(绿灯),南北段人行道禁止(红灯),同时东西段和南北段方向的数码管分别从40s和60s开始倒计时,至最后5s时东西段绿灯变成黄灯闪烁;最后东西段左拐

17、(左拐灯亮)通行、南北段禁止(红灯)20s,东西段、南北段人行道都禁止(红灯),同时东西段和南北段方向的数码管都从20s开始倒计时,至最后5s时东西段左拐灯变成黄灯闪烁。1.3.3繁忙模式: 繁忙指示灯亮,南北段、东西段的通行时间改为45s,其中左拐的时间改为15s,其它与正常模式类似。1.3.4特殊模式: 特殊模式灯亮,南北、东西段数码管灭,东西、南北段的红灯都亮,人行道禁止通行。当退出特殊模式时直行数码管的显示是时间改为75s,其中左拐的时间改为20s,其它与正常模式类似。1.4设计目的1.4.1了解交通灯管理的基本工作原理交通灯中三种灯都有着不同的作用,绿灯亮时,准许车辆通行,黄灯时亮时

18、,已越过停止线的车辆可以继续通行,红灯亮时,禁止车辆通行。交通灯的工作是有单片机来控制,使得车辆能够有序的通过十字路口。1.4.2掌握多位led显示问题的解决 本设计用的是两位七段共阴极数码管来显示倒计时功能,数码管有两个位选引脚分别为5脚和10脚,其他几个脚分别为a、b、c、d、e、f、g、dp他们对应的引脚编号分别为3、9、8、6、7、4、1、2。1.5方案比较、设计与论证1.5.1 显示界面方案1.5.1.1 倒计时显示 该系统要求完成倒计时的功能。因只需显示数字,基于上述原因,我们考虑完全采用数码管显示,四个路口分别采用一个二位阴极数码管即可。 表1 七段led字型码显示字符共阴极字型

19、码共阳极字型码显示字符共阴极字型码共阳极字型码0 0x3f0xc0c0x390xc610x060xf9d0x5e0xa120x5b0xa4e0x790x8630x4f0xb0f0x710x8e40x660x99p0x730x8c50x6d0x92u0x3e0xc160x7d0x820x310xce70x070xf8y0x6e0x9180x7f0x80h0x760x8990x6f0x90l0x380xc7a0x770x88“灭”0x000xffb0x7c0x83 1.5.1.2 状态灯显示 该系统要求完成状态灯显示的功能。求于简单,我们把各个路口的红灯和黄灯设成直行和左拐两个通行方式所共有,也就

20、是说,一个路口只需四个状态灯,一个直行通行的绿灯,一个左拐通行的绿灯,一个共有的红灯,一个共有的黄灯。1.5.2 输入方案该系统要求能手动改变东西与南北的通行时间、紧急情况处理,我们采用扩展i/o口方法,在外部中断p32口上扩展三个中断口,分别连接三个按钮。该方案的优点是:使用灵活,并且可提供较多i/o口,节省了at89s52的中断口资源。2原理分析2.1 交通灯显示时序的理论分析下图所示为一种红绿灯规则的状态图。 状态s1南北直行通行 状态s2南北左右拐通行 状态s3东西直行通行 状态s4东西左右拐通行2.2 循环执行如下图所示: 交通灯状态循环图依据上述车辆行驶的状态图,可以列出各个路口灯

21、的逻辑表如下表所示(其中逻辑值“1”代表直行通行,逻辑值“0”代表禁止通行,逻辑值“lr”代表左右拐通行):s1的状态eswn逻辑值0101显示时间正常模式下为40ss2的状态eswn逻辑值0lr0l显示时间正常模式下为20ss3的状态eswn逻辑值1010显示时间正常模式下为40ss4的状态eswn逻辑值lr0lr0显示时间正常模式下为20s程序就是在上述四种状态下循环转化的。一个周期四个状态,在正常模式下共花费2分钟。2.2 交通灯显示的理论分析2.2.1 倒计时显示的理论分析 利用定时器中断,设置th0=th1(65536-50000)/256,即每0.05秒中断一次。每到第20次中断即

22、过了20*0.05秒1秒时,使时间的计数值减1,便实现了倒计时的功能。2.2.2 状态灯显示的理论分析 黄灯闪烁同样可以利用定时器中断。每到第10次中断即过了10*0.05秒0.5秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。 3程序设计流程图t0响应n南北黄灯标志位为1n东西黄灯标志位为1y0.5s到y1s到南北黄灯位置反团里y东西黄灯位置反团里y返回倒计时减1,计数值置0nn 图3.1 定时器0中断流程图开始南北直行通行东西禁止南北左右拐通行东西禁止at89s52初始化南北黄灯闪烁南北黄灯闪烁通行35秒yn闪烁5秒yn通行15秒yn闪烁5秒yn东西黄灯闪烁东西直行通行南北禁止东西左右拐通

23、行南北禁止东西黄灯闪烁通行35秒yn闪烁5秒yn通行15秒yn闪烁5秒yn 图3.2 主程序流程图int0响应n“繁忙”键按下n“特殊”键按下n“正常”键按下返回关中断开中断正常模式设置y繁忙模式设置y特殊模式设置y 图3.3 外部中断0中断流程图 4总体设计与电路图4.1芯片选择 4.1.1 单片机at89s52at89s52低功耗高性能cmos 8位单片机,片内8k bytes isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司之高密度、非易失性存储技术制造,兼容标准 mcs-51指令系统及80c51引脚结构,片上

24、flash允许程序存储器在系统可编程,亦适于常规编程器。单芯片上,拥有8 位cpu及在系统可编程flash,使at89s52为众多嵌入式控制应用系统提供高灵活、超有效之解决方案。 at89s52之特点:40个引脚,8k bytes flash片内程序存储器,256 bytes的随机存取数据存储器(ram),32个外部双向输入/输出(i/o)口,5个中断优先级2层中断嵌套中断,2个16位可编程定时计数器,2个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。at89c52低电压高性能cmos 8位单片机,片内8k bytes的可反复擦写的flash只读程序存储器及256 bytes的随机存

25、取数据存储器(ram),器件采用atmel公司的高密度、非易失性存储技术生产,兼容标准mcs-51指令系统,片内置通用8位中央处理器及flash存储单元,功能强大之at89c52单片机可为您提供许多较复杂系统控制之应用场合。 at89c52有40个引脚,32个外部双向输入/输出(i/o)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,at89c52可按照常规方法进行编程,亦可在线编程。其将通用之微处理器及flash存储器结合,特别是可反复擦写的flash存储器可有效降低开发成本。at89c52及at89s52之别,在于c及s, c表示需用并行编程器下

26、载(接线多且复杂),s表示可支持isp下载,可在89s52系统板上面预留isp下载接口,isp下载线可方便地自制,一74hc373,若干电阻,连接电脑并口就可用软件将hex文件下至89s52。相比较at89c52及at89s52 ,以方便计,选用at89s52。t89s52功能:8k字节flash,256字节ram,32位i/o口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一6向量2级中断结构,全双工串行口,片内晶振及时钟电路。at89s52可降至0hz静态逻辑操作,支持2种软件可选节电模式。空闲模式下,cpu 停止工作,允许ram、定时器/计数器、串口、中断继续工作。掉电保

27、护方式下,ram内容被保存,振荡器被结,单片机一切工作停止,直到下一中断或硬件复位为止。p0口8位漏极开路之双向i/o口。作为输出口,每位能驱动8个ttl逻辑电平。对p0端口写“1”时,引脚用作高阻抗输入。访问外部程序和数据存储器时,p0口亦被作为低8位地址/数据复用。在这种模式下,p0不具有内部上拉电阻。在flash编程时,p0口亦用来接收指令字节;在程序校验时,输出指令字节。程序校验时,需外部上拉电阻。p1口有内部上拉电阻的8位双向i/o 口,p1 输出缓冲器能驱动4 个 ttl 逻辑电平。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口用。作为输入使用时,被外部拉低的引脚由

28、于内部电阻的原因,将输出电流(iil)。对p1 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口用。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(iil)。此外,p1.0及p1.2分别作定时器/计数器2之外部计数输入(p1.0/t2)及时器/计数器2之触发输入(p1.1/t2ex),详见表1所示。在flash编程及校验时,p1口接收低8位地址字节。 表2:引脚号第二功能p1.0t2(定时器/计数器t2的外部计数输入),时钟输出p1.1t2ex(定时器/计数器t2的捕捉/重载触发信号和方向控制)p1.5mosi(在系统编程用)p1.6miso(在系统编程用)p1.7sck(在系统编程

29、用)p2口有内部上拉电阻的8 位双向i/o口,p2输出缓冲器能驱动4个ttl 逻辑电平。对p2 端口写“1”时,内部上拉电阻把端口拉高,此时可作输入口。作输入用时,被外部拉低的引脚因内部电阻,将输出电流(iil)。 在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行movx dptr) 时,p2口送出高八位地址。在这种应用中,p2口用很强的内部上拉发送1。在用8位地址(如movx ri)访问外部数据存储器时,p2口输出p2锁存器之内容。在flash编程及校验时,p2口亦接收高8位地址字节及一些控制信号。 p3口有内部上拉电阻的8位双向i/o口,p3输出缓冲器能驱动4个ttl 逻辑电

30、平。对p3端口写“1”时,内部上拉电阻把端口拉高,此时可用作输入口。作输入用时,被外部拉低的引脚因内部电阻之原因,将输出电流(iil)。p3口亦作为at89s52特殊功能(第二功能)用,如表2所示。在flash编程及校验时,p3口亦接收些控制信号。此外,p3口亦接收些用于flash闪存编程及程序校验的控制信号。 表3: 端口引脚第二功能p3.0rxd(串行输入口)p3.1txd(串行输出口)p3.2into(外中断0)p3.3int1(外中断1)p3.4to(定时/计数器0)p3.5t1(定时/计数器1)p3.6wr(外部数据存储器写选通)p3.7rd(外部数据存储器读选通)rst复位输入。振

31、荡器工作时,rst引脚有两个机器周期以上高电平将是单片机复位。 ale/prog访问外部程序存储器或数据存储器时,ale(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般,ale仍以时钟振荡频率的1/6输出固定之脉冲信号,故它可对外输出时钟或用于定时目的。需注意:每当访问外部数据存储器时将跳过一个ale脉冲。对flash存储器编程期间,该引脚亦用于输入编程脉冲(prog)。若必要,可通过对特殊功能寄存器(sfr)区中的8eh单元的d0位置位,可禁止ale操作。该位置位后,只有一条movx及movc指令方能将ale激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ale禁止位无效。

32、psen程序储存允许(psen)输出是外部程序存储器之读选通信号,at89s52由外部程序存储器取指令(或数据)时,每个机器周期两次psen有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次psen信号。 ea/vpp外部访问允许,要cpu仅访问外部程序存储器(地址为0000h-ffffh),ea端须保持低电平(接地)。需注意:若加密位lb1被编程,复位时内部会锁存ea端状态。若ea端为高电平(接vcc端),cpu则执行内部程序存储器之指令。 flash存储器编程时,该引脚加上+12v的编程允许电源vpp,当然这须是该器件是使用12v编程电压vpp。xtal1振荡器反相放大器及内

33、部时钟发生电路之输入端。xtal2振荡器反相放大器之输出端。单片机最小系统: 图4.2 单片机最小系统要使单片机工作起来,最基本的电路的构成为注意:1)ea/vp(31脚) 接+5v1、电源电路:向单片机供电。单片机电源: at89s51单片机的工作电压范围:4.0v5.5v, 所以通常给单片机外接5v直流电源。连接方式为vcc(40脚):接电源+5v端vss(20脚):接电源地端2、时钟电路:单片机工作的时间基准,决定单片机工作速度。时钟电路就是振荡电路,向单片机提供一个正弦波信号作为基准,决定单片机的执行速度。at89s51单片机时钟频率范围:0 33mhz。图4.3 时钟电路连接方式 3

34、、复位电路:确定单片机工作的起始状态,完成单片机的启动过程。 图4.4 复位的电路图单片机接通电源时产生复位信号,完成单片机启动,确定单片机起始工作状态。手动按键产生复位信号,完成单片机启动,确定单片机的初始状态。 通常在单片机工作出现混乱或“死机”时,使用手动复位可实现单片机“重启”。4.2电路的设计: 图4.5 总体电路图图中共有5个两位七段共阴极数码管,其中四个分别用于四个路口的倒计时显示,另一个用于总体的直行时间显示,五个数码管的阳极都接到at89s52的p0口,阴极接到p2口;共22个发光二极管,其中10个绿色发光二极管,8个红色发光二极管,4个黄色发光二极管,四个路口每个路口各有一

35、个红(禁行)、黄(警告)发光二极管,二个绿色发光二极管(通行),一个用于直行通行,一个用于左拐通行,四个人行道,sn和ew人行道各有一红、绿发光二极管,另外两个红色发光二极管分别用于繁忙模式和特殊模式的指示,其中四个路口的二极管接到p1口,人行道的发光二极管接到p3口,繁忙模式和特殊模式的指示灯接p2口;外部中断0接上五个按钮,其中三个分别用于繁忙、特殊、正常模式的转化,这三个按钮是带自锁功能的开关。另外两个用于在线时间修改时间加和时间减。图中模式开关采用自锁开关。5 系统仿真5.1 protues软件介绍 protues软件是英国labcenter electronics公司出版的eda工具

36、软件。它不仅具有其它eda工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。proteus是世界上著名的eda工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到pcb设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、pcb设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、hc11、pic10/12/16/18/24/30/dspic33、avr、arm、8086和msp430等,2

37、010年即将增加cortex和dsp系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持iar、keil和mplab等多种编译。proteus是一个标准的windows窗口程序,其启动界面如图5.1所示:图5.1 如图中所示,区域为菜单及工具栏,区域为预览区,区域为元器件浏览区,区域为编辑窗口,区域对象拾取区,区域为元器件调整工具栏,区域为运行工具条。 在 keil简介中所讲的工程项目相配套的proteus工程为例来详细讲述proteus的操作方法以及注意事项。 首先点击启动界面区域中的“p”按钮( pick devices,拾取元器件)来打开“pick devices ”(拾取元器

38、件)对话框从元件库中拾取所需的元器件。对话框如图5.2所示:图5.2 在对话框中的“keywords ”里面输入要检索的元器件的关键词,比如要选择项目中使用的 at89c51直接输入。输入以后我们能在“results ”结果栏里面看到我们搜索的元器件的结果。在对话框的右侧,我们还能够看到我们选择的元器件的仿真模型,引脚以及pcb参数。有时候选择的元器件并没有仿真模型,对话框将在仿真模型和引脚一栏中显示“ no simulator model”(无仿真模型)。那么就不能够用该元器件进行仿真了,只能做它的pcb板,或者选择其他的与其功能类似而且具有仿真模型的元器件。 搜索到所需的元器件后,双击元器

39、件名来将相应的元器件加入到文档中,接着还可以用相同的方法来搜索并加入其他的元器件,当已经将所需的元器件全部加入到文档中时,点击“ok”按钮来完成元器件的添加。 添加好元器件以后,下面就是将元器件按照需要连接成电路。首先在元器件浏览区中点击需要添加到文档中的元器件,这时就可以在浏览区看到所选择的元器件的形状与方向,如果其方向不符合你的要求,通过点击元器件调整工具栏中的工具来任意进行调整,调整完成之后在文档中单击并选定好需要放置的位置即可。接着按相同的操作即可完成所有元器件的布置,接下来是连线,事实上proteus的自动布线功能是相当的完善。布线时只需要单击选择起点,然后在需要转弯的地方单击一下,

40、按照你所需走线的方向移动鼠标到线的终点单击即可。布线如图5.3所示 图5.3:(selection mode),选择模式,通常情况下都需要选中它,比如布局时和布线时。:(component mode),组件模式,点击该按钮,能够显示出区域中的元器件,以便选择。:(wire label mode),线路标签模式,选中它并单击文档区电路连线能够为连线添加标签,经常与总线配合使用。:(text script mode),文本模式,选中它能够为文档添加文本。:(buses mode),总线模式,选中它能够在电路中画总线。:(terminals mode),终端模式,选中它能够为电路添加各种终端,比如输

41、入、输出、电源、地等:(virtual instruments mode),虚拟仪器模式,选中它能够在区域中看到很多虚拟仪器,比如示波器,电压表,电流表。 首先点击,选择终端模式,然后在元器件浏览区中点击power (电源)来选中电源,通过区域中元器件调整工具进行适当的调整,然后就可在文档区中单击放置电源了,放置并连接好线路。调试组件属性以后就要将程序(hex文件)载入单片机了。双击单片机图标,系统同样会弹出“edit component”对话框,在这个对话框中点击“program files”框右侧的,来打开选择程序代码窗口,选中相应的hex文件后返回,这时,按钮左侧的框中就填入了相应的he

42、x文件,点击对话框的“ok”按钮,回到文档,程序文件添加完成。5 .2 keil软件介绍5.2.1 系统概述 keil c51是美国keil software公司出品的51系列兼容单片机c语言软件开发系统,与汇编相比,c语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用c来开发,体会更加深刻。keil c51软件提供丰富的库函数和功能强大的集成开发调试工具,全windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到keil c51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势

43、。下面详细介绍keil c51开发系统各部分功能和使用。5.2.2 keil c51单片机软件开发系统的整体结构 c51工具包的整体结构,如图(1)所示,其中uvision与ishell分别是c51 for windows和for dos的集成开发环境(ide),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用ide本身或其它编辑器编辑c或汇编源文件。然后分别由c51及a51编译器编译生成目标文件(.obj)。目标文件可由lib51创建生成库文件,也可以与库文件一起经l51连接定位生成绝对目标文件(.abs)。abs文件由oh51转换成标准的hex文件,以供调试器dscope5

44、1或tscope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如eprom中,下图为利用keil所编写的交通灯程序(图5.4)。图5.4通过protues画图和keil写程序和编译所产生的.hex文件添加到protues中仿真产生的效果图如下所示:图5.5 protues仿真1图5.6 protues仿真2图5.7 protues仿真3程序仿真结果如下: 首先,直行时间显示数码管显示60。此时南北段绿灯亮、东西段红灯亮40s,南北段人行道绿灯亮,东西段人行道红灯亮,同时南北段和东西段方向的数码管分别从40s和60s开始倒计时。 35秒后,南北方向的黄灯

45、闪烁5秒钟,此时东西方向仍维持红灯亮,人行道灯不变。 40秒后,南北方向左拐灯亮,东西方向红灯亮,东西和南北人行道全部红灯亮,同时南北段和东西段方向的数码管分别从19秒开始倒计时。 55秒钟后,南北方向的黄灯闪烁5秒,此时东西方向仍维持红灯亮,人行道灯不变。 1分钟后,东西段绿灯亮、南北段红灯亮40s,东西段人行道绿灯亮,南北段人行道红灯亮,同时南北段和东西段方向的数码管分别从60s和40s开始倒计时。 1分35秒后,东西方向的黄灯闪烁5秒钟,此时南北方向仍维持红灯亮,人行道灯不变。 1分40秒后,东西方向左拐灯亮,南北方向红灯亮,东西和南北人行道全部红灯亮,同时南北段和东西段方向的数码管分别

46、从19秒开始倒计时。 1分55秒钟后,东西方向的黄灯闪烁5秒,此时南北方向仍维持红灯亮,人行道灯不变。 按下“繁忙”按钮时直行显示分别为45和75。其它过程与正常模式下相同。按下“特殊”按钮时数码管全灭所有方向的红灯全亮其他灯全灭。按下“时间 +”和“时间”按钮直行数码管的时间增加5秒或者减少5秒的通行时间最大值能加到100秒最小能减到40秒。5.3 交通灯程序:/* 十字路口交通灯控制 c 程序*/#defineucharunsigned char#defineuintunsigned int#include/*定义控制位*/sbit time_show_led2=p25;/time_sho

47、w_led2控制位sbit time_show_led1=p24;/time_show_led1控制位sbitew_led2=p23;/ew_led2控制位sbitew_led1=p22;/ew_led1控制位sbitsn_led2=p21;/sn_led2控制位sbitsn_led1=p20;/sn_led1控制位sbit sn_yellow=p16;/sn黄灯sbit ew_yellow=p12;/ew黄灯sbit ew_red=p13;/ew红灯sbit sn_red=p17;/sn红灯sbitsn_green=p15;/sn直行绿灯sbitsn_greenl=p14;/sn左拐绿灯sb

48、it ew_green=p11; / ew直行绿灯sbit ew_greenl=p10; / ew左拐绿灯sbit ew_mangreen=p30;/ew人行道绿灯sbit sn_mangreen=p31;/sn人行道绿灯sbit special_led=p26;/交通特殊指示灯sbit busy_led=p27;/交通繁忙指示灯sbit nomor_button=p35;/交通正常按键sbit busy_button=p36;/交通繁忙按键sbit special_button=p37;/交通特殊按键 sbit add_button=p33;/时间加sbit reduces_button=p34;/时间减bit flag_sn_yellow; /sn黄灯标志位bit flag_ew_yellow;/ew黄灯标志位chartime_ew;/东西方向倒计时单元chartime_sn;/南北方向倒计时单元uchar ew=60,sn=40,ewl=19,snl=19; /程序初始化赋值,正常模式uchar ew1=60,sn1=40,ewl1=19,snl

温馨提示

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

评论

0/150

提交评论