版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、郑州轻工业学院本科毕业设计(论文)题目基于at89c52的模糊算法温控计学生姓名专业班级网络工程(物联网技术)学号院(系)计算机与通信工程学院指导教师(职称)完成时间 2015年6月6日郑州轻工业学院毕业设计(论文)任务书题目基于at89c52的模糊算法温控计专业网络工程(物联网技术)学号姓名主要内容、基本要求、主要参考资料等:主要内容:基于89c52单片机,采用pt100温度传感器,客服铂电阻的非线性特点,实现温度的实时监控和设定。基本要求:1. 采用pt100温度传感器,测量温度范围为0-100,测量精确度为0.5;2. 能够实时温度测量,目标温度可以设定;3. 根据不同的温差输出不同的控
2、制信号;主要参考资料:1 甘勇,金保华,闫红岩等.c语言程序设计基础及进阶教程m.清华大学出版社,20102 张新,陈跃琴. 51单片机应用开发25例基于proteus仿真m.北京:电子工业出版社.20133 张巍,苏闯.单片机c51项目设计与开发m.北京:北京理工大学出版社,2013完成期限:指导教师签名:专业负责人签名: 2015年月日目录摘要iabstractii1 温控计发展状况11.1 国内发展状况11.2 国外发展状况12 温控计设计方案的选择32.1基于单片机的温控计32.2基于arm的温控计32.3基于plc工业温控计43 电路设计53.1电路设计的整体思路53.2基本硬件组成
3、63.2.1铂电阻信号调理电路63.2.2 时钟电路73.2.3 复位电路83.2.4 模数转换电路83.2.5 按键输入电路93.2.6 显示电路94 系统控制算法的实现114.1 模糊控制的基本原理114.2 模糊控制程序的总体设计思想114.3模糊算法的实现124.4模糊控制算法应用程序的实现125 系统软件实现145.1a/d转换子程序165.2键盘处理子程序175.3 温度标度变换子程序185.4 显示子程序195.5 定时子程序225.6量化子程序265.7中值滤波子程序276 系统仿真30结束语33致谢34参考文献35基于at89c52的模糊算法的温控计摘要温度是科学技术中最基本
4、的物理量之一。在工业生产控制中,像电力、化工、石油、冶金、航空航天、机械制造、粮食储存、酒类生产等领域具有广泛应用,温度也是表征对象和过程状态的最重要的参数之一。温度控制系统属于一阶纯滞后环节,具有惯性大、纯滞后、非线性等特点。仅仅依靠传统的控制方式或现代控制方法都很难达到高稳定,高精确度的控制效果。而智能控制中的模糊控制通过从专家们积累的经验中总结的控制规则,对温度进行控制,可以有效地解决温度控制系统的非线性、一阶滞后以及不确定性。本课题以atmel公司生产的典型的单片机at89c52为核心,采用线性度较高、精确度较高的pt100铂电阻为传感器,并对采集的温度和设定温度值的偏差进行模糊化,经
5、过长期的实验得出特定的控制规则,输出控制量,进而保持恒定的温度控制。关键词温度/铂电阻/模糊控制算法/单片机the design of temperaturecontroller based on at89c52abstracttemperature is one of basical physical quantities in the science and technology. in the industrial production and the experimental study, like the electric power, the chemical industry,
6、the metallurgy, the aerospace, the machine manufacture, the grain saves, wine production and so on, the temperature frequently is one of the most important parameters which show object and process condition.the temperature control system has the non-linearity, and is not determined, only depends upo
7、n the traditional controlled mode is not reach the request of high grade control effect. however the fuzzy control rules of smart control summarized by specialist from long-term experiment which can solves the temperature control system questions of non-linearity, not determined first order linear h
8、ysteresis. adopt high linearity and high precision pt100 platinum resistance sensor, and the acquisition of temperature and set temperature deviation of blur, after a long period of experiment specific control rules, control output, thus maintain a constant temperature control.keywordstemperature,pt
9、100,the algorithm of fuzzy control,mcu1温控计发展状况1.1国内发展状况现今基于单片机的温度控制系统生产、安全保护以及节约能源等方面发挥了重要作用。近些年来,国内在基于单片机的温度控制系统的应用上得到飞速发展,稳定性趋于完善,功能不断加大,试用范围也日益广泛,市场占有率逐年上升,进入21世纪后,智能的温控系统正在向着高精度、功能强大、总线标准化、可靠性稳定及安全性高、研发虚拟温控计和网络温控计、开发单片测温温控系统等高新科技的方向迅速发展。在我国,我们仍处于起步晚,精度低,技术创新能力薄弱的状况,技术密集型产品明显落后于发达工业国家,其中自主研发产品少,缺
10、乏核心技术是硬伤。就单片机来说,整个电子智能市场由欧洲、美国、日本、韩国霸占着,他们技术最为成熟,而且制定了许多行业统一标准,在技术方面不断的创新使新产品不断的问世,使之功能、精度、安全性等各项指标都处在一个高水平领域。在这些方面我们国内做的远远不够,与发达国家差距还很大。我们在研究新技术的同时还要加强产业结构的调整,在产品的科技含量上下工夫,不断地提升产品科技附加值、使产品向着更加智能化的方向发展,努力缩小同发达国家之间的差距1-3。1.2 国外发展状况国外对温度控制技术研究较早,始于20世纪70年代。先是采用模拟式的组合仪表,采集现场信息并进行指示、记录和控制。80年代末出现了分布式控制系
11、统。目前正开发研究计算机数据采集控制系统的多因子综合控制系统。现在世界各国的温度控制技术发展很快,一些国家在实现自动化的基础上正向着完全自动化、无人化的方向发展。21世纪以来,电子智能温度控制计正向着精度高、功能强大、总线标准化、稳定性强及安全性高、研发虚拟温控器和网络温控器、研制单片测温温控系统等高技术领域的智能化、网络化的方向进军4。(1) 提高温度控制器测温精度和分辨率:目前,国外已相继推出多种高精度、高分辨率的智能温度传感器,所选用的是9-12位a/d转换器,分辨力一般可达0.5-0.0625。为了提高多通道智能温控器的转换率,也有的芯片采用高速逐次逼近式a/d转换器。(2) 增加温度
12、控制器测试功能:智能温度控制器正从单通道向多通道的方向发展,这就为研制和开发多路温度控制系统创造了良好条件。智能温度控制器都具有多种工作模式可供选择,主要包括单次转换模式、连续转换模式、待机模式,有的还增加了低温极限扩展模式,操作非常简便。(3) 温度控制器可靠性及安全性设计:新型智能温度控制器普遍采用了高性能转换器,智能温度控制器兼有抑制串模干扰能力强、分辨率高、线性度好、成本低等优点。(4) 单片机温度控制系统:单片系统(system on chip)是21世纪一项高新科技产品。它是在芯片上集成一个系统或子系统,其集成度将高达108-109元件/片,这将给ic产业及ic应用带来划时代的进步
13、。目前,国际上一些著名的ic厂家已开始研制单片机温控系统,相信在不久的将来即可面市。2 温控计设计方案的选择2.1基于单片机的温控计如图2-1是基于单片机的温度控制器框图。该控制器由温度采集模块、控制模块、显示模块、报警模块以及电源模块组成。图2-1基于单片机的温控计系统框图单片机是控制计的控制中心,所以单片机类型的选取,对所设计的硬件系统以及功能的扩展是有着很大的影响。单片机种类繁多,在琳琅满目的51系类单片机中,较为常用的是atmel公司的at89c52单片机,at89c52是一个低电压,高性能cmos 8位单片机,片内含8bit可擦写的flash只读程序存储器和256bit的随机存取数据
14、存储器(ram),各元件采用atmel公司的高密度、非易失性存储技术生产,兼容标准的mcs-51指令系统,芯片内嵌通用8位cpu和可擦除的物理存储单元,at89c52单片机在智能控制产品市场有着广泛的应用5。2.2基于arm的温控计图2-2是基于arm处理器的温度传感器框图。该控制器主要是针对工业控制领域现场仪表开发的。该框图包括arm微处理器、电源、监控复位、存储扩展(ram、flash和eeprom)、人机交换接口(led)、网络通信、温度检测电路、a/d转换输出、rs232通信和cpld控制电路(外围设备的译码、配置,实现系统的硬件软件化)等模块6。图2-2基于arm温控计的系统框图2.
15、3基于plc工业温控计plc与其他微型计算芯片相比,在恶劣的外界环境中能够更稳定地运行,拥有强大的数据处理能力,具有系统完整的功能指令,编程简单易学,编程指令具有模块化功能,能够完成就地编程、监控、交互等功能。plc的梯形图语言清晰、直观、可读性强,系统构成比较灵活,并且扩展较易它以开关量控制为特点,也能进行连续的pid回路控制、现场调试容易。plc的主要优点可概括如下:(1) 高可靠性;(2) 丰富的i/o接口模块;(3) 采用模块化结构;(4) 编程简单易学;(5) 安装简单,维修方便;以上所描述几种方案中各有其优缺点,且均适合在工业控制、农业生产、冶金行业使用,但是因为arm处理器的控制
16、设计方案,设计方案相对复杂,设计难度较大,开发周期较长,成本较高;而基于plc的温度控制器,设计成本高,且不在本专业讨论范围。因此,本课题拟采用单片机作为控制器的核心芯片,基于单片机的温度控制器具有开发时间短,价格低廉,功耗低,设计简单等优点7。3 电路设计3.1电路设计的整体思路在温度控制系统中,实际温度值由铂电阻恒流工作调理电路作为温度测量传感器电路。因为铂电阻在测量时具有非线性特点,我们在信号调理电路中加入负反馈非线性校正网络;在测量电路输出模拟量电压经过adc0808进行模数转换后,送入单片机at89c52的p0口;在单片机的处理下,对采样数据进行滤波及标度转换。处理过的温度信息通过7
17、seg-mpx4-ca-blue的3位7段数码管显示。其中数码管采用共阴极的接法由芯片74ls05驱动,各段的位码由三极管2n222a驱动。由于我们通常人眼可识别的频率较低,为了使两组数码管实时显示,对两组数码管显示器进行动态扫描。在显示测量和设定温度时,其中输入设定值由4个独立键盘来对目标温度进行设定。可分别对十位和各位进行上调下降等操作8。本温度控制系统的模糊控制由单片机at89c52的程序来控制并实现。先通过铂电阻信号调理电路进行温度采集值然后根据设定的温度值进行比较,利用程序求出实际测量温度和设定的温度之间的差值,而且还可以进一步求出差值变化率,再对其进行量化就,经过限幅子程序处理,得
18、到差值语言变量e和差值变化率,直接通过查询模糊控制表就可以获得控制量u,然后由定时子程序处理,发出控制信号,通过输出不同占空比的pwm波信号,就可以改变固态继电器的通断时间,从而达到控制恒定的温度目的。若系统温度偏高,则输出控制量驱动风扇电路进行降温,若温度未达到设定值,则输出温度控制信号,控制电路,进行加热。从而实现自动控制温度的目的。图3-1总硬件电路系统框图3.2基本硬件组成3.2.1铂电阻信号调理电路按iec751国际标准,铂电阻的温度系数tcr=0.003851,pt100(r0=100)、pt1000(r0=1000)为统一设计型铂电阻,tcr=(r100-r0)/(r0100)
19、(3-1)即,pt100温度传感器零度阻值为100,100时阻值为138.51,pt1000零度阻值为1000,100阻值为1385.1,电阻变化率均为0.3851/。铂电阻温度传感器精度高,不仅广泛应用于工业测温,而且被制成各种标准温度计。在测温调理电路中我们采用低漂流高精度的运放op07c。在这里我们采用三线制接法,因为有电流经过铂电阻,当温度为0时,在铂电阻传感器上有电位差,此时这个电压为铂电阻传感器的偏置电压,是运放u7输出电压的一部分,使恒流工作调理电路的输出实际不为0。所以需要对这个偏置电压调零,图中r15为调零电阻,其作用为当温度为0时,将恒流工作调理电路的输出调到零。如图示运放
20、u3、同电阻r17、r18、r19构成负反馈非线性校正网络。r13用于调整运放u2的增益9。图3-2铂电阻信号调理电路电路的调整方法如下(用普通电阻调整替代铂电阻进行调整):接入理想0下的精确100的电阻,用r15调零;接入理想50下的精确199.70的电阻,用r13调整增益;接入理想100下的精确139.10的电阻,用r17调整线性;反复进行试验,使之在0100温度范围内为止。图3-3铂电阻实际温度对应的阻值经过上述不断重复的调试,显示对照的曲线图如上。3.2.2 时钟电路与大多数51内核的单片机一样,其中xtal1(19引脚)是其内部振荡电路反相放大器的输入端,是外接石英晶体振荡器的一个引
21、脚。xtal2(18引脚)是其内部振荡电路反相放大器的输出端,也是外接石英晶体振荡器的另一端。为方便后面延时子程序的时间计算,在此我们采用12mhz的晶振x1,电容c2、c3分别取22pf,组成并联谐振回路。图3-4时钟电路3.2.3 复位电路51单片机的复位电路有上电自动复位和按钮复位两种。在本课题中于满足基本设计需求的基础上节省资源器材,我们采用最简单的上电自动复位电路,只要电源的上升时间不超过1ms,就可以实现自动上电复位保证上电正常启动系统。如图示上电瞬间,电容c1迅速充电电流最大,此时电容相当于一个短路的开关,rst端为高电平,自动复位;当电容两端电压达到电源电压时,电容c1充电为0
22、,电容c1相当于开路,rst端低电平,程序正常运行10。图3-5复位电路3.2.4 模数转换电路本课题设计的系统模数转换芯片采用adc0809,由于proteus中没有adc0809的模型库,在此我们以adc0808代替,但是功能参数基本一样,只是高低位相反。下图是adc0808的工作时序图。图3-5adc0809工作时序图如下图所示是adc0808与51单片机的接口电路。图中,adc0808转换时钟由51单片机的ale信号提供。由于adc0808的最高时钟频率为640khz,ale的信号是晶振频率的1/6,然后我们选择的单片机晶振的频率是12mhz,那么ale的频率为2mhz,所以ale信号
23、要分频后再送给adc0808。将in0口作为模拟量的输入端,同时把a、b、c三个地址线置低电平。因为adc0808具有地址锁存功能,将ale接到p3.3口,模拟信号经过in0口转换后输入到单片机的8位p0口。图3-6模数转换电路3.2.5 按键输入电路因为本系统较为简单,i/o资源也够用,我们采用独立按键接口方式。把每个按键分别与单片机的i/o口直接相连。每根输入线上的工作状态不会影响其他输入线的工作状态。这样使电路配置灵活,程序简单。其中如果s1按下,s2作为个位或者十位的操作判断:按下表示十位,反之个位。s3和s4分别作为加减操作。如此减少了按键次数,保证了温度设定的便利,同时也延长了键盘
24、的使用寿命。图3-7按键电路3.2.6 显示电路显示电路选用动态扫描方式,用两个4位7段led数码管显示,共阴极接法,其中用第一个7seg-mpx4-ca-blue作为a/d设定温度初始的值显示,第二个7seg-mpx4-ca作为采集到的a/d转换的值显示。因为大部分数码管显示电路都采用动态扫描的方式,因而我们在提供段输入之外,要对数码管显示的加位控制,也就是常说的段控和字控。如下面电路所示蓝色的为总线bus,使用p1口输出8条段控线;并将p3.0-p.2和p2.1-p2.3作为位控线进行输出。当然位控线的数目等于数码管显示的位数。对于段控输出驱动我们采用74ls05,而对于位控因为其要求电流
25、大致在4060ma,所以我们采用三极管9012进行驱动从而提高驱动能力。在电路连接时将三极管的集电极接到显示管的位码驱动输入端,发射极接地,单片机的p2.0-p2.2口分别与2k的电阻接到三极管的基极11-13。图3-8显示电路4 系统控制算法的实现4.1 模糊控制的基本原理模糊控制的核心在于模糊控制器,如图4-1中我们用虚线所标注的,其重要涵盖3部分:输入模糊化,模糊推理及模糊判断。控制规则给定值r计算误差变化模糊化处理模糊推理逆模糊化a/d传感器执行机构被控对象e被控制量y图4-1模糊算法系统框图4.2 模糊控制程序的总体设计思想此温控计以单片机at89c52汇编程序为模糊控制器来实现,具
26、体的汇编程序总过程如下:(1) 计算出给定值r和反馈值的误差e;(2) 求出偏差变化率ec=de/dt即微分;(3) 将(2)中的偏差和偏差率的精确值模糊化,使其成为新的变量:e、同理ec=de/dt(微分),同时把控制量模糊化成为新变量u;(4) 编写控制规则;(5) 模糊推理;(6) 将得到的模糊量进行反变换;模糊控制器完成(1)-(6)流程后,即完成被控对象的一步操作,延迟等待下一次adc0808转换的采样值,如此循环,进而完成整个模糊控制。4.3模糊算法的实现模糊控制采用温度偏差e和温度偏差变化率ec作为输入值,温度控制量u为输出值。在模糊过程中温度偏差e、温度变化率ec、控制量u讨论
27、的定义域为-5,+5、-2,+2及0,1。本系统语言变量的语言值取7个作为其输出,输出控制量用于控制继电器驱动风扇或者电热丝。并设定pwm信号的模糊控制量为0,0.25,0.5,0.75,1。它们分别为五个单点模糊量,和一个控制风扇模糊量。所以此温控系统有6个输出的语言量:单片机p3.5口为0时即u=0,从而驱动风扇工作;相反,当p3.5口为1时,继电器启动加热丝进行工作,从而使温度上升,同时在这个周期内继电器处于关断状态。当控制量u=2时,加热丝工作0.25个周期,在0.75个周期内关断。所以,控制量为5时,继电器将会在整个周期内驱动电热丝工作14-15。控制规则如表:表4-1控制规则uec
28、enlnmns0pspmplnllllllmsmznmlllllmzznsllmmsmzzn0lmmsmzznnpsmsmzzznnpmzzznnnnplzzznnnn4.4模糊控制算法应用程序的实现在实际温度为100的时候即温度偏差e和温度偏差变化率ec最不准确的情况,在100这个点由程序所计算出出的温度偏差e和温度偏差变化率ec的讨论定义域分别为-5,+5、-2,+2。也因为此我们需要对温度偏差e偏差变化率ec限幅,温度偏差e按照以下3种情况讨论:当e5,令e=5;当e-5,令e=-5;当-5e5,按照数学上常用的四舍五入将其取整,当我们得到e值时再对其进行量化处理。以此推理ec也按照以下
29、3种情况分别进行讨论:当ec2.5,令ec=2.5;当ec-2.5,令ec=-2.5;当-2.5ec2.5,四舍五入对其进行取整,当我们得到ec值时再对其进行量化处理。通过这种量化处理办法,可以将温度偏差e和温度偏差变化率ec在整个0,100的测温变化范围内,控制量全部都有效。对于偏差和偏差变化率这两个值,它们可能出现正负两种情况。所以我们要将其与零进行对比。得到值为负数的需要跳转到负数程序执行,同时也要和其它负值比较,两数进行减法运算,设cf=1,表明被减数小于减数;同理可得cf=0,表示被减数大于减数。我们用定时子程序来完成控制量作用的pwm信号的子程序。将t0设置成低电平定时作为双向可控
30、硅导通,同时把t1设置成高电平作为双向可控硅关断,两个定时器同时配合,在定时周期固定的情形下,重新设定t0和t1的定时周期,来变化占空比的大小,完成控制量的操作。5系统软件实现程序一开始由于我们需要得到测得温度值在led上显示,所以需要启动ad转换子程序、数据采集子程序、数字滤波子程序、调温变换子程序、调显示子程序。然后进行判断s1键是否按下,如果按下说明需要设定温度值了,并调键盘处理子程序。如果没有,调用相关的子程序。如下是系统主流程图。图5-1程序系统流程图5.1a/d转换子程序图5-2模数转换程序流程图如上图,为a/d转换子程序流程图,按照adc0808的工作时序图,我们先给地址锁存端即
31、at89c52的p3.3口送一个上跳沿,在两个nop的延迟下,由单片机p2.0口给start送一个上跳沿,使内部寄存器清0,再给start送一个下跳沿,来开始启动模数转换。模数转换启动后我们根据结束状态信号来判断是否将模拟量转换完毕,此时进入个小段的等待程序。当eoc=1时转换结束,adc0808将8位数据传到单片机的p0口。zhuanhuan:setb p3.3;p3.3口置高nop nop clr p3.3 ;将地址传送到adcnop nop setb p2.0;p2.0口置高nop nop clr p2.0 ;启动转换nop nopwait:jb p3.7,movdajmp waitmo
32、vd:clr p3.6;p3.6清0nop nop setb p3.6 ;在adc端口输出转换数据nop nop mov a,p0 ;将adc中的数据保存到accmov r0,aclr p3.6 nop nop retend5.2键盘处理子程序因为我们在电路上采用独立按键接口方式。把每个按键分别与单片机的i/o口直接相连。在程序上,如果s1按下,s2作为个位或者十位的操作判断:按下表示十位,反之个位。s3和s4分别作为加减操作。所以设定初值的时候必须按下s1,程序根据s1的状态即单片机p2.4口的电平高低来判断是否调用控制子程序。下图为键盘处理子程序流程图。图5-3键盘处理子程序流程图5.3
33、温度标度变换子程序温度控制的另一个关键就是如何把单片机接收到adc0808转换的数字信号变成我们熟悉的物理量。这种把电信号转换成温度单位就是标度转换。线性标度转换公式为:y=(ymax -ymin)(x-nmin)/(nmax-nmin)+ymin (5-1)在上式中,y是参数测量值;ymax是测量范围得到的最大值;ymin是测量范围得到的最小值;nmax是与ymax对应的模数转换值;同理nmin是ymin对应的模数转换值。其中,ymin=0,ymax=100,nmax=0,nmin=255,所以:y=(100-0)(x-0)/(255-0)+0 (5-2)=a1x+ba1=0.39,b=0。
34、但是在单片机汇编指令中,像0.39这类浮点数的乘法程序比较难实现,取其近似值2/5,乘以nmax(即测量范围最大值得模数转换对应值)后会产生0.01255=2.55的误差。假设线性系数a1最终转换的结果为100时,那么a1=100256/255=100.39即可确定系数。chnter:mov 21h,#101;将立即数101传送给地址单元21hmov 22h,#0;将立即数0传送给地址单元22hmov a,r0mov b,21h;将地址单元21h中的值传给寄存器bmul ab;a*101,高8位放在b中,低8位放在a中add a,22hmov 24h,a;将温标变换的低8位存放在24h中mov
35、 a,baddc a,23hmov 25h,a;将温标变换的高8位存放在25h中 ret5.4 显示子程序电路采用的是共阴极接法,动态扫描显示。在显示子程序里,利用第一个数码管显示设定温度的初始温度值。第二个数码管显示实际通过pt100测得温度值。并且两个数码管同时显示。首先由单片机送出第一个数码管七段译码,然后再让第一个数码管为选导通,其他数码管公共端截止,这样,只有第一个数码管显示单片机送出的段码信息;显示延时一会儿,保证亮度后,关闭第一个数码管显示,即关闭位选;单片机再送出第二个数码管显示的7段译码信息,按照第一个数码管的显示方式,尽让第二个数码管亮一会儿;以此类推。在轮流点亮扫描过程中
36、,每段数码管的点亮时间是超级短暂,利用人肉眼暂留现象及发光二极管的余辉效应,只要扫描的频率足够快,这样我们就可以清晰的看到第一个第二个数码管稳定的显示测量温度值和设定温度值。显示子程序流程图如下。图5-4显示子程序流程图show:lcall shiftmov a,r1inc r1mov dptr,#tabmovc a,a+dptrmov p1,asetb p3.0lcall delay3clr p3.0;p3.0清0,关闭相应的数码管的显示lcall delay3mov a,r1swap a;a中高低四位字节相互交换anl a,#0fhmovc a,a+dptrmov p1,a;a中的值赋给p
37、1 setb p3.1lcall delay3 clr p3.1 ;p3.1清0,关闭相应的数码管的显示lcall delay3 mov a,r1 ;将r1的值作为地址传送给ainc r1 anl a,#0fh ;a与上立即数0fhmovc a,a+dptr mov p1,a ;a中的值赋给p1 setb p3.2lcall delay3 clr p3.2 ;p3.2清0,关闭相应数码管的显示lcall delay3mov a,r1 ;将r1的值作为地址传送给ainc r1 movc a,a+dptr mov p1,asetb p2.3lcall delay3 clr p2.3 ;p2.3清0
38、,关闭相应数码管的显示lcall delay3 mov a,r1 ;将r1的值作为地址传送给aswap a ;a中高低四位字节相互交换anl a,#0fh ;a与上立即数0fhmovc a,a+dptr mov p1,asetb p2.1lcall delay3 clr p2.1 ;p2.1清0,关闭相应的数码管显示lcall delay3 ;调用延迟子程序mov a,r1 ;将r1的值作为地址传送给aanl a,#0fh ;a与上立即数0fhmovc a,a+dptr mov p1,asetb p2.2lcall delay3 clr p2.2 ;p2.2清0,关闭相应的数码管显示lcall
39、 delay3 clr p2.4clr p2.5clr p2.6clr p2.7setb p2.4setb p2.5setb p2.6setb p2.7lcall delay3 tab:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h,7fh,6fh ;数表ret5.5 定时子程序在模糊控制系统中我们需要进行模糊查询表的pwm占空比,此时就需要定时子程序来完成。在加热降温控制中我们需要利用继电器来完成相关动作。因为继电器的机械特性,要求不能频繁的通断即它的通断具有一定的周期时间延迟,而我们又要考虑到采集实际温度值和设定温度值之间的偏差和偏差的变化率来做出相应的通断,因此采用
40、下面的方法:假设占空比为四分之一的情况下,定时器t0、t1都采用方式1来定时,将t0专门用于低电平,即双向可控硅导通,t1专门用于高电平,即双向可控硅关断,事先将单片机p3.4口置0,此时启动t0定时,时间取10ms,将其高位放在0ech内存单元,低位放在78h内存单元,循环一次,等到10ms时间到了以后不再进入下一次的循环,然后启动数据采集、标度转换、显示子程序,程序调用完毕后再进行循环1次,此时1/4周期结束,将单片机p3.4口置1,我们把一个周期分成均等的4份,所以同理t0,启动t1后进行10ms时长的循环3次,完成后再调用数据采集、标度变换、显示子程序。流程图如下。图5-5定时子程序流
41、程图wu1:mov tmod,#11h ;设置定时器工作方式mov r2,#4 ;将立即数4传给r2mov r6,#12 ;将立即数12传给r6clr p3.4 ;设置方波起始状态loop11:mov th0,#0ech ;置定时器0高8位计数初值mov tl0,#78h ;置定时器0低8位计数初值setb tr0 ;启动定时器sjmp loop31 ;产生连续方波loop21:mov th1,#0ech ;置定时器1高8位计数器初值mov tl1,#78h ;置定时器1低8位计数器初值setb tr1 ;启动定时器sjmp loop41 ;长跳到loop41判断是否溢出loop31:jbc
42、tf0, loop51 ;定时器tf0溢出转移到loop51sjmp loop31loop41:jbc tf1, loop61 ;定时器tf1溢出转移到loop61sjmp loop41loop51:djnz r2, loopz11setb p3.4 ;将p3.4置高,控制量输出完毕sjmp loop21loopz11:lcall zhuanhuan lcall chnterlcall showljmp loop11 loop61:djnz r6, loopz21ljmp lllloopz21:lcall zhuanhuan lcall chnter lcall show ljmp loop2
43、15.6量化子程序对于温控系统接收到的实际温度值求出的温度偏差e和温度偏差变化率ec,没有办法直接查询模糊控制表,唯一的办法就是经过量化程序,得到量化后偏差量e和偏差变化率ec才可以对应于偏差控制表的行列值,从而完成查询控制,也因此需要编写量化程序。具体量化方法如下:取偏差e符号c1,判断c11是否等于1,等于1对偏差e求补,取偏差e量化因子ke,然后求偏差e量化结果,并对偏差e量化结果求补;否则取偏差e量化因子ke并求出误差量化结果。其中温度偏差变化率ec量化因子kec=2.5,把偏差变化率ec乘以2后,保存到分配的内存单元2ch,把偏差变化率ec除以2后保存到量化分配内存单元2dh,最后把
44、上述两个内存单元的内容加起来。这样量化因子kec=2.5。程序流程图如下。图5-6量化子程序流程图5.7中值滤波子程序因为单片只能接收数字信号,所以模拟信号只有经过a/d转换得到数字信号后才能被单片机运用。并且模拟量稍微受到外围电路某些干扰后转化成数字量都会有误差,这里我们不能只采集一次数字,因此加入中值滤波程序。filter:;中值滤波子程序,采样的三个数分别放在31h、32h、33h中mov a,31h;将31h的内容传送到累加器acjne a,32h,cmp1ajmp cmp2cmp1:jnc cmp2;cy=0转移xch a,32h;xch a,31h;31h和32h存储的数中较大的值
45、放在32h中cmp2:mov a,32hcjne a,33h,cmp3;比较a和33h是否相等,不相等转移到cmp3mov 38h,a;将a中内容传送到38hretcmp3:jc cmp4;cy=1转移到cmp4mov 38h,a;将a中内容传送到38hretcmp4:mov a,33h;将33h内容传送到acjne a,31h,cmp5;比较a与31h中内容,相等顺序执行,不相等转移到cmp5mov 38h,a;将a中内容传送到38hretcmp5:jc cmp6;cy=1转移到cmp6xch a,31hcmp6:mov 38h,a;三个数中的中间值存在38h中ret图5-7中值滤波子程序流
46、程图6系统仿真软件编写完后,进行编译。本课题用的开发环境是基于keil uvisio4。找到target options单击,选择output,勾选住create hex file 单击ok按钮。再找到debug的use中选择proteus vsm simulator并单击ok按钮。硬件设计开发环境基于proteus isis7。打开单片机的属性对话框,装载上由keil生成的hex文件,即可对系统进行仿真。系统仿真结果如图。图6-1proteus仿真图因为在proteus中我们无法仿真风扇给pt100降温,当然也无法用加热丝给传感器加热。在仿真中就没有设计相关的硬件电路。在仿真中我们用示波器代替,来分析不同温度偏差情形下加热控制信号输出端口和风扇控制信号输出的占空比。在本课题中,将单片机的p3.4口连接到示波器的a通道;将p3.5口连接到示波器的b通道。当我们在设定温度为65的时候和实际测量温度相比较低11。此时p3.5输出控制信号驱动风扇工作,当我们设定温度为77的时候和实际温度相比差
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年黑龙江省公务员录用考试《行测》真题及答案解析
- 新高考语文二轮复习高频考点专项练习:专题十三 考点28 非连续性文本(2)(含答案)
- 农业企业离任审计工作方案
- 工业机器人调试方案
- 吉林师范大学《电磁场与电磁波》2021-2022学年期末试卷
- 吉林大学《油画静物》2021-2022学年第一学期期末试卷
- 2024知识产权合同大全
- 2024实习生在合同没到期时申请离职被扣工资我去仲裁告的胜算是多少啊
- 吉林大学《空间机构学》2021-2022学年第一学期期末试卷
- 吉林大学《环境科学进展》2021-2022学年第一学期期末试卷
- 内分泌科抗菌药物合理应用
- (正式版)SHT 3420-2024 石油化工管式炉用空气预热器技术规范
- 护理专业(医学美容护理方向)《美容技术》课程标准
- 学校班组文化建设方案
- (2024年)消防安全主题班会
- 2024年全国高考物理电学实验真题(附答案)
- 幼儿园区域观察指导教研活动
- 解读体检报告的软件
- 乳腺疏通课件
- 网络钓鱼攻击如何分辨与防范
- 大数据技术在生态环境保护中的应用
评论
0/150
提交评论