《单片机应用系统设计课件》由会员分享,可在线阅读,更多相关《单片机应用系统设计课件(58页珍藏版)》请在金锄头文库上搜索。
1、第十章第十章 单片机应用系统设计单片机应用系统设计10.1 10.1 单片机应用系统概述单片机应用系统概述一、单片机应用系统的设计方法一、单片机应用系统的设计方法一、单片机应用系统的设计方法一、单片机应用系统的设计方法单片机应用系统的技术要求各不相同,针对具体的任单片机应用系统的技术要求各不相同,针对具体的任务,设计方法和步骤也不完全相同。务,设计方法和步骤也不完全相同。为完成某一任务的单片机应用系统需要包含硬件和软为完成某一任务的单片机应用系统需要包含硬件和软件系统。硬件和软件必须紧密结合,协调一致才能正件系统。硬件和软件必须紧密结合,协调一致才能正常工作。在系统研制过程中,硬件设计和软件设
2、计不常工作。在系统研制过程中,硬件设计和软件设计不能截然分开。硬件设计时应考虑软件设计方法,而软能截然分开。硬件设计时应考虑软件设计方法,而软件也一定是基于硬件基础上进行设计的。这就是所谓件也一定是基于硬件基础上进行设计的。这就是所谓的的“软硬结合软硬结合”。单片机应用系统的研制过程包括单片机应用系统的研制过程包括确定任务、总体设计、确定任务、总体设计、硬件设计、软件设计、系统调试、产品化硬件设计、软件设计、系统调试、产品化等几个阶段。等几个阶段。它们不是绝对分开的,有时是交叉进行的。它们不是绝对分开的,有时是交叉进行的。 2二、单片机应用系统的开发工具二、单片机应用系统的开发工具二、单片机应
3、用系统的开发工具二、单片机应用系统的开发工具单片机应用系统开发必须经过调试阶段,只有经过调单片机应用系统开发必须经过调试阶段,只有经过调试才能发现问题,改正错误,最终完成开发任务。实试才能发现问题,改正错误,最终完成开发任务。实际上,对于较复杂的程序,大多数情况下都不可能一际上,对于较复杂的程序,大多数情况下都不可能一次性就调试成功,即使是资深程序员也是如此。次性就调试成功,即使是资深程序员也是如此。单片机只是一块芯片而已,本身并无开发能力,要借单片机只是一块芯片而已,本身并无开发能力,要借助开发工具才能实现系统设计。开发工具主要包括助开发工具才能实现系统设计。开发工具主要包括电电脑脑、编程器
4、编程器( (又称写入器又称写入器) )、仿真机仿真机。如果使用。如果使用EPROMEPROM作作为存储器还要配备为存储器还要配备紫外线擦除器紫外线擦除器。其中必不可少的工。其中必不可少的工具是电脑和编程器具是电脑和编程器( (当然对于当然对于在线可编程(在线可编程(ISPISP)的单的单片机,如片机,如8989S51S51,也可以不用编程器,而通过下载电缆也可以不用编程器,而通过下载电缆下载下载) )。 31. 1. 仿真机及其使用仿真机及其使用(1) (1) 开发环境开发环境单片机程序的编写、编译、调试等都是在一定的集单片机程序的编写、编译、调试等都是在一定的集成开发环境下进行的。成开发环境
5、下进行的。集成开发环境仿真软件集成开发环境仿真软件( (IDE)IDE)将文件的编辑,汇编语将文件的编辑,汇编语言的汇编、连接,高级语言的编译、连接高度集成于言的汇编、连接,高级语言的编译、连接高度集成于一体,能对汇编程序和高级程序进行仿真调试。一体,能对汇编程序和高级程序进行仿真调试。单片机程序如果是汇编编写的,文件名后必须加后单片机程序如果是汇编编写的,文件名后必须加后缀名缀名“. .ASMASM”。如果是如果是C51C51编写的,必须加后缀名编写的,必须加后缀名“. .C C”。4(2) (2) 仿真机的使用仿真机的使用为了实现目标系统的一次性完全开发,必须用到仿真机为了实现目标系统的一
6、次性完全开发,必须用到仿真机( (也也称在线仿真机称在线仿真机) )。在线仿真机在线仿真机的主要作用是能完全的主要作用是能完全“逼真逼真”地地扮演用户单片机的角色,且能在集成开发环境中对运行程序进扮演用户单片机的角色,且能在集成开发环境中对运行程序进行各种调试操作,即时发现问题,即时修改程序,从而提高工行各种调试操作,即时发现问题,即时修改程序,从而提高工作效率,缩短开发周期。作效率,缩短开发周期。使用时,在线仿真机通过使用时,在线仿真机通过RS-232RS-232插件与电脑的插件与电脑的COM1COM1或或COM2COM2端端口相连。在断电情况下,拨下用户系统的单片机和口相连。在断电情况下,
7、拨下用户系统的单片机和EPROMEPROM,代代之以之以仿真头仿真头,如下图所示。,如下图所示。运行仿真调试程序,通过运行仿真调试程序,通过跟踪执行跟踪执行,能即时发现软硬件方面,能即时发现软硬件方面的问题并进行修正。当设计达到满足系统要求后,将调试好的的问题并进行修正。当设计达到满足系统要求后,将调试好的程序编译时形成的二进制文件用编程器烧写到芯片中,一个应程序编译时形成的二进制文件用编程器烧写到芯片中,一个应用系统就调试成功了。用系统就调试成功了。5编程器与计算机的连接2. 2. 编程器编程器当我们编写好的程序在集成开发环境编译通过后,当我们编写好的程序在集成开发环境编译通过后,会形成一个
8、二进制文件会形成一个二进制文件( (文件名与源程序文件名相同,文件名与源程序文件名相同,后缀名为后缀名为“. .BINBIN”) )或十六进制文件或十六进制文件( (后缀名为后缀名为“. .HEXHEX”) ),即形成所谓的即形成所谓的目标程序目标程序。这个目标程序。这个目标程序必须利用编程器才能将目标文件烧写到单片机的程序必须利用编程器才能将目标文件烧写到单片机的程序存储器中,从而让单片机系统的硬件和软件真正结合存储器中,从而让单片机系统的硬件和软件真正结合起来,组成一个完整的单片机系统。起来,组成一个完整的单片机系统。编程器编程器的主要功能是将目标程序烧写到芯片中,其的主要功能是将目标程序
9、烧写到芯片中,其与电脑的连接如下图所示。与电脑的连接如下图所示。610.2 10.2 单片机应用系统实例单片机应用系统实例例:空调机温度控制系统例:空调机温度控制系统例:空调机温度控制系统例:空调机温度控制系统1. 设计要求 用MCS-51单片机设计一个空调机的温控系统。具体要求如下:实时测量环境温度,并显示当前温度值。当室温度高于设定温度,压缩机运转,使室温降低。当室温低于设定温度,压缩机停止运转。温度设定功能,通过按键输入压缩机启停的温度设定值。设定温度过程中显示设定温度值,以便于操作。设定完毕后,改为显示当前测定温度值。72. 总体方案(1) 系统设计根据设计要求,设计出温度控制系统的基
10、本结构框图如下图所示。8系统由四个主要功能模块组成:温度测量、按键输入,数码显示以及控制压缩机启停模块。温度测量模块的主要功能是将环境温度转化为电参数(电压),并通过A/D转换得到数字量送入单片机。按键输入模块主要功能是实现设定温度值的输入。LED显示模块主要功能是显示当前环境温度值。因空调对温度精度要求不高,本例只要求显示两位整数的温度值。压缩机控制模块主要功能是单片机根据环境温度与设定温度的比较结果送出开关信号、控制压缩机的启停。9(2) 关键技术本系统中的关键技术是如何实时测量室内温度。在对外界物理量如温度、湿度、压力等进行测量时,首先要解决的问题是如何将这些非电量转换为电参数(电阻、电
11、压、电流),其次,是如何将模拟量(电压)转换为数字量。显然对温度的测量,温度传感器是必不可少的。温度传感器的种类、型号很多。在本例中选用的是AD590温度传感器。AD590产生的电流与绝对温度成正比,它可接收的工作电压为4V30V,检测的温度范围为-55度+150度,具有良好的线性输出性能,温度每增加1度,电流增加1微安。 103. 硬件设计 系统的硬件电路包括主机、温度控制、压缩机的控制、按键及显示5个部分,系统硬件电路原理图如下图所示。11124. 软件设计(1) 系统资源分配 内部RAM分配情况。(2) 软件设计流程 主要包括5个模块:主程序按键设定温度模块十进制调整和数据转换模块控制模
12、块显示模块1310.3 10.3 单片机应用系统练习单片机应用系统练习题目一题目一 电子钟电子钟 用MCS-51单片机设计时钟控系统。具体要求如下:1. 24小时走时小时走时;2. 6位数码管显示时、分、秒;位数码管显示时、分、秒;3. 3个按键,个按键,2个分别用于时、分调整,个分别用于时、分调整,1个用于是否允个用于是否允许调整。许调整。4. 写出设计方案,画出完整的电路原理图(包括电源、写出设计方案,画出完整的电路原理图(包括电源、时钟电路、复位电路),编写程序。时钟电路、复位电路),编写程序。14题目二题目二 数字温度计数字温度计 用MCS-51单片机设计数字温度计。具体要求如下:1.
13、 5位数码管显示温度,可显示摄氏度或华氏度位数码管显示温度,可显示摄氏度或华氏度;2. 温度显示范围温度显示范围-20.0度度+50.0度;度;3. 1个按键用于显示摄氏度或华氏度切换。个按键用于显示摄氏度或华氏度切换。4. 写出设计方案,画出完整的电路原理图(包括电源、写出设计方案,画出完整的电路原理图(包括电源、时钟电路、复位电路),编写程序。时钟电路、复位电路),编写程序。15题目三题目三 波形发生器波形发生器用MCS-51单片机设计一个波形发生器。具体要求如下:1. 可根据按钮选择连续输出锯齿波、三角波或正弦波可根据按钮选择连续输出锯齿波、三角波或正弦波形形;2. 4个按键,个按键,3
14、个分别用于选择输出锯齿波、三角波、个分别用于选择输出锯齿波、三角波、正弦函数;一个用于改变输出波形的周期。正弦函数;一个用于改变输出波形的周期。3. 写出设计方案,画出完整的电路原理图(包括电源、写出设计方案,画出完整的电路原理图(包括电源、时钟电路、复位电路),编写程序。时钟电路、复位电路),编写程序。1610.4 10.4 串行扩展技术串行扩展技术一、串行扩展总线及特点一、串行扩展总线及特点 串行扩展总线技术是新一代单片机技术发展的一串行扩展总线技术是新一代单片机技术发展的一个显著特点个显著特点。串行扩展总线有电路结构简单,程序编串行扩展总线有电路结构简单,程序编写方便,易于实现用户系统软
15、硬件的模块化、标准化写方便,易于实现用户系统软硬件的模块化、标准化等优点。等优点。 常用的串行扩展总线和接口有常用的串行扩展总线和接口有1-1-wirewire总线、总线、I I2 2C C总总线、线、SPISPI总线、总线、MicrowareMicroware总线和总线和CANCAN总线等。总线等。 17(1 1)UARTUART串行扩展接口串行扩展接口(Universal Asynchronous Universal Asynchronous Receiver/TransmitterReceiver/Transmitter) UART UART通用异步收发器,既能同步又能异步通信通用异步收
16、发器,既能同步又能异步通信的硬件电路称为的硬件电路称为USARTUSART。UARTUART是用于控制计算机与串是用于控制计算机与串行设备的芯片,它提供了行设备的芯片,它提供了RSRS232C232C数据终端设备接数据终端设备接口,这样计算机就可以和调制解调器或其它使用口,这样计算机就可以和调制解调器或其它使用RSRS232C232C接口的串行设备通信了。接口的串行设备通信了。 UARTUART接口是二线制,接口是二线制,80518051单片机的单片机的UARTUART既能作通既能作通用异步接收和发送器,又能作同步移位寄存器。它用异步接收和发送器,又能作同步移位寄存器。它可以实现可以实现805
17、18051单片机系统之间点对点的单机通信或单片机系统之间点对点的单机通信或多机通信,也可以实现扩展多机通信,也可以实现扩展I/OI/O口。口。 18(2 2)I I2 2C C(Inter Integrated CircuitInter Integrated Circuit)串行扩展总串行扩展总线线 I I2 2C C总线是总线是PhilipsPhilips公司推出的芯片间串行传输总公司推出的芯片间串行传输总线。它用两根线实现数据传送,可以极为方便地构成线。它用两根线实现数据传送,可以极为方便地构成多机系统和外围器件扩展系统。多机系统和外围器件扩展系统。 I I2 2C C总线是二线制,采用器
18、件地址的硬件设置方法,总线是二线制,采用器件地址的硬件设置方法,通过软件寻址完全避免了器件的片选线寻址方法,从通过软件寻址完全避免了器件的片选线寻址方法,从而使硬件系统具有简单灵活的扩展方法。而使硬件系统具有简单灵活的扩展方法。I I2 2C C总线简单,总线简单,结构紧凑,易于实现模块化和标准化。结构紧凑,易于实现模块化和标准化。 I I2 2C C总线传送速率主要有两种总线传送速率主要有两种:一种是标准一种是标准S S模式模式(100100Kb/sKb/s),),另一种是快速另一种是快速F F模式(模式(400400Kb/sKb/s)。)。19(3 3)SPI(Serial Periphe
19、ral Interface) SPI(Serial Peripheral Interface) 串行扩展串行扩展接口接口 SPISPI总线是总线是MotorolaMotorola公司提出的一种同步串行外设公司提出的一种同步串行外设接口。允许接口。允许MCUMCU与各种外围设备以同步串行方式进行通与各种外围设备以同步串行方式进行通信。其外围设备种类繁多:最简单的信。其外围设备种类繁多:最简单的TTLTTL移位寄存器到移位寄存器到复杂的复杂的LCDLCD显示驱动器、网络控制器等。显示驱动器、网络控制器等。 SPISPI总线是三线制,可直接与多种标准外围器件直总线是三线制,可直接与多种标准外围器件直
20、接接口,在接接口,在SPISPI从设备较少而没有总线扩展能力的单片从设备较少而没有总线扩展能力的单片机系统中使用特别方便。即使在有总线扩展能力的系机系统中使用特别方便。即使在有总线扩展能力的系统中采用统中采用SPISPI设备也可以简化电路设计,省掉很多常规设备也可以简化电路设计,省掉很多常规电路中的接口器件,从而提高了设计的可靠性。电路中的接口器件,从而提高了设计的可靠性。 20(4 4)MicrowareMicroware串行扩展接口串行扩展接口 MicrowareMicroware总线是总线是NSNS公司提出的串行同步双工通公司提出的串行同步双工通信接口,用于信接口,用于8 8位位COP8
21、00COP800系列单片机和系列单片机和1616位位HPCHPC系列单系列单片机。片机。 MicrowareMicroware总线是三线制,由一根数据输出(总线是三线制,由一根数据输出(SOSO)线、一根数据输入(线、一根数据输入(SISI)线和一根时钟(线和一根时钟(SKSK)线组成。线组成。所有从器件的时钟线连接到同一根所有从器件的时钟线连接到同一根SKSK线上,主器件向线上,主器件向SKSK线发送时钟脉冲信号,从器件在时钟信号的同步沿线发送时钟脉冲信号,从器件在时钟信号的同步沿输出输出/ /输入数据。主器件的数据输出线输入数据。主器件的数据输出线SOSO和所有从器和所有从器件的数据输入线
22、相接,从器件的数据输出线都接到主件的数据输入线相接,从器件的数据输出线都接到主器件的数据输入线器件的数据输入线SISI上。上。21(5 5)单总线()单总线(1-1-wirewire)串行扩展总线串行扩展总线 1- 1-wirewire总线是总线是DallasDallas公司研制开发的一种协议,公司研制开发的一种协议,用于便携式仪表和现场监控系统。用于便携式仪表和现场监控系统。 1-1-wirewire总线是利用一根线实现双向通信,由一个总线是利用一根线实现双向通信,由一个总线主节点、一个或多个从节点组成系统,通过一根总线主节点、一个或多个从节点组成系统,通过一根信号线对从芯片进行数据的读取。
23、每一个符合信号线对从芯片进行数据的读取。每一个符合1-1-wirewire协议的从芯片都有一个唯一的地址,包括协议的从芯片都有一个唯一的地址,包括8 8位分类码、位分类码、4848位的序列号和位的序列号和8 8位位CRCCRC代码。主芯片对各个从芯片的代码。主芯片对各个从芯片的寻找依据这寻找依据这6464位的不同来进行。单总线节省位的不同来进行。单总线节省I/OI/O引脚资引脚资源、结构简单、成本低廉、便于总线扩展和维护。源、结构简单、成本低廉、便于总线扩展和维护。 22(6 6)USBUSB(Universal Serial BUSUniversal Serial BUS)串行扩展总线串行扩
24、展总线 USBUSB总线是总线是CompaqCompaq、IntelIntel、MicrosoftMicrosoft、NECNEC等公司等公司联合制定的一种计算机串行通信协议。联合制定的一种计算机串行通信协议。 USB USB比较于其他传统接口的一个优势是即插即用的比较于其他传统接口的一个优势是即插即用的实现,即插即用(实现,即插即用(Plug-and-PlayPlug-and-Play)也称为热插拔(也称为热插拔(Hot Hot PluggingPlugging)。)。数据传输速度快,数据传输速度快,USB1.1USB1.1接口的最高传输接口的最高传输率可达率可达12 12 Mb/sMb/s
25、;USB2.0USB2.0接口的最高传输率可达接口的最高传输率可达480 480 Mb/sMb/s。扩展方便,使用扩展方便,使用USB HubUSB Hub扩展,可以连接扩展,可以连接127127个个USBUSB设备,连接的方式十分灵活。设备,连接的方式十分灵活。23(7 7)CANCAN(Controller Area NetworkController Area Network)串行扩展总线串行扩展总线 CANCAN总线是德国总线是德国BoschBosch公司最先提出的多主机局域网,公司最先提出的多主机局域网,是国际上应用最广泛的现场总线之一。最初,是国际上应用最广泛的现场总线之一。最初,
26、CANCAN被设被设计作为汽车环境中的微控制器通信,在车载各电子控制计作为汽车环境中的微控制器通信,在车载各电子控制装置装置ECUECU之间交换信息,形成汽车电子控制网络。比如:之间交换信息,形成汽车电子控制网络。比如:发动机管理系统、变速箱控制器、仪表装备。发动机管理系统、变速箱控制器、仪表装备。 在由在由CAN CAN 总线构成的单一网络中,理论上可以挂总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。气特性所限制。CAN CAN 可提供高达可提供高达1 1MbitMbit/s/s的数据传输速的数
27、据传输速率,这使实时控制变得非常容易。另外,硬件的错误检率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了定特性也增强了CANCAN的抗电磁干扰能力。当信号传输距的抗电磁干扰能力。当信号传输距离达到离达到1010kmkm时,时,CAN CAN 仍可提供高达仍可提供高达5050KbitKbit/s/s的数据传输的数据传输速率。速率。 24二、二、 I I2 2C C串行扩展总线串行扩展总线 1.I1.I2 2C C总线接口电路结构总线接口电路结构 在在I I2 2C C总线上可以挂接各种类型的外围器件,如总线上可以挂接各种类型的外围器件,如RAM/EEPROMRAM/EEPROM、日
28、历日历/ /时钟芯片、时钟芯片、A/DA/D转换器、转换器、D/AD/A转换器、以及由转换器、以及由I/OI/O口、显口、显示驱动器构成的各种模块。示驱动器构成的各种模块。 SDA:串行数据线串行数据线SCL:串行时钟串行时钟25 例:例:AT24C01AT24C01是是AtmelAtmel公司生产的具有公司生产的具有I I2 2C C总线接口总线接口的的E E2 2PROMPROM,是是AT24CAT24C系列存储器中的一种,芯片存系列存储器中的一种,芯片存储容量为储容量为1 1Kb(128Kb(1288 8位位) )。AT24C01AT24C01引脚如下图所示。引脚如下图所示。SCLSCL
29、:串行时钟端。串行时钟端。SDASDA:串行数据端,漏极开串行数据端,漏极开路,需接上拉电阻到路,需接上拉电阻到V VCCCC。WPWP:写保护,写保护, 当当WPWP为高电平时存储器只读;为高电平时存储器只读; 当当WPWP为低电平时存储器可读为低电平时存储器可读可写。可写。A2A2A0A0:芯片地址。芯片地址。 262.I2.I2 2C C数据格式数据格式启动信号启动信号 从器件地址、读从器件地址、读/写位写位 应答信号应答信号 若干数据字节若干数据字节 停止信号停止信号273.3.I I2 2C C地址设定地址设定I I2 2C C总线器件的总线器件的7 7位从器件地址(位从器件地址(S
30、LA-Slave SLA-Slave AddressAddress)R/WA0A1A2DA0DA1DA2DA3器件识别码器件识别码如:如:RTC 1101EEPROM 1010器件选择码器件选择码允许在共用的允许在共用的I I2 2C C总线总线上同时接上同时接8 8个同类器件个同类器件284.I4.I2 2C C数据传送数据传送 I I2 2C C的主要命令只有读、写两种,虽然读写的字节的主要命令只有读、写两种,虽然读写的字节根据具体器件的不同而不同,但其时序关系不会发生根据具体器件的不同而不同,但其时序关系不会发生改变。改变。 例:例: DallasDallas公司的时钟发生器公司的时钟发
31、生器DS1085DS1085操作时序。操作时序。2930315.I5.I2 2C C虚拟实现虚拟实现I2C器件SCL EQU P1.0SDA EQU P1.132(1)发送起始信号和停止信号)发送起始信号和停止信号33START:SETB SDASETB SCLNOP;NOP的数目根据时钟频率确定的数目根据时钟频率确定NOP;此处用;此处用NOP来延时来延时CLR SDANOPNOPCLR SCLRET34STOP: CLR SDASETB SCLNOP;此处用此处用NOP来延时来延时NOP;NOP的数目根据时钟频率确定的数目根据时钟频率确定SETB SDANOPNOPCLR SDACLR S
32、CLRET35(2)应答位检查子程序)应答位检查子程序TACK: SETB SDA;设置;设置SDA为输入方式为输入方式SETB SCL;产生第;产生第9个时钟脉冲个时钟脉冲NOP;此处用此处用NOP来延时来延时NOP;NOP的数目根据时钟频率确定的数目根据时钟频率确定CLR 30H;正常标志正常标志MOV C,SDAJNC TEND;若正常;若正常应答,则转移应答,则转移SETB 30HTEND: CLR SCLRET36TXBYT:MOV R4,#08H;要发送的数据长度为;要发送的数据长度为8位位TX0:RLC A;将待发送的位送入位;将待发送的位送入位CY中中JC TX1;CY位为位为
33、1转到转到TX1CLR SDA;置为低电平,发送置为低电平,发送0SETB SCL;时钟高电平数据保持数据稳定;时钟高电平数据保持数据稳定NOP;延时延时NOPCLR SCL;时钟脉冲变为低电平,准备改变数据;时钟脉冲变为低电平,准备改变数据DJNZ R4,TX0;若;若8位未发送完,转位未发送完,转TX0继续继续RET;8位发送完成位发送完成返回返回TX1:SETB SDA;置为高电平,发送;置为高电平,发送1SETB SCL;时钟为高电平保持数据稳定;时钟为高电平保持数据稳定NOP;延时延时NOPCLR SCL;时钟脉冲变为低电平,准备改变数据;时钟脉冲变为低电平,准备改变数据CLR SD
34、A;将数据改为低电平;将数据改为低电平DJNZ R4,TX0;若;若8位未发送完,转位未发送完,转TX0继续继续RET;8位发送完成位发送完成返回返回(3)字节发送子程序)字节发送子程序37RXBYT:MOV R4,#08H;要;要接收接收的数据长度为的数据长度为8位位RX0:SETB SDA;设置;设置SDA为输入方式为输入方式SETB SCL;SDA上数据有效上数据有效MOV C,SDA;读入;读入SDA引脚状态引脚状态MOV A,R5;将存放结果送入;将存放结果送入A中中RLC A;将读出的;将读出的1位移入位移入A中中MOV R5,ACLR SCL;一个脉冲结束,;一个脉冲结束,SDA
35、上数据无效上数据无效DJNZ R4,RX0;未读完;未读完8位,转到位,转到RX0RET;读完返回;读完返回(4)字节接收子程序)字节接收子程序3810.5 10.5 单片机系统的抗干扰技术单片机系统的抗干扰技术一、干扰源及其分类一、干扰源及其分类 所谓干扰所谓干扰, 一般是指有用信号以外的噪声一般是指有用信号以外的噪声, 在信号输入、在信号输入、 传输和输出过程中出现的一些有害传输和输出过程中出现的一些有害的电气变化现象。这些变化迫使信号的传输值、的电气变化现象。这些变化迫使信号的传输值、 指示值或输出值出现误差指示值或输出值出现误差, 出现假像。出现假像。 干扰对电路的影响干扰对电路的影响
36、, 轻则降低信号的质量轻则降低信号的质量, 影影响系统的稳定性响系统的稳定性; 重则破坏电路的正常功能重则破坏电路的正常功能, 造成造成逻辑关系混乱逻辑关系混乱, 控制失灵。控制失灵。39常见干扰的种类常见干扰的种类40内部和外部干扰示意图内部和外部干扰示意图411.1.装置开口或隙缝处进入的辐射干扰装置开口或隙缝处进入的辐射干扰(辐射辐射)2.电网变化干扰电网变化干扰(传输传输)3. 周围环境用电干扰周围环境用电干扰(辐射、辐射、 传输、传输、 感应感应)4. 传输线上的反射干扰传输线上的反射干扰(传输传输)5. 系统接地不妥引入的干扰系统接地不妥引入的干扰(传输、传输、 感应感应)6. 外
37、部线间串扰外部线间串扰(传输、传输、 感应感应)7. 逻辑线路不妥造成的过渡干扰逻辑线路不妥造成的过渡干扰(传输传输)428. 线间串扰线间串扰(感应、感应、 传输传输)9.电源干扰电源干扰(传输传输)10.10.强电器引入的接触电弧和反电动势干扰强电器引入的接触电弧和反电动势干扰(辐射、辐射、 传输、传输、 感应感应)11.内部接地不妥引入的干扰内部接地不妥引入的干扰(传输传输)12.漏磁感应漏磁感应(感应感应)13.传输线反射干扰传输线反射干扰(传输传输)14 .漏电干扰漏电干扰(传输传输) 43二、干扰对单片机系统的影响二、干扰对单片机系统的影响 正常程序:正常程序:13F4 A274
38、MOV C, 2EH.4 13F6 E544 MOV A, 44H 13F8 3402 ADDC A, 2 13FA 13 RRC A13FB F544 MOV 44H, A13FD 9274 MOV 2EH.4, C 如如果果干干扰扰使使程程序序计计数数器器PC出出错错, 在在某某时时刻刻变变为为13F5H, CPU将将执执行行如如下下程程序序片片段段, 掉掉进一个死循环进一个死循环: 13F5 74E5 MOV A, 0E513F7 4434 ORL A, 3413F9 02113F5 LJMP 13F5H 44三、三、硬件硬件抗干扰技术抗干扰技术1.抗干扰稳压电源抗干扰稳压电源 (1)
39、应应用用系系统统的的供供电电线线路路和和产产生生干干扰扰的的用用电电设设备备分分开供电。开供电。 (2) 通过低通滤波器和隔离变压器接入电网。通过低通滤波器和隔离变压器接入电网。 (3) 整流组件上并接滤波电容。滤波电容选用整流组件上并接滤波电容。滤波电容选用1 000 pF 0.01 F的瓷片电容的瓷片电容, 。 (4) 采用高质量的稳压电源。采用高质量的稳压电源。 45抗干扰稳压电源抗干扰稳压电源抗干扰稳压电源抗干扰稳压电源 4689C512.输入输出隔离输入输出隔离光电耦合器隔离光电耦合器隔离47光电耦合式固态继电器光电耦合式固态继电器483.过压保护电路过压保护电路 在在输输入入通通道
40、道上上采采用用一一定定的的过过压压保保护护电电路路, 以以防防引引入入高高压压, 损损坏坏系系统统电电路路。 过过压压保保护护电电路路由由限限流流电电阻阻和和稳稳压压管管组组成成, 稳稳压压值值以以略略高高于于最最高高传传送送信信号号电电压压为为宜宜。对对于于微微弱弱信信号号(0.2 V 以以下下), 采采用用两两支反并联的二极管支反并联的二极管, 也可起到过压保护作用。也可起到过压保护作用。 49四、软件抗干扰技术四、软件抗干扰技术 1.开关量输入方法开关量输入方法502.程序执行过程中的软件抗干扰程序执行过程中的软件抗干扰 “指令冗余指令冗余”与与“软件陷阱软件陷阱”下面三条指令即组成一个
41、下面三条指令即组成一个“软件陷阱软件陷阱”: NOP NOP LJMP ERR 一般使用在:一般使用在: 1)未使用的中断向量区)未使用的中断向量区 2)未使用的大片)未使用的大片EPROM空间空间513.WATCHDOG 如如果果“跑跑飞飞”的的程程序序落落到到一一个个临临时时构构成成的的死死循循环环中中, 冗冗余余指指令令和和软软件件陷陷阱阱都都将将无无能能为为力力, 这这时时可可采采取取WATCHDOG(俗俗称称“看门狗看门狗”)措施。)措施。 WATCHDOG有如下特性有如下特性: (1) 本本身身能能独独立立工工作作, 基基本本上上不不依依赖赖于于CPU。 CPU只只在在一一个个固固
42、定定的的时时间间间间隔隔内内与与之之打打一一次次交交道道, 表表明明整整个个系系统统“目目前前尚尚属属正正常常”。 (2) 当当CPU落入死循环后落入死循环后, 能及时发现并使整个系统复位。能及时发现并使整个系统复位。52硬件硬件WATCHDOG电路电路 534.数字滤波数字滤波 数字滤波有如下优点数字滤波有如下优点: (1) 数数字字滤滤波波是是由由软软件件程程序序实实现现的的, 不不需需要要硬硬件件, 因因此此不不存存在阻抗匹配的问题。在阻抗匹配的问题。 (2) 对对于于多多路路信信号号输输入入通通道道, 可可以以共共用用一一个个软软件件“滤滤波波器器”, 从而降低设备的硬件成本。从而降低
43、设备的硬件成本。 (3) 只只要要适适当当改改变变滤滤波波器器程程序序或或运运算算参参数数, 就就能能方方便便地地改改变变滤滤波波特特性性, 这这对对于于低低频频脉脉冲冲干干扰扰和和随随机机噪噪声声的的克克服服特特别别有有效效。 54(1)限幅滤波限幅滤波 55 PUSH ACC ; 保护现场保护现场 PUSH PSW MOV A, 30H ; YnA CLR C SUBB A, 31H ; 求求Yn-Yn-1 INC LP0 ; Yn-Yn-10吗?吗? CPL A ; Yn Y?LP1 : MOV 31H, 30H ; 等于等于Y, 本次采样值有效本次采样值有效 SJMP LP3 LP2:
44、 JC LP1 ; 小于小于Y, 本次采样值有效本次采样值有效 ; 大于大于Y, Yn =Yn-1LP3: POP PSW POP ACC RET 56(2)中值滤波)中值滤波 中中值值滤滤波波是是对对某某一一被被测测参参数数连连续续采采样样n次次(一一般般n取取奇奇数数), 然然后后把把n次次采采样样值值按按大大小小排排列列, 取取中中间间值值为为本本次次采采样样值值, 中中值值滤滤波波能能有有效效地地克克服服偶偶然然因因素素引引起起的的波波动动或或采采样样器器不不稳稳定定引引起起的的误误码等脉冲干扰。码等脉冲干扰。 设设SAMP为为存存放放采采样样值值的的内内存存单单元元首首地地址址, DATA为为存存放放滤滤波值的内存单元地址波值的内存单元地址, N为采为采样值个数样值个数, 中值滤波程序如下中值滤波程序如下: 57(3)算术平均滤波)算术平均滤波 对目标参数进行连续采样对目标参数进行连续采样, 然后求取算术平均值然后求取算术平均值作为有效采样值作为有效采样值, 该算法适用于抑制随机干扰。该算法适用于抑制随机干扰。58