基于单片机的流量控制系统副本.doc

上传人:李司机 文档编号:1131752 上传时间:2022-06-30 格式:DOC 页数:18 大小:1.94MB
返回 下载 相关 举报
基于单片机的流量控制系统副本.doc_第1页
第1页 / 共18页
基于单片机的流量控制系统副本.doc_第2页
第2页 / 共18页
基于单片机的流量控制系统副本.doc_第3页
第3页 / 共18页
基于单片机的流量控制系统副本.doc_第4页
第4页 / 共18页
基于单片机的流量控制系统副本.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《基于单片机的流量控制系统副本.doc》由会员分享,可在线阅读,更多相关《基于单片机的流量控制系统副本.doc(18页珍藏版)》请在三一办公上搜索。

1、第一章. 绪论21.1 研究目的、意义及研究容2 1.2 流量计的应用领域21.3流量计概述及分类 2第二章 工作原理及系统硬件设计 3 2.1系统工作原理3 2.2硬件构成4第三章 系统软件设计4 3.1软件设计思路5 3.2主程序设计6 3.3流量控制子程序6第四章 中断服务子程序74.1设定值输入程序74.2 A/D中断子程序84.3定时器中断子程序124.4数码管显示子程序144.5步进电机控制程序15总 结17参考文献 18第一章绪论1.1 研究目的、意义及研究容流量是衡量设备的效率和经济性的重要指标 。流量测量与控制是实现工业生产过程自动化的一项重要任务。 本课题的主要研究容是对流

2、量进行控制,主要由流量传感器采集流量信息,然后经过AD转换器将连续的模拟信号离散化后传给单片机,单片机在软件系统的控制下,根据预先的设置和预期的控制要求,通过步进电机来精确控制阀门的开度,实现对流量的精确控制。 1.2 流量计的应用领域流量计主要用于以下几个领域。l 工业生产过程 l 能源计量l 环境保护工程l 交通运输l 生物技术l 科学实验1.3 流量计概述所谓流量是指单位时间通过某一截面的物料数量,即瞬时流量。用于测量流量的仪表称为流量计,流量计是过程自动化仪表与装置中的大类仪表之一 。流量计也成为流量传感器,是一种指示被测流量和在选定的时间间隔流体总量的流速监测装置。主要功能是当流速未

3、达到设定的流速阀值时发出检测信号,经计算机控制,进行报警或启动连锁保护系统,保护关键设备,能够以及时制止在生产中的突发事故,对生产安全和经济效益,有不可估量的实际作用。第二章 工作原理及系统硬件设计2.1 系统工作原理系统的工作原理是流量传感器采集到流量信息,通过变换器,转化为电信号,AD转换器将模拟电信号转化为离散信号,传给单片机。单片机软件系统根据事先的设定值对采集的信息进行处理,输出离散的控制信号。DA转换器将离散的控制信号转化为模拟电量。通过模拟电量来控制阀门的动作,从而调节流量,实现流量的精确控制。2.2 硬件构成本系统主要由水泵、流量传感器、电动阀门和MCS-51单片机控制系统以及

4、液体管线和控制线、监视线等组成。 系统结构框图如下所示: 流量是指单位时间通过管道某一截面的物料数量。本控制系统的任务是对通过某一管道截面的物料数量即降粘剂流量进行控制。本系统采用单片机控制,通过流量计采集流量信息,传给单片机。单片机通过预先设定值和系统软件进行分析,发出相应的控制信号,驱动调节阀动作,从而确定降粘剂的配比与耗量,实现生产过程自动化。系统硬件结构图如图所示:其中,电磁流量计作为流量传感器,采集流量信息,经放大器放大后送到AD转换器。AD转换器将连续的模拟量转化为单片机能接受的离散的数字量。单片机收到流量信号后,在控制系统软件的作用下,发出相应的执行命令给执行机构步进电机。步进电

5、机带动阀门动作,对流体流量进行控制。第三章 软件设计3.1 软件设计思路该控制系统的软件设计可以分为三部分:1.主程序部分:该部分完成存储器分区、数据定义和系统的初始化等,以及调用各个子程序,完成主要的控制功能。2.流量控制程序:通过PID控制算法,编写出相应的流量控制子程序,实现对流量的控制,达到预期的控制要求;3.各子程序:各个子程序完成具体的实现方法,主要包括:设定值输入、数码管显示、步进电机控制、AD转换中断、T0定时器中断、采样中断等。 软件流程图如下:3.2 主程序设计u 主程序部分,主要完成存储器分配、系统初始化和系统整体控制等,并通过调用各子程序段,实现软件的总体设计功能。主程

6、序流程图u 初始化:系统初始化程序的功能是对8155和89C51进行初始化,使D/A输出为0,步进电机处于停机状态,将RAM中的标志位和工作单元置为初始状态,提示符CPUREADY写入缓冲器。更新显示器子程序的功能是将显示缓冲器的容,分别转化为段数据,输出到8155。显示器012的显示数据缓冲器分别为73H7FH单元。当系统处于停机状态时,显示器04显示参数,显示器57显示参数地址,所以73H77H作为数据缓冲器,78H7AH作为地址缓冲器,在运行状态时,73H77H作为瞬时流量缓冲器,78H7FH作为累计流量缓冲器。初始化程序的流程如图所示:3.3 流量控制子程序在流量测试的基础上,把流量设

7、定值和实际测试得到的瞬时流量进行比较计算出误差,采用数字PID调节算法,计算输出到AD0809的变量Uio增量式PID控制算法的计算公式为式中:ei为本次实际测得的流量和设定值之差;-=- ; ; P为比例系数;I为积分系数;D为微分系数;输出控制变量表达式为:+ 程序的入口参数:偏差ek、ek-1、ek-2、测量值y、给定值r。这5个参数均为3字节的浮点数,分别将它们存放在RAM单元中。低字节存放浮点数的阶数和符号,其中符号存放在最高位,阶数以补码的形式存放在另7位中。尾数以原码的形式存放在另2个字节中。 第四章 中断服务子程序4.1 设定值输入程序本程序将4位BCD码按千、百、十、个依次存

8、放在89C51片RAM的30H33H单元中,每个地址单元的高4位为0,低4位为BCD码。 程序代码如下:RDS:MOV R0,#30H;初始化,存放单元首址MOV R2,#7FH;P1口高4位置控制字及低4位置输入方式MOV R3,#04H;读入4个BCD码MOV A,R2LOOP:MOV P1,A;P1口送控制字及低4位置输入方式MOV A,P1;读如BCD码ANL A,#0FH;屏蔽高4位MOV R0,A;送入存储单元INC R0;指向下个存储单元MOV A,R2;准备下一片拨盘的控制端置0RR A;MOV R2,A;DJNZ R3,LOOP;未读完返回RET;读完结束 4.2 A/D中断

9、子程序A/D中断子程序流程图如下所示:程序代码如下:INT0:PUSH ACC ;保护现场PUSH DPH PUSH DPL PUSH PSW SETB PSW.3 ;选工作寄存器区1 MOV DPTR,#0DF01H;读取8155A口数据 MOVX A,DPTR MOV R2, A ANL A, #0F0H ;屏蔽低4位 JNZ ND5 ; MOV A,R2 JNB 02H, D51 ;判断是否采样零信号 MOV C, ACC.0 ; MOV 30H, CMOV C, ACC.7 MOV 37H,C AJMP D14D51: MOV C,ACC.0 ;万位和标志位荷重信号缓冲器 MOV 48

10、H,C MOV C,ACC.7 MOV 4FH,C AJMP D14ND5: MOV A,R2 ;判断是否读出千位 JNB ACC.7,ND4 JNB 02H,D41 ;判断是否采样零信号 ANL A, #0FH ;千位零信号缓冲器 SWAP A MOV 25H,A AJMP D14D41: ANL A,#0FH SWAP A MOV 28H, A AJMP D14ND4: JNB ACC.6, ND3 ;判断是否读出百位 JNB 02H,D31 ;判断是否采样零信号 MOV R1, #25H ;百位零信号缓冲器 ANL A,#0FH XCHP A,R1 AJMP D14D31: MOV R1

11、, #28H ANL A,#0FH XCHD A,R1 AJMP D14ND3: JNB ACC.5, ND2 ;判断是否读出十位 JNB 02H, D21 ;判断是否采样信号 ANL A, #0FH ;十位零信号缓冲器 SWAP A MOV 24H, A AJMP D14D21: ANL A, #0FH SWAP A MOV 24H,A AJMP D14ND2: JNB 02H,D11 ;判断是否采样零信号 ANL A,#0FH ;个位零信号缓冲器 MOV R,#24H XCHD A,R1 CLR 02H MOV DPTR,#0DFF3H ;启动A/D转换 MOV A, #30H MOVX

12、DPTR, AADS1:SETB P1.6 NOP NOP CLR P1.6 AJMP D14 D11: ANL A,#0FH MOV R1,#27H XCHD A,R1 MOV 2AH,24H ; 采样数据送处理缓冲器 MOV 2BH,25H MOV 2CH,26HMOV 2DH,27H MOV 2EH,28H MOV 2FH,29H SETB 03H ;置一次A/D采样结束标志D14: POP PSW ;恢复现场 POP DPL POP DPH POP ACCRETI4.3 定时器中断子程序定时器T0中断程序流程图如下图所示。程序代码如下:PIT0: PUSH PSW ;保护现场 PUSH

13、 ACC PUSH DPH PUSH DPL JNB 00H, T01 ;允许采样否? DJNZ 10H, T02 ;采样周期计数器减1,不为1转T02 DJNZ 11H,T02 MOV 10H,#0A0H ;恢复采样周期计数器初值MOV 11H, #0FHSETB 0FHCLR 0DHCLR P3.4MOV DPTR, #0DFF3H ; 对零点采样MOV A, #00H MOVX DPTR, ASETB 04HSETB 04HT02: 01H, T05 T01 SETB P1.7 NOP CLR P1.7T05:CLR P1.6DJNZ 16H, T06 ;调试用脉冲周期计数器减1CPL

14、P1.4 ;使P1.4产生方波MOV 16H,17HT06: POP DPL ;恢复现场POP DPHPOP ACCPOP PSWERTI 4.4 数码管显示子程序程序流程图如下所示:在单片机部RAM的20H和21H单元中有四位十六进制数,以下是将其自左到右显示出来的程序。 程序代码如下: ORG 2000HSDIAPLAY:MOV A,20H ;20H中数送A ANL A,#0F0H ;截取高4位 MOV P1,A ;送1#MC14495 MOV A,20H ;20H中数送A SWAP A ;低4位送高4位ANL A,#0F0H ;去掉低4位 INC A ;A1A0指向2#MC14495 M

15、OV P1,A ;送2#MC14495 MOV A,21H ;21H中数送A ANL A,#0F0H ;截取高4位 ADD A,#02H ;A1A0指向3#MC14495 MOV P1,A ;送3#MC14495 MOV A,21H ;21H中数送A SWAP A ;低4位送高4位 ANL A,#0F0H ;去掉低4位 ADD A,#03 ;A1A0指向4#MC14495 MOV P1,A ;送4#MC14495 RET4.5 步进电机控制程序程序代码如下:ORG 2100H PUSH ACC ;保护现场 MOV R4,#N ;步进马达步进数送R4CLR C ;Cy清零ORL C,PSW.5

16、;转向标志状态送CyJC ROTE ;若为反转,则转ROTEMOV R0,#20H ;正转模型始址送R0AJMP NEXT ; 转入NEXTROTE:MOV R0,#27H ;反转模型始址送R0NEXT:MOV A,R0 ;输出控制模型的值MOV P1,A ;输出控制脉冲 ACALL DELAY ;延时形成脉宽 INC R0 ;准备下个模型指针 MOV A,#00H ;判断送完一遍模型值 ORL A,R0 JZ TPL ;若模型结束,则TPL LOOP:DJNZ R4,NEXT ;若步进数未走完,则NEXT POP ACC ;恢复现场 RET :返回TPL:MOV A,R0 CLR C SUB

17、B A,#06H MOV R0,A ;恢复模型始址AJMP LOOP ;判断步进马达步数走完?DELAY:MOV R2,#M1 ;延时DELAY1:MOV R2,#M2DELAY2:DEC A JNZ DELAY2DJNZ R2,DELAY1RETEND上述控制程序是利用程序延时来控制电机的通电时间即形成控制脉冲以达到正转、反转、启动和停止的。这种控制的缺点是CPU因执行延时程序而降低了效率。为了提高CPU的使用效率,常常也可采用单片机部定时/计数器编制上述程序。 总 结在设计的这段日子里,我学到了很多东西,突然觉得自己做什么事情都特别的认真了起来,也许是以前从未认真做过一件事吧。每天守着一大

18、堆资料,随时还要上网查询,有时为了查一个数据就要耗去近一个小时的时间,证实了却又感到莫名地兴奋与愉悦。整个设计过程都是那么的紧、严紧。偶然间就回到了过去的学习深处,也就是在那里留下了我些许的遗憾和欣慰。遗憾里有后悔,有痛恨,曾经是那么的无知。欣慰的是事过境迁,深刻地认识了自己,一切改过还来的及。顺利如期的完成本次设计给了我很大的信心,让我了解专业知识的同时也对本专业的发展前景充满信心,无论给水系统还是排水系统,我都采用了一些新的技术和设备他们有着很多的优越性但也存在一定的不足这些不足在一定程度上限制了我们的创造力,这些不足正是我们去更好的研究更好的创造的最大动力,只有发现问题面对问题才有可能解决问题,不足和遗憾不会给我打击只会更好的鞭策我前行的道路。参考文献1英顺. 单片机原理及应用.:中国水利水电,20102家生. 电机原理与拖动基础M. :邮电大学,2006 3 马斌等单片机原理及应用-C语言程序设计与实现M:人民邮电,20094王宜怀等.嵌入式系统M. :航空航天大学,20085顾德英,健,马淑华.计算机控制技术M. :邮电大学,2006

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号