单片机技术及应用单片机技术及应用第11章单片机应用系统设计单片机技术及应用单片机技术及应用教学提示本章重、难点在于以单片机为核心的应用系统软、硬件开发过程,即:●根据所设计的两个单片机应用系统实例,了解MCS-51单片机系统的应用。●根据具体系统的测控要求,设计硬件:元器件选择,原理图设计。●根据具体系统的测控要求,设计软件:程序的编写方法、步骤及格式。教学目标●了解单片机应用系统的设计方法。●了解单片机如何去开发系统。●通过设计两个实例,掌握单片机项目设计中的一些方法和技巧。●掌握单片机系统开发的步骤、简单实用的软硬件设计。单片机技术及应用单片机技术及应用11.1单片机应用系统的基本结构单片机应用系统是为完成某项任务而研制开发的用户系统,是以单片机为核心,配以外围电路和软件,能实现设定任务、功能的实际应用系统。前面介绍了单片机的基本组成、功能及其扩展电路。掌握了单片机的软件、硬件资源的组织和使用。此外,一个实际的单片机应用系统还涉及很多复杂的内容与问题,如涉及多种类型的接口电路、软件设计、软件与硬件的结合、如何选择最优方案等内容。本章将对单片机应用系统的软硬件设计、开发和调试等方面作介绍,以便用户能初步掌握单片机应用系统的设计。单片机技术及应用单片机技术及应用11.1.1单片机应用系统的结构1.单片机应用系统的硬件结构单片机主要用于工业测控。典型的单片机应用系统应包括单片机系统和被控对象,如图11-1所示。单片机系统包括通常的存储器扩展、显示器键盘接口。被控对象与单片机之间包括测控输入通道和伺服控制输出通道,另外还包括相应的专用功能接口芯片。2.单片机应用系统在单片机应用系统中,单片机是整个系统的核心,对整个系统的信息输入、处理、输出进行控制。与单片机配套的有相应的复位电路、时钟电路以及扩展的存储器和I/O接口,使单片机应用系统能够顺利运行。单片机技术及应用图11-1典型单片机应用系统结构单片机技术及应用3.输入通道和输出通道单片机系统输入通道用于检测输入信息。来自被控对象的信息有多种。按物理量的特征可分为模拟量、数字量和开关量3种。对于数字量的采集,输入比较简单。它们可直接作为计数输入、测试输入、I/O口输入或中断源输入进行事件计数、定时计数等,实现脉冲的频率、周期、相位及计数测量。对于开关量的采集,一般通过I/O口线直接输入。但一般被控对象都是交变电流、交变电压、大电流系统。而单片机属于数字弱电系统,因此在数字量和开关量采集通道中要用隔离器进行隔离(如光耦合器件)。对于模拟量的采集相对于数字量来说要复杂一些,被控对象的模拟信号有电信号,如电压、电流、电磁量等;也有非电量信号,如温度、湿度、压力、流量、位移量等,对于非电信号,一般都要通过传感器转换成电信号,然后再通过隔离放大、滤波、采样保持,最后再通过A/D转换送给单片机。伺服控制输出通道用于对控制对象进行控制。作用于控制对象的控制信号通常有开关量控制信号和模拟量控制信号两种。开关量控制信号的输出比较简单,只需采用隔离器件进行隔离和电平转换。模拟控制信号输出需要进行A/D转换、隔离放大和隔离驱动等。单片机技术及应用单片机技术与应用实践11.1.2单片机应用系统设计的基本过程对于单片机系统的设计,由于控制对象不同,其硬件和软件结构有很大差异,但系统设计的基本内容和主要步骤是相同的。在设计单片机控制系统时,一般需要考虑以下几个方面。1.确定系统设计的任务在进行系统设计之前,首先必须进行设计方案的调研,包括查找资料、进行调查、分析研究。要充分了解委托研制单位提出的技术要求、使用的环境状况及技术水平。明确任务,确定系统的技术指标,包括系统必须具有哪些功能。这是系统设计的依据和出发点,它将贯穿于系统设计的全过程,也是整个研制工作成败、好坏的关键,因此必须认真做好这项工作。2.系统方案设计在系统设计任务和技术指标确定以后,即可进行系统的总体方案设计,一般包括以下两个方面。单片机技术及应用1)机型及支持芯片的选择机型选择应适合于产品的要求。设计人员可大体了解市场所能提供的构成单片机系统的功能部件,根据要求进行选择。若作为系统生产的产品,则所选的机种必须要保证有稳定、充足的货源,从可能提供的多种机型中选择最易实现技术指标的机型,如字长、指令系统、执行速度、中断功能等。如果要求研制周期短,则应选择熟悉的机种,并尽量利用现有的开发工具。2)综合考虑软、硬件的分工与配合因为单片机系统中的硬件和软件具有一定的互换性,就如有些由硬件实现的功能也可以用软件来完成,反之也一样。因此,在方案设计阶段要认真考虑软、硬件的分工与配合。考虑的原则是:软件能实现的功能尽可能由软件来实现,以简化硬件结构,还可降低成本。但必须注意:这样做势必增加软件设计的工作量。此外,由软件实现的硬件功能,其响应时间要比直接用硬件时间长,而且还占用了CPU的工作时间。另外还要考虑功能接口芯片。因此,在设计系统时必须综合考虑这些因素。单片机技术及应用单片机技术与应用实践3.系统详细设计与制作系统详细设计与制作就是将前面的系统方案付诸实施,将硬件框图转化成具体电路,并制作成电路板,画出软件框图或流程图用程序加以实现。4.系统调试与修改当硬件和软件设计好后,就可以进行调试了。硬件电路检查分为两步:静态检查和动态检查。硬件的静态检查主要是电路制作的正确性,因此,一般无需借助于开发器;动态检查是在开发系统上进行的。把开发系统的仿真头连接到产品中,代替系统的单片机。然后向开发产品输入各种诊断程序,检查系统中的各部分工作是否正常,做完上述检查就可进行软硬件连调。先将各模块程序分别调试完毕,然后再进行连接,连成一个完整的系统应用软件,待一切正常后,即可将程序固化到程序存储器中,此时即可脱离开发系统进行脱机运行,并到现场进行调试,考验系统在实际应用环境中是否能正常而可靠地工作,同时再检测其功能是否达到技术指标的要求,如果某些功能还未达到要求,则再对系统进行修改,直至满足要求。上述单片机系统的设计过程用框图表示如图11-2所示。单片机技术及应用YN确定系统设计任务、技术指标选择机型划分软、硬件硬件逻辑框图设计软件结构设计选择元器件完成逻辑设计确定算法系统设计完成模块调试,排除故障(仿真联调)样机组装静态测试程序流程图及编制程序汇编及程序模块调试现场调试/工业试验达到技术指标否?图11-2系统调试流程图单片机技术及应用11.2单片机应用系统的硬件设计11.2.1硬件系统设计原则一般的单片机应用系统的硬件包括单片机系统和被控对象,设计包含两个部分内容:一是单片机芯片的选择;二是单片机系统扩展。1.单片机芯片的选择单片机芯片即单片机(或微处理器)内部的功能部件,如RAM、ROM、I/O口、定时器/计数器及中断产品等。目前市面上流行的AT89C51是美国ATMEL公司生产的低电压、高性能的CMOS8bit单片机片内带4KB闪烁可编程可擦除只读存储器(FPEROM,FalshProgrammableandErasableReadOnlyMemory)和128B的随机存储器(RAM),器件采用ATMEL公司的高密度、非易失存储技术生产,兼容标准MCS-51指令系统,片内置通用8bit中央处理器(CPU)和Flash存储单元,功能强大。AT89C51单片机可适用于许多高性能的场合,可灵活地应用于各种控制领域。单片机技术及应用2.单片机系统的扩展单片机由于受集成度限制,片内存储器容量较小,一般片内ROM小于4~8KB,片内RAM小于256B;但可在外部进行扩展,如MCS-51系列单片机的片外对可擦除可编程只读存储器、静态随机存储器(SRAM)可分别扩展至64KB。只要不能满足系统的要求时,必须在片外进行扩展,选择相应的芯片,实现系统硬件扩展。二是系统硬件配置,即按系统功能要求配置外围设备,如键盘、显示器、打印机、A/D和D/A转换器等,也即要设计合适的接口电路。总地来说,硬件设计工作主要是输入、输出接口电路设计和存储器的扩展。一般的单片机系统主要由如图11-3所示的几部分组成。单片机技术及应用单片机技术与应用实践A/DD/A传感器放大器传感器放大器多路转换器键盘执行机构打印机显示器MCS-51系列微机芯片(CPU、存储器)图11-3MCS-51系统组成单片机技术及应用11.2.2硬件设计硬件设计主要围绕单片机系统的功能扩展和外围设备配置,包括下面几个部分的设计。1.程序存储器若单片机无片内程序存储器或存储器容量不够时,需在外部扩展程序存储器。外部扩展的存储器通常选用EPROM或E2PROM。EPROM集成度高、价格便宜,E2PROM则编程容易。当程序量较小时,使用E2PROM较方便;当程序量较大时,采用EPROM更经济。2.数据存储器大多数单片机都提供了小容量的片内数据存储器,只有当片内数据存储器不够用时才扩展外部数据存储器。存储器的设计原则是:在存储容量满足要求的前提下,尽可能减少存储芯片的数量。建议使用大容量的存储芯片以减少存储器的芯片数目,但应避免盲目地扩大存储器容量。单片机技术及应用3.I/O接口由于外设多种多样,使得单片机与外设之间的接口电路也各不相同。因此,I/O接口常常是单片机应用系统中设计最复杂也是最困难的部分之一。I/O接口大致可归类为并行接口、串行接口、模拟采集通道(接口)、模拟输出通道(接口)等。目前有些单片机已将上述各接口集成在单片机内部,使I/O接口的设计大大简化。系统设计时,可以选择含有所需接口的单片机。4.传感器传感器将现场采集的各种物理量(如温度、湿度、压力等)变成电量,经放大器放大后,送入A/D转换器将模拟量转换成二进制数字量,送MCS-51系列CPU进行处理,最后将控制信号经D/A转换送给受控的执行机构。为监视现场的控制一般还设有键盘及显示器,并通过打印机将控制情况如实记录下来。在有些情况下可以省掉上述组成的某些部分,这要视具体要求来确定。单片机技术及应用5.译码电路当需要外部扩展电路时,就需要设计译码电路。译码电路要尽可能简单,这就要求存储空间分配合理、译码方式选择得当。考虑到修改方便与保密性强,译码电路除了可以使用常规的门电路、译码器实现外,还可以利用只读存储器与可编程门阵列来实现。6.驱动电路单片机外接电路较多时,必须考虑其驱动能力。因为驱动能力不足会影响产品工作的可靠性。所以当设计的系统对I/O端口的负载过重时,必须考虑增加I/O端口的负载能力,即加接驱动器。如P0口需要加接双向数据总线驱动器74LS245,P2口接单向驱动器74LS244。单片机技术及应用7.抗干扰电路对于工作环境恶劣的系统,设计时除在每块板上要有足够的退耦电容外,还要在每个芯片的电源与地之间加接0.1μF的退耦电容。电源线和接地线应该加粗些,并注意它们的走向(布线),最好沿着数据的走向。对某些应用场合,输入/输出端口还要考虑加光耦合器件,以提高系统的可靠性及抗干扰能力。8.电路的匹配单片机系统中选用的器件要尽可能考虑其性能匹配,如选用CMOS芯片的单片机构成系统,则系统中的所有芯片都应该选择低功耗的,以构成低功耗的系统。又如选用的晶振频率较高时,则存储芯片应选用存取速度较高的芯片。单片机技术及应用11.3单片机应用系统的软件设计一个应用系统中的软件一般是由系统监控程序和应用程序两部分构成的。其中,应用程序是用来完成诸如测量、计算、显示、打印、输出控制等各种实质性功能的软件;系统监控程序是控制单片机系统按预定操作方式运行的程序,它负责组织调度各应用程序模块,完成系统自检、初始化、处理键盘命令、处理接口命令、处理条件触发和显示等功能。11.3.1软件设计的特点单片机技术及应用单片机技术与应用实践应用系统中的软件是根据系统功能设计的,应可靠地实现系统的各种功能。应用系统种类繁多,应用软件各不相同,但是一个优秀的应用系统的软件应具有以下特点:(1)软件结构清晰、简洁、流程合理。(2)各功能程序实现模块化,系统化。这样,既便于调试、连接,又便于移植、修改和维护。(3)程序存储区、数据存储区规划合理,既能节约存储容量,又能给程序设计与操作带来方便