ch07

  • 格式:pdf
  • 大小:252.39 KB
  • 文档页数:9

第7章 单片机开发系统 教学提示:一个单片机应用系统从提出任务到正式投入运行的过程,称为单片机的开发,开发过程所用的设备为开发工具。

虽然单片机造价低、功能强、简单易学、使用方便,可用来组成各种不同规模的应用系统,但由于其硬件和软件的支持能力有限,自身无调试能力,因此必须配备一定的开发,以此来排除应用系统中的硬件故障和软件错误,生成目标程序。

当目标系统调试成功以后,还需要用开发工具把目标程序固化到单片机内部或外部EPROM芯片中。

教学目标:本章简述单片机应用系统设计制造中所必需的开发工具以及用它们调试单片机应用系统的基本方法。

了解单片机开发系统的功能,重点掌握MCS-51单片机开发系统软件的使用方法。

7.1 单片机开发系统概述单片机应用系统建立以后,电路正确与否,程序是否有误,怎样将程序装入机器等,这都必须借助单片机开发系统装置来完成。

单片机开发系统是单片机编程调试的必需工具。

单片机开发系统和一般通用计算机系统相比,在硬件上增加了目标系统的在线仿真器、编程器等部件,所提供的软件除有类似一般计算机系统的简单的操作系统之外,还增加了目标系统的汇编和调试程序等。

单片机开发系统有通用和专用两种类型。

通用的单片机开发系统配备多种在线仿真器和相应的开发软件,使用时只要更换系统中的仿真器板,就能开发相应的单片机或微处理器。

只能开发一种类型的单片机或微处理器的开发系统称为专用开发系统。

功能强、操作方便的单片机开发系统能加快单片机应用系统的研制周期。

国外早已研制出功能较全的产品,但价格昂贵,在国内没有得到推广。

国内很多单位根据我国国情研制出以8031作为开发芯片的MCS-51单片机开发系统的系列产品。

例如 MICE-51、DVCC-51、SICE、SYBER等。

这些产品大部分是开发型单片机,通过软件手段可达到或接近国外同类产品。

尽管它们的功能强弱并不完全相同,但都具有较高的性能价格比。

7.2 单片机开发系统的功能单片机开发系统的性能优劣和单片机应用系统的研制周期密切相关。

一个单片机开发系统功能的强弱可以从在线仿真、调试、软件辅助设计、目标程序因化等几个方面来分析。

7.2.1 在线仿真功能单片机的仿真器本身就是一个单片机系统,它具有与所要开发的单片机应用系统相同单片机原理与应用教程·212· ·212·的单片机芯片(如8031或8051等)。

当一个单片机用户系统接线完毕后,由于自身无调试能力,无法验证好坏,那么用户可以把应用系统中的单片机芯片拔掉,插上在线仿真器提供的仿真头(如图7.1所示)。

此时单片机应用系统和仿真器共用一块单片机芯片。

在开发系统上通过在线仿真器调试单片机应用系统时,就像使用应用系统中真实的单片机一样,这种觉察不到的“替代”称之为“仿真”。

在线仿真器的英文名为IN Circuit Emulator(ICE)。

ICE 是由一系列硬件构成的设备。

开发系统中的在线仿真器应能仿真目标系统(即应用系统)中的单片机,并能模拟目标系统的ROM 、RAM 和I/O 口。

使在线仿真时目标系统的运行环境和脱机运行时的环境完全“逼真”,以实现目标系统的一次性开发。

仿真功能具体地体现在以下几个方面。

1. 单片机仿真系统功能在线仿真时,开发系统应能将在线仿真器中的单片机完整地出借给目标系统,不占用目标系统单片机的任何资源,使目标系统在联机仿真和脱机运行时的环境(工作程序、使用的资源和地址空间)完全一致,实现完全的一次性仿真。

单片机的资源包括:片上的CPU 、RAM 、SFR 、定时器、中断源、I/O 口以及外部可扩充的程序存储器和数据存储器地址空间。

这些资源应允许目标系统充分自由地使用,不应受任何限制,使目标系统能根据单片机已有的资源特性进行硬件和软件的设计。

2. 模拟功能在开发目标系统的过程中,单片机的开发系统允许用户使用它内部的RAM 存储器和I/O 来替代目标系统中的ROM 程序存储器、RAM 数据存储器和I/O ,使用户在目标系统样机还未完全配置好以前,便可以借用开发系统提供的资源进行软件的开发。

在研制目标系统开始的初级阶段,目标程序还未生成,此时用户编写的程序必须存放在开发系统RAM 存储器内,以便于对程序进行调试和修改。

开发系统所能出借的可作为目标系统程序存储器的RAM ,通常称之为仿真RAM ,开发系统中仿真RAM 的容量和地址映射应和目标机系统完全一致。

对于MCS-51系列单片机开发系统,最多能出借64KB 的仿真RAM ,并保持原有复位入口和中断入口地址不变,但不同的开发系统所出借的仿真RAM 的容量不一定相同,使用时应参考有关说明。

图7.1 MICE-51单片机开发系统连接图7.2.2 调试功能开发系统对目标系统软、硬件的调试功能强弱,将直接关系到开发效率。

性能优良的单片机开发系统应具有下列调试功能。

第7章 单片机开发系统 ·213·1. 运行控制功能开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。

(1) 单步运行:能使CPU从任意的程序地址开始,执行一条指令后停止运行。

(2) 断点运行:允许用户任意设置断点条件,启动CPU从规定地址开始运行后,当断点条件(程序地址和指定断点地址符合或者CPU访问到指定的数据存储器单元等条件)符合以后停止运行。

(3) 全速运行:能使CPU从指定的地址开始连续地全速运行目标程序。

(4) 跟踪运行:类似单步运行过程,但可以跟踪到子程序中运行。

2. 目标系统状态的读出修改功能当CPU停止招待目标系统的程序后,允许用户方便地读出或修改目标系统资源的状态,以便检查程序运行的结果、设置断点条件以及设置程序的初始参数。

可供用户读出或修改的目标系统资源包括:(1) 程序存储器(开发系统中的仿真RAM存储器或目标机中的程序存储器)。

(2) 单片机中片内资源(工作寄存器、特殊功能寄存器、I/O口、RAM数据存储器、位单元)。

(3) 系统中扩展的数据存储器、I/O口。

3. 跟踪功能高性能的单片机开发系统具有逻辑分析仪的功能,在目标程序运行过程中,能跟踪存储目标系统总线上的地址、数据和控制信号的状态变化,跟踪存储器能同步地记录总线上的信息。

用户可以根据需要显示跟踪存储器搜集到的信息,也可以显示某一位总线状态变化的波形,使用户掌握总线上状态变化的过程,对各种故障的定位特别有用,可大大提高工作效率。

7.2.3 辅助设计功能软件辅助设计功能的强弱也是衡量单片机开发系统性能高低的重要标志。

单片机应用系统软件开发的效率在很大程度上取决于开发系统的辅助设计功能。

1. 程序设计语言单片机的程序设计语言有机器语言、汇编语言和高级语言。

机器语言只在简单的开发装置中才使用,程序的设计、输入、修改和调试都很麻烦。

它只能用来开发一些非常简单的单片机应用系统。

汇编语言具有使用灵活、程序容易优化的特点,是单片机中最常用的程序设计语言。

但是用汇编语言编写程序还是比较复杂的,只有对单片机的指令系统非常熟悉,并具有一定的程序设计经验时,才能研制出功能复杂的应用程序。

高级语言通用性好、程序设计人员只要掌握开发系统所提供的高级语言的使用方法,就可以直接用该语言编写程序。

MCS-51系列单片机的编译型高级语言有:PL/M51、C-51、·213·单片机原理与应用教程·214· ·214·MBASIC-51等。

解释型高级语言必须在解释程序支持下直接解释,因此编译型高级语言才能作为单片机开发语言。

高级语言对不熟悉单片机指令系统的用户比较适用,这种语言的缺点是不易编写出实时性很强、质量高、紧凑的程序。

2. 程序编辑单片机大都在一些简单的硬件环境中工作,因此大都直接使用机器代码程序。

可借助开发系统提供的软件将用户系统的源程序翻译成目标程序。

几乎所有的单片机开发系统都能与PC 连接,允许用户使用PC 的编辑程序编写汇编语言或高级语言程序。

例如,PC 上的EDLIN 行编辑和PE 、WS 等屏幕编辑程序,可使用户方便地将源程序输入到计算机开发系统中,生成汇编语言或高级语言的源文件。

然后使用开发系统提供的交叉汇编或编译系统,将源程序编译成可在目标机上直接运行的目标程序,开发型单片机一般都具有能和PC 串行通信的接口,在PC 上生成的目标程序可通过命令直接传输到开发机的RAM 中,这大大减轻了人工输入机器码的繁重劳动。

一些单片机的开发系统还提供反汇编功能,并可提供用户宏调用的子程序库,以减少用户软件研制的工作量。

7.2.4 程序固化功能在单片机应用系统中常需要扩展EPROM 或EEPROM ,作为存放程序和常数的存储器。

应用程序尚未调好时可借用开发系统的存储器。

当系统调试完毕,确认软件无故障时,应把用户应用系统的程序固化到EPROM 中去,EPROM 写入器就是完成这种任务的专用设备,它也是单片机开发系统的重要组成部分。

7.3 单片机应用系统的调试在完成了用户系统样机的组装和软件设计以后,便进入系统的调试阶段。

用户系统的调试步骤和方法基本上是相同的,但具体细节与所采用的开发机以及用户系统选用的单片机型号有关。

7.3.1 硬件的调试方法单片机应用系统的硬件调试和软件的调试是分不开的,许多硬件故障是在调试软件时才发现的,但通常是先排除系统中明显的硬件故障后,再和软件结合起来调试。

1. 常见的硬件故障1) 逻辑错误样机硬件的逻辑错误是由于设计错误和加工过程中的工艺错误所造成的。

这类错误包括错线、开路、短路等几种,其中短路是最常见的故障。

在印刷电路板布线密度高的情况下,极易因工艺原因造成短路。

2) 器件失效元器件失效的原因有两个方面:一是器件本身已损坏或性能不符合要求;二是由于组第7章 单片机开发系统 ·215·装错误造成的元器件失效,如电解电容、二极管的极性错误,集成块安装方向错误等。

3) 可靠性差引起系统不可靠的因素很多,如金属化孔、接插件接触不良会造成系统时好时坏;内部和外部的干扰、电源纹波系数过大、器件负载过大等造成逻辑电平不稳定。

另外,走线和布局的不合理等也会引起系统可靠性差。

4) 电源故障若样机中存在电源故障,则加电后将造成器件损坏。

电源的故障包括:电压值不符合设计要求,电源引出线和插座不对应,电源功率不足、负载能力差等。

2. 硬件的调试方法1) 脱机调试脱机调试是在样机加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求。

应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查扩展系统总线是否存在相互间的短路或其他信号线的短路。