第4章常用控制程序设计正式_

上传人:小** 文档编号:45551463 上传时间:2018-06-17 格式:PPT 页数:79 大小:969.02KB
返回 下载 相关 举报
第4章常用控制程序设计正式__第1页
第1页 / 共79页
第4章常用控制程序设计正式__第2页
第2页 / 共79页
第4章常用控制程序设计正式__第3页
第3页 / 共79页
第4章常用控制程序设计正式__第4页
第4页 / 共79页
第4章常用控制程序设计正式__第5页
第5页 / 共79页
点击查看更多>>
资源描述

《第4章常用控制程序设计正式_》由会员分享,可在线阅读,更多相关《第4章常用控制程序设计正式_(79页珍藏版)》请在金锄头文库上搜索。

1、第4章 常用控制程序设计第4章 常用控制程序设计 4.1 巡回检测程序设计 4.2 上下限报警处理程序设计 4.3 定时程序设计 4.4 电机控制程序设计 4.5 步进电机控制 第4章 常用控制程序设计4.1 巡回检测程序设计 4.1.1 概述 4.1.2 巡回检测举例 返回本章首页第4章 常用控制程序设计4.1.1 概述 所谓的巡回检测就是对生产过程中的各个参数 按照一定的周期进行检查和测量,检测的数据 通过计算机处理后可以进行显示、打印和报警 等操作。巡回检测程序主要由以下几个方面构 成: 1. 采样周期T的确定 2. 采样开关通道号的控制 3. A/D转换 4. 数据处理 返回本节第4章

2、 常用控制程序设计6.2.2 巡回检测举例 1. 利用8位A/D转换芯片(ADC0809) 2. 采用12位A/D转换芯片(AD574A) 第4章 常用控制程序设计1. 利用8位A/D转换芯片(ADC0806)图6-8 炉温巡回检测电路原理图第4章 常用控制程序设计系统的硬件电路介绍: (1)测量元件和变送器 (2)A/D转换电路 (3)二分频电路 第4章 常用控制程序设计本程序由系统初始化程序和中 断程序组成。初始化程序完成 中断向量和定时器初值的设定 ;中断程序完成数据采样工作 ,实现对8个通道的巡回检测 。初始化程序功能:设置定时器 0、外部中断0和外部中断1的 中断程序入口;设置定时器

3、0 的工作方式为方式1,定时时 间为100ms;设置计数单元( 30H)初值。初始化程序流程框图如图6-6 所示。图6-6 初始化程序流程图第4章 常用控制程序设计初始化程序清单: ORG0000H AJMPSTART ORG0003H AJMPSAMPLE;转采样中断程序 ORG000BH AJMPTIME0 ;转8秒定时中断程序ORG0013HAJMPEOC;转EOC中断处理程序START:MOVTMOD,#01H;置定时器0为工作方式1 MOVTH0,#3CH第4章 常用控制程序设计MOV TL0,#0B0H;定时器初值设定 MOV 30H,#00H;置计数初值SETB IT0;中断请求

4、信号为脉冲方式 SETB IT1;中断请求信号为脉冲方式 SETB EX0;外部中断0中断允许SETB ET0;定时器0中断允许 SETB EA;开中断SETB TR0;启动定时器HERE:AJMPHERE;等待中断第4章 常用控制程序设计定时器中断程序流程框图如图6-10所示 。图6-10 定时器中断程 序流程框图第4章 常用控制程序设计定时器中断程序程序清单: TIME0:CLREA;关中断INC30H MOVA,30H XRLA,#50H ;判断是否到8秒JZS_8;8秒定时到,转至S_8AJMPRECOUN;未到8秒,继续计时S_8:SETBP3.2;触发外部中断0NOP CLRP3.

5、2 NOPRECOUN:MOVTH0,#3CH MOVTL0,#0B0H;设定定时器初值SETBEA;开中断RETI;中断返回第4章 常用控制程序设计数据采样程序流程框图如图6-11所示。第4章 常用控制程序设计数据采样程序程序清单: SAMPLE: SETB00H;设置标志位 MOVDPTR,#0F00H;设置通道初值 MOVR6,#08H;设置通道数 MOVR7,#05H;设置采样次数 MOVR0,#40H;设置数据区首址 TRAN_S:MOVX DPTR,A;启动A/D转换程序流程图WAIT:JB00H,WAIT;标志位为1等待A/D转换完 成中断 第4章 常用控制程序设计SETB00H

6、;置标志位INCDPTR;通道号加1INCR0INCR0INCR0INCR0INCR0;45H为下一通道采样数据存放首址DJNZR6,#TRAN_S;8个通道采样未完,继续采样MOVDPTR,#0F00H;8个通道采样结束,重置通道初值INCR0;修改采样数据存放地址DJNZR7,TRAN_S;未完成5次采样,继续;数据处理程序.RETI第4章 常用控制程序设计2. 采用12位A/D转换芯片(AD574A) 图6-14 AD574A和8031的硬件接口电路图第4章 常用控制程序设计图6-15 AD574A A/D转换程序流程框图第4章 常用控制程序设计D574A A/D转换程序清单: ORG0

7、000HAJMPSTARTORG0003HAJMPSAMPLE;转至数据采样程序START:MOVDPTR,#0000H;建立AD574A的地址MOVR0,#40H;设置数据存储初址SETBEX0;允许外部中断0SETBIT0;设置外部中断0请求信号方式为脉冲方式SETBEA;中断允许MOVX DPTR,A;启动A/D转换HERE:AJMPHERE ;等待中断第4章 常用控制程序设计中断服务程序清单:SAMPLE: CLREA;关中断MOVDPTR,#0002H MOVX A,DPTR;读A/D转换数据的高8位MOVR0,A ;保存数据INCR0INCDPTR MOVX A,DPTR;读A/D

8、转换数据的低4位SETBEA;开中断RETI 返回本节第4章 常用控制程序设计6.2 上下限报警处理程序设计 报警程序主要有以下几个步骤组成:(1)采样被测参数。(2)比较采样值和给定的上下限。(3)根据比较结果执行相应的处理程序。返回本章首页第4章 常用控制程序设计例6-3 设计一简单的单字节上下限报警程序,当采样值超出上、下限时,分别执行相应的 报警处理程序。设上限报警值存放在Amax单元,下限报警值 存放在Amin单元,采样值存放在SAMP单元。简单上下限报警程序程序清单如下:第4章 常用控制程序设计.CLRC;清进位标志位MOVA,Amax;读上限报警值SUBBA,SAMP;判断是否超

9、过上限报警值 JCUPPER ;超过上限,转报警处理程序MOVA,Amin ;读下限报警值SUBBA,SAMP;判断是否超过下限报警值JNCLOWER;超过下限,转报警处理程序UPPER:超上限处理程序。LOWER:超下限处理程序。 第4章 常用控制程序设计例6-4 设计一报警处理程序。只有采样值连 续3次异常时,系统才进行报警处理。报警程序流程框图如图6-23所示。第4章 常用控制程序设计图6-23 报警程序流程框图第4章 常用控制程序设计报警程序清单:MOVNUM,#03HCHECK:CLRC;清进位标志位MOVA,Amax ;读上限报警值SUBBA,SAMP;判断是否超过上限报警值 JC

10、ABNORMAL;超过上限,转ABNORMALMOVA,Amin ;读下限报警值SUBBA,SAMP;判断是否超过下限报警值JNCABNORMAL;超过下限,转ABNORMAL第4章 常用控制程序设计CLRFLAG;采样正常,清采样异常标志位AJMPRETUABNORMAL:JBFLAG,ABNOR_L;上次采样异常,转 ABNOR_L MOVNUM,#03H;上次采样正常,重置允许连续异常次 数 SETBFLAG;置位采样异常标志位AJMPRETU ABNOR_L: MOVA,NUM ;读允许连续采样异常次数JZALARM ;允许采样异常次数=0,执行报警处理程序DECNUM;允许采样异常次

11、数0,允许采样异常次数减1SETBFLAG;置位采样异常标志位AJMPRETUALARM1:.;报警处理程序.RETU:RET返回本节第4章 常用控制程序设计4.3 定时程序设计 4.3.1 软件定时程序 4.3.2 硬件定时程序 返回本章首页第4章 常用控制程序设计6.7.1 软件定时程序 双循环定时程序流程如图6-33所示。第4章 常用控制程序设计如取N=166(0A6H),上述简单软件定时程序的定时 时间就是1ms,如果需要250ms的定时时间,则所需的 外循环的次数为250(0FAH)。程序如下:DELAY250:MOV R6,#0FAH;置外循环次数DELAY1:MOV R7, #0

12、A6H;置内循环次数NOP;空操作指令 D1:NOP DJNZ R7,D1 ;内循环未结束,继续DJNZ R6,DELAY1 ;外循环未结束,继续RET返回本节第4章 常用控制程序设计6.7.2 硬件定时程序51系列单片机内部有两个16位的可编程定时器T0和T1 ,分别由TH0、TL0和TH1、TL1两个8位计数器构成 。T0和T1的定时功能是通过对单片机内部计数脉冲的计数实现的。因为每个机器周期产生一个计数脉冲, 因此根据单片机的晶振频率就可以计算出定时器的计 数频率。这样,如果确定了计数值,就能计算出定时 时间,而知道了定时时间也可计算出计数器的预置值 。定时器控制寄存器(TCON)和工作

13、方式控制寄存 器(TMOD)分别控制定时器的运行和工作方式。第4章 常用控制程序设计1. 定时器简介TMOD寄存器是控制定时器工作方式的8位专 用寄存器。寄存器的高4位定义T1,低4位定T0 。各位的具体定义如表6-3所示。第4章 常用控制程序设计2. 硬件定时程序设计例6-5 设单片机的晶振频率为6 MHz,利用 T0产生周期为500s的等宽正方波脉冲,通过 P1.7端口输出。(1)选择工作方式 (2)计算预置计数值 (3)TMOD寄存器初始化 (4)程序设计 第4章 常用控制程序设计程序设计主程序: MOVTMOD,#02H;T0工作方式2MOVTH0,#83H;设置计数初始值MOVTL0

14、,#83H;保存计数初始值SETBEA;开中断SETBET0;T0中断允许 SETBTR0;启动定时 WAIT:AJMPWAIT;等待中断中断服务程序: CPLP1.7;方波输出RETI;中断返回第4章 常用控制程序设计例6-6 设计一个能够自动记录秒、分和小时的计时时 钟。程序设计分为初始化和中断服务程序两部分。初始化程序清单: ORG0000HAJMP MAINORG 0003HAJMP INT0 ;设置外部中断0中断入口地址ORG 000BH第4章 常用控制程序设计AJMPTIME0 ;设置T0中断入口地址ORG001BHAJMPCOUN1;设置T1中断入口地址MAIN:MOVSEC,#

15、00H;秒存储单元清0MOVMIN,#00H;分存储单元清0MOVHUR,#00H;小时存储单元清0MOVTMOD,#41H;T1为计数方式,定时器0工作方式1 MOVTH0,#17H;设置T0的计数初值MOVTL0,#0B6HMOVTH1,#0FFH;设置T1的计数初值MOVTL1,#0F7H第4章 常用控制程序设计SETBEA;开中断SETB IT0;外中断0中断请求信号为脉冲方式SETB ET1;T1中断允许SETB ET0;T0中断允许SETB EX0;外中断0中断允许SETB TR0;启动定时器0SETB TR1;启动计数器1HERE:AJMP HERE;等待中断第4章 常用控制程序

16、设计中断服务程序分以下几部分。 定时器T0定时中断程序清单:TIME0: CLREA;关中断SETB P3.5;发计数脉冲NOPCLRP3.5NOP MOV TH0,#17H;加载T0计数值MOV TL0,#0B6HSETB EA;开中断RETI ;中断返回第4章 常用控制程序设计计数器T1计数中断程序清单: COUN1: CLREA;关中断SETB P3.2;发送脉冲,通知1秒计时到NOPCLRP3.2NOPMOV TH1,#0FFH;加载T1计数值MOV TL1,#0F7HSETB EARETI第4章 常用控制程序设计外部中断0中断程序流程如图6-34所示。第4章 常用控制程序设计外部中断0中断程序清单: INT0:

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 经营企划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号