版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第8章单片机应用系统设计由于单片机应用系统多种多样,技术要求各不相同,因此设计方法和研制的步骤也不完全相同。本章针对大多数应用场合,讨论单片机应用系统的一般研制方法,以3个典型应用系统为例,进一步阐明单片机应用系统的设计方法。返回8.1单片机应用系统开发流程任何单片机应用系统均由硬件和软件组成。在系统研制过程中,软、硬件的功能总是在不断地调整,以便相互适应。硬件设计和软件设计不能截然分开,硬件设计入员应知道软件设计方法,而软件设计者应了解硬件的工作原理,在整个研制过程中双方互相配合,以提高工作效率。一般来讲,单片机应用系统的软、硬件设计是分不开的。单片机应用系统的研制过程包括几个不同的阶段,但它们有时是交叉进行的。如图8-1所示,描述了单片机应用系统研制的一般过程。8.1.1总体设计1.确定功能技术指标单片机应用系统的研制首先是从确定目标任务开始的。下一页返回8.1单片机应用系统开发流程首先必须根据系统应用场合、工作环境、具体功能提出合理的、详尽的功能和技术指标,这是系统设计的依据和出发点,也是决定产品前途的关键。与此同时还应对其可靠性、通用性、可维护性、先进性以及成本等综合因素进行考虑,参考国内外同类产品的有关资料,使确定的技术指标合理而且符合国内、国际标准。2.机型的选择系统设计者在选择单片机机型时,首选的机型必须有稳定、充足的货源,最好是主流产品。特别是作为产品生产的应用系统更要注意这一点。同时应根据系统的要求和各种单片机的性能,选择最容易实现产品技术指标的机型,而且能达到较高的性能价格比。上一页下一页返回8.1单片机应用系统开发流程3.器件选择除了单片机以外,还要考虑系统中其他电子器件和组件应符合系统的精度、速度和可靠性等方面的要求。在总体设计阶段,应对市场情况有个大体的了解,对器件的选择提出具体要求。4.硬件和软件功能划分系统硬件的配置和软件的设计是紧密联系在一起的,而且在某些场合,硬件和软件具有一定的互换性,即有些硬件电路的功能可用软件来实现,反之亦然。由于软件是一次性投资,因此在一般情况下,如果所研制的产品生产批量比较大,则能够由软件实现的功能都由软件来完成,以便简化硬件结构,降低生产成本。在总体设计时,必须权衡利弊,仔细划分好硬件和软件的功能。上一页下一页返回8.1单片机应用系统开发流程8.1.2硬件设计硬件的功能已由总体设计规定。硬件设计的任务就是根据总体设计要求,在所选择的机型基础上,具体确定系统中所要使用的元器件,绘出系统的电路原理图。必要时做一些单元电路实验,以验证电路的正确性,以及印制电路板设计与制作和样机的组装等。1.程序存储器片内带ROM或FLASHROM程序存储器的单片机是国内现阶段较流行的机型,使用方便,性价比较高。一般小系统可以做到“总线不出芯片”,故用其实现的应用系统可靠性高。有些场合需要大容量ROM,需要外部扩展,由于容量不同的EPROM芯片价格相仿,一般应选用速度高、容量较大的芯片,为今后软件的扩展留有余地。上一页下一页返回8.1单片机应用系统开发流程2.数据存储器和I/O接口对数据存储器容量的需求,不同系统之间差别较大。对于常规测量仪器和控制器,片内RAM(128~256个字节)已能满足要求。若需扩展少量的RAM时,宜选用RAM/IO扩展芯片8155,其片内部资源比较丰富,接口方便,特别适用于单片机系统。数据采集系统往往要求有较大容量的RAM存储器,此时RAM的选择原则是尽可能地减少RAM芯片的数量,选择大容量的RAM芯片不但体积小,而且性价比高。单片机应用系统一般均需扩展I/)接口,选择I/O接口电路时应从体积、价格、负载、功能等几个方面考虑。一般应选用标准的可编程的I/O接口电路(如8255),这样接口简单、使用方便、对总线负载小。上一页下一页返回8.1单片机应用系统开发流程但有时它们的I/O线和口的功能没有被充分利用,造成浪费。若用三态门电路或锁存器作为I/O口,则比较灵活、口线利用率高、负载能力强、可靠性高,但对总线负载大,接口较复杂。所以应根据系统总的输入、输出要求来选择接口电路。3.模拟电路设计模拟电路设计应根据系统对它的速度、精度等要求来选择,同时还需要与传感器等设备的性能相匹配。由于高速、高精度的模数转换器价格十分昂贵,因而应尽量降低对A/D的要求,能用软件实现的功能尽量用软件来实现。除此之外,在系统硬件设计阶段还要考虑地址空间分配和总线驱动等问题。上一页下一页返回8.1单片机应用系统开发流程8.1.3软件设计单片机应用系统软件的设计,是系统设计中最基本且工作量较大的任务。1.软件研制过程单片机应用系统的软件设计和一般在现有系统机上设计一个应用软件有所不同,后者是在系统机操作系统支持下的纯软件设计,而单片机的软件设计是在裸机条件下开始设计的,而且随应用系统的不同而不同。如图8-2所示,给出了单片机软件的研制过程框图。2.问题定义软件所要完成的任务,已在总体设计时规定了所承担的一个个任务细节,确定具体实施的问题定义的基础是对系统应用场合的了解程度和正确的工程判断,它为软件设计及硬件设计提供指导。上一页下一页返回8.1单片机应用系统开发流程首先要定义输入、输出,确定数据的传输方式。数据的传输方式有串行或并行通信、异步或同步通信、选通或非选通输入输出、数据传输的速率、数据格式、校验方法以及所用的状态信号等。它们必须和硬件逻辑相协调一致。同时还必须明确对输入输出数据应进行哪些必要的处理。将输入数据变为输出结果的基本过程,主要取决于对算法的确定。对实时系统,测试和控制有明确的时间要求,例如,对模拟信号的采样频率、何时发送数据、何时接收数据、有多少延迟等。同时必须考虑到可能产生错误类型和检测方法,在软件上做何种处理,以减少错误对系统的影响。软件的可靠性也是系统可靠性的重要因素。3.软件结构设计合理的软件结构是设计一个性能优良的单片机应用系统软件的基础。上一页下一页返回8.1单片机应用系统开发流程必须给予足够的重视。由问题的定义,系统的整个工作可分解为几个相对独立的操作,根据这些操作的相互联系的时间关系,设计合理的软件结构,使CPU有条不紊地完成这些操作。1)顺序程序设计方法对于简单的单片机应用系统,通常采用顺序设计方法,这种系统软件由主程序和若干个中断服务程序所构成。根据系统各个操作的性质,指定哪些操作由中断服务程序完成,哪些操作由主程序完成,并指定各个中断的优先级。中断服务程序对实时事件请求作必要的处理,使系统能实时地并行完成各个操作。中断处理程序必须包括保护现场、中断服务、恢复现场、中断返回等4个部分。上一页下一页返回8.1单片机应用系统开发流程中断的发生是随机的,它可能在任意地方打断主程序的运行,无法预知这时主程序执行的状态。因此在执行中断服务程序时,必须先对原有程序状态进行保护。保护现场的内容应是中断服务程序所使用的有关资源(如PSW,ACC,DPTR,R0~R7等)。中断服务程序是中断处理程序的主体,它由中断所要完成的功能来确定,例如,输入或输出一个数据等。恢复现场与保护现场相对应,恢复被保护的有关寄存器状态。中断返回使CPU回到被中断所打断的地方继续执行原来的程序。主程序是一个顺序执行的无限循环的程序,不停地顺序查询各种软件标志,以完成对日常事务的处理。主程序的结构如图8-3所示。主程序和中断服务程序之间的信息交换,一般采用数据缓冲器和软件标志(置位或清0位寻址区的某一位)的方法。上一页下一页返回8.1单片机应用系统开发流程例如,定时中断到1*后置位标志SS〔设为(20H).0〕,通知主程序对日历时钟进行计数,主程序查询到SS=“1”时,清0该标志并完成时钟计数。又如A/D中断服务程序在读到一个完整数据时将数据存入约定的缓冲器,并置位标志以通知主程序对此数据进行处理。再如打印,主程序判断到打印机空闲时,将数据装入打印缓冲器,并启动打印机和允许打印中断。打印中断服务程序将一个个数据输出打印,打印完后关中断,并置位打印结束标志,以通知主程序打印机已空。因为顺序程序设计方法容易理解和掌握,也能满足大多数简单的应用系统对软件的功能要求,因此是一种应用很广的方法。顺序程序设计的缺点是软件的结构不够清晰,软件的修改扩充比较困难、实时性能差。这是因为当功能复杂的时候,执行中断服务程序要花较多的时间。上一页下一页返回8.1单片机应用系统开发流程CPU执行中断服务程序时不能响应低级或同级中断,这可能导致某些实时中断请求得不到及时响应,甚至会丢失中断信息。如果多采用一些缓冲器和标志,让大多数工作由主程序完成,中断服务程序只完成一些必需的操作,从而缩短中断服务程序的执行时间,这在一定程度上能提高系统的实时性,但是众多的软件标志会使软件结构变乱,容易发生错误,同时也给调试带来困难。2)采用实时多任务操作系统由于单片机应用的不断深入和推广,系统的功能要求越来越高,往往要求对多个对象同时进行实时控制,对各个对象的实时信息以足够快的速度进行处理并作出快速响应。例如,对于主从式的多级控制系统,主机一般是功能较强的计算机系统,从机采用单片机。上一页下一页返回8.1单片机应用系统开发流程从机完成数据的定时采集、计算、打印、显示以及和主机的通讯,这些操作都要并行地进行。对于上述这种比较复杂的单片机应用系统,采用上面介绍的常规的顺序程序设计方法,就难达到规定的技术指标,只有采用实时多任务操作系统才能从根本上提高系统的实时性、并行性,才能使软件结构标准化、模块化。关于实时多任务操作系统的功能、结构和在实时多任务操作系统支持下的应用软件设计方法,请读者参考相关文献和书籍。4.程序设计技术1)模块程序设计模块程序设计是单片机应用中常用的一种程序设计技术。它是把一个功能完整的较长的程序分解为若干功能相对独立的较小的程序模块。上一页下一页返回8.1单片机应用系统开发流程各个程序模块分别进行设计、编写程序和调试,最后将各个调试好的模块联成一个大的程序。模块程序设计的优点是:单个功能明确的程序模块的设计和调试比较方便、容易完成。一个模块可以为多个程序所共享,还可以利用现成的程序模块(如各种现成的子程序)。模块程序设计的缺点是:各个模块的连接有时有一定难度,程序模块的划分没有一定的标准。一般可以参考以下原则:每个模块不宜太大;力求使各模块之间界限明确、在逻辑上相对独立;尽量利用现成的程序模块。2)自顶向下的程序设计自顶向下程序设计时,先从主程序开始设计,从属程序或子程序用符号来代替。上一页下一页返回8.1单片机应用系统开发流程主程序编好后再编制各从属程序和子程序,最后完成整个系统软件的设计。自顶向下程序设计的优点是比较符合于入们的日常思维,设计、调试时可按一个线索进行,程序错误可以较早地发现;其缺点是上一级的程序错误将对整个程序产生影响,一处修改可能引起对整个程序的全面修改。5.程序设计在选择好软件结构和所采用的程序设计技术后,便可着手进行程序设计,将问题的定义转化为具体的程序。1)建立数学模型根据问题的定义,描述出各输入变量和各输出变量之间的数学关系,此过程即为建立数学模型。上一页下一页返回8.1单片机应用系统开发流程数学模型的正确度是系统性能好坏的决定性因素之一。例如,在直接数字控制系统(DDC)中,采用数字PID控制算法或其他改进形式,参数PID的整定是至关重要的。在测量系统中,从模拟输入通道得到的温度、流量、压力等现场信息与该信息对应的物理量之间常常存在非线性关系,用什么样的公式来描述这种关系,进而进行线性化处理,这对仪器的测量精度起决定性的作用。此外,还有为了削弱或消除干扰信号的影响选择什么样的数字滤波方法等。2)绘制程序流程图通常在编写程序之前先绘制程序流程图。程序流程图以简明直观的方式对任务进行描述,并很容易由此编写出程序,故对初学者来说尤为适用。初学者最好养成绘制流程图的习惯。上一页下一页返回8.1单片机应用系统开发流程所谓程序流程图,就是把程序应完成的各种分立操作,表示在不同的框格中,并按一定的顺序把它们连接起来的框图。程序流程图也称为程序框图。在设计过程中,先画出简单的功能性流程图(粗框图),然后对功能流程图进行扩充和具体化,对存储器、寄存器、标志位等工作单元作具体的分配和说明,将功能流程图中每一个粗框的操作转变为对具体的存储器单元、工作寄存器或I/O口的操作,从而绘出详细的程序流程图。3)编写程序在完成程序流程图设计以后,便可以着手编写程序了。单片机应用程序大多用汇编语言或高级语言(如C51)编写。上一页下一页返回8.1单片机应用系统开发流程编写程序时,应采用标准的符号和格式来书写,必要时作若干功能性注释,以利于以后的调试。6.程序的汇编、调试和固化源程序编辑之后,还需进行汇编或编译、程序固化。上一页返回8.2单片机应用系统的调试8.2.1单片机仿真开发系统的功能由于单片机造价低、功能强、简单易学、使用方便、灵巧,可用来组成各种不同规模的应用系统。但由于它的硬件和软件的支持能力有限,自身无调试能力,因此必须配备一定的研制工具,提供必要的研制手段。本节简述单片机应用系统或称目标系统设计制造中所必需的开发仿真工具,以及用它们调试单片机应用系统的基本方法。1.概述用单片机组成应用系统时,其应用程序怎样写到程序存储器中去?写入是否有错?如何修改?怎样运行程序?运行结果是否符合设计要求?出了故障怎么办?是软件还是硬件故障?等等。这些都是单片机应用系统开发研制中常遇到的问题。下一页返回8.2单片机应用系统的调试通常单片机应用系统十分简单,有的连简易的键盘和显示器都不需要,靠自身根本无法解决这些问题,必须借助外界的帮助。对于复杂的应用系统,更需要有调试开发的手段。在方案论证时就必须对关键性的环节进行实验、模拟;在对软、硬件分调时,有的应用程序较长,必须靠外界对程序进行机器码的翻译;在系统联调时,必须对软件、硬件各部分进行全面测试,仔细测试样机是否达到了系统设计的性能指标,以便充分暴露可能存在的问题。要完成以上工作必须具有开发工具。开发工具主要有软件仿真和硬件仿真两种,这里主要介绍硬件仿真开发系统。2.单片机仿真开发系统上一页下一页返回8.2单片机应用系统的调试帮助研制单片机应用系统的工具称为单片机开发工具或叫单片机仿真开发系统。它和微机开发一样,是用来帮助研制单片机应用系统的软件和硬件的一种专用装置。开发系统的一般结构如图8-4所示。除了专门制作的开发系统以外,通常还可以用微机作为主处理机。例如,用IBM-PC及其兼容机作为主处理机。那么,通用的微机与用它制作成的单片机开发系统有什么区别呢?作为开发系统,它除了具备通用机所有的软、硬件资源(如磁盘、CRT、打印机、操作系统、程序语言、数据库管理系统等)以外,在硬件上主要还需配置EPR0M写入器和在线仿真器,在软件上主要增加与单片机有关的交叉汇编程序、仿真调试程序、EPR0M写入程序等。因此单片机开发系统由主处理机、在线仿真器、EPR0M写入器及有关的软件组成。上一页下一页返回8.2单片机应用系统的调试3.单片机仿真开发系统的功能单片机仿真开发系统的性能优劣和单片机应用系统的研制周期密切相关。一个单片机开发系统功能强弱可以从在线仿真、调试、软件辅助设计、目标程序固化等方面来分析。1)仿真器与在线仿真功能单片机的仿真器本身就是一个单片机系统,它具有与所要开发的单片机应用系统相同的单片机芯片,例如8031或8051等。当一个单片机用户系统接线完毕后,由于自身无调试能力,无法验证好坏,这时,可以把应用系统中的单片机芯片拔掉,插上在线仿真器提供的仿真头,如图8-5所示。上一页下一页返回8.2单片机应用系统的调试所谓“仿真头”实际只是一个DIP-40引脚的插头,它是仿真器的单片机芯片信号的延伸,即单片机应用系统与仿真器共用一块单片机芯片,当在开发系统上通过在线仿真器调试单片机应用系统时,就像使用应用系统中真实的单片机一样,这种觉察不出的“替代”称为“仿真”。而在线仿真器(InCircuitEmutour)简称ICE。
ICE是由一系列硬件构成的设备。开发系统中的在线仿真器应能仿真应用系统中的单机并能模拟应用系统中的R0M,RAM和I/O端口的功能。使在线仿真的应用系统的运行环境和脱机运行的环境完全“逼真”,以实现应用系统的一次性开发。在线仿真时,单片机开发系统应能将在线仿真器中的单片机完整地“出借”给应用系统,即除CPU出借外,还将存储器等均“出借”。上一页下一页返回8.2单片机应用系统的调试可以不占用应用系统单片机的任何资源,使应用系统在联机仿真和脱机运行时的环境(工作程序,使用的资源和地址空间)完全一致,以实现完全的一次性仿真。单片机的资源包括:片上的CPU,RAM,SFR、定时器、中断源、I/)口以及外部扩充的程序存储器和数据存储器。这些资源应允许目标系统充分自由地使用,不受任何限制,以实现应用系统软、硬件的设计。在应用系统的开发过程中,单片机开发系统允许用户使用它内部的RAM存储器和输入输出来替代应用系统中的R0M程序存储器、数据存储器RAM和输入输出口,使用户在应用系统还未完全配置好以前,便可以借用开发系统提供的单片资源进行软件的开发。当用户应用系统中的目标程序还未生成前,尚不能固化。上一页下一页返回8.2单片机应用系统的调试此时用户的目标程序必须存放在开发系统RAM存储器内,以便于对目标程序进行调试和修改。开发系统中能“出借”的可作为应用系统程序存储器的RAM通常称为“仿真RAM"。开发系统中仿真RAM的容量和地址映射应和应用系统完全一致。MCS-51系列单片机开发系统,最多能出借64K字节的仿真RAM,并保持原有复位入口和中断入口地址不变,但不同的开发系统所出借仿真RAM容量不一定相同,使用时应参阅有关说明。2)调试功能开发系统对应用系统软、硬件的调试功能强弱,将直接关系到开发的效率,性能优良的单片机开发系统应具有以下调试功能。(1)运行控制功能。开发系统应能使用户有效地控制目标程序的运行,以便检查运行的结果,对存在的硬件故障和软件错误进行定位。上一页下一页返回8.2单片机应用系统的调试故其运行需设置单步运行、设断点运行、连续运行、启/停控制等多种运行控制功能。(2)对应用系统状态的读出/修改功能。当CPU停止执行目标系统程序后,应允许用户方便地读出或修改目标系统所有资源的状态,以便检查程序运行的结果、设置断点条件及设置程序的初始参数。可供用户读出/修改的目标系统资源有:①程序存储器:开发系统中的仿真RAM存储器或目标机中的程序存储器。②单片机的内部资源:包括工作寄存器、特殊功能寄存器、I/O口、RAM数据存储器、位单元等。③系统中扩展的数据存储器和I/O口。这些均可由用户读出或修改。上一页下一页返回8.2单片机应用系统的调试(3)跟踪功能。高性能的单片机开发系统还具有逻辑分析仪的功能,在目标程序运行过程中,能跟踪存储目标系统总线上的地址、数据和控制信号的状态变化,跟踪存储器能同步地记录总线上的信息,用户可以根据需要显示跟踪存储器搜集到的信息,也可以显示某一位总线状态变化的波形。使用户掌握总线上状态变化的过程,对各种故障的定位尤其有用,可大大提高工作效率。3)软件辅助设计功能软件辅助设计功能的强弱,也是衡量单片机开发系统性能高低的重要标志。单片机应用系统软件开发的效率在很大程度上取决于开发系统的辅助设计功能。(1)程序设计语言。上一页下一页返回8.2单片机应用系统的调试目前单片机的程序语言有机器语言、汇编语言和高级语言。机器语言只在简单的开发装置中才使用,程序的设计、输入、修改和调试都很麻烦,只能用来开发非常简单的单片机应用系统。汇编语言具有使用灵活、程序容易优化的特点,所以是单片机中常用的程序设计语言。但是用汇编语言编写程序还是比较复杂的,只有对单片机的指令系统非常熟悉,并具有一定的程序设计经验,才能编制出功能复杂的应用程序。高级语言通用性好,程序设计入员只要掌握开发系统所提供的高级语言的使用方法,就可以直接用该语言编写程序。MCS一51系列单片机的编译型高级语言有:PL/M51、C51、MBASIC一51等,编译型高级语言可生成机器码。上一页下一页返回8.2单片机应用系统的调试高级语言对不熟悉单片机指令系统的用户比较适用,这种语言的缺点是不宜编写实时性很强、高效率、高质量、紧凑的程序。(2)程序编辑。单片机大都在一些简单的硬件环境中工作,因此大都直接使用机器代码程序。如何将用户系统的源程序翻译成目标程序呢?可借助开发系统提供的软件来完成。通常几乎所有的单片机开发系统都能与PC机及其兼容机连接,允许用户使用PC机上的编辑程序编写汇编语言或用高级语言来编写程序。例如,PC机上的EDLIN行编辑和记事本、WORD,WPS等屏幕编辑软件,可使用户方便地将源程序输入到计算机开发系统中,生成汇编语言或高级语言的源文件。上一页下一页返回8.2单片机应用系统的调试然后利用开发系统提供的交叉汇编或编译系统在PC机上将源程序编译成可在目标机上直接运行的目标程序。由于开发型单片机一般都具有能和PC机串行通信的接口,在PC机上生成的目标程序可通过命令直接传输到开发机的RAM中,这样大大减轻了入工输入机器码的繁重劳动。除以上程序编辑功能以外,有些单片机开发系统还提供反汇编功能及可提供给用户宏调用的子程序库等,以减少用户软件开发的工作量。4)EPR0M的固化功能单片机应用系统在应用程序尚未调好之前可“借用”开发系统的存储器,当系统调试结束,确认软件无故障时,应把用户应用系统的程序固化到片内FLASHR0M或片外EPR0M中去,EPR0M写入器就是完成这种任务的专用设备,也是单片机开发系统的重要组成部分。上一页下一页返回8.2单片机应用系统的调试由于EPR0M写入时的控制信号与TTL不兼容,因此写入器必须提供EPR0M写入时的全部电气信号。写入器在开发系统的控制下,能将暂存在开发系统存储器中的程序和常数逐条固化到插在写入器插座上的EPR0M中去,并且有写入校验功能。8.2.2单片机应用系统的调试单片机应用系统设计完成后,据硬件的设计试制、组装样机及软件设计完成后,便进入系统的调试阶段。调试单片机应用系统的一般方法如下。1.硬件调试方法单片机应用系统的硬件和软件调试是分不开的,许多硬件故障是在软件调试时才发现的。通常是应先排除系统中明显的硬件故障后才和软件结合起来调试。上一页下一页返回8.2单片机应用系统的调试1)常见的硬件故障(1)逻辑错误。样机硬件的逻辑错误是由于设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路、相位错等。(2)元器件失效。有两方面原因,一是器件本身已损坏或性能不符合要求;二是由于组装错误造成元器件失效,如电解电容、二极管的极性错误,集成块安装方向错误等。(3)可靠性差。引起可靠性差的原因很多,如孔金属化、接插件接触不良会造成系统时好时坏,经不起振动;内部和外部的干扰、电源纹波系数大、器件负载过大等造成逻辑电平不稳定;走线和布局不合理等也会引起系统可靠性差。(4)电源故障。若样机存在电源故障,则加电后将造成器件损坏。上一页下一页返回8.2单片机应用系统的调试电源故障包括:电压值不符合设计要求,电源引线和插座不对、功率不足、负载能力差等。2)硬件调试方法(1)脱机调试。在样机加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求。应特别注意电源的走线,防止电源线之间的短路和极性错误,并重点检查扩展系统总线是否存在相互间的短路或与其他信号线的短路。对于样机所用电源事先必须单独调试,调试好后,检查其电压值、负载能力、极性等均符合要求,才能加到系统的各个部件上。在不插芯片的情况下,加电检查各插件上引脚的电位,仔细测量各点电位是否正常。上一页下一页返回8.2单片机应用系统的调试尤其应注意单片机插座上各点电位是否正常,若有高压,联机时将会损坏开发机。(2)联机调试。通过脱机调试可排除一些明显的硬件故障,但有些故障还是要通过联机调试才能发现和排除。联机前先断电,将单片机开发系统的仿真头插到样机的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好。一切正常,即可打开电源。通电后执行开发机的读写指令,对用户样机的存储器、I/()端口进行读写操作、逻辑检查,若有故障,可用示波器观察有关波形,如选中的译码器输出波形、读写控制信号、地址数据波形以及有关控制电平。通过对波形的观察分析,寻找故障原因,并进一步排除故障。上一页下一页返回8.2单片机应用系统的调试可能的故障有:线路连接上有逻辑错误、有断路或短路现象、集成电路失效等。在用户系统的样机(主机部分)调试好后,可以插上用户系统的其他外围部件如键盘、显示器、A/D,D/A板等,再对这些板进行初步调试。在调试过程中若发现用户系统工作不稳定,可能有下列情况:电源系统供电电流不足,联机时公共地线接触不良,用户系统主板负载过大,用户的各级电源滤波不完善等。对这些问题一定要认真查出原因,加以排除。2.软件调试方法软件调试与所选用的软件结构和程序设计技术有关。如果采用模块程序设计技术,则逐个模块分别调试。调试各子程序时一定要符合现场环境,即入口条件和出口条件。上一页下一页返回8.2单片机应用系统的调试调试的手段可采用单步或设断点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检查程序执行结果是否符合设计要求。通过检测可发现程序中的死循环错误、机器码错误及转移地址的错误,同时也可发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中不断调整用户系统的软件和硬件,逐步通过一个一个程序模块。各模块通过以后,可以把有关的功能模块联合起来进行综合调试。在这个阶段若发生故障,可以考虑各子程序在运行时是否破坏现场、缓冲单元是否发生冲突、标志位的建立和清除在设计上有无失误、堆栈区域有无溢出、输入设备的状态是否正常等。若用户系统是在开发系统的监控程序下运行时,还要考虑用户缓冲单元是否和监控程序的工作单元发生冲突。上一页下一页返回8.2单片机应用系统的调试单步和断点调试后,还应进行连续调试,这是因为单步运行只能验证程序的正确与否,而不能确定定时精度、CPU的实时响应等问题。待全部调试完成后,应反复运行多次,除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求、安排的用户操作是否合理等,必要时再作适当的修正。如果采用实时多任务操作系统,一般是逐个任务进行调试,调试方法与上述基本相似,只是实时多任务操作系统的应用程序是由若干个任务程序组成,一般是逐个任务进行调试,在调试某一个任务时,同时也调试相关的子程序、中断服务程序和一些操作系统的程序。上一页下一页返回8.2单片机应用系统的调试调试好以后,再使各个任务程序同时运行,如果操作系统无错误,一般情况下系统就能正常运转了。软件和硬件联调完成以后,反复运行正常则可将用户系统程序固化到EPR0M中,插入用户样机后,用户系统即能脱离开发系统独立工作,至此系统研制完成。上一页返回8.3单片机应用系统设计实例本节通过针对单片机应用系统3个典型实例的功能、硬件设计、程序调试等,进行较为详细的描述,是对前几章节内容的综合运用。8.3.1单片机交通灯控制器的设计用单片机可以进行交通信号灯控制,但真正实现起来又会出现诸如信号的驱动、车辆到达的感知等许多具体的问题。为此,这里只以模拟方式从方法上进行说明。所谓模拟就是以绿、黄、红色三支共两组发光二极管表示交通信号灯,以按动按键表示车辆的到达。下面根据路口情况及控制要求的不同,把交通信号灯控制分为以下几种类型进行说明。1.定时交通信号灯控制下一页返回8.3单片机应用系统设计实例此例主要是利用P1口的并行输入/输出功能进行控制,采用软件延时方法进行显示的时间延时。在双干线路口上,交通信号灯的变化是定时的。假如:放行线:绿灯亮放行25秒,黄灯亮警告5秒,然后红灯亮禁止。禁止线:红灯亮禁止30秒,然后绿灯亮放行。使两条路线交替地成为放行线和禁止线,就可实现定时交通控制。假定以P1口线接6支发光二极管(即交通信号灯),因为电路中有反相器,所以端口线输出高电平则“信号灯”熄灭,端口线输出低电平则“信号灯”亮。为了实现上述控制要求,P1端口共输出4种控制码,如表8-1所示。参考程序:MAIN:MOVP1,#0F3H;A线放行,B线禁止。上一页下一页返回8.3单片机应用系统设计实例MOVR7,#19H;延时秒数。MAIN1:LCALLDELAY;1秒延时子程序。
DJNZR7,MAINZMOVP1,#0F5H;A线警告,B线禁止。
MOVR7,#05H;延时秒数。MAIN2:LCALLDELAYDJNZR7,MAIN2MOVP1,#0DEH;A线禁止,B线放行。
MOVR7,#19HMATN3:LCALLDELAYDJNZR7,MAIN3上一页下一页返回8.3单片机应用系统设计实例MOVP1,#OEEH;A线禁止,B线警告。
MOVR7,#05HMATN4:LCALLDELAYDJNZR7,MAIN4AJMPMAIN;1秒延时子程序。DELAY:SETBPSW.3;切换R0一R7工作寄存器组。
MOVR1,#8HLOOP1:MOVR2,#00HLOOP2:MOVR3,#00HDJNZR3,$DJNZR2,LOOP2上一页下一页返回8.3单片机应用系统设计实例DJNZR1,LOOP1CLRPSW.3;恢复工作寄存器组。RET2.有时间显示的定时交通信号灯控制本例是利用P1口进行八段式的LED显示器的控制的一个实例。“信号灯”的变化规律同上,同时用二位数码管进行30s递减时间显示。使用P1口输出“信号灯”的控制代码和LED显示器的段码。以P3.4作为个位LED显示器的位控线,P3.5作为十位LED显示器的位控线。程序中使用的工作单元定义如下:R1:秒数个位字形码寄存器。R2:秒数十位字形码寄存器。上一页下一页返回8.3单片机应用系统设计实例R3:“信号灯”控制代码寄存器。R4:LED显示器位码寄存器。R5:LED显示器段码寄存器。2AH:30秒显示计数器。主程序:MATN:MOV2AH,#1FH;设置时间显示初值。
MOVR3,#OF3H;A线放行,D线禁止。
MOVR7,#19H;延时秒数。MATN1:LCALLDFL1;秒延时子程序。
DJNZR7,MAIN1MOVR3,#0F5H;A线警告,B线禁止。上一页下一页返回8.3单片机应用系统设计实例MOVR7,#05HMAIN2:LCALLDEL1DJNZR7,MATN2MOVR3,#ODEH;A线禁止,D线放行。
MOV2AH,#1FH;设置时间显示韧值。
MOVR7,#19HMAIN3:LCALLDEL1;延时秒数。
DJNZR7,MAIN3MOVR3,#OFFH;A线禁止,B线警告。MOVR7,#05HMAIN4:LCALLDFL1上一页下一页返回8.3单片机应用系统设计实例DJNZR7,MAIN4AJMPMAIN;循环。
;1秒延时显示子程序DEL1。DFL1:DEC2AH;显示秒数减1。
MOVA,2AHMOVB,#OAHDIVAB;秒数转换为十进制。
ADDA,#2AHMOVCA,@A+PC;查表得到十位数的字形码。MOVR2,AMOVR6,#40H;设置重复次数。上一页下一页返回8.3单片机应用系统设计实例LOOP:MOVA,R1;十位数的字形码。
MOVR4,#OFFH;位控码。
LCALLDISP;调用显示子程序。
MOVA,R1;个位数的字形码。
MOVR4,#ODFH;位控码。
LCALLDISPMOVA,R3;“信号灯”控制码。
MOVR4,#OFRH;“信号灯”共阴极控制。
LCALLDISPDJNZR6,LOOP;循环显示。
RET;十进制数字形码表。上一页下一页返回8.3单片机应用系统设计实例TABLE:DBOCOHDBOF9HDBOA4HDBOR0HDB99HDB92HDB82HDBOFBHDB80HDB90H;显示子程序。上一页下一页返回8.3单片机应用系统设计实例DISP:MOVR0,#80H;设置循环次数。
MOVR5,AMOVA,R5MOVP1,A;字型码输出。
MOVA,R4MOVP3,A;位控码输出。
DJNZR0,DTSP1RET3.主支线路口的交通信号灯控制这是用按键进行控制的一个例子,在程序运行期间,其流程受到按键的控制,这实际上是外部中断功能的应用。上一页下一页返回8.3单片机应用系统设计实例由主线和支线构成的路口,其交通控制原则是尽可能保证主线的畅通,因此通常情况下都是主线放行,只有在支线有车辆到达时才放行支线。具体描述如下:(1)在通常情况下,主线为绿灯,支线为红灯。当支线有车辆到达时,延迟65后使主线由绿灯变黄灯。再经4s,主线由黄灯变红灯,支线由红灯变绿灯。(2)支线绿灯后,如主线到达车辆少于3辆,则支线绿灯维持25s,然后变黄灯,再经4s变为红灯,同时主线由红灯变绿灯。(3)若支线变绿灯后的25s之内,主线有3辆以上的车辆到达,则在第3辆车到达之时支线变为黄灯,延迟45后变为红灯,同时主线由红灯变绿灯。连接电路如图8-6所示。上一页下一页返回8.3单片机应用系统设计实例其中按键K1代表支线有车辆到达,按一下后主线发光二极管黄灯亮,然后转红灯亮,同时支线发光二极管应转绿灯亮。按键K2代表主线有车辆到达,如在支线放行期间,按键K2共3次,代表主线有3辆车到达,这时支线发光二极管应立即变黄色,然后转红灯亮,同时主线发光二极管转绿灯亮。由于键K1接P1.7,因此通过测试Pl.7的电平状态就可以了解支线是否有车辆到达,而键K2需按3次才有效,为此最好采用中断方法实现。具体说就是计数溢出中断,使用AT89C51的定时/计数器进行计数。每按一次键K2,计数器减1,按3次后就产生计数溢出。假定使用定时/计数器1,根据交通信号灯控制的需要,应采用定时工作方式2,以利用其计数溢出后计数初值自动重装的特点,保证控制的自动性和连续性。上一页下一页返回8.3单片机应用系统设计实例主程序及中断服务程序流程如图8-7所示(程序略)。4.有急救车优先的交通信号灯控制和上例一样,也是以按键控制程序运行的一个应用,其主要方法仍然是采用中断来实现。在定时交通信号灯控制的基础上,增加允许急救车优先通过的要求。当有急救车到达时路口的信号灯全部变红,以便让急救车优先通过。假定急救车通过时间为10s,急救车通过后交通灯恢复先前状态。另假定以按键K1代表有急救车到来,并以中断方式进行处理。主程序:ORG8100H;上电复位。
AJMPMAINORG8130H;INTO中断入口。上一页下一页返回8.3单片机应用系统设计实例AJMPINTMAIN:SETBEA;开中断。
SETBEX0;允许外部中断0。
CLRIT0;外中断0电平触发方式。LOOP:MOVR0,#0F3H;A线放行,B线禁止。
MOVP1,R0MOVR7_#19H;延时25秒。LOOP1:LCALLDELAY;调用1s延时子程序。
DJNZR7,LOOP1MOVR0,#0F5H;A线警告,B线禁止。
MOVP1,R0上一页下一页返回8.3单片机应用系统设计实例MOVR7,#05H;延时5s。LOOP2:LCALLDELAY;调用1s延时子程序。
DJNZR7,LOOP2MOVR0,#0FEH;A线禁止,B线放行。
MOVP1,R0MOVR7,#19H;延时5s。LOOP3:LCALLDELAY;调用1s延时子程序。
DJNZR7,LOOP3MOVR0,#0FEH;A线禁止,B线放行警告。
MOVP1,R0MOVR7,#05H;延时5s。上一页下一页返回8.3单片机应用系统设计实例LOOP3:LCALLDELAYDJNZR7,LOOP4MOVR1,#0F6H;两线禁止。
LJMPMAIN;中断服务程序。INT1:LCALLDELAY;调用1s延时子程序。
DJNZR7,INT1MOVP1,R0;恢复原状态。
RETI;中断返回。8.3.2单片机温度控制器的设计上一页下一页返回8.3单片机应用系统设计实例本节以一个化工合成装置的单片机温度控制系统为例,来介绍单片机应用系统的设计方法及在过程自动控制系统中的应用。1.系统功能要求(1)对化工合成装置的温度进行检测,并按工艺要求,控制最高加热温度。(2)在升温阶段,控制合成装置的温度以每小时15℃的速率上升。(3)加入触媒后温度采用恒值控制:前期为370℃,中期为380℃,后期为390℃。精度为±3℃:(4)最高温度连续3次达到400℃时发出报警信号。(5)显示检测温度值。(6)每半小时打印1次最高温度值及检测时间。(7)留有扩充余地,以实现多回路控制。上一页下一页返回8.3单片机应用系统设计实例根据上述功能要求,选用AT89C51系列单片机作为主控机,采用带有死区的控制法,当温度在给定的死区范围内时,不予调节;超出给定范围时,由计算机按照运算结果,驱动步进电机、调节加热装置,以控制装置的温度。2.系统硬件设计本系统的硬件电路由温度检测转换、信号放大、A/D转换、单片机、功率放大、执行电路、打印、显示及报警电路等部分组成,如图8-8所示为系统硬件方框图。1)温度检测电路采用铂电阻作为测温元件。这类材料具有性能稳定、抗氧化能力强和测量精度高等特点。上一页下一页返回8.3单片机应用系统设计实例如图8-9所示,由测温元件Rt和电阻元件组成的桥式电路,将由温度变化所引起的铂电阻的阻值变化转换成电压信号送入放大器。铂电阻安装在测量现场,通过长线接入控制台,为了减小引线电阻的影响,采用三线式接线法。显然,外界温度变化对连接导线的影响在桥路电阻中是相互抵消了。2)信号放大电路信号放大电路由单芯片集成精密放大器AD522组成图8-9为AD522引脚图。IN+和IN一为为信号差动输入端;2,14脚之间外接电阻R(;用于调整放大倍数,4,6脚为调零端;13脚为数据屏蔽端;12脚为测量端,11脚为参考端,这两端间的电位差即为加到负载上的信号电压。使用时,测量端与输出端(7脚)在外部相连接,输出放大后的信号。上一页下一页返回8.3单片机应用系统设计实例在图8-9中,将信号地与放大器的电源地(9脚)相连接,为放大器的偏置电流提供通路。AD522的非线性度仅为时0.005%(G=100时),在0.1一100Hz的频带范围内,噪声的峰值为1.5µV,共模拟制比CMRR>100db,信号输入线的屏蔽接到放大器的数据屏蔽端,有效地减少了外电场对输入信号的干扰。3)A/D转换电路采用ICL7109组成A/D转换电路,ICL7109芯片是Intel公司的产品。其转换速率为7.55次/s(时钟为3.58MHz),转换后以12位二进制代码输出。ICL7109采用双积分式工作原理,转换速率不高,但可满足本系统对采样速率的要求。上一页下一页返回8.3单片机应用系统设计实例而其具有较强的抗噪声干扰的特性,对于保证系统的检测与控制精度,是非常有利的。在图8-9中,A/D转换器直接与单片机P1和PO口连接,12位数据转换后直接由PO口读入到片内RAM中。12位数据需分两次读入。89C51的P1.0、P1.1、P1.2分别与A/D转换器的运行/保持输入端(RUN/HOLD)、字节使能端HBEH、HBEL)及A/D转换器的状态输出端(STATUS)相连接;片选端(CE/LOAD)与P2.2相连,在片选和字节使能信号的控制下可以直接读取转换后的数据。ICL7109的振荡器信号、基准电压及有关的外接电容图中均未画出,使用时读者可参考有关资料自行连接。4)控制温度设置电路上一页下一页返回8.3单片机应用系统设计实例采用AT89C51的P1口的P1.7~Pl.4设置4个开关K4~K1,K4~K1分别表示降温控制开关、设置控制温度的后期、中期、前期开关。当K1合上时,表示设置控制温度为370℃(触媒使用的前期温度);K2合上时,表示设置控制温度为380℃(触媒使用的中期);K3合上时,表示设置控制温度为390℃(触媒使用的后期);K4合上时,表示停止加热,系统进入降温过程。通过软件检测P1.7~Pl.4的状态,发现某开关合上,则设置对应的控制温度,并转入相应的工作过程。5)功率放大及执行电路(1)执行元件。该控制系统中采用步进电机作为执行元件,其作用是将计算机送出的电脉冲信号转换为相应的机械位移。上一页下一页返回8.3单片机应用系统设计实例它的主要特点是:①步距值不受各种干扰因素的影响,转子运动的速度主要取决于电脉冲信号的频率,而转子的总位移量取决于总脉冲的个数;②步进误差不积累,转子每转动一圈累积误差为零;③控制性能好,启动、停车、反转及其他任何运行方式的改变,都在少数脉冲内完成。在一定的频率范围内运行时,任何运行方式都不会丢失一步。由于步进电机具有快速启停、精确步进以及直接接受数字量等特点,因而在工业控制中得到了广泛应用。在工业上常用的步进电机有反应式、永磁式、混合式等多种结构形式。本例采用三相反应式步进电机,其步距角为1.5/3;最大静力矩为5N·m;最高空载启动频率为550步/s。(2)执行控制系统的组成。步进电机控制系统主要由步进电机控制器、功率放大器及步进电机组成。上一页下一页返回8.3单片机应用系统设计实例步进控制器包括环形脉冲分配器、控制逻辑及正反转控制门组成,其作用是把输入脉冲信号按一定顺序进行分配,再通过功率放大送入步进电机绕组,以驱动步进电机转动,如图8-10所示为步进电机控制执行系统方框图。(3)步进电机的工作原理及分配方式。步进电机的种类较多,如单相、双相、三相、四相、五相、六相等多种类型。在此以三相步进电机为例来介绍它的工作原理及工作方法。三相步进电机有A,B,C三个绕组,按一定规律循环给三个绕组供电,就能使它按要求的规律转动。其工作原理如图8-11所示。图中的脉冲发生器按要求产生一定频率的脉冲信号,通过脉冲分配器产生一定规律的电脉冲输出给驱动器,以驱动步进电机运转。上一页下一页返回8.3单片机应用系统设计实例此部分可由计算机或单片机作为主控机,而脉冲分配器可以使用可编程I/O接口。步进电机脉冲分配方式及通电顺序如下:脉冲分配器每给出一组脉冲,步进电机走一步,转一个角度。计算机技术为步进电机的控制开辟了新的途径。可以通过程序随时改变脉冲分配方式和脉冲输出频率,因此能灵活、方便地控制步进电机的转速和旋转方式。上一页下一页返回8.3单片机应用系统设计实例本例中步进电机的控制部分由单片机和8155并行接口完成,8155的A口PA0~PA2分别作为步进电机的三相控制端口,其驱动电路如图8-12所示。步进电机驱动电路部分采用光电藕合,将单片机系统与步进电机驱动电路隔离,以增强系统抗干扰能力,并能防止三极管损坏时电机驱动电路的高压对单片机的安全造成的威胁。三极管T可根据步进电机的电流选用合适的大功率管(达林顿管),以完成功率放大及电机驱动任务;二极管D为保护元件,为停电的电机绕组提供低阻抗续流回路,把集电极电位钳制在电源电压,防止过高的反向电压击穿三极管。(4)步进电机脉冲分配方式及控制字。通过程序可设置各分配方式时的控制字,以控制步进电机的运转。各分配方式的控制字如表8-2所示。上一页下一页返回8.3单片机应用系统设计实例6)打印机与单片机的接口为了及时记录合成装置的温度和检测时间,选用微型打印机TPµP-40A作为记录打印装置。选用AT89C51内部定时器,每隔半小时打印一次。TPµP-40A打印机通过8155与单片机接口,接口如图8-12所示。3.软件设计1)系统软件功能(1)检测开关K1,K2,K3,K4的状态,设定温度控制值,控制系统转入相应的加热或降温阶段。(2)启动A/D转换,连续读取5次转换结果之后,进行滤波及测量元件非线性特性校正处理,作为一次温度检测信号。(3)进行运算,按照运算结果,驱动步进电机以调节温度。上一页下一页返回8.3单片机应用系统设计实例(4)每隔半小时,由定时器产生中断申请,在中断服务程序中启动打印机,打印记录温度及检测时间。(5)若发现温度超限时,可发出报警信号。2)主程序主程序的功能:完成系统初始化操作;判断温度是否超限,如果超限则转报警处理,如果未超限则读入K1,K2,K3,K4状态,并根据其输入状态,散转执行相应的功能子程序。主程序流程如图8-13所示。3)主要的子程序(1)A/D转换子程序:该子程序由单片机的P2.2启动A/D转换器,根据ICL7109状态判断转换是否完成,若A/D转换完成,则将芯片置为保持状态,HOLD信号有效。上一页下一页返回8.3单片机应用系统设计实例然后,分两次由PO口读入12位转换后的数据存入单片机内部R0指示的RAM单元中。连续采集5次,再经中值滤波及线性化程序段处理,得出1次温度检测值。如图8-14所示为A/D转换子程序流程图。该程序检测一个温度点,未涉及对其他检测点和参量的巡回检测问题。(2)步进电机驱动程序:本系统用三相步进电机,采用三相六拍工作方式,各绕组供电的步进信号由8155口控制,其转动方向及通电顺序控制字如表8-3所示。根据步进电机的转向与工作时绕组通电顺序变化规律,可以在8155的RAM中设置步进电机的控制字表,见表8-3,表头地址为TAB0,表尾地址为TAB7显然,驱动信号从TAB0开始控制通电顺序,则电机为正转;若从TAB7开始控制通电顺序,则电机为反转。上一页下一页返回8.3单片机应用系统设计实例步进电机的转速由脉冲信号的周期决定,而脉冲信号的周期由CPU通过延时程序或定时器确定。本系统的三相绕组由8155的口控制,程序中的延时时间T为100ms,则电机的转速为:n=60/(NxT)转/分式中,N为电机转动一周应输出的控制字节数,采用三相六拍工作时,步距角为1.5°
。则有:N=360°/1.5°=240即转一周要输出个240个字节控制字。步进电机旋转角度控制:设旋转角度a与输出控制字节数M的关系为M=a/1.5°。只要把M保存在字节计数器里,每输出一个字节,步进电机转动一步,同时将字节计数器减1,则当字节计数器为0时,步进电机转动了M步,对应的角度为a。上一页下一页返回8.3单片机应用系统设计实例如图8-15所示为驱动步进电机转动一步的子程序流程图。入口条件DPTR中已存放步进电机的控制表的入口地址,设正转时RS为0FFH,R6为0FAH;反转时RS置为00H,R6为06H。调用本程序前已对出一个字节后延时8155初始化了,每输一个字节后延时100ms。R5,R6内容的设置是为了保证步进电机按两种不同顺序改变控制字表的地址指针,以完成正转或反转操作。步进驱动程序流程图如图8-16所示。调用该程序前,步进电机的转动步数和方向标志存放在R4,R3寄存器中,符号为“1”表示反转,为“0”表示反转,其绝对值代表转动步数。控制模型已在RAM中建表,表首地址为TAB0,表尾地址为TAB7。上一页下一页返回8.3单片机应用系统设计实例4.报警子程序当合成装置的最高温度高于400℃时,影响触媒的使用和产品质量。因此,当检测到温度超限时,应进行报警处理,该子程序是当连续采样3次温度超限后进行报警,这样是为了减少误报。5.打印机启动和定时时钟的产生统要求每隔半小时打印一次合成装置的温度和检测时间,为了实现打印机的定时启动,可利用单片机的TO加软件计数来定时半小时,半小时到通过8155启动打印机打印。由于篇幅限制,各程序的清单略,读者可以通过前面几章各功能部件编程及应用方法自行设计。上一页下一页返回8.3单片机应用系统设计实例8.3.3单片机步进电机控制器的设计步进电动机与直流电动机、交流电动机合称为三大控制电机。步进电动机广泛应用于办公自动化和工业控制等领域。例如,很多打印机、线切割机及经济型数控机床都使用步进电动机作为伺服动力装置。步进电动机的控制一般属于开环控制。1.步进电动机控制要求及控制方式1)步进电动机控制基本要求(1)步进电动机原理与基本参数。按照绕组个数分,常见步进电动机有三相、四相、五相、六相等种类。步进电动机是依靠各相绕组按照一定顺序通电而一步步转动的。步进电动机转速较低时,本步转到位后下一步还未动作,为步进运行状态。上一页下一页返回8.3单片机应用系统设计实例转速较高时,本步刚转到位时下一步又开始动作,为连续运行状态。也就是说,步进电动机有步进运行状态和连续运行状态。步进电动机转速较低时,通过听觉或视觉可以判断步进电动机确实是一步步转动的,转速较高时给入感觉与其他电动机没有什么两样。步进电动机基本技术参数如下:①相数:3、4,5、6②步距角:0.5、0.75、1.0、1.2、1.5、3.0、7.5等。③绕组工作电流:从几十mA(微型步进电动机)到十几A(功率步进电机)。④直接启动频率与最高连续运行频率。⑤最大转矩。最高连续运行频率高于直接启动频率。上一页下一页返回8.3单片机应用系统设计实例为了使步进电动机达到最高连续运行频率的相应转速,在启动过程中必要时需要加速。为了使步进电动机从最高连续运行频率的相应转速上自然停止而不丢步,在停止过程中必要时也需要减速。步进电动机的绕组等效于电阻与电感的串联体。根据过渡过程原理可以知道,给RL串联电路加上方波电源电压,其中电流为指数曲线上升的波形,撤掉电源电压时,其中电流为指数曲线下降的波形。(2)步进电动机运行通电方式。步进电动机通电规律是各相绕组交替流过电流。步进电动机通电方式有3种。第一种通电方式是任意时刻只有一相绕组流过电流,称为单拍通电。第二种通电方式是任意时刻有两相绕组流过电流,称为双拍通电。上一页下一页返回8.3单片机应用系统设计实例第三种通电方式是第一时间有一相绕组流过电流,第二时间有两相绕组流过电流,称为单双拍通电。三相步进电动机的三种通电方式各为:单三拍通电、双三拍通电、单双六拍通电。三相步进电动机在三种通电方式下A,B,C三相绕组所施加的电压波形如图8-17所示。四相步进电动机的3种通电方式分别为:单四拍通电方式、双四拍通电方式、单双八拍通电方式,四相步进电动机在三种通电方式下A,B,C,D四相绕组所施加的电压波形如图8-18所示。(3)步进电动机通电方式的影响与作用。步进电动机通电方式直接影响步距角。对同一步进电动机来说,单双拍通电方式下的步距角是单拍通电方式下或双拍通电方式下的步距角一半。上一页下一页返回8.3单片机应用系统设计实例步进电动机通电方式还影响运行稳定性,例如,单拍或双拍运行时步进电动机可能发生低频振动,改用单双拍运行方式,就可能消除低频振动。步进电动机运行时容易发生低频振荡。轻微振荡会使步进电动机丢步,振荡严重时步进电动机将停步不前。为减轻振荡,很多步进电动机内部设置了阻尼器。根据实际情况合适调整通电方式,也有助于消除振荡。一般说来,采用单双拍通电方式有助于消除振荡。采用性能较好的有源抑制驱动电路也有助于减轻振荡。2)步进电动机通电方式的实现手段步进电动机绕组顺序通电方式的实现方法有硬件法和软件法。硬件法是用若干触发器组成一个叫做“环形分配器”的脉冲发生电路,简称硬件环分。上一页下一页返回8.3单片机应用系统设计实例用于三相步进电动机的环形分配器可以产生图8-17所示的三路电压波形,以控制驱动电路。软件法是用计算机执行程序,通过接口电路产生步进电动机运行所需要的电压波形,简称软件环分。比较起来,软件环分与硬件环分各有特点。软件环分的优点是灵活方便,适应性强,而且只要利用单片机的一部分功能就可以捎带实现,不需要专门设计,但是步进电动机运行时需要占用CPU时间。硬件环分的优点是步进电动机运行时不占用CPU时间,但需要专门配置,使用起来也没有软件环分灵活方便2.单片机控制步进电动机单片机软件环形分配器主要基于以下两种编程方法:查表法、移位法。上一页下一页返回8.3单片机应用系统设计实例比较起来看,通常移位法只能进行四相步进电动机单拍或双拍通电运行控制,而查表法不但对步进电动机相数不限,能进行三相、四相、五相、六相步进电动机单拍或双拍通电运行控制,而且能进行单双拍运行控制,适应性更强些。下面结合步进电动机驱动程序的编制,介绍查表法和移位法的使用。1)三相步进电动机单
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026江苏南京大学BW20260405海外教育学院高等教育教师招聘备考题库含答案详解(突破训练)
- 2026四川省八一康复中心招聘工作人员(编制外)7人备考题库附答案详解ab卷
- 2026山东济南市妇幼保健院招聘卫生高级人才和博士(控制总量)26人备考题库含答案详解(基础题)
- 2026天津汇融商业管理有限公司招聘1人备考题库及参考答案详解(培优b卷)
- 2026福建三明将乐县事业单位招聘工作人员42人备考题库及参考答案详解(b卷)
- 2026云南红河州个旧市疾病预防控制中心(个旧市卫生监督所)合同制人员招聘3人备考题库含答案详解(研优卷)
- 2026海南海口市秀英区疾病预防控制中心招聘事业编制人员9人备考题库附答案详解(考试直接用)
- 2026广东深圳市龙岗区宝龙街道第一幼教集团招聘4人备考题库带答案详解(夺分金卷)
- 2026湖北咸宁市消防救援支队招录政府专职消防员、消防文员70人备考题库及答案详解【新】
- 2026四川省盐业集团有限责任公司选聘所属子公司总经理1人备考题库带答案详解(b卷)
- 《建设强大国内市场 加快构建新发展格局》课件
- 浅谈供电企业的人力资源管理
- 2025年下半年江西中烟工业限责任公司招聘70人易考易错模拟试题(共500题)试卷后附参考答案
- 质检员职业素养培训
- 2025年临床执业助理医师资格考试真题卷及答案
- WST 863-2025呼吸机相关肺炎预防与控制标准
- 垃圾桶采购合同
- 高速公路项目预算控制方案
- 地黄课件教学课件
- 天津中考语文5年真题(21-25年)分类汇编学生版-作文
- 游泳安全培训表格模板课件
评论
0/150
提交评论