(精品)毕业精品-单片机交通控制灯的设计与实现(2013年优秀毕业设计)_第1页
(精品)毕业精品-单片机交通控制灯的设计与实现(2013年优秀毕业设计)_第2页
(精品)毕业精品-单片机交通控制灯的设计与实现(2013年优秀毕业设计)_第3页
(精品)毕业精品-单片机交通控制灯的设计与实现(2013年优秀毕业设计)_第4页
(精品)毕业精品-单片机交通控制灯的设计与实现(2013年优秀毕业设计)_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

目录摘要关键词AbstractKeywords引言:1. 交通信号灯硬件电路的设计11.1交通灯国内外发展概况11.2交通信号灯的作用及工作原理11.2.1道路交通控制的作用主要表现为以下几个方面11.2.2 道路交通信号灯的工作原理如下22. 系统组成32.1 硬件控制线路图32.2 器件和原理42.2.1什么是单片机42.2.2 什么是单片机系统52.3 部分电路功能72.3.1 晶振电路72.3.3 信号灯控制电路,LED及显示接口72.4 设计流程图93. 交通信号灯软件的系统编程103.1 信号灯亮灭的定时功能103.1.1 单片机的定时器103.1.2 定时器数值的设置应该注意的事项103.2 51单片机的中断系统113.2.1 中断系统的概念113.2.2 单片机的中断系统的作用123.2.3 如何实现单片机的中断123.3软件流程图124. 系统仿真174.1 proteus软件介绍175.调试功能说明235.1 硬件调试235.1.1最小系统调试235.1.2 故障点分析235.2软件调试问题及解决245.3拓展25结束语26文总结26工作展望26参考文献27致谢28单片机交通控制灯的设计与实现电子工程专业学生 宋克勇指导教师 曾实现 摘要本系统采用MCS-51系列单片机Intel8031和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8031芯片的PI口设置红、绿灯燃亮时间的功能:为了系统稳定可靠采用了MAX629“看门狗”芯片,避免系统因为死机而停止工作的情况发生;显示时间直接通过8255的PA、PB口输出;交通灯信号通过PC口输出;交通灯的点亮采用VT双向晶闸管来控制、直接采用220V交流电源驱动,系统使用性强、操作简单、扩展性强。关键词:单片机,交通灯,控制器,设计,实现Traffic control chip design and realization of the lampElectronic engineering students:Song Ke Kong Teachers: ChenWanPing ZengShiXian AbstractThis system adopts MSC-51 series only that machine Intel8031 with but programming parallel interface chip 8255A of I/O is central device the design controller of traffic lights, have realized can measure according to actual wagon flow the PI installation bonus and green light that passes through 8031 chips burn to light the function of time ;For system stabilize reliable have adopted MAX629 the chip “dog looks after the house”, have avoided that system stops working condition because of halting to occur; Show that time is directly exported through PB and PA of 8255; The signal of traffic light is exported though usually PC mouth; The point of traffic light to adopt VT two-way Jingo floodgate pipe come to control, directly drive with the alternating current source of 220 V, practicality is strong, operating is simple.Keywords: Only flat machine, Traffic light , Controller , Design , Realize 引言该设计是单片机控制交通灯,运用s51单片机实现交通灯的控制。现今世界单片机作为微型计算机一个重要部分,由于它具有抗干扰能力强、灵活性好、环境要求不高、价格低廉、开放容易等优点,在我国一 广泛的应用在工业自动化控制、自动检测、智能仪器仪表、家用电器、电力电子、机电一体化设备等1 交通信号灯硬件电路的设计1.1交通灯国内外发展概况 随着经济的发展,城市现代化程度不断提高,交通需求和交通迅速增长,城市交通网络中交通拥挤日益严重,道路运输所带来的交通拥堵、交通事故和环境污染等负面效应日益突出。逐步成为经济和社会发展中的全球性共同问题。交通问题已经日益成为世界性的难题,城市交通事故、交通堵塞和交通污染问题愈加突出。为了解决车和路的矛盾,常用的两种方法:一是控制需求,最直接的办法就是限制车辆的增长:二是增加供给,也就是修路。但是这两个办法都有其局限性。交通是社会发展和人民生活水平提高的基本条件,经济的发展必然带来出行的增加而且在我国汽车工业正处在起步阶段的时期。因此限制车辆的增长不是解决问题的好办法。而采取增加供给,即大量修筑道路基础设施的方法,在自愿、环境矛盾越来越突出的今天。面对越来越拥挤的交通,有限的财力是很难支持的!所以在道路管理方面就要加强交通安全,而在道路管理中最长见的就是交通灯。因此交通灯是目前道路最为常见,也是最为广泛的交通规范工具!1.2交通信号灯的作用及工作原理1.2.1道路交通控制的作用主要表现为以下几个方面: 改善交通秩序,增加交通安全。 减少交通延误,提高经济效益。 降低污染程度,保护生态环境。节省能源和土地消耗。交通信号灯由红灯、绿灯、黄灯组成。红灯表示禁止通行,绿灯表示准许通行,黄灯表示警示。交通信号灯分为机动车信号灯、非机动车信号灯、人行横道信号灯、车道信号灯、方向指示信号灯、闪光警告信号灯、道路与铁路平面交叉道口信号灯。交通信号灯用于道路平面交叉路口,通过对车辆、行人发出行进或停止的指令,使各同时到达的人、车交通流尽可能减少相互干扰,从而提高路口的通行能力,保障路口畅通和安全。 (1)机动车信号灯。由绿黄红三种颜色的灯组成,绿灯亮时,准许车辆通行,但转弯车辆不得妨碍被放行的直行车辆、行人通行;黄灯亮时,已越过停止线的车辆可继续通行;红灯亮时,禁止车辆通行。 (2)车道信号灯。车道信号灯由绿色箭头灯和红色叉形灯或红色箭头灯组成,绿色箭头灯亮时,准许本车道车辆按指示方向通行;红色叉形灯或红色箭头灯亮时,禁止本车道车辆通行。 (3)人行横道信号灯。人行横道信号灯由绿灯和红灯组成,绿灯亮时,准许行人通过人行横道;红灯亮时,禁止行人进入人行横道,但是已经进入人行横道的,可以继续通过或者在道路中心线处停留等候第一章 交通信号灯硬件电路的设计1.2.2 道路交通信号灯的工作原理如下:设计一个十字路口交通灯自动控制电路。设:a-南北方向绿灯接通; b-东西方向绿灯接通; c-南北方向红灯接通; d-东西方向红灯接通;e-南北方向黄灯接通;f-东西方向黄灯接通。 工作顺序为ABCDA, 要求各状态的工作时间如下图所示。 绿灯-(25s)-黄灯-(5s)-红灯-(30s)-绿灯-(循环)2 系统组成2.1 硬件控制线路图2.2 器件和原理所需硬件电路的名称规格数量单片机芯片MSC-521晶振12M1电容22pF2电解电容10uF2电阻2206排阻2201共阴数码管共阴4发光二极管红黄绿各两个开关1MAX2321电容1uF4串口1电阻10K12.2.1什么是单片机单片机是指一个集成在一块芯片上的完整计算机系统。尽管他的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部总线系统,目前大部分还会具有外存。同时集成诸如通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。单片机也被称为微控制器(Microcontroler),是因为它最早被用在工业控制领域。单片机由芯片内仅有CPU的专用处理器发展而来。最早的设计理念是通过将大量外围设备和CPU集成在一个芯片中,使计算机系统更小,更容易集成进复杂的而对提及要求严格的控制设备当中。INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。随着工业控制领域要求的提高,开始出现了16位单片机,但因为性价比不理想并未得到很广泛的应用。90年代后随着消费电子产品大发展,单片机技术得到了巨大的提高。随着INTEL i960系列特别是后来的ARM系列的广泛应用,32位单片机迅速取代16位单片机的高端地位,并且进入主流市场。而传统的8位单片机的性能也得到了飞速提高,处理能力比起80年代提高了数百倍。目前,高端的32位单片机主频已经超过300MHz,性能直追90年代中期的专用处理器,而普通的型号出厂价格跌落至1美元,最高端的型号也只有10美元。当代单片机系统已经不再只在裸机环境下开发和使用,大量专用的嵌入式操作系统被广泛应用在全系列的单片机上。而在作为掌上电脑和手机核心处理的高端单片机甚至可以直接使用专用的Windows和Linux操作系统。单片机比专用处理器最适合应用于嵌入式系统,因此它得到了最多的应用。事实上单片机是世界上数量最多的计算机。现代人类生活中所用的几乎每件电子和机械产品中都会集成有单片机。手机、电话、计算器、家用电器、电子玩具、掌上电脑以及鼠标等电脑配件中都配有1-2部单片机。而个人电脑中也会有为数不少的单片机在工作。汽车上一般配备40多部单片机,复杂的工业控制系统上甚至可能有数百台单片机在同时工作!单片机的数量不仅远超过PC机和其他计算的综合,甚至比人类的数量还要多。2.2.2 什么是单片机系统单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路.下面给出一个51单片机的最小系统电路图. 图3-1复位电路:由电容串联电阻构成,由图并结合电容电压不能突变的性质,可以知道,当系统一上电,RST脚将会出现高电平,并且,这个高电平持续的时间由电路的RC值来决定.典型的51单片机当RST脚的高电平持续两个机器周期以上就将复位,所以,适当组合RC的取值就可以保证可靠的复位.一般教科书推荐C取10u,R取8.2K.当然也有其他取法的,原则就是要让RC组合可以在RST脚上产生不少于2个机周期的高电平.至于如何具体定量计算,可以参考电路分析相关书籍.晶振电路:典型的晶振取11.0592MHz(因为可以准确地得到9600波特率和19200波特率,用于有串口通讯的场合)/12MHz(产生精确的uS级时歇,方便定时操作)2.3 部分电路功能2.3.1 晶振电路 2.3.2 复位电路 2.3.3 信号灯控制电路,LED及显示接口1发光二极管简称LED,采用砷化镓、镓铝砷、和磷化镓等材料制成,其内部结构为一个PN结,具有单向导电性 当在发光二极管PN结上加正向电压时,PN结势垒降低,载流子的扩散运动大于漂移运动,致使P区的空穴注入到N区,N区的电子注入到P区,这样相互注入的空穴与电子相遇后会产生复合,复合时产生的能量大部分以光的形式出现,因此而发光。 当所有二极管都发出光时,大多数都不是很有效的。在普通二极管里,半导体材料本身吸引大量的光能而结束。发光二极管是由一个塑性灯泡覆盖集中灯光在一个特定方向。由于不同材料的禁带宽度不同,所以由不同材料制成的发光二极管可发出不同波长的光。另外,有些材料由于组分和掺杂不同,例如,有的具有很复杂的能带结构,相应的还有间接跃迁辐射等,因此有各种各样的发光二极管。发光二极管在制作时,使用的材料有所不同,那么就可以发出不同颜色的光。 发光二极管的发光颜色有:红色光、黄色光、绿色光、红外光等。 发光二极管的外形有:圆形、长方形、三角形、正方形、组合形、特殊形等。 常用的发光二极管应用电路有四种,即直流驱动电路、交流驱动电路、脉冲驱动电路、变色发光驱动电路。 使用LED作指示电路时,应该串接限流电阻,该电阻的阻值大小应根据不同的使用电压和LED所需工作电流来选择。发光二极管的压降一LED的光学参数与pn结结温有很大的关系。一般工作在小电流IF10mA,或者1020 mA长时间连续点亮LED温升不明显。因此我们选的二极管颜色为红色,黄色。绿灯是通行信号,面对绿灯的车辆可以直行红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告,信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。2.4 设计流程图 开始初始化A红灯,B绿灯Time 20sA红灯,B黄灯Time 5sA绿灯,B红灯Time 20sA黄灯,B红灯Time 5s图2.4.13 交通信号灯软件的系统编程3.1 信号灯亮灭的定时功能3.1.1 单片机的定时器在单片机应用系统中,实现定时的方法一般有以下三种:软件定时:让计算机执行一段程序来进行事件延时。这个程序段本身份没有安排其他的执行目的,只是利用该程序段的执行花费的一个固定时间。通过适当的选择指令和安排循环次数,可调节这段程序执行所需花费的时间的长短。其特点是定时时间精确,不需外加硬件电路,但占用时间。因此软件定时的时间不宜过长。:硬件定时:利用硬件电路实现定时。其特点是不占用时间,通过改变电路元器件参数调来节定时,但使用不够灵活方便。对于时间较长的定时,常用硬件电路来实现。:可编程定时器:通过专用的定时计数器芯片来实现。其特点是通过对系统时钟脉冲进行计数实现定时,定时的时间可通过程序的设定的方法改变,使用灵活方便。也可实现对外部脉冲的计数功能。单片机交通控制器的设计 当定时计数器设置为计数工作方式时,技术器对来自输入引脚T0和T1的外部信号计数,外部信号的下降沿将触发计数。最高检测频率为振荡频率的二十四分之一。计数器对外部输入信号的占空比没有特别的限制,但必须保证输入信号的高电平与低电平的持续时间在一个机器周期以上。 当设置了定时器的工作方式并启动定时器工作后,定时器就安倍设定的工作方式独立工作,不在占用CPU的操作时间,只有在计数器计满溢出时才能中断CPU当前的操作。3.1.2 定时器数值的设置应该注意的事项延时方法可以有两种一中是利用MCS-51内部定时器才生溢出中断来确定1秒的时间,另一种是采用软延时的方法。 定时器工作时必须给计数器送计数器初值,这个值是送到TH和TL中的。他是以加法记数的,并能从全1到全0时自动产生溢出中断请求。因此,我们可以把计数器记满为零所需的计数值设定为C和计数初值设定为TC 可得到如下计算通式: TC=M-C式中,M为计数器摸值,该值和计数器工作方式有关。在方式0时M为8196 ;在方式1时M的值为65536;在方式2和3为256。 T=(MTC)T计数 或T计数T计数是单片机时钟周期的倍;为定时初值如单片机的主脉冲频率为,经过分频方式213微秒毫秒方式216微秒毫秒我们在这里采用的是方式1,则初始值TC=65536-50000THO=(65536-50000)%256 TL0=(65536-50000)/256显然秒钟已经超过了计数器的最大定时间,所以我们只有采用定时器和软件相结合的办法才能解决这个问题我们采用在主程序中设定一个初值为的软件计数器和使定时毫秒这样每当到毫秒时就响应它的溢出中断请求,进入他的中断服务子程序。在中断服务子程序中,先使软件计数器加,然后判断它是否为20。为20表示秒已到可以返回到输出时间显示程序 3.1.3 定时1ms的程序代码void delay(unsigned int z)unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-);3.2 51单片机的中断系统 3.2.1 中断系统的概念计算机在执行正常程序时,如果系统出现某些急需处理的异常情况和特殊请求,CPU会暂时中止正在执行的指令,转去对随机发生的更紧迫事件进行处理;处理完后,CPU会自动返回原来的程序继续执行。 3.2.2 单片机的中断系统的作用CPU响应中断申请时,首先使先级有效位置位,以阻止同级或低级的终端申请;然后把程序计数器PC的内容压入堆饯,再把与中断服务程序入口地址送到程序计数器PC;同时清除某些中断标志。以上过程均由端系统自动完成。 3.2.3 如何实现单片机的中断8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。中断源MCS-51单片机的中断源共有5个,分为3类:外部中断源,片内溢出中断源,串行口中断源。外部中断源可以分为由片内P3.2引脚输入的INT0中断,以及由P3.3引脚输入的INT1中断。片内溢出中断分为定时器T0中断和定时器T1中断。串行口中断只有一个,片内串行数据的接收和发送中断。这5个中断源在程序存储器中各有中断服务程序的入口地址,这个地址也称为矢量地址。在CPU响应中断时,硬件自动形成各自的入口地址,由此进入中断服务程序,从而实现了正确的转移。这些中断源的符号,名称,产生的条件和中断服务入口地址如图所3.3软件流程图#includeunsigned int i=0,num=0,time=60;unsigned char ge,shi;unsigned int code table10=0x3f,0xXXX,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;void delay(unsigned int);void display();main()TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; EX0=1; IT0=1; while(1)while(time!=5) P1=0XF3; if(num=20) time-; num=0; display(); while(time!=2) if(num=10) P1=0XF7; if(num=20) P1=0XF3;num=0; time-; display(); while(time!=0) P1=0XF5; if(num=20) num=0; time-; display(); time=30; while(time!=5) P1=0XDE; if(num=20) num=0; time-; display(); while(time!=2) if(num=10) P1=0XFE; if(num=20) P1=0XDE;num=0; time-; display(); while(time!=0) P1=0XEE; if(num=20) num=0; time-; display(); time=60; void display() shi=time/10; ge=time%10; P2=0XFE; P0=tablege; delay(5); P2=0XFD; P0=tableshi; delay(5); P2=0XFB; P0=tablege; delay(5); P2=0XF7; P0=tableshi; delay(5);void delay(unsigned int z)unsigned int x,y; for(x=z;x0;x-) for(y=110;y0;y-);void exter0() interrupt 0 num=0;time=20;/*数码管计时显示*/ P1=0XF6;While(time!=0)If(num=20)num=0;time-disply();void time0() interrupt 1num+; TH0=(65536-50000)/256; TL0=(65536-50000)%256; 4 系统仿真 4.1 proteus软件介绍Proteus软件是Labcenter Electronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。本文中由于我们主要使用Proteus软件在单片机方面的仿真功能,所以我们重点研究ISIS模块的用法,在下面的内容中,如不特别说明,我们所说的Proteus软件特指其ISIS模块。 在进行下面的操作前,我先说明一点:我的Proteus版本是7.1,如果你使用的是6.9以前的版本,可能你发现在鼠标操作上会略有不同。这主要表现在6.9以前的版本鼠标左右键的作用与一般软件刚好相反,而7.0以后已经完全改过。下面我们首先来熟悉一下Proteus的界面。Proteus是一个标准的Windows窗口程序,和大多数程序一样,没有太大区别,其启动界面如下图所示:图 4-1如图中所示,区域为菜单及工具栏,区域为预览区,区域为元器件浏览区,区域为编辑窗口,区域为对象拾取区,区域为元器件调整工具栏,区域为运行工具条。下面我们就以建立一个和我们在Keil简介中所讲的工程项目相配套的Proteus工程为例来详细讲述Proteus的操作方法以及注意事项。首先点击启动界面区域中的“P”按钮(Pick Devices,拾取元器件)来打开“Pick Devices”(拾取元器件)对话框从元件库中拾取所需的元器件。对话框如下图所示: 图4-2在对话框中的“Keywords”里面输入我们要检索的元器件的关键词,比如我们要选择项目中使用的AT89C51,就可以直接输入。输入以后我们能够在中间的“Results”结果栏里面看到我们搜索的元器件的结果。在对话框的右侧,我们还能够看到我们选择的元器件的仿真模型、引脚以及PCB参数。这里有一点需要注意,可能有时候我们选择的元器件并没有仿真模型,对话框将在仿真模型和引脚一栏中显示“No Simulator Model”(无仿真模型)。那么我们就不能够用该元器件进行仿真了,或者我们只能做它的PCB板,或者我们选择其他的与其功能类似而且具有仿真模型的元器件。搜索到所需的元器件以后,我们可以双击元器件名来将相应的元器件加入到我们的文档中,那么接着我们还可以用相同的方法来搜索并加入其他的元器件。当我们已经将所需的元器件全部加入到文档中时,我们可以点击“OK”按钮来完成元器件的添加。添加好元器件以后,下面我们所需要做的就是将元器件按照我们的需要连接成电路。首先在元器件浏览区中点击我们需要添加到文档中的元器件,这时我们就可以在浏览区看到我们所选择的元器件的形状与方向,如果其方向不符合你的要求,你可以通过点击元器件调整工具栏中的工具来任意进行调整,调整完成之后在文档中单击并选定好需要放置的位置即可。接着按相同的操作即可完成所有元器件的布置,接下来是连线。事实上Proteus的自动布线功能是如此的完美以至于我们在做布线时从来都不会觉得这是一项任务,而通常像是在享受布线的乐趣。布线时我们只需要单击选择起点,然后在需要转弯的地方单击一下,按照你所需走线的方向移动鼠标到线的终点单击即可。本例我们布线的结果如下图所示(仿真我们在上面的Keil操作介绍中的简单例子)。 图4-3因为该工程十分简单,我们没有必要加上复位电路,所以这点在图中予以忽略,请大家注意。除此以外,你可能还发现,单片机系统没有晶振,这一点你需注意。事实上在Proteus中单片机的晶振可以省略,系统默认为12MHz,而且很多时候,当然也为了方便,我们只需要取默认值就可以了。下面我们来添加电源。先说明一点,Proteus中单片机芯片默认已经添加电源与地,所以我们可以省略。然后在添加电源与地以前,我们先来看一下上面第一个图中区域的对象拾取区,我们在这里只说明本文中可能会用得到的以及比较重要的工具。l:(Selection Mode)。选择模式,通常情况下我们都需要选中它,比如布局时和布线时。l :(Component Mode)。组件模式,点击该按钮,能够显示出区域中的元器件,以便我们选择。l :(Wire Label Mode)。线路标签模式,选中它并单击文档区电路连线能够为连线添加标签。经常与总线配合使用。l :(Text Script Mode)。文本模式,选中它能够为文档添加文本。l :(Buses Mode)。总线模式,选中它能够在电路中画总线。关于总线画法的详细步骤与注意事项我们在下面会进行专门讲解。l :(Terminals Mode)。终端模式,选中它能够为电路添加各种终端,比如输入、输出、电源、地等等。l :(Virtual Instruments Mode)。虚拟仪器模式,选中它我们能够在区域中看到很多虚拟仪器,比如示波器、电压表、电流表等等。关于它们的用法我们会在后面的相应章节中详细讲述。好了,下面我们就来添加电源。首先点击,选择终端模式,然后在元器件浏览区中点击POWER(电源)来选中电源,通过区域中的元器件调整工具进行适当的调整,然后就可以在文档区中单击放置电源了。放置并连接好线路的电路图一部分如下图: 图4-4连接好电路图以后我们还需要做一些修改。由上图我们可以看出,图中的R1电阻值为10k,这个电阻作为限流电阻显然太大,将使发光二极管D1亮度很低或者根本就不亮,影响我们的仿真结果。所以我们要进行修改。修改方法如下:首先我们双击电阻图标,这时软件将弹出“Edit Component”对话框(见下图所示的对话框),对话框中的“Component Referer”是组件标签之意,可以随便填写,也可以取默认,但要注意在同一文档中不能有两个组件标签相同;“Resistance”就是电阻值了,我们可以在其后的框中根据需要填入相应的电阻值。填写时需注意其格式,如果直接填写数字,则单位默认为;如果在数字后面加上K或者k,则表示k之意。这里我们填入270,表示270。修改好各组件属性以后就要将程序(HEX文件)载入单片机了。首先双击单片机图标,系统同样会弹出“Edit Component”对话框,如下图。在这个对话框中我们点击“Program files”框右侧的,来打开选择程序代码窗口,选中相应的HEX文件后返回,这时,按钮左侧的框中就填入了相应的HEX文件,我们点击对话框的“OK”按钮,回到文档,程序文件就添加完毕了。 图4-5装载好程序,我们就可以进行仿真了。5调试功能说明5.1 硬件调试5.1.1最小系统调试首先应该确认电源电压是否正常。用电压表测量接地引脚跟电源引脚之间的电压,看是否是电源电压,我们所用的电源电压是5V。接下来就是检查复位引脚电压是否正常。分别测量按下复位按钮和放开复位按钮的电压值,看是否正确。然后再检查晶振是否起振了,一般用示波器来看晶振引脚的波形,注意应该使用示波器探头的“X10”档。另一个办法是测量复位状态下的IO口电平,按住复位键不放,然后测量IO口(没接外部上拉的P0口除外)的电压,看是否是高电平,如果不是高电平,则多半是因为晶振没有起振。另外还要注意的地方是,要将EA引脚拉高,因为我们用的是片内ROM,否则会出现程序乱跑的情况。有时用仿真器可以,而烧入片子不行,往往是因为EA引脚没拉高的缘故(当然,晶振没起振也是原因只一)。经过上面几点的检查,一般即可排除故障了。如果系统不稳定的话,有时是因为电源滤波不好导致的。在单片机的电源引脚跟地引脚之间接上一个0.1uF的电容会有所改善。如果电源没有滤波电容的话,则需要再接一个更大滤波电容,例如220uF的。遇到系统不稳定时,就可以并上电容试试。5.1.2 故障点分析检测故障点的方法如下:测量电压法。首先要确认的是各芯片电源引脚的电压是否正常,其次检查各种参考电压是否正常,另外还有各点的工作电压是否正常等。信号注入法。将信号源加至输入端,然后依次往后测量各点的波形,看是否正常,以找到故障点。有时我们也会用更简单的办法,例如用手握一个镊子,去碰触各级的输入端,看输出端是否有反应,当然,还有很多其它的寻找故障点的方法,例如看、听、闻、摸等。“看”就是看元件有无明显的机械损坏,例如破裂、烧黑、变形等;“听”就是听工作声音是否正常,例如一些不该响的东西在响,该响的地方不响或者声音不正常等;“闻”就是检查是否有异味,例如烧焦的味道、电容电解液的味道等,对于一个有经验的电子维修人员来说,对这些气味是很敏感的;“摸”就是用手去试探器件的温度是否正常,例如太热,或者太凉。一些功率器件,工作起来时会发热,如果摸上去是凉的,则基本上可以判断它没有工作起来。但如果不该热的地方热了或者该热的地方太热了,那也是不行的。一般的功率三极管、稳压芯片等,工作在70度以下是完全没问题的。70度大概是怎样的一个概念呢?如果你将手压上去,可以坚持三秒钟以上,就说明温度大概在70度以下(注意要先试探性的去摸,千万别把手烫伤了)。5.2软件调试问题及解决一个应用系统并非一次就可以正确无误地设计出来,尤其是设计的程序,必须经过多次的调试才能确凿无误地工作。为避免浪费,并不把刚刚编写好的程序直接写到EPROM、EEPROM等中去,更不会急于生产安装部分硬件,在专用的仿真器或开发试验台上进行。我们首先在KEIL软件中编写程序,来进行C语言程序的调试。然后再把程序加载在PRETEUS软件上进行仿真调试。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。Keil软件可以对我们写的C语言程序进行编译,它能清晰的显示出程序

温馨提示

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

评论

0/150

提交评论