1.85k likes | 2.04k Views
第 4 章 常用控制程序的设计. 4.1 报警程序的设计 4.2 开关量输出接口技术 4.3 电机控制接口技术 4.4 步进电机控制接口技术. 4.1 报警程序设计. 在微型机控制系统中,为了安全, 对于一些重要的参数或系统部位, 都设有紧急状态报警系统, 以便提醒操作人员注意,或采取紧急措施。. 微机控制技术. 4.1 报警程序设计. 4.1.1 常用报警方式 4.1.2 简单报警程序的设计 4.1.3 越限报警程序的设计 4.1.4 远程自动报警系统的设计. 4.1.1 常用报警方式.
E N D
第4章 常用控制程序的设计 • 4.1 报警程序的设计 • 4.2 开关量输出接口技术 • 4.3 电机控制接口技术 • 4.4 步进电机控制接口技术
4.1报警程序设计 在微型机控制系统中,为了安全, 对于一些重要的参数或系统部位, 都设有紧急状态报警系统, 以便提醒操作人员注意,或采取紧急措施。 微机控制技术
4.1报警程序设计 4.1.1 常用报警方式 4.1.2 简单报警程序的设计 4.1.3 越限报警程序的设计 4.1.4 远程自动报警系统的设计
4.1.1 常用报警方式 在控制系统中通常可采用 ★ 声音 如电铃、电笛发出,蜂鸣器, 集成电子音乐芯片, ★ 光 发光二极管或闪烁的白炽灯等 ★ 语音报警,语音芯片 ★ 图形与声音混合报警, 显示报警画面(如报警发生的顺序、报警发生 的时间、报警回路编号、报警内容及次数等)。 微机控制技术
4.1.1常用报警方式 1.发光二极管及白炽灯驱动电路 (1)报警方法不同采用的驱动电路方式也不同。 ① 发光二极管的驱动电流一般在 20~30mA, 不能直接由 TTL 电平驱动,常采用 OC 门驱动器。 如 74LS06/07 等。 ② 白炽灯报警时,应该使用交流固态继电器进行控制。 (2)为了能保持报警状态,常采用带有锁存器的I/O接口芯片, ( Intel 8155、8255A ) 也可选用一般的锁存器, ( 74LS273,74LS373,或 74LS377等) 微机控制技术
4.1.1常用报警方式 图4-1 LED报警接口电路 微机控制技术
4.1.1常用报警方式 2. 声音报警驱动电路 常采用模拟声音集成电路芯片, 如 KD-956X 系列, 采用CMOS工艺,软封装的报警IC芯片。 (1)工作电压范围宽; (2)静态电流低; (3)外接振荡电阻可调节模拟声音的放音节奏; (4)外接一只小功率三极管,便可驱动扬声器。 其功能如表4.1(P97)所示。 微机控制技术
4.1.1常用报警方式 微机控制技术
4.1.1常用报警方式 KD-956X系列IC芯片具有以下共同特性: (1)工作电压范围宽; (2)静态电流低; (3)外接振荡电阻可调节模拟声音的放音节奏; (4)外接一只小功率三极管,便可驱动扬声器。 微机控制技术
4.1.1常用报警方式 表4.1 KD956X 系列报警芯片功能表 P96 微机控制技术
4.1.1常用报警方式 • KD-9561 芯片内设: 振荡器、节拍器、音色发生器、 地址计数器、控制和输出级等部分。 • 根据内部程序,设有两个选声端 SELl和SEL2, 改变这两端的电平,便可发出各种不同的音响。 详见表4.2。 • VDD提供电源正端电压,VSS指电源负端电压(地)。 • KD-9561能发出4种不同的声音,且体积小,价格低廉,音响逼真,控制简便,所以,广泛应用于报警装置及电动玩具。 外形及报警器电路图,如图4.2所示。 微机控制技术
4.1.1常用报警方式 图4.2 KD-9561的外形和报警电路图 P97 微机控制技术
4.1.1常用报警方式 如图4.2(b)中所示,当系统检查到报警信号以后,使三极管9013导通,发出报警声音。图中的R1选值一般在180k~290k之间。R1的阻值愈大,报警声音愈急促;反之,报警声音节凑缓慢。 微机控制技术
4.1.2 简单报警程序的设计 (1)软件报警程序 这种方法的基本作法是把被测参数如温度、压力、流量、速度、成分等参数,经传感器,变送器、模/数转换器,送到微型机后,再与规定的上、下限值进行比较,根据比较的结果进行报警或处理,整个过程都由软件实现。这种报警程序又可分简单上、下限报警程序,以及上、下限报警处理程序。 微机控制技术
4.1.2 简单报警程序的设计 (2)硬件申请、软件处理报警程序 报警要求直接由传感器产生。 例如:电接点式压力报警装置 当压力高于(或低于)某一极限值时, 接点即闭合,正常时则打开。 利用开关量信号,通过中断的办法来实现对参数 或位置的监测。 例如,行车系统、电接点压力表等。 微机控制技术
4.1.2 简单报警程序的设计 根据系统和参数的要求, 报警程序可分为: 简单的越限报警程序; 报警处理程序。 微机控制技术
4.1.2 简单报警程序的设计 1. 软件报警程序设计 锅炉水位自动调节系统,如图4.3所示。 汽包水位是锅炉正常工作的重要指标。 液面太高会影响汽包的汽水分离,产生蒸汽带液现象。水位过低,则由于汽包的水量较少,负荷又很大,水的汽化会很快。如果不及时调节液面,就会使汽包内液体全部汽化,可能导致锅炉烧坏以至发生严重的爆炸事故。所以,锅炉液面是一个非常重要的参数,一般采用双冲量或如图所示的三冲量自动调节系统。 微机控制技术
4.1.2 简单报警程序的设计 图4—3锅炉三冲量调节系统 P98 微机控制技术
4.1.2 简单报警程序的设计 ① 系统设计有 3 个报警参数: ♂ 水位上、下限, ♂ 炉膛温度上、下限, ♂ 蒸汽压力下限。 ② 如图4.4中所示: ♂ 要求当各参数全部正常时,绿灯亮。 ♂ 若某一个参数不正常,将发出声光报警信号。 微机控制技术
4.1.2 简单报警程序的设计 图4—4 锅炉报警系统图 P99 微机控制技术
内存分配 内存 外存 ALAM 20H DPTR ← 8100H SAMP LIMIT
4.1.2 简单报警程序的设计 ③ 程序设计思想: ♂设置一个报警模型标志单元 ALARM, ♂把各参数的采样值分别与上、下限值进行比较。 若某一位需要报警,则将相应位置1,否则,清0。 ♂所有参数判断完毕后, 看报警模型单元 ALARM 的内容是否为00H。 若为 00H,说明所有参数均正常,使绿灯发光。 不等于00H,则说明有参数越限,输出报警模型。 ④ 程序流程图,如图4.5所示。 ♂ 设 3个参数的采样值: X1(水位)、X 2(炉膛温度)、 X3(蒸汽压力) ♂ 依次存放在以 SAMP 为首地址的内存单元中, 相应的允许极限值依次放在以 LIMIT为首地址的内存区域内, 报警标志位单元为 ALARM。 微机控制技术
4.1.2 简单报警程序的设计 图4—5 软件报警程序模块流程图 P101 微机控制技术
根据图4.5所示可写出锅炉软件报警程序,如下所示:根据图4.5所示可写出锅炉软件报警程序,如下所示: ORG 8000H ALARM: MOV DPTR,#SAMP ;采样值存放地址→DPTR MOVX A, @DPTR ;取X1 MOV ALARM,#00H ;报警模型单元清0 ALARM0: CJNE A,LIMIT,AA;X1>MAX1吗 ALARM1: CJNE A,LIMIT+1,BB ;X1<MIN1吗 ALARM2: INC DPTR ;取X2 MOVX A, @ DPTR CJNE A,LIMIT+2,CC;X2>MAX2吗 ALARM3: CJNE A,LIMIT+3,DD ;X2<MIN2吗 ALARM4: INC DPTR ;取X3 MOVX A,@ DPTR CJNE A,LIMIT+4,EE ;X3<MIN3吗 DONE: MOV A,00H ;判断是否有参数报警 CJNE A,ALARM,FF ;若有,转 FF SETB 05H ;无需报警,输出绿灯亮模型 微机控制技术
DONE1:MOV A,ALARM MOV P1,A RET FF: SETB 07H ;置电笛响标志位 ATMP DONE1 SAMP EQU 8100H LIMIT EQU 30H ALARM EQU 20H AA: JNC AOUT1 ;X1>MAX1 转 AOUT1 AJMP ALARM1 BB: JC AOUT2 ;X1<MIN1转AOUT2 AJMP ALARM2 CC: JNC AOUT3 ;X2>MAX2转AOUT3 AJMP ALARM3 DD: JC AOUT4 ;X2<MIN2转AOUT4 AJMP ALARM4 微机控制技术
4.1.2 简单报警程序的设计 EE: JC AOUT5 ;X3<MIN3转AOUT5 AJMP DONE AOUT1: SETB 00H ;置X1超上限报警标志 AJMP ALARM2 AOUT2: SETB 01H ;置X1超下限报警标志 AJMP ALARM2 AOUT3: SETB 02H ;置X2超上限报警标志 AJMP ALARM4 AOUT4: SETB 03H ;置X2超下限报警标志 AJMP ALARM4 AOUT5: SETB 04H ;置X1超下限报警标志 AJMP DONE 微机控制技术
4.1.2 简单报警程序的设计 2.硬件报警程序设计 某些根据开关量状态进行报警的系统,为了使系统简化,可以不用上面介绍的软件报警方法,而是采用硬件申请中断的方法,直接将报警模型送到报警口中。这种报警方法的前提条件是被测参数与给定值的比较是在传感器中进行的。例如,电结点式压力计,电结点式温度计,色带指示报警仪等,都属于这种传感器。不管原理如何,它们的共同点是,当检测值超过(或低于)上、下限值时,结点开关闭合,从而产生报警信号。这类报警系统电路图,如图4.6所示。 微机控制技术
4.1.2 简单报警程序的设计 报警结点 图4—6 硬件直接报警系统原理图 微机控制技术
4.1.2 简单报警程序的设计 ♂图4.6中, SL1 和 SL2 分别为液位上、下限报警结点, SP 表示蒸汽压力下限报警结点, ST 是炉膛温度上限超越结点。 只要三个参数中的一个(或几个)超限(即结点闭合), 管脚都会由高变低,向 CPU 发出中断申请。 ♂CPU响应后,读入报警状态 P1.3~P1.0,然后从P1口的高4 位输出,完成超限报警的工作。 ♂ 采用中断工作方式,既节省了CPU计算的宝贵时间,又能不 失时机地实现参数超限报警。 微机控制技术
根据图4.6可写出报警程序如下: ORG 0000H AJMP MAIN ;上电自动转向主程序 ORG 0003H ;外部中断方式0入口地址 AJMP ALARM ORG 0200H MAIN: SETB IT0 ;选择边沿触发方式 SETB EX0 ;允许外部中断0 SETB EA ;CPU允许中断 HERE: SJMP HERE ;模拟主程序 ORG 0210H ALARM: MOV A,#0FFH ;设P1口为输入口 MOV P1,A MOV A,P1 ;取报警状态 SWAP A ; MOV P1,A ;输出报警信号 RETI 微机控制技术
4.1.3 越限报警程序的设计 为了避免测量值在极限值附近摆动造成频繁报警, 可以在上、下限附近设定一个回差带, 如图4.7所示。 微机控制技术
4.1.3 越限报警程序的设计 图4.7 越限报警示意图P103 微机控制技术
4.1.3 越限报警程序的设计 在图4.7中,H是上限带,L为下限带。规定只有当被测量值越过A点时,才认为越过上限;测量值穿越H带区,下降到B点以下才承认复限。同样道理,测量值在L带区内摆动均不做超越下限处理;只有它回归于D点之上时,才做超越下限后复位处理。这样就避免了频繁的报警和复限,以免造成操作人员人为的紧张。实际上,大多数情况下,如前面锅炉水位调节系统中所述,上、下限并非只是惟一的值,而是允许一个“带”。在带区内的值都认为是正常的。带宽构成报警的灵敏区。上、下限带宽的选择应根据具体的被测参数而定。 微机控制技术
4.1.3 越限报警程序的设计 下面重新对锅炉液位报警程序进行设计。设锅炉水位采样并经滤波处理后的值存放在以SAMP为起始地址的内存单元中(设采样值为12位数,占用两个内存单元)。上、下限报警及上、下限复位门限值分别存放在以ALADEG为首地址的内存单元中。报警标志单元为FLAG,其中D2位为越上限标志位,D3位为越下限标志位。其内存分配,如图4.8所示。 微机控制技术
R1 ← R0 ← 图4.8 有关内存的分配P103 微机控制技术
4.1.3 越限报警程序的设计 越限报警程序的基本思路是将采样、数字滤波后的数据与该被测点上、下限给定值进行比较,检查是否越限;或与上限复位值、下限复位值进行比较,检查是否复位上、下限。如越限,则分别置位越上、下限标志,并输出相应的声、光报警模型。如已复位上、下限,则清除相应标志。当上述报警处理完之后,返回主程序。如图4.9所示的是其程序的流程图。 微机控制技术
图4.9 越限报警子程序的流程 P104 42H BRAN1 BRAN2 BRAN3 43H BRAN4 2AH 计数 DONE 微机控制技术
根据图4.9 可写出越限报警子程序如下: ORG 8000H ACACHE: MOV R0,#SAMP ;采样值首地址 R0 MOV A, @R0 ;取采样值低8位 MOV R1,#20H ;取上限报警值低8位 ACALL DUBSUB ;检查是否越上限 JNC BRAN1;越上限,转BRAN1 MOV A,@R0 ;取采样值低8位 ACALL DUBSUB ;检查是否复位上限 JNC DONE;不复位上限,返回主程序 JB 42H,BRAN2;上限若置位,则转BRAN2 MOV A,@RO ;取采样值低8位 ACALL DUBSUB ;检查下限报警值 JC BRAN3;越下限,转BRAN3 微机控制技术
MOV A,@R0 ;取采样值低8位 ACALL DUBSUB ;检查复位下限值 JC DONE ;不复位下限,返回主程序 JNB 43H,DONE CLR 43H BRAN4: INC 2AH;记录调整次数 DONE: RET SAMP: EQU 30H BRAN1: 42H,DONE;判上限报警是否置位 SETB 42H ;置上限报警标志 MOV A,#81H ;输出越上限报警信号 MOV P1,A AJMP BRAN4 JB
BRAN2: CLR 42H ;清上限报警标志 AJMP BRAN4 BRAN3: JB 43H,DONE ;判下限报警是否置位 若置位,则转DONE SETB 43H ;置下限报警标志 MOV A, #82H ;输出越下限报警信号 AJMP BRAN4 DUBSUB: CLR C ;双字节减法子程序 SUBB A,@R1 INC R0 INC R1 MOV A,·R0 SUBB A,@R1 INC R1 DEC R0 RET ALAM 微机控制技术
4.1.3 越限报警程序的设计 本程序输出的报警模型及接口电路,可参看图4.4自行设计。 报警标志单元FLAG(28H)和越限、复位上、下限处理次数单元(2AH)在初始化程序中应首先清零。 除了上面讲的这种带上、下限报警带的报警处理程序外,还有各种各样的报警处理程序,读者可根据需要自行设计。 微机控制技术
4.1.4 远程自动报警系统的设计 • 适用范围:距离太远,或是无人职守场合。 • 方法:(1)直接拨号(手机或固定电话) (2)网络(MODEM)
4.1.4 远程自动报警系统的设计 1.SS173K222AL芯片简介 • SS173K222AL是TDK公司产品,高集成度的单片MODEM芯片。该芯片的主要特点是: (1) 可与8051系列单片机对接,接口电路简单。(2) 串行口数据传输。(3) 采用同步方式或异步方式工作。(4) 与CCITT V.22、V.21、BELL 212A、103标准兼容。(5) 具有呼叫进程、载波、应答音、长回环检测等功能。(6) 通过编程产生DTMF信号及550/1800Hz防卫音信号。(7) 具有自动增益控制,动态范围达45dB。(8) 采用CMOS技术,低功耗、单电源供电。
4.1.4 远程自动报警系统的设计 • 引脚如图4.10
4.1.4 远程自动报警系统的设计 • •VDD,GND:D电源和地。 • •AD0~AD7:地址/数据线。 • •ALE:地址锁存控制信号,与单片机ALE相连接,用于锁存地 • 址信号。 • •WR和RD:读/写控制信号,低电平有效。 • •CLK:时钟信号。 • •XTL1、XTL2:外接晶体震荡器。 • •TXD、RXD:用来发射和接收数据。 • •TXA、RXA:发射和接收响应管脚,与外部收发装置相连。 • •CS:片选信号,低电平有效。 • • VREF:参考电平。 • •RESET:复位信号。
4.1.4 远程自动报警系统的设计 2.直接拨通手机号码报警
4.1.4 远程自动报警系统的设计 设本例中所拨打的手机号码为:13231502165 WAN:JNB P1.3,DT ;监视P1.3口SJMP WANDT: ACALL DLY2 ;延时50毫秒JNB P1.3,ARM ;确认有报警信号,转处理程序。SJMP WANARM:CLR P1.7 ;吸合继电器J1 ACALL DLY2 ;延时50毫秒MOV R6,#0BH ;拨打11位手机号码,予置初值。MOV DPTR,#7FF8H ;地址指针指向R0 MOV A,#31H;R0 ;按始发方式、FSK模式设置,但禁止发送。MOVX @DPTR,ALOOP:MOV DPTR,#7FFBH ;地址指针指向TR MOV A,#0FH ADD A,R6 ;取出电话号码
4.1.4 远程自动报警系统的设计 MOVC A,@A+PC MOVX @DPTR,A ;设置TR MOV DPTR,#7FF8H ;地址指针指向R0 MOV A,#33H ;允许发送MOVX @DPTR,A ACALL DLY3 ;延时250毫秒MOV A,#31H ;停止发送MOVX @DPTR,A ACALL DLY3 ;延时250毫秒DJNZ R6,LOOP;拨号未完,再拨出一个号码
4.1.4 远程自动报警系统的设计 DB 95H,96H,91H,92H,9AH,95H,91H,93H,92H,93H,91H ;TR设置及手机号码DTA:MOV DPTR,#7FFAH ;地址指针指向DR MOVX A,@DPTR ;监视DR JNB ACC.2,DTA ;检测应答音MOV DPTR,#7FF9H ;地址指针指向R1 MOV A,#04H MOVX @DPTR,A ;复位MODEM SETB P1.7 ;释放J1 RET