单片机应用系统开发课件_第1页
单片机应用系统开发课件_第2页
单片机应用系统开发课件_第3页
单片机应用系统开发课件_第4页
单片机应用系统开发课件_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

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

文档简介

第8章单片机应用系统开发8.1单片机应用系统开发过程8.2单片机开发工具及选择8.3系统可靠性设计第8章单片机应用系统开发8.1单片机应用系统开发18.1单片机应用系统开发过程8.1.1总体设计1.理解系统功能和技术指标2.选择单片机类型货源充足、稳定。

(2)性价比要高。

(3)研制周期。 3.关键器件的选择

4.软硬件功能划分8.1单片机应用系统开发过程8.1.1总体设计2图8-1单片机应用系统开发过程图8-1单片机应用系统开发过程38.1.2硬件设计元器件选择原则(1)性能参数和经济性。在选择元器件时必须按照器件手册所提供的各种参数(如工作条件、电源要求、逻辑特性等)指标综合考虑,但不能单纯追求超出系统性能要求的高速、高精度、高性能。例如,一般10位精度的A/D转换器价格远高于同类8位精度的A/D转换器;陶瓷封装(一般适用于-25℃~+85℃或-55℃~+125℃)的芯片价格略高于塑料封装(0℃~+70℃)的同类型芯片。8.1.2硬件设计元器件选择原则(14(2)通用性。在应用系统中,尽量采用通用的大规模集成电路芯片,这样可大大简化系统的设计、安装和调试,也有助于提高系统的可靠性。(3)型号和公差。在确定元器件参数之后,还要确定元器件的型号,这主要取决于电路所允许元器件的公差范围。如电解电容器可满足一般的应用,但对于电容公差要求高的电路,电解电容则不宜采用。(2)通用性。在应用系统中,尽量采用通用的5(4)与系统速度匹配。单片机时钟频率一般可在一定范围内选择(如增强型MCS-51单片机芯片可在0~33MHz之间任意选择),在不影响系统性能的前提下,时钟频率选低些好,这样可降低系统内其他元器件的速度要求,从而降低成本和提高系统的可靠性。在选择比较高的时钟频率时,需挑选和单片机速度相匹配的元器件。另一方面,较低的时钟频率会降低晶振电路产生的电磁干扰。(5)电路类型。对于低功耗应用系统,必须采用CHMOS或CMOS芯片,如74HC系列、CD4000系列;而一般系统可使用TTL数字集成电路芯片。(4)与系统速度匹配。单片机时钟频率一般可62.系统构成方式选择专用系统。(2)模块化系统。(3)单片单板机系统。2.系统构成方式选择专用系统。73.系统硬件电路设计原则一般在系统硬件电路设计时应遵循以下原则:(1)尽可能选择标准化、模块化的典型电路,且符合单片机应用系统的常规用法。(2)系统配置及扩展标准必须充分满足系统的功能要求,并留有余地,以利于系统的二次开发。(3)硬件结构应结合应用程序设计一并考虑。软件能实现的功能尽可能由软件来完成,以简化硬件结构。3.系统硬件电路设计原则8(4)系统中相关的器件要尽可能做到性能匹配。(5)单片机外接电路较多时,必须考虑其驱动能力。(6)可靠性及抗干扰设计是硬件系统设计不可缺少的一部分。(7) TTL电路未用引脚的处理。(8)工艺设计,包括机架机箱、面板、配线、接插件等,必须考虑安装、调试、维护的方便。(4)系统中相关的器件要尽可能做到性能匹配。94.印制电路板设计单片机应用系统产品在结构上离不开用于固定单片机芯片及其他元器件的印制板。通常这类印制板布线密度高、焊点分布密度大,需要双面、甚至多层板才能满足电路要求。在编辑印制板时,需要遵循下列原则:(1)晶振必须尽可能靠近CPU晶振引脚,且晶振电路下方不能走线,最好在晶振电路下方放置一个与地线相连的屏蔽层。4.印制电路板设计10(2)电源、地线要求。在双面印制板上,电源线和地线应安排在不同的面上,且平行走线,这样寄生电容将起滤波作用。对于功耗较大的数字电路芯片,如CPU、驱动器等应采用单点接地方式,即这类芯片电源、地线应单独走线,并直接接到印制板电源、地线入口处。电源线和地线宽度尽可能大一些,或采用微带走线方式。(3)模拟信号和数字信号不能共地,即采用单点接地方式。(4)在中低频应用系统(晶振频率小于20MHz)中,走线转角可取45°;在高频系统中,必要时可选择圆角模式。尽量避免使用90°转角。(2)电源、地线要求。在双面印制板上,电源线11(5)对于输入信号线,走线尽可能短,必要时在信号线两侧放置地线屏蔽,防止可能出现的干扰;不同信号线避免平行走线,上下两面的信号线最好交叉走线,相互干扰可减到最小。(6)为减低系统功耗,对于未用TTL电路单元必须按如下方式处理:在印制板设计时,最容易忽略未用单元电路输入端的处理(因为原理图中没有给出)。尽管它不影响电路的功能,但却增加系统的功耗,尤其是当系统靠电池供电时,就更应该注意未用单元引脚的连接。在小规模TTL电路芯片中,同一芯片内常含有多套电路。例如,在74LS00芯片中,就含有四套“2输入与非门”。(5)对于输入信号线,走线尽可能短,必要时128.1.3资源分配1. I/O引脚资源分配单片机芯片各I/O引脚功能不完全相同,如部分引脚具有第二输入/输出功能;各I/O引脚输出级电路结构不尽相同,如8XC5X的P0口采用漏极开路输出方式,P1~P3口采用准双向结构。此外,在87LPC76X系列中,P1.5引脚只能作为输入引脚使用。因此,在分配I/O引脚时,需要认真对待。

例如,在8XC5X系统中,当外中断不够用时,可使用定时器T2溢出率作为串行口发送、接收波特率,此时P1.1引脚就可以作为下降沿触发的外中断源使用。又如,在P87LPC762/4中,当需要4根引脚作为直接编码输入键盘时,可考虑使用P0.3、P0.4、P0.5、P0.6引脚作为键盘输入引脚,这样基本保留了模拟比较器2的资源。8.1.3资源分配1. I/O引脚资源分配132.程序存储器资源分配片内ROM存储器用于存放程序和数据表格。按照MCS-51单片机的复位及中断入口的规定,002FH以前的地址单元都作为中断、复位入口地址区。在这些单元中一般都设置了转移指令,转移到相应的中断服务程序或复位启动程序。当程序存储器中存放的功能程序及子程序数量较多时,应尽可能为它们设置入口地址表。一般的常数、表格集中设置表格区。二次开发扩展区应尽可能放在高位地址区。2.程序存储器资源分配143. RAM资源分配RAM分为片内RAM和片外RAM。片外RAM的容量比较大,通常用来存放批量大的数据,如采样结果数据;片内RAM容量较少,尽可能重叠使用,如数据暂存区与显示、打印缓冲区重叠。对于MCS-51单片机来说,片内RAM是指00H~7FH单元,这128个单元的功能并不完全相同,分配时应注意发挥各自的特点,做到物尽其用。3. RAM资源分配1500~1FH这32个字节可以作为工作寄存器组,在工作寄存器的8个单元中,R0和R1具有指针功能,是编程的重要角色,应充分发挥其作用。系统上电复位时,置PSW=00H,SP=07H,则RS1(PSW.4)、RS0(PSW.3)位均为0,CPU自动选择工作寄存器组0作为当前工作寄存器,而工作寄存器组1为堆栈,并向工作寄存器组2、3延伸。例如,此时当CPU执行诸如MOVR1,#2FH指令时,R1即是指01H单元。在中断服务程序中,如果也要使用R1寄存器且不将原来的数据冲掉,则可在主程序中先将堆栈空间设置在其他位置,然后在进入中断服务程序后选择工作寄存器组1、2或3,这时若再执行诸如MOVR1,#00H指令时,就不会冲掉R1(01H单元)中原来的内容了,因为这时R1的地址已改变为09H、11H或19H。在中断服务程序结束时,可重新选择工作寄存器组0。因此,通常可在应用程序中安排主程序及其调用的子程序使用工作寄存器组0,而安排定时器溢出中断、外部中断、串行口中断使用工作寄存器组1、2或3。00~1FH这32个字节可以作为工作寄存器组1620H~2FH这16个字节具有位寻址功能,可用来存放各种软件标志、逻辑变量、位输入信息、位输出信息副本、状态变量、逻辑运算的中间结果等。当这些项目全部安排好后,保留一两个字节备用,剩下的单元可改作其他用途。30H~7FH为一般通用寄存器,只能存入整字节信息。通常用来存放各种参数、指针、中间结果,或用作数据缓冲区。此外,也常将堆栈安放在片内RAM的高端,如60H~7FH;设置堆栈区时应事先估算出子程序和中断嵌套的级数以及程序中栈操作指令使用情况,其大小应留有余量。当系统中扩展了RAM,应把使用频率最高的数据缓冲区安排在片内RAM中,以提高处理速度。20H~2FH这16个字节具有位寻址功能,可178.2单片机开发工具及选择8.2.1仿真器1.仿真器种类基于Bondout仿真技术的仿真器使用专门设计的仿真芯片,能真实地仿真某一特定厂家、系列的单片机芯片——不占用硬件资源、仿真频率高。但这类仿真器的缺点是通用性差(某一专用的仿真芯片只能仿真某一系列的单片机CPU),价格高,开发设备更新换代速度慢——新单片机CPU出现后,开发商才会根据市场需要来设计配套的仿真芯片。以前国内开发的普及型MCS-51仿真器大多采用价格低廉、仅支持标准MCS-51系列的仿真芯片;而支持增强型MCS-51或更高档次CPU的专用仿真芯片价格昂贵,一般用户很难接受。8.2单片机开发工具及选择8.2.1仿真器18HOOKS仿真技术由Philips公司开发,该技术的核心是通过分时复用I/O引脚方式来重构MCS-51系列P0、P2口,使支持HOOKS技术的MCS-51芯片进入HOOKS仿真状态后,通过硬件将复用的P0、P2口扩展为独立的仿真总线及用户P0、P2口。该方法的优点是无须专用的仿真芯片,如用普通的51系列即可进行相同芯片(或硬件资源兼容芯片)仿真,因此成本低,只要实时加入新型CPU数据资料,换上相应CPU即可仿真新的CPU,仿真开发设备更新速度快,投入少。但HOOKS仿真器通过硬件、软件模拟实际MCS-51系列芯片的P0、P2口,因此与实际CPU的P0、P2口尚有区别,另外仿真频率也不能太高。HOOKS仿真技术由Philips公司开19目前国内仿真器开发商通过授权、转让的方式从Philips公司引进了HOOKS仿真技术,开发了基于HOOKS仿真技术的仿真器,如广州周立功单片机发展有限公司的TKS-HOOKS系列等。这些仿真器适应性广,通过更改仿真头内的CPU芯片即可仿真不同系列的CPU。例如TKS-HOOKS系列内的TKS-668仿真器,更换仿真头内的CPU后,可仿真Philips公司的P8XC5X、P8XC5XX2、P89C6XX2、P89C51RX、P89C66X等系列芯片。目前国内仿真器开发商通过授权、转让的方式从P20此外,根据仿真器的适应性,可把仿真器分为专用仿真器和通用仿真器。专用仿真器只能仿真某一系列的CPU,如南京伟福公司的K51系列和E51系列仿真器只能仿真MCS-51及兼容芯片,专用仿真器最大特点是价格低廉。通用仿真器适应性强,更换不同的仿真头,即可仿真不同种类的CPU,如南京伟福公司的E6000系列、E2000系列,更换不同仿真头后即可仿真IntelMCS-51及兼容CPU、Philips公司增强型80C51内核CPU(包括8XC5X系列、89C51RX系列、552系列、592系列、76X系列等)以及Microchip公司的PIC系列CPU。通用仿真器价格高,一次性投入较大,但与仿真器配套的各系列仿真头价格较低,更重要的是可在同一仿真开发环境下使用,也是物有所值。此外,根据仿真器的适应性,可把仿真器分为专用212.仿真器的选择(1)不占用硬件资源。一些低档的MCS-51仿真器(仿真头)只能将P0、P2口作为总线使用,不能作为I/O口使用。(2)随机浏览、修改内部RAM、特殊功能寄存器内容。(3)浏览、编辑程序存储器各存储单元内容。(4)随机修改程序计数器PC的值。(5)浏览、修改外部RAM单元内容。(6)具备连续、单步、跟踪执行功能,以方便程序的调试。(7)灵活、方便的断点设置和取消功能。断点数目最好没有限制,以方便程序调试。2.仿真器的选择(1)不占用硬件资源。一22(8)开发系统提供的汇编器(仿真开发软件)必须具备如下功能:·源程序编辑操作方式与用户熟悉的通用字处理软件(如Word)相同或相近。·方便、灵活的查找和定位功能,以便迅速找到源程序中特定字符串(如标号、变量、操作码或操作数助记符)。(9)汇编器(仿真开发软件)应具备一定的容错能力。由于MCS-51汇编指令助记符与IntelX86通用CPU相似,因此编辑源程序时,可能将MCS-51指令系统的“ANL”(与运算操作助记符)写成“AND”,“ORL”(或运算操作助记符)写成“OR”,“XRL”(异或运算操作助记符)写成“XOR”;又如将“PUSHAcc”指令写成“PUSHA”,“POPAcc”指令写成“POPA”等。汇编程序应该能够理解这样的错误。(8)开发系统提供的汇编器(仿真开发软件)必23(10)汇编器最好支持“过程汇编”伪指令,这对于程序设计、编写将非常方便。采用过程伪指令后,过程内的标号就可以分为两类:公共标号和局部标号。公共标号在整个程序内有效,而局部标号只在本过程内有效,这样不同子过程(实际上就是子程序)内就能重复使用公共标号外的标号名,避免了因标号重定义造成的错误,也使不同过程内的局部标号名含义明确。过程定义伪指令格式如下:PROC Sub1,Sub2,… ;其中PROC为过程定义伪指令,Sub1、 Sub2等是公共标号 Sub1: … ;过程内指令(10)汇编器最好支持“过程汇编”伪指令,这24RET ;如果过程是子程序,则最后一条指令是返回指令RET;如果 ;过程是中断服务程序,则最后一条指令是中断返回指令RETIEND ;过程结束伪指令例如:;使P1.0引脚上生产100ms低电平和75ms高电平信号PROCPwavePwave: CRLP1.0;延迟100msMOVTIME,#10RET ;如果过程是子程序,则最后一条指令是返回指令RE25LOOP1:MOVX_TIME,#109MOVY_TIME,#45LCALLDELAY ;调用延迟子程序,延迟10msDJNZTIME,LOOP1SETBP1.0 ;延迟100ms后,将P1.0引脚置1MOVTIME,#75LOOP1:26LOOP2:MOVX_TIME,#96MOVY_TIME,#5LCALLDELAY ;每次延迟1ms,共要进行75次DJNZTIME,LOOP2RETEND;通用延迟子程序PROCDelayDelay:PUSHPSWCLRRS0SETBRS1 ;使用2区MOVR7,Y_TIME ;取延迟时间参数yLOOP2:27LOOP1:MOVR6,X_TIME ;取延迟时间参数xLOOP2:DJNZR6,LOOP2DJNZR7,LOOP1POPPSWRETEND(11)除了支持A51汇编语言外,最好支持C语言。LOOP1:(11)除了支持A51汇编语言外,最好支持C语288.2.2其他工具1.逻辑笔逻辑笔主要用于判别电路某点的电平状态(高电平、低电平,还是脉冲),是数字电路系统常用的检测工具。2.万用表(数字或指针式)万用表是最基本的电子测量工具,主要用于测量电路系统中各节点间电压或各节点对地电压,电路中两点通断,判别元器件的好坏。8.2.2其他工具293.通用编程器由于目前内置OTPROM、FlashROM存储器芯片的单片机CPU已成为主流芯片,程序调试结束后,需要在编程器上将调试好的程序代码写入CPU内的程序存储器中。4. IC插座在单片机开发过程中,可能需要各种规格的IC插座。例如当遇到目标板上CPU插座周围的元器件,如电解电容、晶振等太高,妨碍仿真头插入时,可使用一两块IC插座抬高CPU插座,以方便仿真头的插入。3.通用编程器308.3系统可靠性设计8.3.1硬件可靠性设计提高元器件的可靠性2.冗余与容错设计3.采用抗干扰措施8.3系统可靠性设计8.3.1硬件可靠性设计提高元31图8-2系统监视电路图8-2系统监视电路32图8-2中使用了一片MAX813L(705/706)系统监视电路产品,该电路具有上电使单片机自动复位,也允许人工随时手动复位,自动监视系统(掉电)等电源故障,程序跑飞使单片机自动复位的系统监视功能。该电路监视功能的具体实现说明如下:(1)电源故障监视。当电源正常时,未稳压的直流电源电压经电阻R1和R2分压,使电源故障输入端PFI的电位大于1.25V (内部参考电压),一旦电源发生故障,PFI的电位低于1.25V,则电源故障输出PFO将从高电平变为低电平,从而引起单片机中断,CPU响应中断后可迅速执行诸如保护重要数据、发出电源故障报警等工作。图8-2中使用了一片MAX813L(70533(2)看门狗定时器。看门狗电路监视单片机的P1.0线,正常情况下,P1.0线不超过1.6s触发一次。若在1.6s内单片机不产生触发信号,看门狗输出端将变为低电平。由于与手动复位端(与TTL/CMOS兼容,可用外部逻辑线驱动)相连,当 低电平维持时间超过140ms,MAX813L(705/706)将复位,同时使看门狗清零和使变为高电平,这样在MAX705/706/813L的复位信号维持200ms结束后,单片机脱离复位状态,开始恢复程序并正常运行。(2)看门狗定时器。看门狗电路监视单片机的P348.3.2系统自诊断技术1. CPU诊断指令系统诊断:单片机执行完一个包含有传送指令、算术运算指令、逻辑运算指令、位传送指令、位逻辑操作指令的程序后,累加器A中的数据应为预定值,否则就有问题。(1)片内RAM诊断:可采用如下过程对片内RAM每一个单元进行测试:读出-备份-写入-再读出-与备份比较,若相同则重新写入原单元,否则设置不正确标志,说明片内RAM有问题。8.3.2系统自诊断技术1. CP35(2)定时器及中断诊断:用软件延时来检测定时的准确性,即定时器以定时方式运行,如能按时溢出,则置位溢出标志,否则延时时间到停止定时器计数,无溢出,表明定时器有问题;利用定时中断来检测中断系统是否有问题,即若允许定时中断,并在中断服务程序中作一件事通知自检程序,则可以根据这件事是否发生来判断中断是否发生。注意:对于8031单片机,诊断程序放在片外ROM中,因此CPU诊断过程必须以三总线(包括地址锁存器)没有问题和EPROM中的诊断程序也正确为前提。(2)定时器及中断诊断:用软件延时来检测定时362. ROM诊断ROM诊断常用静态测试法,在将系统程序及自检程序固化到ROM中去的时候,先仔细计算其机器代码的累加和,并取其结果的最低16位。在固化程序的同时,将上述累加结果一起固化到ROM特定单元中(一般是放在ROM的最后两个地址单元中)。在对ROM进行检查时,只需对固化在ROM的程序代码计算累加和,并将结果与事先固化的内容进行比较,从而判断出ROM的完好性。2. ROM诊断373.外部RAM诊断可采用与片内RAM诊断相同的方法。此外,由于RAM的故障多数是以大片区域被破坏的形式出现的,因此也可采用RAM分段放置标志数的方法来判断RAM区是否被破坏。3.外部RAM诊断384. A/D、D/A转换通道的诊断和校正在使用模拟电路的系统中,A/D转换器芯片只有一片时,通常是用多路模拟开关(一些A/D转换器自带多路模拟开关)来切换各路输入信号,实现分时采样转换。对A/D通道的诊断方法是在某一路模拟输入端加上一个已知的模拟电压,启动A/D转换后读取转换结果。如果等于预定值,则A/D通道正常,若有少许偏差,则说明A/D通道发生少许漂移,应求出校正系数,供信号通道进行校正运算,如果偏差过大,则为故障现象。4. A/D、D/A转换通道的诊断和校正39解决零点漂移和增益校正的方法是将多路模拟开关的一个输入端接信号公共点(模拟电压为零伏),另一个输入端接参考电源,然后分别启动这两路,读取两路A/D转换结果并保存起来。零漂和增益校正的测定可以每隔一定时间进行一次,进行这种校正时测得的数据经过如下计算就可以求得最终数据。解决零点漂移和增益校正的方法是将多路模拟开关的40其中:DS——校正后的数据;DSN——测定信号得A/D转换值;DOS——零点电压的A/D转换值;DFS——A/D转换器满量程值;DRE——参考电压输入的A/D转换值。D/A通道诊断需借助A/D的一个输入通道,在已经进行过A/D诊断并获知其正常后,将预定值送D/A转换,D/A转换后的模拟电压通过分压电阻接到A/D转换的某个输入端,启动A/D转换得到变换后的数字量。将D/A送出的数字量和读入的A/D数字量进行比较,看两者相差多少,从而可判断D/A转换器工作是否正常。其中:415.数字I/O通道诊断数字显示功能的诊断:数码管显示装置显示的内容有数字、小数点、符号、提示符等,自检程序可将数码管的所有笔划段点亮(包括小数点),由操作者检查数码管是否缺段;也可以设置循环输出全0到全9的数字,小数点在各位上循环显示,以及显示特定的提示信息,借以检查数字I/O通道是否正常。键盘的诊断:当操作者按下某个键后,自检程序可通过一个I/O口驱动蜂鸣器发声或由数码管显示器显示出某个数字及符号。当某键听不到发声或显示错误,就可以判断键盘系统出现故障。如果是某个键有问题,往往是接触不良;如果是某排键有问题,一定是对应的键扫描电路有故障;若全部键无相应,则键盘扫描系统已瘫痪或监控程序已瘫痪。5.数字I/O通道诊断428.3.3系统抗干扰性能1.单片机应用系统中的主要干扰源工业生产中的干扰一般都是以脉冲的形式进入单片机应用系统的,串入系统的干扰主要有三种来源,即场干扰,通过电磁波辐射串入系统;输入/输出通道干扰,通过与主机相连的输入/输出通道及与其他主机相连的通道进入;供电系统干扰,从电源供电电路引入干扰。一般情况下场干扰在强度上远小于其他两个干扰源,而且场干扰可用良好的屏蔽与正确的接地、高频滤波加以解决,因此单片机应用系统中重点防止输入/输出通道与供电系统的干扰。8.3.3系统抗干扰性能1.单片机应用系统432.硬件抗干扰措施1)输入/输出通道干扰的抑制措施输入/输出通道干扰的抑制通常采用隔离和滤波技术。常用的隔离器件有隔离变压器、光电耦合器、继电器和隔离放大器等,其中光电耦合器应用最为广泛。在输入和输出通道中采用光电耦合器将单片机系统与各种传感器、开关、执行机构从电气上隔离开来,很大一部分干扰将被阻挡。在模拟通道中使用光电耦合器隔离时,应保证被传送信号的变化范围始终在光电耦合器的线性区内,否则会产生较大的误差。应尽可能将隔离器件设置在执行部件或传感器附近,通常是将光电隔离器放在A/D、D/A附近。2.硬件抗干扰措施44光电隔离前后两部分电路应分别采用两组独立的电源供电。当数字通道输出的开关量是用于控制大负荷设备时,就不宜用光电耦合器,而采用继电器隔离输出,此时要在单片机输出端的锁存器74LS273与继电器间设置一个OC门驱动器,用以提供较高的驱动电流(一般OC门驱动器的低电平输出电流约有300mA左右,足以驱动小型继电器)。硬件滤波电路常采用RC低通滤波器,将它接在一些低频信号传送电路中,可大大削弱各类高频干扰信号。光电隔离前后两部分电路应分别采用两组独立的电452)供电系统干扰的抑制措施单片机系统的供电线路和产生干扰的用电设备分开供电。通常干扰源为各类大功率设备,如电机。对于小的单片机系统,可采用CMOS芯片,设计成低功耗系统用电池供电,干扰可大大减少。通过低通滤波器和隔离变压器接入电网。低通滤波器可以吸收大部分电网中的“毛刺”,隔离变压器是在初级绕组和次级绕组之间多加一层屏蔽层,并将它和铁芯一起接地,防止干扰通过初次级之间的电容效应进入单片机供电系统。该屏蔽层也可用加绕的一层线圈来充当(一头接地,另一头空置)。2)供电系统干扰的抑制措施46整流元件上并接滤波电容,可以在很大程度上削弱高频干扰,滤波电容选用1000pF~0.01μF的无感的瓷片电容为好。选用高质量的稳压电路,使输出直流电压上的纹波很小,干扰难在输出端形成。数字信号采用负逻辑传输。如果定义低电平为有效电平,高电平为无效电平,就可以减少干扰引起的误动作,提高数字信号传输的可靠性。整流元件上并接滤波电容,可以在很大程度上削弱473)电磁场干扰的抑制措施电磁场的干扰可采用屏蔽和接地措施。用金属外壳或金属屏蔽罩将整机或部分元器件包围起来,再将金属外壳接地,就能起到屏蔽作用。单片机系统中有数字地、模拟地、交流地、信号地、屏蔽地(机壳地),应分开连接不同性质的地。印制板中的地线应接成网状,而且其他布线不要形成回路,特别是环绕外周的环路;接地线最好根据电路通路逐渐加宽,并且不要小于3mm;在高频情况下,电路板多采用大面积地线直接与机壳直接相连,形成多点接地方式。强信号地线和弱信号地线要分开。3)电磁场干扰的抑制措施484)减小CPU芯片工作时形成的电磁辐射如果CPU工作产生的电磁辐射干扰了系统内无线接收电路时,除了对CPU芯片采取屏蔽措施外,还必须:在满足速度要求前提下,尽可能降低系统时钟频率。因为时钟频率越低,晶振电路产生的电磁辐射量越小。尽量避免扩展外部存储器,即尽可能使用内含FlashROM、OTPROM存储器的芯片,且禁止ALE输出。4)减小CPU芯片工作时形成的电磁辐射49图8-3输出信号上下沿过冲图8-3输出信号上下沿过冲50图8-4在CPU输出引脚加缓冲电阻或RC缓冲网络图8-4在CPU输出引脚加缓冲电阻或RC缓冲网络513.软件抗干扰技术1)指令冗余当CPU受到干扰后,往往将一些操作数当作指令来执行,引起程序混乱。当程序弹飞到某一单字节指令时,便自动纳入正轨。当弹飞到某一双字节或三字节指令时,有可能落到其操作数上,从而继续出错。因此,应多采用单字节指令,并在关键的地方人为地插入一些单字节指令(NOP)或将有效单字节指令重复书写,这就是指令冗余。指令冗余无疑会降低系统效率,但在绝大多数情况下,CPU还不致于忙到不能多执行几条指令的程度,故这种技术还是被广泛采用的。3.软件抗干扰技术1)指令冗余522)软件“看门狗”有时为了简化硬件电路,也可以设置一个纯软件的“看门狗”。用一个定时器来做“看门狗”,将它的溢出中断设定为高级中断,系统中的其他中断可设为低级中断。当“看门狗”启动后,在主程序中必须在一定时间内(小于定时器初值)重新给定时器赋初值,这样在程序正常运行时不会产生溢出中断。当程序掉入死循环后,由于定时溢出中断的是高级中断,可夺走对CPU的控制权,则经过定时时间后产生一次定时器溢出中断,从而退出死循环。定时器溢出中断可直接转向出错处理程序,在中断向量区安排一条LJMPERR即可。由出错程序来完成各种善后工作,并用软件方法使系统复位。2)软件“看门狗”533)软件陷阱指令冗余使弹飞的程序安定下来是有条件的,首先弹飞的程序必须落到程序区,其次必须执行到冗余指令。所谓软件陷阱,就是一条引导指令强行将捕获的程序引向一个指定的地址,在那里有一段专门对程序出错进行处理的指令。如果我们把这段程序的入口地址记为ERR的话,软件陷阱即为一条无条件转移指令,为了加强其捕获效果,一般还在它前面加几条NOP指令,因此真正的软件陷阱由以下4条指令构成: NOP NOP NOP LJMPERR3)软件陷阱54软件陷阱可安排在未使用的中断向量区、未使用的大片ROM空间或表格后面等正常程序执行不到的地方,故不影响程序执行效率。采用硬件看门狗后,在程序存储器空间容量足够的情况下,就可以在每条跳转指令后增加软件陷阱,如:软件陷阱可安排在未使用的中断向量区、未使用的55SJMPNEONE ;在短跳转指令后,加软件陷阱NOPNOPNOPNOPCLREA ;关闭中断,进入死循环SJMP$…LJMPSTART ;在长跳转指令后,加软件陷阱NOPNOPNOPNOPCLREA ;关闭中断后,进入死循环SJMP$SJMPNEONE ;在短跳转指令后,加软件56第8章单片机应用系统开发8.1单片机应用系统开发过程8.2单片机开发工具及选择8.3系统可靠性设计第8章单片机应用系统开发8.1单片机应用系统开发578.1单片机应用系统开发过程8.1.1总体设计1.理解系统功能和技术指标2.选择单片机类型货源充足、稳定。

(2)性价比要高。

(3)研制周期。 3.关键器件的选择

4.软硬件功能划分8.1单片机应用系统开发过程8.1.1总体设计58图8-1单片机应用系统开发过程图8-1单片机应用系统开发过程598.1.2硬件设计元器件选择原则(1)性能参数和经济性。在选择元器件时必须按照器件手册所提供的各种参数(如工作条件、电源要求、逻辑特性等)指标综合考虑,但不能单纯追求超出系统性能要求的高速、高精度、高性能。例如,一般10位精度的A/D转换器价格远高于同类8位精度的A/D转换器;陶瓷封装(一般适用于-25℃~+85℃或-55℃~+125℃)的芯片价格略高于塑料封装(0℃~+70℃)的同类型芯片。8.1.2硬件设计元器件选择原则(160(2)通用性。在应用系统中,尽量采用通用的大规模集成电路芯片,这样可大大简化系统的设计、安装和调试,也有助于提高系统的可靠性。(3)型号和公差。在确定元器件参数之后,还要确定元器件的型号,这主要取决于电路所允许元器件的公差范围。如电解电容器可满足一般的应用,但对于电容公差要求高的电路,电解电容则不宜采用。(2)通用性。在应用系统中,尽量采用通用的61(4)与系统速度匹配。单片机时钟频率一般可在一定范围内选择(如增强型MCS-51单片机芯片可在0~33MHz之间任意选择),在不影响系统性能的前提下,时钟频率选低些好,这样可降低系统内其他元器件的速度要求,从而降低成本和提高系统的可靠性。在选择比较高的时钟频率时,需挑选和单片机速度相匹配的元器件。另一方面,较低的时钟频率会降低晶振电路产生的电磁干扰。(5)电路类型。对于低功耗应用系统,必须采用CHMOS或CMOS芯片,如74HC系列、CD4000系列;而一般系统可使用TTL数字集成电路芯片。(4)与系统速度匹配。单片机时钟频率一般可622.系统构成方式选择专用系统。(2)模块化系统。(3)单片单板机系统。2.系统构成方式选择专用系统。633.系统硬件电路设计原则一般在系统硬件电路设计时应遵循以下原则:(1)尽可能选择标准化、模块化的典型电路,且符合单片机应用系统的常规用法。(2)系统配置及扩展标准必须充分满足系统的功能要求,并留有余地,以利于系统的二次开发。(3)硬件结构应结合应用程序设计一并考虑。软件能实现的功能尽可能由软件来完成,以简化硬件结构。3.系统硬件电路设计原则64(4)系统中相关的器件要尽可能做到性能匹配。(5)单片机外接电路较多时,必须考虑其驱动能力。(6)可靠性及抗干扰设计是硬件系统设计不可缺少的一部分。(7) TTL电路未用引脚的处理。(8)工艺设计,包括机架机箱、面板、配线、接插件等,必须考虑安装、调试、维护的方便。(4)系统中相关的器件要尽可能做到性能匹配。654.印制电路板设计单片机应用系统产品在结构上离不开用于固定单片机芯片及其他元器件的印制板。通常这类印制板布线密度高、焊点分布密度大,需要双面、甚至多层板才能满足电路要求。在编辑印制板时,需要遵循下列原则:(1)晶振必须尽可能靠近CPU晶振引脚,且晶振电路下方不能走线,最好在晶振电路下方放置一个与地线相连的屏蔽层。4.印制电路板设计66(2)电源、地线要求。在双面印制板上,电源线和地线应安排在不同的面上,且平行走线,这样寄生电容将起滤波作用。对于功耗较大的数字电路芯片,如CPU、驱动器等应采用单点接地方式,即这类芯片电源、地线应单独走线,并直接接到印制板电源、地线入口处。电源线和地线宽度尽可能大一些,或采用微带走线方式。(3)模拟信号和数字信号不能共地,即采用单点接地方式。(4)在中低频应用系统(晶振频率小于20MHz)中,走线转角可取45°;在高频系统中,必要时可选择圆角模式。尽量避免使用90°转角。(2)电源、地线要求。在双面印制板上,电源线67(5)对于输入信号线,走线尽可能短,必要时在信号线两侧放置地线屏蔽,防止可能出现的干扰;不同信号线避免平行走线,上下两面的信号线最好交叉走线,相互干扰可减到最小。(6)为减低系统功耗,对于未用TTL电路单元必须按如下方式处理:在印制板设计时,最容易忽略未用单元电路输入端的处理(因为原理图中没有给出)。尽管它不影响电路的功能,但却增加系统的功耗,尤其是当系统靠电池供电时,就更应该注意未用单元引脚的连接。在小规模TTL电路芯片中,同一芯片内常含有多套电路。例如,在74LS00芯片中,就含有四套“2输入与非门”。(5)对于输入信号线,走线尽可能短,必要时688.1.3资源分配1. I/O引脚资源分配单片机芯片各I/O引脚功能不完全相同,如部分引脚具有第二输入/输出功能;各I/O引脚输出级电路结构不尽相同,如8XC5X的P0口采用漏极开路输出方式,P1~P3口采用准双向结构。此外,在87LPC76X系列中,P1.5引脚只能作为输入引脚使用。因此,在分配I/O引脚时,需要认真对待。

例如,在8XC5X系统中,当外中断不够用时,可使用定时器T2溢出率作为串行口发送、接收波特率,此时P1.1引脚就可以作为下降沿触发的外中断源使用。又如,在P87LPC762/4中,当需要4根引脚作为直接编码输入键盘时,可考虑使用P0.3、P0.4、P0.5、P0.6引脚作为键盘输入引脚,这样基本保留了模拟比较器2的资源。8.1.3资源分配1. I/O引脚资源分配692.程序存储器资源分配片内ROM存储器用于存放程序和数据表格。按照MCS-51单片机的复位及中断入口的规定,002FH以前的地址单元都作为中断、复位入口地址区。在这些单元中一般都设置了转移指令,转移到相应的中断服务程序或复位启动程序。当程序存储器中存放的功能程序及子程序数量较多时,应尽可能为它们设置入口地址表。一般的常数、表格集中设置表格区。二次开发扩展区应尽可能放在高位地址区。2.程序存储器资源分配703. RAM资源分配RAM分为片内RAM和片外RAM。片外RAM的容量比较大,通常用来存放批量大的数据,如采样结果数据;片内RAM容量较少,尽可能重叠使用,如数据暂存区与显示、打印缓冲区重叠。对于MCS-51单片机来说,片内RAM是指00H~7FH单元,这128个单元的功能并不完全相同,分配时应注意发挥各自的特点,做到物尽其用。3. RAM资源分配7100~1FH这32个字节可以作为工作寄存器组,在工作寄存器的8个单元中,R0和R1具有指针功能,是编程的重要角色,应充分发挥其作用。系统上电复位时,置PSW=00H,SP=07H,则RS1(PSW.4)、RS0(PSW.3)位均为0,CPU自动选择工作寄存器组0作为当前工作寄存器,而工作寄存器组1为堆栈,并向工作寄存器组2、3延伸。例如,此时当CPU执行诸如MOVR1,#2FH指令时,R1即是指01H单元。在中断服务程序中,如果也要使用R1寄存器且不将原来的数据冲掉,则可在主程序中先将堆栈空间设置在其他位置,然后在进入中断服务程序后选择工作寄存器组1、2或3,这时若再执行诸如MOVR1,#00H指令时,就不会冲掉R1(01H单元)中原来的内容了,因为这时R1的地址已改变为09H、11H或19H。在中断服务程序结束时,可重新选择工作寄存器组0。因此,通常可在应用程序中安排主程序及其调用的子程序使用工作寄存器组0,而安排定时器溢出中断、外部中断、串行口中断使用工作寄存器组1、2或3。00~1FH这32个字节可以作为工作寄存器组7220H~2FH这16个字节具有位寻址功能,可用来存放各种软件标志、逻辑变量、位输入信息、位输出信息副本、状态变量、逻辑运算的中间结果等。当这些项目全部安排好后,保留一两个字节备用,剩下的单元可改作其他用途。30H~7FH为一般通用寄存器,只能存入整字节信息。通常用来存放各种参数、指针、中间结果,或用作数据缓冲区。此外,也常将堆栈安放在片内RAM的高端,如60H~7FH;设置堆栈区时应事先估算出子程序和中断嵌套的级数以及程序中栈操作指令使用情况,其大小应留有余量。当系统中扩展了RAM,应把使用频率最高的数据缓冲区安排在片内RAM中,以提高处理速度。20H~2FH这16个字节具有位寻址功能,可738.2单片机开发工具及选择8.2.1仿真器1.仿真器种类基于Bondout仿真技术的仿真器使用专门设计的仿真芯片,能真实地仿真某一特定厂家、系列的单片机芯片——不占用硬件资源、仿真频率高。但这类仿真器的缺点是通用性差(某一专用的仿真芯片只能仿真某一系列的单片机CPU),价格高,开发设备更新换代速度慢——新单片机CPU出现后,开发商才会根据市场需要来设计配套的仿真芯片。以前国内开发的普及型MCS-51仿真器大多采用价格低廉、仅支持标准MCS-51系列的仿真芯片;而支持增强型MCS-51或更高档次CPU的专用仿真芯片价格昂贵,一般用户很难接受。8.2单片机开发工具及选择8.2.1仿真器74HOOKS仿真技术由Philips公司开发,该技术的核心是通过分时复用I/O引脚方式来重构MCS-51系列P0、P2口,使支持HOOKS技术的MCS-51芯片进入HOOKS仿真状态后,通过硬件将复用的P0、P2口扩展为独立的仿真总线及用户P0、P2口。该方法的优点是无须专用的仿真芯片,如用普通的51系列即可进行相同芯片(或硬件资源兼容芯片)仿真,因此成本低,只要实时加入新型CPU数据资料,换上相应CPU即可仿真新的CPU,仿真开发设备更新速度快,投入少。但HOOKS仿真器通过硬件、软件模拟实际MCS-51系列芯片的P0、P2口,因此与实际CPU的P0、P2口尚有区别,另外仿真频率也不能太高。HOOKS仿真技术由Philips公司开75目前国内仿真器开发商通过授权、转让的方式从Philips公司引进了HOOKS仿真技术,开发了基于HOOKS仿真技术的仿真器,如广州周立功单片机发展有限公司的TKS-HOOKS系列等。这些仿真器适应性广,通过更改仿真头内的CPU芯片即可仿真不同系列的CPU。例如TKS-HOOKS系列内的TKS-668仿真器,更换仿真头内的CPU后,可仿真Philips公司的P8XC5X、P8XC5XX2、P89C6XX2、P89C51RX、P89C66X等系列芯片。目前国内仿真器开发商通过授权、转让的方式从P76此外,根据仿真器的适应性,可把仿真器分为专用仿真器和通用仿真器。专用仿真器只能仿真某一系列的CPU,如南京伟福公司的K51系列和E51系列仿真器只能仿真MCS-51及兼容芯片,专用仿真器最大特点是价格低廉。通用仿真器适应性强,更换不同的仿真头,即可仿真不同种类的CPU,如南京伟福公司的E6000系列、E2000系列,更换不同仿真头后即可仿真IntelMCS-51及兼容CPU、Philips公司增强型80C51内核CPU(包括8XC5X系列、89C51RX系列、552系列、592系列、76X系列等)以及Microchip公司的PIC系列CPU。通用仿真器价格高,一次性投入较大,但与仿真器配套的各系列仿真头价格较低,更重要的是可在同一仿真开发环境下使用,也是物有所值。此外,根据仿真器的适应性,可把仿真器分为专用772.仿真器的选择(1)不占用硬件资源。一些低档的MCS-51仿真器(仿真头)只能将P0、P2口作为总线使用,不能作为I/O口使用。(2)随机浏览、修改内部RAM、特殊功能寄存器内容。(3)浏览、编辑程序存储器各存储单元内容。(4)随机修改程序计数器PC的值。(5)浏览、修改外部RAM单元内容。(6)具备连续、单步、跟踪执行功能,以方便程序的调试。(7)灵活、方便的断点设置和取消功能。断点数目最好没有限制,以方便程序调试。2.仿真器的选择(1)不占用硬件资源。一78(8)开发系统提供的汇编器(仿真开发软件)必须具备如下功能:·源程序编辑操作方式与用户熟悉的通用字处理软件(如Word)相同或相近。·方便、灵活的查找和定位功能,以便迅速找到源程序中特定字符串(如标号、变量、操作码或操作数助记符)。(9)汇编器(仿真开发软件)应具备一定的容错能力。由于MCS-51汇编指令助记符与IntelX86通用CPU相似,因此编辑源程序时,可能将MCS-51指令系统的“ANL”(与运算操作助记符)写成“AND”,“ORL”(或运算操作助记符)写成“OR”,“XRL”(异或运算操作助记符)写成“XOR”;又如将“PUSHAcc”指令写成“PUSHA”,“POPAcc”指令写成“POPA”等。汇编程序应该能够理解这样的错误。(8)开发系统提供的汇编器(仿真开发软件)必79(10)汇编器最好支持“过程汇编”伪指令,这对于程序设计、编写将非常方便。采用过程伪指令后,过程内的标号就可以分为两类:公共标号和局部标号。公共标号在整个程序内有效,而局部标号只在本过程内有效,这样不同子过程(实际上就是子程序)内就能重复使用公共标号外的标号名,避免了因标号重定义造成的错误,也使不同过程内的局部标号名含义明确。过程定义伪指令格式如下:PROC Sub1,Sub2,… ;其中PROC为过程定义伪指令,Sub1、 Sub2等是公共标号 Sub1: … ;过程内指令(10)汇编器最好支持“过程汇编”伪指令,这80RET ;如果过程是子程序,则最后一条指令是返回指令RET;如果 ;过程是中断服务程序,则最后一条指令是中断返回指令RETIEND ;过程结束伪指令例如:;使P1.0引脚上生产100ms低电平和75ms高电平信号PROCPwavePwave: CRLP1.0;延迟100msMOVTIME,#10RET ;如果过程是子程序,则最后一条指令是返回指令RE81LOOP1:MOVX_TIME,#109MOVY_TIME,#45LCALLDELAY ;调用延迟子程序,延迟10msDJNZTIME,LOOP1SETBP1.0 ;延迟100ms后,将P1.0引脚置1MOVTIME,#75LOOP1:82LOOP2:MOVX_TIME,#96MOVY_TIME,#5LCALLDELAY ;每次延迟1ms,共要进行75次DJNZTIME,LOOP2RETEND;通用延迟子程序PROCDelayDelay:PUSHPSWCLRRS0SETBRS1 ;使用2区MOVR7,Y_TIME ;取延迟时间参数yLOOP2:83LOOP1:MOVR6,X_TIME ;取延迟时间参数xLOOP2:DJNZR6,LOOP2DJNZR7,LOOP1POPPSWRETEND(11)除了支持A51汇编语言外,最好支持C语言。LOOP1:(11)除了支持A51汇编语言外,最好支持C语848.2.2其他工具1.逻辑笔逻辑笔主要用于判别电路某点的电平状态(高电平、低电平,还是脉冲),是数字电路系统常用的检测工具。2.万用表(数字或指针式)万用表是最基本的电子测量工具,主要用于测量电路系统中各节点间电压或各节点对地电压,电路中两点通断,判别元器件的好坏。8.2.2其他工具853.通用编程器由于目前内置OTPROM、FlashROM存储器芯片的单片机CPU已成为主流芯片,程序调试结束后,需要在编程器上将调试好的程序代码写入CPU内的程序存储器中。4. IC插座在单片机开发过程中,可能需要各种规格的IC插座。例如当遇到目标板上CPU插座周围的元器件,如电解电容、晶振等太高,妨碍仿真头插入时,可使用一两块IC插座抬高CPU插座,以方便仿真头的插入。3.通用编程器868.3系统可靠性设计8.3.1硬件可靠性设计提高元器件的可靠性2.冗余与容错设计3.采用抗干扰措施8.3系统可靠性设计8.3.1硬件可靠性设计提高元87图8-2系统监视电路图8-2系统监视电路88图8-2中使用了一片MAX813L(705/706)系统监视电路产品,该电路具有上电使单片机自动复位,也允许人工随时手动复位,自动监视系统(掉电)等电源故障,程序跑飞使单片机自动复位的系统监视功能。该电路监视功能的具体实现说明如下:(1)电源故障监视。当电源正常时,未稳压的直流电源电压经电阻R1和R2分压,使电源故障输入端PFI的电位大于1.25V (内部参考电压),一旦电源发生故障,PFI的电位低于1.25V,则电源故障输出PFO将从高电平变为低电平,从而引起单片机中断,CPU响应中断后可迅速执行诸如保护重要数据、发出电源故障报警等工作。图8-2中使用了一片MAX813L(70589(2)看门狗定时器。看门狗电路监视单片机的P1.0线,正常情况下,P1.0线不超过1.6s触发一次。若在1.6s内单片机不产生触发信号,看门狗输出端将变为低电平。由于与手动复位端(与TTL/CMOS兼容,可用外部逻辑线驱动)相连,当 低电平维持时间超过140ms,MAX813L(705/706)将复位,同时使看门狗清零和使变为高电平,这样在MAX705/706/813L的复位信号维持200ms结束后,单片机脱离复位状态,开始恢复程序并正常运行。(2)看门狗定时器。看门狗电路监视单片机的P908.3.2系统自诊断技术1. CPU诊断指令系统诊断:单片机执行完一个包含有传送指令、算术运算指令、逻辑运算指令、位传送指令、位逻辑操作指令的程序后,累加器A中的数据应为预定值,否则就有问题。(1)片内RAM诊断:可采用如下过程对片内RAM每一个单元进行测试:读出-备份-写入-再读出-与备份比较,若相同则重新写入原单元,否则设置不正确标志,说明片内RAM有问题。8.3.2系统自诊断技术1. CP91(2)定时器及中断诊断:用软件延时来检测定时的准确性,即定时器以定时方式运行,如能按时溢出,则置位溢出标志,否则延时时间到停止定时器计数,无溢出,表明定时器有问题;利用定时中断来检测中断系统是否有问题,即若允许定时中断,并在中断服务程序中作一件事通知自检程序,则可以根据这件事是否发生来判断中断是否发生。注意:对于8031单片机,诊断程序放在片外ROM中,因此CPU诊断过程必须以三总线(包括地址锁存器)没有问题和EPROM中的诊断程序也正确为前提。(2)定时器及中断诊断:用软件延时来检测定时922. ROM诊断ROM诊断常用静态测试法,在将系统程序及自检程序固化到ROM中去的时候,先仔细计算其机器代码的累加和,并取其结果的最低16位。在固化程序的同时,将上述累加结果一起固化到ROM特定单元中(一般是放在ROM的最后两个地址单元中)。在对ROM进行检查时,只需对固化在ROM的程序代码计算累加和,并将结果与事先固化的内容进行比较,从而判断出ROM的完好性。2. ROM诊断933.外部RAM诊断可采用与片内RAM诊断相同的方法。此外,由于RAM的故障多数是以大片区域被破坏的形式出现的,因此也可采用RAM分段放置标志数的方法来判断RAM区是否被破坏。3.外部RAM诊断944. A/D、D/A转换通道的诊断和校正在使用模拟电路的系统中,A/D转换器芯片只有一片时,通常是用多路模拟开关(一些A/D转换器自带多路模拟开关)来切换各路输入信号,实现分时采样转换。对A/D通道的诊断方法是在某一路模拟输入端加上一个已知的模拟电压,启动A/D转换后读取转换结果。如果等于预定值,则A/D通道正常,若有少许偏差,则说明A/D通道发生少许漂移,应求出校正系数,供信号通道进行校正运算,如果偏差过大,则为故障现象。4. A/D、D/A转换通道的诊断和校正95解决零点漂移和增益校正的方法是将多路模拟开关的一个输入端接信号公共点(模拟电压为零伏),另一个输入端接参考电源,然后分别启动这两路,读取两路A/D转换结果并保存起来。零漂和增益校正的测定可以每隔一定时间进行一次,进行这种校正时测得的数据经过如下计算就可以求得最终数据。解决零点漂移和增益校正的方法是将多路模拟开关的96其中:DS——校正后的数据;DSN——测定信号得A/D转换值;DOS——零点电压的A/D转换值;DFS——A/D转换器满量程值;DRE——参考电压输入的A/D转换值。D/A通道诊断需借助A/D的一个输入通道,在已经进行过A/D诊断并获知其正常后,将预定值送D/A转换,D/A转换后的模拟电压通过分压电阻接到A/D转换的某个输入端,启动A/D转换得到变换后的数字量。将D/A送出的数字量和读入的A/D数字量进行比较,看两者相差多少,从而可判断D/A转换器工作是否正常。其中:975.数字I/O通道诊断数字显示功能的诊断:数码管显示装置显示的内容有数字、小数点、符号、提示符等,自检程序可将数码管的所有笔划段点亮(包括小数点),由操作者检查数码管是否缺段;也可以设置循环输出全0到全9的数字,小数点在各位上循环显示,以及显示特定的提示信息,借以检查数字I/O通道是否正常。键盘的诊断:当操作者按下某个键后,自检程序可通过一个I/O口驱动蜂鸣器发声或由数码管显示器显示出某个数字及符号。当某键听不到发声或显示错误,就可以判断键盘系统出现故障。如果是某个键有问题,往往是接触不良;如果是某排键有问题,一定是对应的键扫描电路有故障;若全部键无相应,则键盘扫描系统已瘫痪或监控程序已瘫痪。5.数字I/O通道诊断988.3.3系统抗干扰性能1.单片机应用系统中的主要干扰源工业生产中的干扰一般都是以脉冲的形式进入单片机应用系统的,串入系统的干扰主要有三种来源,即场干扰,通过电磁波辐射串入系统;输入/输出通道干扰,通过与主机相连的输入/输出通道及与其他主机相连的通道进入;供电系统干扰,从电源供电电路引入干扰。一般情况下场干扰在强度上远小于其他两个干扰源,而且场干扰可用良好的屏蔽与正确的接地、高频滤波加以解决,因此单片机应用系统中重点防止输入/输出通道与供电系统的干扰。8.3.3系统抗干扰性能1.单片机应用系统992.硬件抗干扰措施1)输入/输出通道干扰的抑制措施输入/输出通道干扰的抑制通常采用隔离和滤波技术。常用的隔离器件有隔离变压器、光电耦合器、继电器和隔离放大器等,其中光电耦合器应用最为广泛。在输入和输出通道中采用光电耦合器将单片机系统与各种传感器、开关、执行机构从电气上隔离开来,很大一部分干扰将被阻挡。在模拟通道中使用光电耦合器隔离时,应保证被传送信号的变化范围始终在光电耦合

温馨提示

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

评论

0/150

提交评论