D-幻灯片定稿-第11章_第1页
D-幻灯片定稿-第11章_第2页
D-幻灯片定稿-第11章_第3页
D-幻灯片定稿-第11章_第4页
D-幻灯片定稿-第11章_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第11章单片机应用系统开发本章要点:n

单片机应用系统设计开发流程n

单片机可靠性设计主要技术措施11.1应用系统设计11.1.1系统总体设计确定单片机控制系统的总体方案,是系统设计中十分重要的一步。合理的总体设计来自对于系统要求的全面分析和对于实现方法的正确选择。一般说来,系统的总体设计步骤如下:1.全面分析任务对系统的要求其内容主要包括以下几个方面:(1)需要检测的信号有哪些,变换的快慢怎样,对检测精度有何要求。相应的确定检测方法和检测元件。(2)执行机构是什么,需要输出几个怎样的控制信号——模拟量还是数字量、功率有多大、有何特殊要求、相应的确定输入输出通道的结构。(3)对控制的精度有何要求,应采用何种控制算法。(4)对输出、通信等方面有何要求,相应的实现方法是什么。(5)系统操作方式,比如如何启动和停止,如何设置参数等。(6)系统是否有进一步扩展的需要,输入/输出通道和存储器容量是否要适当留下余量。(7)系统的工作环境如何,是否需要加强抗干扰设施。控制系统通常都是为某种生产设备或生产过程服务的。在分析对于系统控制的要求时,必须了解有关设备的运行性能和工艺过程。实际设计控制系统时,还往往涉及到电气设备的主电路,如电动机等,它们的工作方式与实际需要有关,对此必须考虑到。另外,在进行分析研究的过程中,还必须充分了解这类系统在国内外的现有状况,努力借鉴已有的经验,尽可能使用定型的产品,避免低水平的重复开发。2.确定系统的构成类型单片机应用系统的构成类型包括采用从元件级设计系统、利用应用板构成系统和通过购置模块式工业控制单片机组成系统三种,确定采用何种构成是系统总体设计中的重大决策。在进行应用系统开发的实际工作中,不一定要对系统作全面地了解分析之后才确定系统的构成类型,而只需根据系统某些主要的要求即可确定应采用何种构成。这些主要的要求如:是否需要屏幕显示,有怎样的打印要求,微机工作环境如何,以及经费预算和工期等。据此结合单片机控制系统三种构成类型的特点,便可确定采用哪一种类型更为合理。3.划分硬件和软件任务,画出系统结构框图在分析系统要求和确定系统类型之后,就要划分硬件和软件的任务,完成系统结构设计。单片机的硬件和软件是相互结合而工作的,有些任务必须由硬件来实现,另外有些任务则必须由软件来实现。但是也有一些任务既可以由硬件来完成,也可以由软件来完成,例如定时、逻辑控制等,这就要综合考虑确定。一般来说,增加硬件会提高成本,但能够简化设计程序,且实用性好。反之,加重软件任务,会增加编程调试工作量,但能降低成本。划分硬件和软件任务时,要按照各个部分列出其任务清单。例如数据采集部分,硬件的任务是提供测量电路,包括传感器、信号转换和放大电路、A/D转换器等;软件的任务则为

按照一定的采样周期,进行定时采样,把数据存入指定区域。根据对硬件任务和软件任务的划分,可以画出系统的结构框图。系统结构框图包括硬件框图和应用程序结构框图。框图画成模块式,作为下一步硬件设计和软件设计的基础。如果一个微机控制系统(包括智能仪表等)确定采用单片机,那么系统构成一般只限于两种类型——从元件级设计系统或利用应用板(单片机)构成系统。在这里我们只讲述从元件级设计系统。所谓从元件级进行系统设计,即根据任务需求分析,选择合适的单片机,配置必需的存储器、接口和外围设备组成一个应用系统。在完成总体设计之后,系统设计的任务便可细分为硬件设计和软件设计两部分。11.1.2硬件设计硬件设计的任务是根据总体设计给出的结构框图,逐一设计出每一个单元电路,最后组合起来,成为完整的硬件系统。1.微处理器的选择从元件级设计控制系统,微处理器一般都选择单片机。微处理器的主要性能指标是位数、主频、寻址能力、指令系统、内部寄存器情况等。位数是重要指标,除了影响运算精度以外,还关系到指令系统的功能、寻址能力以及操作速度。主频影响操作速度。寻址能力决定可能的最大存储容量。指令系统性能影响数据处理、输入/输出等操作功能以及编程的方便性。内部寄存器的数量和功能也与操作方便性有关。此外,单片机都带有一定数量的内部RAM,还可能有内部ROM或其他部件。对于工业控制系统来说,一般对于微处理器的运算精度、数据处理功能、寻址能力和操作速度,没有很高的要求。它的要求偏重于中断系统、I/O口的数量和功能、内部寄存器和存储器的类型、容量以及是否集成A/D转换器件等。因此,除了某些高精度快速系统需要采用16位单片机以外,对于一般控制系统来说,选择8位单片机均能满足要求。8位单片机的类型很多,计算机公司根据检测和控制的需要,还在大力开发新的产品,如增加片内ROM的容量、集成高速A/D转换器、附带看门狗电路等,具有很大的选择余地。

2.存储器的配置

存储器的配置任务是确定片外存储器的类型和容量,选定存储器型号,设计扩展电路。

在硬件设计阶段,由于还没有完成软件设计,无法准确地估计所需存储器的容量。这时可根据对控制系统的分析,凭借经验大致地估算所需存储器的容量,估算时应留有一定的余量。

对于RAM和ROM,需分别确定容量。选择存储器芯片的型号时,应选择常用型号,尽量减少芯片数量,同时对于RAM还需考虑是否需要进行掉电保护。3.输入通道设计输入通道的设计内容是确定通道结构和元件配置,合理选择A/D转换器和其他部件。作为实际控制系统的完整输入通道,还包括信号的检测和转换环节,在设计输入通道时需要统一考虑。例如,对于温度检测和控制系统,选用哪种测温元件;若传送距离较长,是采用电压信号、电流信号还是频率信号进行传送。另外,如果采用热电偶作为检测元件,其信号需要经过放大,还有冷端补偿和查分度表的问题;如果采用热电阻做测温元件,则信号需要经过转换和放大,还有线性化等一系列问题。这些既与输入通道的硬件设计有关,同时还涉及到软件设计问题。此外,在输入通道设计中,必须采取适当的信号隔离措施。4.输出通道设计输出通道的设计内容也是要确定其通道结构和元件配置,并合理选择D/A转换器和其他部件。输出通道的特点是带有功率驱动,要根据执行机构的需要,合理的选择驱动电路。这一部分有时也会涉及到电气设备的主电路。另外,与输入通道设计相同,输出通道设计时也要注意采取适当措施对信号进行隔离以抗干扰。5.外围电路设计(1)人机交互参数设定。任何控制系统中都需要人机交互界面,这其中有些参数可能需要人为设定。如实现某一输入功能的按键、开关等器件,通常可根据方便操作的原则来选用。(2)系统启动/停止等操作。为了实现系统的启动、停止和复位,要设置相应的按键和开关。另外,为了使生产设备在自动控制系统出现故障的情况下能够继续运行,一般需设置手动操作开关,同时要有自动/手动切换环节。(3)显示部分的设计。在简单应用系统中,一般不需CRT显示器,通常使用LED数码管显示器或LCD显示器。设计时可根据要显示的数据种类、数目和位数,确定显示方式和显示数码管的数量。当用一组数码管显示多种数据时,可以采取多种不同的显示方式。例如自动巡回显示或由按键选择显示等。另外,还需根据实际需要确定系统采用动态显示还是静态显示。这些定下来后就可以着手设计显示部分的电路。(4)打印。当系统有打印要求时,一般可采用安装在操作面板上的微型打印机。首先要设计其接口电路,此外要确定打印操作方式——定时打印还是由开关(按键)控制打印。若是后者,则需设置打印开关。(5)报警。报警的方式通常有声(如蜂鸣器)、光(信号灯)等,这些信号通常由开关量输出、经驱动电路进行控制。另外,还可以采取在声、光报警的同时在数码管上显示特殊字符或符号进行报警的方法,符号的显示一般由软件完成。根据系统的报警需求,确定出报警的方式,从而设计出相应的电路。(6)通信。若有通信需求,可利用单片机上的串行口来实现。6.硬件合成以上的各单元电路的设计完成之后,就可以进行硬件合成了。所谓硬件合成即将各单元电路按照总体设计的硬件结构框图组合在一起,形成一个完整的硬件系统原理图。在进行硬件合成时,应注意以下几点:(1)根据输入和输出的信号需要,全面地安排微处理器的I/O口,查看是否够用。如果不够用,应扩展I/O口。扩展I/O口(以及存储器)之后,应该校核微处理器总线的实际负载,必要时接入总线驱动器。(2)检查信号逻辑电平是否兼容。电路中可能兼有TTL和MOS器件,也可能有非标准的信号电平,若电平不兼容,就要加电平转换电路。(3)从提高可靠性出发,全面检查电路设计。检查抗干扰措施是否完备,考虑是否要设置“看门狗”电路,是否需要增加自检环节等。(4)考虑电源系统。相互隔离部分的电路必须采用各自独立的电源和地线,切不可混用。同一部分电路的电源,其电压种类应尽量减少。对于稳压性能有特殊要求的电路,如A/D转换器的基准电压,要确定是否需要单独设置。(5)合理安排地线系统。确定哪些单元电路的地线可以相连,哪些地线接机壳、接大地或浮空。7.电源配置在确定系统所用的几种直流电源后,分别估算出其所需功率。如有合适的微机用整流产品,直接选用即可。在交流侧应采用滤波装置,必要时加隔离变压器和交流稳压器。如果没有现成产品可用,就要自行设计电源变压器和整流稳压电路。硬件设计除了上述七部分内容以外,还可能需要进行印制电路板、操作面板的设计等,这些内容都有相关专业资料介绍,在此不再赘述。11.1.3软件设计软件设计是单片机应用系统设计中最重要、最基本的工作环节之一。软件设计的任务是在系统设计和硬件设计的基础上,根据要求确定程序结构和划分功能模块(包括主程序模块和各子程序模块),然后编写各模块程序,分别调试完毕后连接在一起,构成一个完整的应用程序。现在分别进行介绍。1.软件结构设计在进行系统总体设计时,已经给出软件结构框图。但由于总体设计时,硬件系统没有明确,因此结构框图只是一个粗略的整体框架。当硬件设计完成后,就能够具体明确对软件的要求。例如:数据采集部分,明确CPU对启动A/D转换要发什么控制信号;端口地址是什么;CPU用什么方法得知A/D转换结束,以便输入转换结果;采样周期多长等。根据这些具体信息,便可进行软件结构的具体设计。软件结构设计通常采用模块化程序设计方法。其中心思想是将一个功能较多、程序量较大的程序整体,按其功能划分为若干个相对独立的程序段(称为程序模块),分别进行独立的设计、调试和查错,最终连接成一个程序整体。模块化程序设计方法的优点是:每个模块的程序设计无须过多了解其它模块,可以独立进行;便于修改和调试;便于程序调用;程序整体层次清晰,结构一目了然,方便阅读。一般系统软件结构由主程序模块和多个子程序及中断服务程序模块构成。主程序的一般结构是先进行各种初始化,然后循环查询各种软件标志以完成对事务的处理。主程序通常是一个顺序执行的无限循环程序。各个子程序模块可根据其所完成的具体功能来划分,例如可分为:定时、数据采集、数字滤波、标度变换、控制算法、显示、报警、打印等,进而明确各个模块的任务和相互联系,画出每个模块的算法流程图。2.主程序和各模块程序的设计

根据确定的算法流程图,分别编写主程序和各模块程序。编程时尽量利用已有的子程序,以减少工作量。对于程序的编写,需要说明以下几点:(1)编程语言一般都采用汇编语言,汇编语言具有执行速度快、占用内存少的特点,适合用于实时控制系统。对于那些计算工作量较大的系统,也可以采用高级语言和汇编语言混合编程的方法。数据采集、判断和控制输出等程序用汇编语言,而较为复杂的计算程序采用高级语言。在单片机系统中,可以采用的高级语言有BASIC语言、C语言、PL/M语言等。借助于一般的单片机开发装置,就能使用高级语言编程。(2)在程序设计过程中,完成预定的功能是最基本、最重要的任务,但同时还必须贯彻可靠性设计的原则,例如采取必要的抗干扰措施——数字滤波、软件陷阱等。(3)控制算法是微机控制系统程序设计中的重要内容,要根据被控制对象的特性,合理选择控制算法,以达到所要求的控制精度。(4)对于存储器空间的使用应统一安排。例如在程序存储器中,安排好用户程序区、子程序区、表格区等。在数据存储器中,安排好采样数据区、处理结果数据区、显示和打印数据区、标志区等。(5)对于各个程序模块,要首先画出程序算法流程图,说明其功能。以便于编写子程序时明确各程序模块的入口、出口参数和对CPU内部寄存器的占用情况。(6)对于程序中的指令应有必要的注释,以便于阅读与使用。(7)主程序和各模块程序的设计完成后,连接成为一个完整的程序。最后对于整个程序作详细的说明,内容包括占用内部资源情况、存储器分配情况、标志的定义以及程序启动方法等。11.1.4软件与硬件的调试在整个系统硬件设计和软件设计基本完成后,就进入系统调试阶段。系统调试通常分为三步,即硬件调试、软件调试和综合调试。1.硬件调试尽管单片机系统的硬件和软件调试相互密切联系,许多硬件错误是在软件调试中发现的,但是一般还是尽可能的先排除硬件故障后,再进行联机调试。(1)静态测试在样机加电之前,首先要进行静态测试,主要内容有:1)检查线路。通过目测和使用万用表,检查样机连线的正确性,应特别注意各电路板之间的连线。对于自制或委托加工的印制电路板,应检查电路板的线条和元件焊接质量。2)核对元器件,检查所有元器件是否有插错或损坏现象。3)检查电源系统。将用户样机中所有芯片都从插座上拔下,给样机加电。检查完整流稳压电路后,逐一检查各芯片插座上电源引脚及其它引脚电压是否有异常情况。若一切正常,断电,插上一个芯片,重复检查电压,并试摸该芯片是否发热。如果电源电压正常而芯片过热,说明芯片有故障。如果插上某个芯片后对电源系统有影响,则应进一步检查与该芯片有关的电路或更换该芯片再试。在进行电源系统检查时,应重点检查CPU插座,该插座上绝对不能有高于5V的电压。否则连机时将损坏仿真器。电源系统检查正常后,即可插上全部芯片(CPU除外)。4)外围电路调试。将所有能进行硬件单独调试的外围电路如检测信号放大电路、输出驱动电路等都调试好。进行这些局部电路调试时,可能要人为提供有关模拟信号或开关信号。有些系统有多块外围电路印制电路板,就要逐块调试,所以这一步也称为“单板调试”。(2)联机调试联机调试是软硬件结合调试,即利用简单的调试程序来调试硬件系统。联机调试需要用专用仿真插头将用户样机和仿真器连接起来,分别打开用户样机和仿真器的电源,然后按以下步骤进行:1)测试扩展RAM(数据存储器)。用开发装置将一批数据写入用户样机的扩展RAM中,然后再将其读出校验。如果对于任意区域读出和写入的内容都一致,表明扩展RAM工作正常,否则就有故障。可能产生RAM读写故障的原因有:工作电源未接通;地址线、数据线路短路或接错;读写信号线未接好以及RAM芯片损坏等。2)测试I/O口和I/O设备。对于单片机本身的输出口,用仿真器内部特殊功能寄存器修改命令将数据写入输出口或运行一段给输出口赋值的程序,然后检查输出口的相应状态及所接设备的状态,如与写入的内容一致,说明输出口及输出设备工作正常。对于单片机本身的输入口,通过输入设备给输入口设置一定的状态,然后用读特殊功能寄存器命令读出相应输入接口寄存器的状态,如与设定的状态一致,说明输入口工作正常。扩展I/O口大多是可编程的。检查时应先向其控制(命令)寄存器写入控制字,设定接口的工作状态,然后再用外部数据存储器读写命令来检查I/O口的状态,如果I/O口状态与读写数据一致,表明工作正常。3)检查晶振电路和复位电路。将仿真器的晶振选择开关打到用户一边,仿真器应能正常工作,否则用户样机的晶振电路有故障。用户样机加电或按复位按钮时,仿真系统应能复位,否则复位电路有故障。4)测试A/D和D/A转换器。A/D转换器的测试,一般要编制一段检测程序。人为调节输入模拟电压大小,如果输出数字量与输入模拟量符合转换关系,则此A/D转换系统工作正常。D/A转换器的测试也要借助于检测程序。如果输出模拟量与输入数字量的对应关系正确,说明D/A转换系统工作正常。5)试验显示、打印、报警等电路。显示、打印、报警等电路的试验,也需要借助程序进行。以上4)、5)两项的测试,也可以利用系统应用软件中有关的程序段来进行,这就归入下面的“软件调试”部分。2.软件调试软件调试是指应用程序调试。首先要将用汇编语言或高级语言编写的源程序进行编辑、汇编(或编译),变成目标程序(机器代码程序),然后才能调试,因此,软件调试实际上可分为编辑、汇编(或编译)和调试两部分。(1)程序的编辑、汇编(或编译)源程序的编辑在PC机上进行,一般利用仿真系统提供的编辑环境,也可以利用PC机上的某一种编辑软件。源程序的编辑完成以后,其汇编(或编译)工作在开发环境下使用相应软件来完成,生成目标程序。将该文件送入仿真RAM中,就可以调试用户程序。(2)程序调试在前面曾经介绍过,应用程序分成若干功能模块来编写和调试,各程序模块都调试通过后,再将它们组合起来进行系统统调。模块程序从调试方法来说分为两种情况。一种是各种计算程序以及代码转换程序、静态I/O程序。这类程序如果不能正常运行,程序中的错误是静态的固定的错误,因此可以用单步或断点运行方式来调试。例如对于计算程序,先准备好一组原始数据,写入程序的入口单元,然后设置几个断点,从程序开始运行。遇到断点停下时检查计算的中间结果是否正确。如果有错误,改用单步运行方式,检查错误是在哪一步,予以改正。这样直到程序运行完毕,得到正确的结果为止。需注意所准备的原始数据要有代表性或可能要有多组,以便使程序中各个分支都有能得到运行,调试工作不致出现遗漏。另一种是I/O实时处理程序和通讯程序。调试这类程序不能用单步或慢速断点方式,而必须采用全速断点或全速连续运行方式。这是因为实时事件的发生是随机的或不能停止的。例如调试采用中断方式的A/D转换程序,首先检查是否产生中断,为此可将断点设在中断入口,以全速断点方式运行。如果能遇到断点,说明产生了A/D中断,然后将断点设在A/D中断服务程序的结束处,以全速断点方式运行。遇到断点后,检查站A/D转换结果是否与输入电压相对应。如果有问题,需要从硬件和软件两个面方面进行检查和解决。3.综合调试当硬件调试及软件分模块调试完成以后,就可以进行系统综合调试(即系统调试)。在系统综合调试时,应将全部硬件电路都接上,应用程序也都组合好,进行全系统软硬件的统调。综合调试的任务是排除软硬件中的残留错误,使整个微机系统能够完成预定的工作任务,达到要求的技术性能指标。在系统综合调试中要注意以下几点:(1)对于有电气控制负载(如加热元件、电动机等)的系统,应先试验空载,空载正常后再试验负载的情况。(2)要试验系统的各项功能,避免遗漏。仔细调整有关软件或硬件,使检测和控制达到要求的精度。(3)当主电路投切电气负载时,注意观察微机是否有受干扰的现象。如出现程序飞跑情况,要检查和加强抗干扰措施。也可以根据系统实际工作环境人为地设置干扰,如频繁地开停接在同一交流电源上的手电钻,检验系统的抗干扰性能。(4)综合调试时,仿真器采用全速断点或连续运行方式,在综合调试的最后阶段应使用用户样机中的晶振。(5)系统要连续运行一段时间,以考验硬件部分的稳定性。(6)有些系统的实际工作环境是在生产现场,在实验室作调试时某些部分只能进行模拟,这样的系统必须到生产现场最终完成综合调试工作。当系统综合调试通过以后,即可将用户程序固化到ROM中,然后将此ROM芯片插入用户样机,用户样机即可脱离仿真系统独立运行。至此系统调试工作全部完成。以上介绍了单片机应用系统开发的一般方法和步骤,其整个流程如图11-1所示。由于系统结构和功能的不同,每个系统的硬件和软件都有各自的特点,在进行调试时应从实际情况出发制订出具体实施方案。图11-1单片机应用系统开发流程图11.2系统可靠性设计接地、屏蔽、隔离和滤波等技术关系到单片机系统工作的稳定性和可靠性。在现场环境下,这些问题更显得格外重要,必须给予充分的注意。11.2.1可靠性设计 可靠性是微机控制系统的重要性能指标,有多种因素对其产生影响。其中比较重要的是接地技术。下面我们就接地技术作一下简单的介绍。1.接地种类控制系统中通常有两种接地方式。一种是为人身或设备安全目的,把设备的外壳接地,这种接地称之为外壳接地或安全接地;另外一种接地是为电路工作提供一个公共的电位参考点,这种接地称之为工作接地。(1)外壳接地外壳接地是真正的接地、要实实在在地与大地连接,以使漏到机壳上的电荷能及时泄放到地球上去,这样才能确保人身和设备的安全。外壳接地的接地电阻应当尽可能低,因此在材料及施工方面均有一定的要求。(2)工作接地工作接地是为电路工作需要而进行的。许多情况下,工作地不与设备外壳相连,因此工作地的零电位参考点(即工作地)相对地球的大地是浮空的。所以也把工作地称之为“悬浮地”。2.接地系统对于一个较大的单片机应用系统,应根据信号电压和电流的大小,以及电源的类别等分类接地,构成一个完整的接地系统。接地系统通常分为三类。(1)第一类:弱信号地即把系统中的小信号回路、控制回路、逻辑电路以及它们的直流电源等连在一起接地。弱信号地实际上就是工作地。(2)第二类:功率地即把系统中的继电器、电磁阀以及它们的驱动电源等连在一起构成功率地。因为这些电路往往功率较大,成为干扰弱信号回路的噪声源,因此功率地与工作地不可混接。(3)第三类:机壳地包括系统中所有机架、箱体等金属构件的接地,即所谓安全地。通常,两个相互独立的系统接地可采用如图11-2所示的方式,也可采用如图11-3所示的伞状接地系统,而如图11-4所示的接地系统则是错误的方式。

图11-12相互独立的系统接地图11-3伞状接地系统

图11-4不正确的系统接地

3.其它接地问题(1)双绞线或同轴电缆的接地为了减少信号回路的电磁干扰、送入单片机的信号有时需采用双绞线或同轴电缆。双绞线或同轴电缆的接地方式如图11-5所示。

(a)信号线用双绞线

(b)信号线用同轴电缆图11-5 采用双绞线或同轴电缆的接地当采用带屏蔽的双绞线时,还应注意屏蔽体和工作地的良好连接。而且这种连接只能在一个点接地,否则屏蔽体两端就会形成环路,在屏蔽体上产生较大的噪声电流,从而在双绞线上感应出噪声电压。屏蔽体的正确接地如图11-6所示。

图11-6 屏蔽体接地

(2)工作地与安全地的连接当需要把工作地与安全地连在一起时,对于两个以上设备应注意工作地与安全地只能在一点相连。如图11-7所示。

(a)发送一侧接地(b)接收一侧接地(3)变压器屏蔽层的接地有些变压器是带屏蔽层的,因为屏蔽层可以抑制从电源线传导的噪声。屏蔽层通常采用铜箔或铝箔制作。使用时应与变压器的初级绕组交流一线相连,如图11-8(a)所示。有些变压器的初级和次级都有屏蔽层,这时应将中间屏蔽层与次级绕组屏蔽层连接,如图11-8(b)所示。(a)(b)图11-8 变压器屏蔽层接地法11.2.2抗干扰设计干扰是指叠加在电源电压或正常工作信号上的其他电信号。干扰有多种来源,如电网、空间电磁场、输入/输出通道等。干扰会影响传送信息的正确性,扰乱程序的正常运行,使程序“飞走”或进入死循环,还可能损坏电子元器件。通常采取以下几种抗干扰措施。1.屏蔽技术高频电源、交流电源、强电设备产生的电火花甚至雷电,都能产生电磁波,从而成为电磁干扰的噪声源。当距离较近时,电磁波会通过分布电容和电感耦合到信号回路而形成电磁干扰;当距离较远时,电磁波则以幅射形式构成干扰。单片机使用的振荡器,也是电磁干扰的薄弱环节。以金属板、金属网或金属盒构成的屏蔽体能有效地对付电磁波的干扰。屏蔽体以反射方式和吸收方式来削弱电磁波,从而形成对电磁波的屏蔽作用。为了有效发挥屏蔽体的屏蔽作用,还应注意屏蔽体的接地问题。为了消除屏蔽体与内部电路的寄生电容,屏蔽体应按“一点接地”的原则接地。2.隔离技术隔离包括物理隔离和光电隔离两种。(1)物理隔离物理隔离是指对小信号低电平的隔离。其信号连线应尽量远离高电平大功率的导线,以减少噪声和电磁场的干扰。为了实行物理隔离,即使在同一设备的内部也应当把这两类信号导线分开走线、远距离走线时,更应注意把信号电缆和功率电缆分开,并保持一定的距离。必要时还可以用钢管把它们分别套起来,以增加屏蔽效果。(2)光电隔离光电隔离通常通过光电耦合器来实现。常用的光电耦合器符号如图11-9所示。

图11-9

光电耦合器输入信号使发光二极管发光,其光线又使光敏三极管产生电信号输出,从而既完成了信号的传递又实现了电气上的隔离。使用光电耦合器可实现以下两个主要功能:1)电平转换如图11-10所示,TTL电路与28V电源电路之间通过光电耦合器连接,不需另加匹配电路就可以实现信号传输,从而实现了电平转换。

图11-10光电耦合器的电平转换电路

2)隔离如图11-11所示,由于信号电路与接收电路之间被隔离,因此即使两个电路的接地电位不同,也不会形成干扰。光电耦合器中光敏三极管的基极有引出和不引出两种型式。基极引出后通常经一个电阻接地,连接电路如图11-12所示。通过接地电阻可以控制耦合的响应速度和灵敏度。总的来说,电阻越小,响应速度越高。图11-11光电耦合器的隔离电路

图11-12光电耦合器的基极引出形式3.滤波技术滤波是为了抑制噪声干扰。在直流电源回路中,负载的变化会引起电源噪声,例如在数字电路中,当电路从一个状态转换为另一种状态时,就会在电源线上产生一个很大的尖峰电流,形成瞬变的噪声电压。利用电容、电感等储能元件可以抑制因负载变化而产生的噪声。通常也把这种作用称之为滤波或去耦。为了进行滤波或去耦,可在电源线的输入端并联两个电容,这在印刷电路板上是经常看到的,如图11-13所示。图11-13电源滤波4.反电势干扰抑制技术在单片机的应用系统中,常使用诸如继电器、电动机、电磁阀等具有较大电感量的元件或设备。当电感回路的电流被切断时,会产生很大的反电势而形成噪声干扰。对于反电势干扰,可采用如下措施加以抑制:(1)如果通过电感线圈的是直流电流,可在线圈两端并联二极管和稳压管,如图11-14所示。(2)如果把稳压管换为电阻,同样可以达到抑制反电势的目的,因此也适用于直流驱动线圈的电路。在这个电路中,电阻的阻值范围可以从几欧姆到几十欧姆。阻值太小,反电势衰减慢;而阻值太大又会增大反电势的幅值。因此应在两方面找一个平衡点。(3)反电势抑制电路也可由电阻和电容构成,如图11-15所示。(4)反电势抑制电路不但可以接在线圈的两端,也可以接在开关的两端。

图11-14由二极管和稳压管构成的抑制电路

图11-15由电阻和电容构成的抑制电路5.软件抗干扰措施通常在软件设计中也可采取适当的处理以提高系统的抗干扰能力,通常采取的措施有如下几点:(1)程序中采用数字滤波。为了减小干扰信号对采集系统的影响,可采用数字滤波的方法。常用的数字滤波技术有:中值滤波、算术平均值滤波、判断滤波等。(2)采用“看门狗”技术。当程序“跑飞”时可采用看门狗来恢复系统的正常运行。(3)采用中断技术。在程序中使用系统未用的中断编写针对错误处理的相应中断处理程序来使程序正常返回。(4)采用软件陷阱。当程序进入死循环时,可在非程序区设置陷阱,强迫PC进入一个指定的地址,执行一段专门的处理程序,使系统恢复。例如,假设系统受到外界干扰进入非法程序存储区后就可以被软件陷阱捕捉到,然后强制进入下面的自恢复程序段,转到0000处,重新开始执行程序:

ERROR:CLREA;关中断MOVDPTR,#ERR1;将返回地址压入堆栈PUSHDPLPUSHDPHRETI;清除高级中断申请标志ERR1:MOV30H,#0AAH;重建上电标志

MOV31H,#44HCLRA;将复位地址0000H压入堆栈

PUSHACC PUSHACC RETI;清除低级中断申请标志11.3单片机综合应用举例11.3.1作息时间控制数字时钟系统1.任务描述作息时间控制数字钟常在学校中使用。试设计一个简易数字时钟系统,使其能够按照已定的作息时间自动完成响铃等提示动作。2.实现原理分析在单片机计时的过程中,每一次秒加1时,都与规定的作息时间比较,如比较相等就进行电铃或扩音设备的开关控制,其实现原理流程如图11-16所示。图11-16 时钟控制系统原理图本系统共有4项控制内容,即:接通电铃和断开电铃以及接通扩音设备和断开扩音设备。由P1口输出控制码进行控制,其控制口定义为:接通电铃0FEH断开电铃0FDH接通扩音设备0FH断开扩音设备0BFH把设备一次开关的控制码及预置时间结合在一起,构成4个字节的存储字。其中控制设备开关的控制码占一个字节,预置时间的时、分、秒各占一个字节。具体格式为:XXXXXXXX开关设备控制码字节时字节分字节秒字节假定某校作息时间如下表所示:08:00~08:50 第一节课09:00~09:50 第二节课09:52~10:05 课间操(播放歌曲及广播操)10:10~11:00 第三节课11:10~12:00 第四节课12:00~13:30 午间休息13:30~14:20 第五节课14:30~15:20 第六节课15:21~15:50 播放歌曲把存储字存放在外部RAM50H开始的存储区中,如表11-1所示。表11—1作息时间存储字存储单元开控制码时分秒开控制码时分秒50H~57H0FEH0800000FDH08001058H~5FH0FEH0850000FDH08501060H~67H0FEH0900000FDH09001068H~6FH0FEH0950000FDH09501070H~77H7EH0952000BFH10050078H~7FH0FEH1010000FDH10101080H~87H0FEH1100000FDH11001088H~8FH0FEH1110000FDH11101090H~97H0FEH1200000FDH12001098H~9FH0FEH1330000FDH1330100A0H~0A7H0FEH1420000FDH1420100A8H~0AFH0FEH1430000FDH1430100B0H~0B7H0FEH1520000FDH1520100B8H~0BFH7EH1521000BFH1550000C0H~0C7H00HXXXXXX

11-1中存储字的存放是按时间顺序。实际上存储字的存放顺序可以是任意的,这样就可以通过增减存储字随意修改作息内容。设置控制字00H,表示存储字结束

3.

时钟计时程序(程序略)计时程序用于时钟计时,在本系统中为主程序。此处省略程序而只列出其中使用的时间单元(内部RAM):20H 时单元21H 分单元22H 秒单元使用时,运行时钟计时程序,每进行一次秒加1操作时,都调用下面的时间比较子程序,与存储区中的预置时间进行比较,比较时要用到上述3个单元。4.时间比较子程序此程序以计时时间和存储字中的预置时间进行比较,如比较相等,则说明作息时间已到,发出开关控制码,控制电铃或扩音设备的开或断;否则子程序返回。本程序使用的工作单元都在内部RAM中,具体如下:50H ——存储区首地址R0

——存储区地址指针2EH ——存储区地址指针暂存单元6AH ——存开关控制码6BH~6DH——依次存放存储字的秒值、分值和小时值

LOOP1:MOV R0,#4H;存储字存储区首地址减4

MOV 2EH,R0;送暂存单元LOOP2:MOV R0,2EHMOV R3,#04H

MOV R1,#23HLOOP3:INC R0 ;地址指针加4,得开关控

制码地址DJNZ R2,LOOP3MOV 2EH,R0 ;暂存开关控制码地址

MOV R3,#03HMOVX A,@R0;读取控制码

JZ A,LOOP5 ;控制码为“0”则返回

MOV 6AH,A ;存控制码LOOP4:INC R0 ;地址指针增量

DEC R1 ;计时单元地址减量

MOVX

A,@R0 ;读取作息时间

MOV 6BH,A ;存作息时间

MOV A,@R1 ;读取计时时间CJNE A,6BH,LOOP2 ;计时时间与作息时间比较

不等则转,继续读下面的控制码DJNZ R3,LOOP4 ;共读取3次MOV A,6AH ;开关控制码送ACPL A ;取反MOV P1,A ;开关控制码输出LOOP5: RET;返回

11.3.2交通信号灯自动控制系统1.任务要求设计并制作一个如图11-17所示的十字路口交通信号自动控制模拟指示系统。设该路口由A、B两条通行干道相交而成,四个路口各设二组分别指示直行和左转的红、黄、绿三色信号灯,用两位数码管作定时显示。这个题目是2002年山东省大学生电子设计竞赛基础部分题目之一。2.系统功能分析(1)以秒为计时单位,两位数码管以十进制递减计数形式作定时显示,在递减计数回零瞬间完成换灯操作。(2)通过键盘或数码拨盘能对指示A、B两条干道直行和左转的红、黄、绿三色信号灯所亮时间在0~99秒内任意设定。(3)在通行干道中,两位数码管按顺序分别显示直行绿灯、黄灯和左转绿灯、黄灯所亮时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论