您好,欢迎访问三七文档
第2章单片机开发系统第2章单片机开发系统实训2单片机开发系统及应用2.1单片机开发系统2.2单片机开发系统的功能2.3单片机应用系统的调试2.4Keil软件的使用本章小结习题2第2章单片机开发系统实训2单片机开发系统及应用1.实训目的(1)了解单片机开发系统的基本组成及功能。(2)通过最简应用系统实例了解单片机开发系统的使用方法。2.实训设备与器件(1)实训设备:单片机开发系统。(2)实训器件与电路:与实训1相同。3.实训步骤及要求(1)系统连接。参照图2.1将单片机仿真器、实验板及计算机连接起来。第2章单片机开发系统图2.1单片机开发系统连接图第2章单片机开发系统(2)输入、编辑汇编语言源程序。先打开计算机中的仿真软件,进入仿真环境,新建源文件,输入下面的程序。注意,分号后面的文字为说明文字,输入时可以省略。保存文件时,程序名后缀应为.asm,例如LED2.asm。程序;说明ORG0000H;程序从地址0000H开始存放MOVA,#0FEH;把立即数FEH送ASTART:MOVP1,A;把A送P1口,点亮一个发光二极管RLA;左移ACALLDELAY;延时AJMPSTART;重复闪动DELAY:MOVR3,#200;延时(200ms)子程序开始第2章单片机开发系统DEL2:MOVR4,#250DEL1:NOPNOPDJNZR4,DEL1DJNZR3,DEL2RET;子程序返回END;汇编程序结束注:下一次打开该文件时,可直接用Open命令打开。第2章单片机开发系统(3)启动单片机开发系统调试软件。使用的单片机开发系统不同,所用的调试软件也不同。例如:MICE-51单片机开发系统的调试软件是MBUG,Insight-51单片机开发系统的调试软件是Medwin,美国KeilSoftware公司出品的51单片机开发系统的调试软件是Keil。不同的调试软件,其功能大致相同。在调试软件中,可完成以下操作:①打开(Open)上一步输入的汇编语言源程序文件。②将汇编语言源程序汇编(Assembly),生成十六进制文件。③将汇编后生成的十六进制文件装载(Load)到单片机开发系统的仿真RAM中。第2章单片机开发系统(4)运行及调试程序:①运行(Execute)程序,观察实验板上8个发光二极管的亮灭状态。②单步运行(Step)程序,观察每一句指令运行后实验板上8个发光二极管的亮灭状态。(5)修改、运行程序。将程序的第2行MOVA,#0FEH修改为MOVA,#01H,重复步骤(2)~步骤(4)。第2章单片机开发系统4.实训分析与总结(1)利用单片机开发系统运行、调试程序的步骤一般包括:输入源程序、汇编源程序、装载汇编后的十六进制程序及运行程序。(2)为了方便程序调试,单片机开发系统一般提供以下几种程序运行方式:全速运行(简称运行Execute)、单步运行(Step)、跟踪运行(Trace)、断点运行(Breakpoint)等。全速运行可以直接看到程序的最终运行结果,本实训中程序的运行结果是实验板上8个发光二极管轮流闪动,跟实训1中的运行结果不相同。单步运行可以使程序逐条指令地运行,每运行一步都可以看到运行结果。单步运行是调试程序中用得比较多的运行方式。第2章单片机开发系统跟踪运行与单步运行类似,不同之处在于跟踪运行可以进入子程序运行。试将本实训中的程序跟踪运行,观察它与单步运行过程的不同。断点运行是预先在程序中设置断点,当全速运行程序时,遇到断点即停止运行,用户可以观察此时的运行结果。断点运行给调试程序提供了很大的方便。试将本实训中的程序进行断点运行,观察其运行过程。(3)程序调试是一个反复的过程。一般来讲,单片机硬件电路和汇编程序很难一次设计成功,因此,必须反复调试,不断修改硬件和软件,直到运行结果完全符合要求为止。第2章单片机开发系统2.1单片机开发系统单片机应用系统建立以后,电路正确与否,程序是否有误,怎样将程序装入机器等,都必须借助单片机开发系统(装置)来完成。单片机开发系统是单片机编程调试的必需工具。单片机开发系统和一般通用计算机系统相比,在硬件上增加了目标系统的在线仿真器、编程器等部件,在软件上除有类似一般计算机系统的简单的操作系统之外,还增加了目标系统的汇编和调试程序等。单片机开发系统有通用和专用两种类型。通用的单片机开发系统配备多种在线仿真器和相应的开发软件,使用时,只要更换系统中的仿真器板,就能开发相应的单片机或微处理器。只能开发一种类型的单片机或微处理器的开发系统称为专用开发系统。第2章单片机开发系统功能强、操作方便的单片机开发系统能加快单片机应用系统的研制周期。国外早已研制出功能较全的产品,但价格昂贵,在国内没有得到推广。国内很多单位根据我国国情研制出以8031作为开发芯片的MCS-51单片机开发系统的系列产品,例如MICE-51、DVCC-51、SICE、SYBER等。这些产品大部分是开发型单片机,通过软件手段可达到或接近国外同类产品的水平。尽管它们的功能强弱并不完全相同,但都具有较高的性能价格比。第2章单片机开发系统2.2单片机开发系统的功能2.2.1在线仿真功能单片机的仿真器本身就是一个单片机系统,它具有与所要开发的单片机应用系统相同的单片机芯片(如8031或8051等)。当一个单片机用户系统接线完毕后,由于自身无调试能力,无法验证好坏,因此可以把应用系统中的单片机芯片拔掉,插上在线仿真器提供的仿真头(参考图2.1)。此时单片机应用系统和仿真器共用一块单片机芯片。在开发系统上通过在线仿真器调试单片机应用系统时,就像使用应用系统中真实的单片机一样,这种觉察不到的“替代”称为“仿真”。仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务外,一般产品的开发过程中都需要仿真。第2章单片机开发系统在线仿真器的英文名为InCircuitEmulator(简称ICE)。ICE是由一系列硬件构成的设备。开发系统中的在线仿真器应能仿真目标系统(即应用系统)中的单片机,并能模拟目标系统的ROM、RAM和I/O口,使在线仿真时目标系统的运行环境和脱机运行的环境完全“逼真”,以实现目标系统的一次性开发。仿真功能具体地体现在以下几个方面:(1)单片机仿真功能。在线仿真时,开发系统应能将在线仿真器中的单片机完整地出借给目标系统,不占用目标系统单片机的任何资源,使目标系统在联机仿真和脱机运行时的环境(工作程序、使用的资源和地址空间)完全一致,实现完全的一次性仿真。第2章单片机开发系统单片机的资源包括:片上的CPU、RAM、SFR、定时器、中断源、I/O口以及外部可扩充的程序存储器和数据存储器地址空间。这些资源应允许目标系统充分自由地使用,而不应受到任何限制,使目标系统能根据单片机固有的资源特性进行硬件和软件的设计。(2)模拟功能。在开发目标系统的过程中,单片机的开发系统允许用户使用它内部的RAM存储器和输入/输出来替代目标系统中的ROM程序存储器、RAM数据存储器和输入/输出,使用户在目标系统样机还未完全配置好以前,便可以借用开发系统提供的资源进行软件的开发。第2章单片机开发系统在研制目标系统的初级阶段,目标程序还未生成,此时用户编写的程序必须存放在开发系统的RAM存储器内,以便于对程序进行调试和修改。开发系统所能出借的可作为目标系统程序存储器的RAM,常称为仿真RAM。仿真RAM的容量和地址映射应和目标机系统完全一致。对于MCS-51系列单片机开发系统,最多能出借64KB的仿真RAM,并保持原有复位入口和中断入口地址不变。注意:不同的开发系统所能出借的仿真RAM的容量不一定相同,使用时应参考有关说明。第2章单片机开发系统2.2.2调试功能1.运行控制功能开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。单片机开发系统提供了以下几种程序运行方式:(1)单步运行:能使CPU从任意的程序地址开始,执行一条指令后停止运行。(2)断点运行:允许用户任意设置断点条件,启动CPU从规定地址开始运行后,当断点条件(程序地址和指定断点地址符合或者CPU访问到指定的数据存储器单元等条件)符合以后停止运行。第2章单片机开发系统(3)全速运行:能使CPU从指定地址开始连续地全速运行目标程序。(4)跟踪运行:类似单步运行过程,但可以跟踪到子程序中运行。上述几种运行方式在实训2中已经初步涉及,读者在今后的单片机系统开发过程中,可逐步深入地理解各种方式的应用。只有灵活运用这些方法,才能够对程序进行全方位的纠错、调试与运行。第2章单片机开发系统2.目标系统状态的读出修改功能当CPU停止执行目标系统的程序后,允许用户方便地读出或修改目标系统资源的状态,以便检查程序运行的结果、设置断点条件以及设置程序的初始参数。可供用户读出/修改的目标系统资源包括:(1)程序存储器(开发系统中的仿真RAM存储器或目标机中的程序存储器)(2)单片机中片内资源(工作寄存器、特殊功能寄存器、I/O口、RAM数据存储器、位单元)。(3)系统中扩展的数据存储器、I/O口。第2章单片机开发系统3.跟踪功能高性能的单片机开发系统具有逻辑分析仪的功能,在目标程序运行过程中,能跟踪存储目标系统总线上的地址、数据和控制信号的状态变化,跟踪存储器能同步地记录总线上的信息。用户可以根据需要显示跟踪存储器搜集到的信息,也可以显示某一位总线状态变化的波形,从而掌握总线上状态变化的过程,这对各种故障的定位特别有用,可大大提高工作效率。第2章单片机开发系统2.2.3软件辅助设计功能1.程序设计语言单片机的程序设计语言有机器语言、汇编语言和高级语言。使用机器语言开发时,程序的设计、输入、修改和调试都很麻烦,因而只能用来开发一些非常简单的单片机应用系统。汇编语言具有使用灵活、程序容易优化的特点,是单片机中最常用的程序设计语言。但是用汇编语言编写程序还是比较复杂的,只有对单片机的指令系统非常熟悉,并具有一定的程序设计经验的人,才能编写出功能复杂的应用程序。第2章单片机开发系统2.程序编辑单片机大都在一些简单的硬件环境中工作,因此大都直接使用机器代码程序。可借助开发系统提供的软件将用户系统的源程序翻译成目标程序。第2章单片机开发系统几乎所有的单片机开发系统都能与PC机连接,允许用户使用PC机的编辑程序编写汇编语言或高级语言程序。例如,PC机上的EDLIN行编辑和PE、WS等屏幕编辑程序,可使用户方便地将源程序输入到计算机开发系统中,生成汇编语言或高级语言的源文件。然后利用开发系统提供的交叉汇编或编译系统,将源程序编译成可在目标机上直接运行的目标程序。开发型单片机一般都具有能和PC机串行通信的接口,在PC机上生成的目标程序可通过命令直接传输到开发机的RAM中,这大大减轻了人工输入机器码的繁重劳动。一些单片机的开发系统还提供反汇编功能,并可提供用户宏调用的子程序库,以减少用户研制软件的工作量。第2章单片机开发系统2.2.4程序固化功能在单片机应用系统中常需要扩展EPROM或EEPROM,作为存放程序和常数的存储器。应用程序尚未调试好时可借用开发系统的存储器。当系统调试完毕,确认软件无故障时,应把用户应用系统的程序固化到EPROM或单片机内部的FPEROM中去。程序固化器就是完成这种任务的专用设备,它也是单片机开发系统的重要组成部分。第2章单片机开发系统2.3单片机应用系统的调试2.3.1硬件调试方法1.常见的硬件故障1)逻辑错误样机硬件的逻辑错误是由设计错误和加工过程中的工艺性错误造成的。这类错误包括错线、开路、短路等几种,其中短路是最常见的故障。在印刷电路板布线密度高的情况下,极易因工艺原因造成短路。第2章单片机开发系统2)器件失效元器件失效的原因有两个方面:一是器件本身已损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容、二极管的极性错误,集成块安装方向错误等。3)可靠性差引起系统不可靠的因素很多,如金属化孔、接插件接触不良会造成系统时好时坏;内部和外部的干扰、电源纹波系数过大、器件负载过大等造成逻辑电平不稳定。另外,走线和布局的不合理等
本文标题:单片机开发系统
链接地址:https://www.777doc.com/doc-3746302 .html