ImageVerifierCode 换一换
格式:PPT , 页数:96 ,大小:1.51MB ,
资源ID:384583      下载积分:12 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-384583.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络课件电子讲稿规范(PPT、WORD、HTML)-西南科技大学网络教育学院.ppt)为本站会员(ga****84)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

网络课件电子讲稿规范(PPT、WORD、HTML)-西南科技大学网络教育学院.ppt

1、1,第8章 微机控制系统应用程序设计 应用程序就是面对控制系统本身的程序,它是根据系统的具体要求,由用户自己设计的。由于许多控制系统实时性很强,所以目前主要采用汇编语言进行程序设计。本章主要介绍四方面的内容:应用程序设计原则与方法,常用程序举例,微机控制系统的应用程序设计和软件抗干扰技术。,2,8.1 应用程序设计原则与方法 一、应用程序软件设计的一般目标 1. 可靠性 软件可靠性意味着该软件在测试运行过程中避免可能发生故障的能力,且一旦发生故障后,具有解脱和排除故障的能力。软件可靠性和硬件可靠性本质的区别在于,后者为物理机理的病变和衰老所致,而前者是由于设计和实现的错误所致。 2可修改性 要

2、求以科学的方法设计软件,使之有良好的结构化和完备的文档。用该软件所形成的系统性易于调整。 3可理解性 软件的可理解性是其可靠性和可修改性的前提。它要求软件本身具有简洁明了的结构。这在很大程度上取决于设计者的洞察力和创造性,以及对设计对象掌握的透彻程度,当然它还依赖于设计工具和方法的适当运用。,3,4可测试性 可测试性就是设计一个适当的数据集合,用来测试所建立的系统,并保证系统得到全面的检验。 5. 效率性 软件的效率一般用程序的执行时间和所占用的内存容量来度量。二、应用程序设计方法 应用程序设计方法主要有结构化编程和功能模块编程两种,这两种构思的结合就可以得出更佳的程序结构。 (一)、功能模块

3、编程1. 优点 实际的应用程序一般都由一个主程序(包括若干个功能模块)和多个子程序构成。每一个功能程序模块都能完成某一明确的任务,实现具体的某个功能。采用这种模块化的程序设计方法,有下述优点:,4,(1)单个模块结构的程序功能单一,因而易于缩写、调试和修改; (2)便于分工,可由多个程序员同时进行编写、调试,加快软件研制进度; (3)程序可读性好便于功能扩充和版本升级; (4)程序的修改可局部进行而其它部分则可以相对保持不变; (5)使用频繁的子程序可以汇编成子程序库,以便于多个模块调用。 2.程序模块的划分 模块化程序设计是接自上而下的过程进行的,主模块即为总模块,然后是多层次的子模块。在进

4、行模块划分时,应弄清楚每个模块所需完成的功能、数据结构以及与其它模块之间的关系等。模块说明应包括实现模块功能所用的基本算法,模块入口参数、出口参散模块的数据结构及调用予程序等。,5,3.划分模块的原则 模块的划分有很大的灵活性,应遵循下述原则: (1) 每个模块应具有独立的功能,能产生一个明确的结果,这就是单模块功能的高内聚性; (2) 模块之间的控制耦合应尽量简单,模块之间的数据耦合应尽量少,这就是模块间的低耦合性。控制耦合是指模块进入和退出的条件及方式,而数据耦合则是指模块间的信息交换方式、交换信息量的多少及信息交换的频繁程度。 (3) 模块长度适中,模块语句的长度通常在20100条的范围

5、内较合适。(二)结构化程序设计 结构化程序设计是指程序的设计、编写和调试都采用一种规定的组织形式进行,任何程序都可以由三种基本结构程序构成:,6,1. 顺序结构 2. 条件结构(即分支结构) 3. 循环结构 每个结构只有一个入口和一个出口三种结构程序的任意组台和嵌套就构成结构化的程序。 子程序和宏指令不能作为一种基本结构,但在应用系统软件程序的设计中,通常把一些常用的功能编写成子程序或宏指令,构成一个或几个子程序库,以便于其它功能模块的随时调用。,7,82判断程序设计 在用微机进行数据处理和过程控制的系统中,通常需要对检测的数据或状态进行分析,然后根据数据的大小及状态进行判断,以决定下一步程序

6、运行的方向。这些操作和过程都需要判断程序来处理,判断程序设计的基本思想是: 1. 读人数据或逻辑状态; 2. 进行算术或逻辑运算; 3. 根据运算的结果状态进行判断,并转到相应的程序入口地址。 在这种程序设计中,经常用到的单片机算术运算指令有ADD、ADDC、SUBB、CJNE等常用到的逻辑运算指令有ANL、ORL以及XRL等。为了对运算结果进行判断,一般的微机都设有状态标志寄存器,以便根据运算后的状态标志寄存器的内容进行转移。,8,如MCS-51系列单片机有一组标志位,设置在程序状态字(PSW)寄存器中,各个标志位反映了单片机在处理数据或传输数据时的某些特性,具体含义是: PSW.7 CY

7、数据运算时的进位标志 PSW.6 AC 辅助进行标志,用于十进制运算的调整 PSW.5 F0 可由用户设定的软标志 , PSW.4 RS1 用于寄存器区的选择 PSW.3 RS0 用于寄存器区的选择 PSW.2 OV 运算结果溢出标志 PSW.1 一 不用 PSW.0 P 8位累加器的奇偶校验标志,即1的个数 上面讲的几种标志(CY、AC、OV、P)都是在运算处理时由CPU自动产生的,其有个别标志位可以用软件干预。 判断程序是使用最广泛的程序,包括算术判断程序、逻辑判断程序和标志位判断程序等三种。,9,一、算术判断程序 算术判断程序就是根据算术运算结果进行判断它常常用于报警系统、称重、计数系统

8、、控制系统以及中断优先权排队程序等等。如有M和N两个数在进行算术比较后会出现下列三种情况:MN。它们可以根据PSW寄存器中的AC、CY、OV等标志位进行判断,其程序结构框图如图所示。,图 8.1 算术判断程序框图,10,算术判断程序清单: ARITH-CP;MOV A,#M ;取第一个需比较的数送A MOV R0,#N ;取第=个数送R0 COMP: CLR C SUBB A,R0 ;比较两个数据 JZ MEQUN ;M与N相等,跳转到M=N的处理 JNC MBIGN ;M大于N,跳转MN的处理 MLESSN: ;MN的处理 MEQUN: ;M=N的处理 二、逻辑判断程序 在过程控制系统中,经

9、常要根据一些逻辑关系决定控制过程。逻辑关系式基本逻辑函数有三种,即与、或、非。在微机控制系统中,可以从这三种基本逻辑函数出发,去模拟任何函数和模拟数字电路。,11,模拟逻辑函数的程序设计包括以下几个步骤; 1. 从微机输入端口读入数据(开关状态); 2. 送屏蔽字,保留的位为1,其余的位则为0; 3. 与所要求的状态进行比较; 4. 判断比较结果,进而决定控制程序的走向。 例:模拟逻辑函数注:假设A、B、C由P1口输入,其中A:P1.2、B:P1.3、C:P1.7, 程序清单如下:LOGIC: MOV A,P1 ;读入状态字送累加器 MOV R0,A ;暂存状态宇 ANL A,#0CH ;送屏

10、蔽字0000 XX00B XRL A,#0CH ;检查AB=1l? JZ OUTF ;AB=11时,转输出,12,MOV A,R0 ;进状态字 ANL A,#84H ;送屏蔽字X000 0X00 XRL A,#80H ;检查 =01? JNZ LOGIC ; 01,返回 OUTF: ;AB=11或 =01时,则输出函数值 使用位处理指令,上述程序可改写,流程图如下:,图 8.2模拟逻辑函数程序框图,13,START: MOV A,P1 ;读入状态字送累加器 JB ACC.2 AA ;A=1时转移 JB ACC.7 OUTF ;C=1输出函数值 AJMP START ; AA: JB ACC.3

11、 OUTF ;B=1输出函数值 AJMP START OUTF: ;输出函数值 三、标志判断程序 标志判断的基本设计思想是根据某一标志单元(或标志位)的状态进行判断,以决定下一步程序的前进方向。如在马达和步进电机控制程序中,经常遇到的一个问题就是马达和步进电机的旋转方向。为此可以设置一个标志位(F0),根据标志位(F0)的状态来决定马达和步进电机的旋转方向,其程序控制框图如图所示。,14,图8.3 马达方向标志判断程序,15,步进电机方向判断程序清单DIREC: MOV A,F0 ;状态标志位送A JZ PROTE ;状态标志为0转FROTE: ;状态标志为l时,执行反转程序PROTE: ;状

12、态标志为0时,执行正转程序 标志判断程序的设计是很简单的,主要采用比较、位检测或逻辑判断指令,然后根据所测得的标志状态进行判断和转移,其设计方法与算术判断程序和逻辑判断程序非常相似。 算术判断程序、逻辑判断程序以及标志判断程序的共同特点是首先经过一定的运算(算术或逻辑运算),然后根据标志状态进行判断,从而决定程序的前进方向。,16,8.3 巡回检测程序 所谓巡回检测就是对生产过程中的各个参数以一定的周期进行循环检查和测量,检测的结果经微机处理后进行显示、打印和报警,以供操作人员审查或提醒操作人员的注意。 巡回检测程序主要包括以下几个部分: (1) 采样周期T的确定; (2) 采样开关通道号的控

13、制; (3) AD转换; (4) 数据处理。 巡回检测系统原理图,如图所示。,17,图8.4 巡回检测系统原理图,18,在巡回检测程序中,为了充分发挥单片机的效率和检测结果的实时性,一般多采用中断方式,程序框图如图所示, 8个模拟通道的采样结果依次放在片内RAM的30H37H单元中。 ORG 2000H MAIN:MOV DPTR,#0F7F8H ;指向AD启动地址和lN0首地址 MOV R0,#30H ;存数据首地址 MOV R2,#08H ;8路计数初值 SETB ITl ;选脉冲触发方式 SETB EXl ;外部中断I SETB EA ;开中断START:MOVX DPTR,A ;启动A

14、D转换 HE:SJMP HE ;等待中断 DJNZ R2,START ;巡回完?否,继续DONE: ;执行其它过程,19,中断服务程序清单 ORG 0013H INTl: MOVX A,DPTR ;读取数据至A MOVX R0,A ;取数据至RAM单元 INC R0 ;数据地址指针加1 INC DPTR ;通道号加1 RETI ;中断返回,20,8.4 数字滤波程序一、数字滤波 所谓数字滤波,就是通过程序计算或判断来减少干扰在有用信号中的比重,故实际上它是一种程序滤波。 二、优点 数字滤波克服了模拟滤波器的不足,它与模拟滤波器相比,有以下几个优点: 1.数字滤波是用程序实现的,不需要增加硬设备

15、,所以可靠性高,稳定性好; 2.数字滤波可以对频率很低(如0.0l Hz)的信号实现滤波,克服了模拟滤波器的缺陷; 3.模拟滤波器通常是每个通道都有,而数字滤波器则可多个通道共用,从而降低成本; 4. 数字滤波器可以根据信号的不同,采用不同的滤波方法或滤波参数,具有灵活、方便、功能强的特点。,21,三、数字滤波的几种方法及程序举例 (一)算术平均滤波程序 算术平均法是按输入一次采样N个数据xi(i=1,2,n),算式为: 算术平均值法适用于一般的具有随机干扰的信号滤波,并特别适合于信号本身在某一数值范围附近作上下波动的情况如流量、液面等信号的测量。算术平均值法对信号的平滑滤波程序完全取决于N。

16、当N较大时,平滑度高,但灵敏度低,外界信号的变化对测量计算结果的影响小,当N较小时,平滑度较低但灵敏度高,因此应按具体情况选取N,如对流量的测量,可取N=816;对压力的测量,可取N=4等。,22,算术平均值法编程时只需注意两点:一是xi的输入方法。二是选取适当的x、y的数据格式,即x、y是定点数还是浮点效。采用浮点数计算比较方便,但计算时间较长;采用定点数可加快计算速度,但是必须考虑累加时是否会产生溢出。,23,(二)滑动平均值滤波程序 滑动平均值法采用队列作为测量数据存储器,队列的队长固定为N,每进行一次新的测量,把测得的结果放入队尾而扔掉原来队首的一个数据,这样在趴列中始终有N个“最新”

17、的数据。计算平均值时,只要把队列中的N个数据进行算术平均,就可得到新的算术平均值。这样每进行一次测量,就可计算得到一个新的算术平均值。(三)中值滤波程序 对某一参数连续采样N次(一般N为奇数),然后将其由大到小或由小到大排队,取中间值作为本次采样值。(四)加权平均值滤波程序 上面介绍的这两种平均值方法,都是采用算术平均的方法,在这种方法中,对于N次内的所有采样值,在其结果中的比重是相等的。但有时为了提高L滤波效果,各采样值取不同的比例,后再相加,此种方法即为加权平均法。,24,一个N项加权平均式为: 式中口C0、C1、Cn-1均为常数项,应满足下列关系: 式中C0、C1、Cn-1为各次采样值的

18、系数,可根据具体情况决定,一般采样次数愈靠后,取的比例愈大,这样可增加新的采样值在平均值中的比例。其目的是增加信号的某一部分,抑制信号的另一部分。算法流程图如图所示。,25,图8.6 加权平均值滤波流程图,26,(五)程序判断滤波程序 当采样信号由于随机干扰、误检测或者转换器不稳定而引起严重失真时,可采用程序判断滤波。程序判断滤波的方法,是根据生产经验,确定出两次采样输入信号可能出现的最大偏差值,若超过此偏差值,则表明本次输入信号是干扰信号,应该去掉,如小于偏差值则表明本次采样信号有效,可作为本次采样值。 程序判断滤波根据滤波方法不同,可分限幅滤波和限速滤波两种。 1. 限幅滤渡 限幅滤波就是

19、把两次相邻的采样值进行相减,求出其增量(以绝对值表示),然后与两次采样允许的最大差值 (由被控对象的实际情况决定)进行比较,如果小于或等于 ,则取本次采样值;如果大于 ,则仍取上次采样值作为本次采样值,即:,27,,则xi=xi ,取本次采样值 ,则xi=xi-1 ,取上次采样值式中xi第n次采样值;xi-1 第n-1次采样值; 两次采样值所允许的最大偏差,其大小取决于采样周期T及x值的变化动态响应。 为了加快程序的判断速度,将经验限额值取反(即加1后取补)后以立即数的形式编入程序中,然后用加法运算来取代比较(减法)运算。例如,相邻两次采样值最大变化范围不超过#04H,取反后即为#0FBH。当

20、变化量为#05H时,与经验限额值的反码0FBH相加后即产生进位,从而为判断指令提供了判断标志位。其程序流程如图所示。设当前有效采样值放在31H单元。上次采样有效值存放在30H单元。最大允许偏差以反码立即数方式编入程序中。,28,图 8.7 限幅滤波程序框图,29,程序清单如下: FILTl: MOV 30H,31H ;采样系列迭代 ACALL LOAD ;采样新值 MOV 31H, A ;暂存新值 CLR C SUBB A,30H ;求与上次采样值偏差 JNC FILT11 CPL A INC AFILTll:ADD A,#0FBH ;超限否? JNC FILTl2 ;不超限,本次有效 MOV

21、 31H,30H ;超限,以上次为准 FILTl2:RET,30,2. 限速滤波程序设顺序采样时刻t1、t2、t3所采集的参数分别为x1、x2、x3,当 ,则将x2输入计算机; ,则将x2不采用,但仍保留,再继续采样一次, 得x3; ,则将x3输入计算机; ,则将(x2+x3)2输入计算机。 这是一种折中的方法,既照顾了采样的实时性,又照顾了不采样时的连续性。程序判断滤波程序可用于变化比较缓慢的参数,如温度、液位等。,31,(六)数字滤波 仿造模拟系统RC低通滤波器的方法,用数字形式实现低通滤波。(七)复合滤波 为了进一步提高滤波效果,可以把两种或两种以上不同滤波功能的数字滤波器组合起来,组成

22、复合数字滤波器或多级滤波器。例如,算术平均值滤波只能对周期性的脉动采样值进行平滑加工,中值滤波能消除随机的脉冲干扰,二者组合起来形成防脉冲干扰平均值滤波。具体方法:可采取先对平均值法的N个数据进行比较并按大小顺序排队后;除掉其中最大值和最小值,然后计算余下的N-2个数据的算术平均值这种方法既可滤去脉冲干扰,又可滤除小的随机干扰。 在实际应用中,N可取任何值,但为了加快数据采集和数据处理速度,一般N不能太大,通常N取值为,这时即为四取二再取平均值法。它具有计算方便、速度快、需存储容量小等特点,得到了广泛应用。,32,程序清单如下: DAVG: CLR A MOV R2,A ;最大值初态 MOV

23、R3,A MOV R6,A ;累加和初态 MOV R7,A MOV R4,#3FH ;最小值初态 MOV R5,#0FFH MOV R0,#04H ;N=4 DAV1: LCALL RDVD ;A/D输入值送寄存器B,A中 MOV R1,A ;保存输入值低位 ; ADD A,R7 ;累加输入值 MOV R7,A MOV A,B ADDC A,R6 MOV R6,A,33,CLR C ;输入值与最大值作比较 MOV A,R3 SUBB A,R1 MOV A,R2 SUBB A,B JNC DAV2 ;输入值小于最大值 MOV A,R1 ;输入值大于最大值 MOV R3,A MOV R2,BDAV

24、2:CLR C ;输入值与最小值作比较 MOV A,R1 SUBB A,R5 MOV A,B SUBB A,R4 JNC DAV3,34,MOV A,R1 ;输入值小于最小值 MOV R5,A MOV R4,B DAV3:DJNZ R0,DAV1 CLR C MOV A,R7 ;累加和中减去最小值 SUBB A,R3 XCH A,R6 SUBB A,R2 XCH A,R6 SUBB A,R5 XCH A,R6 SUBB A,R4,35,CLR C ;除以2 RRC A XCH A,R6 RRC A MOV R7,A ;R6R7中为平均值 RET说明:该程序调用AD转换及数据输入子程序RDAD该

25、程序输入一个A/D转换的数据,并送到寄存器B和累加器A中,输入数据的字长为小于或等于14位的二进制数。程序运算过程中,用R0作为计数器,R2R3存放最大值,R4R5存放最小值,R6R7存放累加值和最后的结果。四、几种滤波方法的比较 随着微机控制技术的发展,数字滤波方法将越来越完善,每种滤波程序都有其各自的特点,可根据具体的测量参数进行合理的选用。在具体选用滤波方法时,需从以下几个方面加以考虑。,36,1滤波效果 一般来说,对于变化比较缓慢的参数(如温度),可选用程序判断滤波以及一阶滞后滤波方法比较好;而对于变化比较快的脉冲参数(如压力、流量等),则可选用算术平均和加权平均滤波方法,而且加权平均

26、滤波比算术平均滤波的效果更好;对于要求比较高的系统可选用复合滤波方法。 另一方面,在算术平均滤波和加权平均滤波方法中,其滤波效果与所选择的采样次数N有关,N越大,则效果越好,但此时花费的时间也越长。 2. 滤波时间 在考虑滤波效果的前提下应尽量采用执行时闻比较短的程序。如果微机的时间允许,则可采用效果较好的复合滤波程序。 需要说明的是,数字滤波固然是消除微机控制系统干扰的好方法但一定要注意并不是在任何一个系统中都需要进行数字滤波。有时采用数字滤波反而适得其反,造成不良影响。,37,85标度变换和漂移误差的自校准一、标度变换 微机控制系统在读入被测模拟信号并转换成数字量后,往往还要转换成操作人员

27、所熟悉的工程值。这是因为被测对象的各种数据经过变进器转换成AD所能接收的信号05 v,又由A/D转换成00HFFH(8位)的数字量。这些数字量并不一定等于原来带有量纲的参数值,它仅仅对应于参数值的大小,故必须把它转换成带有量纲的数值后才能运算、显示或打印输出,这种转换就是标度变换。二、方法 标度变换有各种类型,它取决于被测参数的传感器的类型,应根据实际要求来选用适当的标度变换方法。,38,(一)线性仪表标度变换程序 这种标度变换的前提是参数值与AD转换结果之间为线性关系,这是最常用的变换方法。它的变换公式如下:式中:Y表示参数测量值; , Ymax表示参数量程最大值; Ymin表示参数量程最小

28、值; Nmax表示Ymax对应的AD转换后的输入值; Nmin表示Ymin对应的AD转换后的输入值 X表示测量值Y对应的A/D转换值。,39,例:一个数字电阻表中,量程为11000 ,转换输出为01876,若现在已知某一电阻经测量后输出数字量为640 ,问测量值实为多少?解:已知当Ymin=1 时,Nmin=0,当 Ymax=1000 ,Nmax=1876,X=640,则 =341.8 一般在编程序时,Ymin、Nmin、Ymax、Nmax都是已知的,因而可把上式变换成如下形式: Y=SClX+SCO 式中:SCl 、SCO为一次多项式的两个系数,SC0取决于零点值,SC1为扩大因子。使用上式

29、进行标度变换时,只需进行一次乘法和一次加法。在编写程序前,应根据Ymin、Nmin、Ymax、Nmax先算出托SC1和SCO,然后编写按X计算Y的程序。,40,(二)非线性仪表标度变换1.公式转换法 有些传感器测出的数据与实际的参数不是线性关系,它们有着由传感器和测量方法决定的函数关系,并且这些函数关系可以用解析式来表示,这时可以直接接解析式来实现标度变换。2多项式变换 许多传感器测出的数据与实际的参数为非线性关系,而且它们的函数关系无法用一个解析式来表示,或者该解析式难以直接计算,这时可采用多项式来进行非线性标度变换。 进行非线性标度变按时,应先决定多项式的次数N,然后选取N+1个测量点,测

30、出过时实际的参数值Yi与传感器的输出值(经AD转换后)Xi(i=ON),再用插值多项式求出各个参数,最后使用多项式计算程序来完成实际的标度变换。 使用插值多项式,可对多种传感器的传输特性进行补偿,从而大大降低了对传感器的要求这样就可使用廉价的非线性传感器来代替昂贵的线性传感器。,41,三、数字调零和误差自动校准 (一)数字调零 在微机控制系统的测量输入电路中,一般均存在零点偏差和漂移、放大电路的增益误差及器件参数的不稳定等现象,它们会影响测量数据的准确性,因而必须对这些偏差进行自动校准。其中零点偏差校准在实际中应用最多,且常用程序来实现,称为数字调零。 (二)自动校准 除了数字调零外,还可采用

31、零点偏差和增益误差的自动校准。自动校准的基本思想是在系统开机后或每隔一定时间自动测量基准参数,如数字电压表中的基准参数为基准电压和零电压,然后计算误差模型,获得并存储误差补偿因子。在正式测量时,根据测量结果和误差补偿因子,计算校准方程,从而消除误差。 (三)自动校准技术的常用方法 l.全自动校准 全自动校准由系统自动完成,不需人的介入,其电路结构如图所示。,42,图8.8 全自动校准电路框图,该电路的输入部分加有一个多路开关。系统在刚加电时或每隔一定时间,自动进行一次校准。这时,先把开关接地,测出这时的输入值X0,然后把开关接VR,测出输入值X1,并存放X1、X0。在正式测量时,如测出的输入值

32、为X,则这时的V可用下式计算得到;,43,2.人工自动校准 全自动校准只适于基准参数是电信号的场合,并且它不能校正由传感器引入的误差。为了克服这些缺点,可采用人工自动校准。 一般人工自动校准只测一个标准输入信号YR,零信号的补偿由数字调零来完成。设数字调零后测出的数据分别为XR(接标准输入YR时)和X(接被测输入Y时),则可按下式来计算Y: 人工自动校准特别适合于传感器特性随时间发生变化的场合。,44,8.6上下限报警处理程序 在单片机控制系统中,一般的工作状态,可以通过指示灯或数码显示来指示,以供操作人员参考。但对于某些紧急状态,为了使操作人员不致忽视,以便及时采取措施,往往还需要能引人注意

33、的报警信号。 这种报警信号,通常有三种类型: 一、闪光报警:因为闪动的指示灯更能提醒人们注意; 二、鸣音报警:发出特定的鸣音,易于引起和加强警觉; 三、语音报警:不仅能起到报警作用,还能报警种类的信息。 闪光报警只不过是指示灯显示软件功能的扩展,只要在指示灯的控制程序中加入定时程序(用软件或硬件实现均可),然后按一定的间隔交替点亮与熄灭指示灯即可。下面我们介绍两种鸣音报警方法。,45,1.单频音报警接口 实现单频音报警的接口电路比较简单。其发音元件通常采用压电式蜂鸣器,这种蜂鸣器只需在其两引线上加31 5 V的直流电压,就能产生3kHz左右的蜂鸣振荡音响。比电动式蜂鸣器结构简单、耗电少,且更适

34、合于在单片机系统中使用。,图8.9 使用7406作驱动的单频音报警电路,46,压电式蜂鸣器约需IO mA的驱动电流。因此,可以使用TTL系列集成电路7406或7407低电平驱动,也可以用一个晶体三极管驱动,如图8.10所示。两个接口电路的程序可以通用。,图8.10 使用7406作驱动的单频音报警电路,47,下面是一个控制其连续鸣音30 ms的控制子程序的程序清单: SND: SETB P1.0 ;Pl 0输出高电平,启动鸣音 MOV R7,#1EH ;延时30 ms DL: M0V R6,#0F9H DLl: DJNZ R6,DLl ;小循环延时l ms DJNZ R7,DL CLR P1 0

35、 ;Pl.0输出低电平,停止鸣音 RET2.音乐声报警接口 单频音报管电路,简单实用,已能满足音响报警的一般需要。不足之处在于音调单一,而且采用压电鸣音元件,音量也较小,且不可调整。音乐声报警电路,与单片机系统连接,也很方便易行,而且报警的音响又优美动听。该接口电路由两部分组成:一部分是“乐曲发生器”电路,使用普通的集成电子音乐芯片组成;另一部分是“放大电路”,也可采用集成放大器组成。,48,8.7 LED数码管显示程序设计 发光二极管显示器,通常用来显示数字和状态。发光二极管根据制造材料的不同,可发出红、黄、兰、紫等各种单色光,发光二极管可以有多种形式,而应用最多的是七段发光二极管显示器。一

36、、LED数码管的结构 LED数码管由七段发光线段组成。每条线段可以是一个(或几个)发光二极管。其结构如图所示。,49,图8.11 共阴极数码管引脚定义图,50,在图中,只要使不同段的发光二极管发光,即可改变所显示的数字和字母。例如,a、b、g、e、d各段的二板管发光,即可显示“2”,使图中的a、f、g、e、d五个发光二极管亮则可显示英文大写字母“E”。LED七段数码管根据其内部LED的连接方法不同,有共阴极和共阳极两种接法,如图8.12所示。 在共阴极接法中,当某一段发光二极管输入为高电平时,该发光二极管亮,反之,则熄灭。而在共阳极接法中,刚好与共阴极接法相反。 由于发光二极管通常需几个几十个

37、毫安的驱动电流才能发光,因此,每个显示器必须用一个七位的驱动器才能正常工作。驱动电路也可以用集成电路驱动器,现在已经生产出带译码器的驱动器,如74LS47、74LS48等。此外,由于要显示的数字为BCD码,而七段数码管的显示模型为七段代码,所以在显示之前,必须把BCD码转换成七段代码。,51,(a) 共阴极 (b)共阳极图8.12 LED数码管的两种接法,52,二、LED显示器与显示方式 在单片机系统中使用LED显示块构成N位LED显示器。N位LED显示器有N根位选线和N*8根段选线。根据显示方式的不同,位选线与段选线的接法不同。段选线控制字符选择,位选线控制显示位的亮、暗。 LED显示器有静

38、态显示和动态显示两种方式。 (一)LED静态显示方式 LED显示器工作在静态显示方式下,共阴极或共阳极连接在一起接地或+5V;每位的段选线(adp)与一个8位并行口相连。如图8.13所示,该图表示了一个四位静态LED显示器电路。该电路每一位可独立显示,只要在该位的段选线上保持段选码电平,该位就能保持相应的显示字符。由于每一位由一个8位输出口控制段选码,故在同一时间里每一位显示的字符可以各不相同。,53,N位静态显示器要求有N*8根I0口线,占用I0资源较多。故在位数较多时往往采用动态显示方式。,图8.13 四位静态LED显示器电路,54,(二)LED动态显示方式 在多位LED显示时,为了简化电

39、路,降低成本,将所有位的段选线并联在一起,由一个8位IO口控制,而共阴极点或共阳极点分别由相应的I/O口线控制。,图8.14 八位动态LED显示器电路,55,如图所示,一个8位LED动态显示电路只需要两个8位I/O口。其中一个控制段选码,另一个控制位选。由于所有位的段选码皆由一个I/O控制,因此,在每个瞬间,八位LED只可能显示相同的字符。要想每位显示不同的字符,必须采用扫描显示方式,即在每一瞬间只使某一位显示相应字符。在此瞬间,段选控制I/O口输出相应段选码,位选控制I/O在该显示位送入选通电平(共阴极送低电平、共阳极送高电平)以保证该位显示相应字符。如此轮流,使每位显示该位应显示字符,并保持延时一段时间,以造成视觉暂留效果。不断循环送出相应的段选码、位选码,就可以获得视觉稳定的显示状态。三、LED显示器接口(一)静态LED显示接口电路 多位静态LED显示接口电路如图所示,该电路中可直接显示多位16进制数,若要显示带小数点的十进制数,则只要在LED的dp端另加驱动控制即可,LED显示块采用共阴极。,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。