单片机开发过程
第 11 章 MCS-51 单片机的开发过程 单片机本身只是一个微控制器, 内部无任何程序, 只有当它和其它器件、设备有机地组 合在一起,并配置适当的工作程序后,才能构成一个单片机应用系统, 完成规定的操作,具 有特定的功能。单片机本身不具备自主开发能力。必须借助开发工具编制、调试、下载程序 或对器件编程。开发工具的优劣,直接影响开发工作效率。本章介绍MCS-51 单片机的常用 开发工具和开发过程。 11.1 开发工具 一个单片机应用系统从提出任务到正式投入运行的过程称为单片机的开发过程,开发 所用的设备就称为开发工具。 单片机的开发工具分软件工具和硬件工具。 软件工具包括编译程序,软件仿真器等。编译程序将用户编写的汇编语言、 PL/M 语言、 C 语言或其他语言源程序翻译成单片机可执行的机器码。 软件仿真器提供虚拟的单片机运行 环境,在通用计算机上模拟单片机的程序运行过程;软件仿真器具有单步、 连续、断点运行 等功能, 在单片机程序的运行过程中随时观测单片机的运行状态, 如内部 RAM 某单元的值, 特殊功能寄存器的值等。但软件仿真只能验证程序的执行过程。 硬件工具主要有在线仿真器,编程器等。 在线仿真器是单片机开发系统中的一个主要部分。 单片机在线仿真器本身就是一个单片 机系统,它具有与所要开发的单片机应用系统相同的单片机型号。 所谓仿真,就是用在线仿 真器中的具有“透明性”和“可控性”的单片机来代替应用系统中的单片机工作,通过开发 系统控制这个 “透明的” , “可控性” 的单片机的运行, 即用开发系统的资源来仿真应用系统。 这是软件和硬件一起综合排除故障的一种先进开发手段。 所谓在线, 就是仿真器中单片机运 行和控制的硬件环境与应用系统单片机实际环境完全一致。 在线仿真的方法, 就是使单片机 应用系统在实际运行环境中,实际外围设备情况下。用开发系统仿真,调试。 在线仿真器除了“出借”自己的单片机资源外,还可以“出借”存储器。在应用系统调 试期间, 其程序存储器芯片也可以拔掉, 在线仿真器把自己的一部分存储器替换成应用系统 的存储器, 用于存故待调试的应用程序。 用在线仿真器中的这部分存储器仿佛在使用自己设 计的应用系统中的程序存储器一样。 在选择仿真器时要重点考虑以下几点: 1.系统是否具支持高级语言(PL/M,C)等。 2.是否过多地占用单片机的硬件资源。 3.实时性好坏。如仿真调试速度、最高工作频率等。 4.是否具有其他先进功能。如硬件测试、逻辑仪。 5.通用性好坏。 6.是否能对器件编程。 编程器的作用是将程序代码写入芯片。 在使用仿真器将用户程序调试完毕后, 需要使用 编程器将调试好的程序写入单片机芯片中,撤掉仿真系统将写好程序的 CPU 插入系统独立 运行。 11.2 单片机应用系统的一般形式 单片机主要用于实时控制, 因此具有一般计算机控制系统的普遍特征。 其典型应用系统应 包括单片机系统、 用于测控目的前向传感器输入通道, 后向伺服控制输出通道以及基本的人 机对话通道。 大型复杂的测控系统是一个多机系统, 还包括机与机之间进行通信的互相通道。 图 11.1 是一个典型单片机应用系统的结构框图。 1.前向通道的组成及其特点 前向通道是单片机与测控对象相连的部分,是应用系统的数据采集的输入通道。 来自被控对象的现场信息有多种多样。按物理量的特征可分为模拟量和数字、开关量 图典型单片机应用系统结构 两种。 对于数字量(频率、周期、相位、计数)的采集,输入比较简单。它们可直接作为计 数输入、测试输入、I/O 口输入或中断源输入进行事件计数、定时计数,实现脉冲的频率、 周期、相位及记数测量。对于开关量采集,一般通过 I/O 口线或扩展 I/O 口线直接输入。 一般被控对象都是交变电流、交变电压、 大电流系统。而单片机属于数字弱电系统,因此在 数字量和开关量采集通道中,要用隔离器件进行隔离(如光电耦合器件)。 模拟量输入通道结构比较复杂,一般包括变换器、隔离放大器、滤波、采样保持器、 多路开关、A/D 转换器及其接口电路,如图所示。 变换器:变换器是各种传感器的总称,它采集现场的各种信号,并变换成电信号 (电压 信号或电流信号) ,以满足单片机的输入要求。现场信号各种各样,有电信号,如电压、电 流、电磁量等;也有非电信号,如温度、湿度、压力、流量、位移量等,对于不同物理量应 选择相应的传感器。 隔离放大与滤波:传感器的输出信号一般是比较微弱的,不能满足单片机系统的输入 要求。要经过放大处理后才能作为单片机系统的采集输入信号。 还有,现场信息来自各种工 图 模拟信号的采集通道结构 业现场,夹带大量的噪音干扰信号。 为提高单片机应用系统的可靠性, 必须隔离或削减干扰 信号,这是整个系统抗干扰设计的重点部位。 采样保持器:前向通道中的采样保持器有两个作用。一是实现多路模拟信号的同时采 集;二是消除 A/D 转换器的“孔径误差” 。 一般的单片机应用系统都是用一个 A/D 转换器分时对多路模拟信号进行转换并输入给 单片机, 而控制系统又要求单片机对同一时刻的现场采样值进行处理, 否则将产生很大误差。 用一个 A/D 转换器同时对多路模拟信号进行采样是由采样保持器来实现的。采样保持器在 单片机的控制下, 在某一个时刻可同时采样它所接电路的模拟信号的值, 并能保持该瞬时值, 直到下一次重新采样。 A/D 转换器把一个模拟量转换成数字量总要经历一个时间过程。A/D 转换器从接通模 拟信号开始转换,到转换结束输出稳定的数字量, 这一段时间称为孔径时间。 对于一个动态 模拟信号,在 A/D 转换器接通的孔径时间里,输入模拟信号值是不确定的,从而会引起输 出的不确定性误差。在 A/D 转换器前加设采集保持器;在孔径时间里,使模拟信号保持某 一个瞬时值不变,从而可消除孔径误差。 多路开关:用多路开关实现一个A/D 转换器分时对多路模拟信号进行转换。多路开关 是受单片机控制的多路模拟电子开关, 某一时刻需要对某路模拟信号进行转换, 由单片机向 多路开关发出路地址信息,使多路开关把该路模拟信号与A/D 转换器接通,其它路模拟信 号与 A/D 转换器不接通,实现有选择的转换。 A/D 转换器:是前向通道中模拟系统与数字系统连接的核心部件。 综上所述,前向通道具有以下特点: (1)与现场采集对象相连,是现场干扰进入的主要通道,是整个系统抗干扰设计的重点 部位。 (2)由于所采集的对象不同,有开关量、模拟量、数字量, :而这些都是由安放在测量 现场的传感、变换装置产生的, 许多参量信号不能满足单片机输入的要求, 故有大量的、形 式多样的信号变换调节电路,如测量放大器、F/V 变换、A/D 转换,放大、整形电路等。 (3)前向通道是一个模拟、 数字混合电路系统, 其电路功耗小, 一般没有功率驱动要求。 2.后向通道的组成与特点 后向通道是应用系统的伺服驱动通道。作用于控制对象的控制信号通常有两种:一种 是开关量控制信号,另一种是模拟控制信号。 开关量控制信号的后向通道比较简单, 只需采 用隔离器件进行隔离及电平转换。模拟控制信号的后向通道,需要进行D/A 转换、隔离放 大、功率驱动等。 后向通道具有以下特点: