计算机温度控制实验报告1
- 格式:doc
- 大小:154.50 KB
- 文档页数:12
温度控制的实验报告1. 引言温度是物体分子热运动的表现,是许多实验和工业过程中需要精确控制的一个变量。
本实验旨在研究温度控制的原理和方法,通过实验验证不同温控设备的性能,并对温度控制的误差进行分析。
2. 实验目的1. 了解温度控制的基本原理和方法;2. 掌握温度控制设备的操作方法;3. 分析温度控制的误差来源,并提出改进方案。
3. 实验装置和材料- 温度控制设备:恒温水浴器、温度计;- 反应容器:玻璃烧杯、烧杯夹;- 实验溶液:蒸馏水。
4. 实验步骤1. 将恒温水浴器放在实验台上,接通电源并调整温度设置;2. 在玻璃烧杯中加入适量蒸馏水;3. 将烧杯夹固定在温水浴器外壁上,并将玻璃烧杯置于夹子中,使其与恒温水浴器中的水接触;4. 等待一段时间,使烧杯中的水温稳定在设定的温度;5. 用温度计测量烧杯中水的实际温度,并记录下来;6. 根据测量结果,分析温度控制设备的误差和准确度。
5. 实验结果设置温度() 实际温度():: ::30 29.540 39.850 49.960 59.76. 结果分析通过实验结果可以看出,温度控制设备在大部分情况下能够实现较为准确的温度控制,但仍存在一定的误差。
可能的误差来源包括:1. 温度计的准确度:温度计本身存在一定的误差,会对实际温度测量结果产生影响;2. 温度控制设备的稳定性:恒温水浴器在调整温度过程中可能存在波动,导致实际温度与设定温度不完全一致;3. 烧杯和夹子的传热性能:烧杯与恒温水浴器之间的传热效果可能存在差异,影响实际温度的稳定性。
为减小温度控制误差,可以采取以下改进措施:1. 使用更加精准的温度计进行测量,减小温度计本身误差对实验结果的影响;2. 对恒温水浴器进行进一步调试,提高其温度控制的稳定性;3. 优化烧杯与夹子之间的接触条件,改善传热效果。
7. 结论通过本实验的探究,我们对温度控制的原理和方法有了更深入的了解,并掌握了温度控制设备的操作方法。
前言本指导书是配合自动化专业本科生专业课《计算机控制技术》的课堂教学而编写的实验教材,通过实验的验证能够使学生了解和掌握计算机控制的硬件技术和软件编程方法。
本书共设计了七大类实验,第一类中包含过程通道和数据采集处理方面的几个内容;第二类为数字PWM 发生器和直流电机调速控制的开环实验;第三类包含几种数字PID闭环控制实验;第四类中有两种数字调节器直接设计方法的实验;第五类是一个温度控制系统;第六类是随动系统实验;第七类是过程控制系统的研究;实验五至实验七的内容是带有被控对象的控制系统。
七个实验的全部学时大于计划学时,教师和学生对所做的实验内容可以选择以满足实验计划学时为准。
通过实验学生巩固了课堂教学的内容,也为今后实际工作打下了一定技术基础。
本指导书由王尚君、毛一心老师共同编写,穆志纯教授进行了严格的审阅工作。
由于计算机性能的快速提高,计算机控制的技术手段也在不断出新,书中难免存在不足之处,敬请读者批评指正。
编者2007年10月目录前言 (1)目录 (2)实验一过程通道和数据采集处理 (4)一、输入与输出通道 (4)1. AD 转换实验` (5)2. DA 转换实验` (7)二、信号的采样与保持` (9)1. 零阶保持实验` (9)2. 直线插值实验*` (11)3. 二次曲线插值实验*` (11)三、数字滤波 (15)1. 一阶惯性实验 (16)2. 四点加权实验* (16)实验二开环系统的数字程序控制 (19)数字PWM 发生器和直流电机调速控制 (19)一、实验目的 (19)二、实验内容` (19)三、实验所用仪表及设备 (19)四、实验原理及步骤 (20)五、思考题 (21)六、实验报告内容及要求 (21)实验三数字PID闭环控制 (22)数字PID控制算法 (22)积分分离法PID控制 (23)带死区的PID控制* (27)简易工程法整定PID 参数 (30)扩充临界比例度法 (30)扩充响应曲线法 (32)实验四数字调节器直接设计方法 (36)最小拍控制系统 (36)一、实验目的 (36)二、实验所用仪表及设备` (36)三、实验原理及内容 (36)有纹波最小拍控制系统 (37)无纹波最小拍控制系统 (38)四、实验步骤 (40)五、思考题 (41)六、实验报告内容及要求 (41)实验一过程通道和数据采集处理为了实现计算机对生产过程或现场对象的控制,需要将对象的各种测量参数按要求转换成数字信号送入计算机;经计算机运算、处理后,再转换成适合于对生产过程进行控制的量。
温度控制系统实验报告温度控制系统实验报告一、引言温度控制系统作为现代自动化领域的重要组成部分,广泛应用于工业生产、家电和环境控制等领域。
本实验旨在通过搭建一个简单的温度控制系统,了解其工作原理和性能特点。
二、实验目的1. 了解温度控制系统的基本原理;2. 掌握温度传感器的使用方法;3. 熟悉PID控制算法的应用;4. 分析温度控制系统的稳定性和响应速度。
三、实验装置本实验使用的温度控制系统由以下组件组成:1. 温度传感器:用于测量环境温度,常见的有热敏电阻和热电偶等;2. 控制器:根据温度传感器的反馈信号,进行温度控制;3. 加热器:根据控制器的输出信号,调节加热功率;4. 冷却装置:用于降低环境温度,以实现温度控制。
四、实验步骤1. 搭建温度控制系统:将温度传感器与控制器、加热器和冷却装置连接起来,确保各组件正常工作。
2. 设置控制器参数:根据实际需求,设置控制器的比例、积分和微分参数,以实现稳定的温度控制。
3. 测量环境温度:使用温度传感器测量环境温度,并将测量结果输入控制器。
4. 控制温度:根据控制器输出的控制信号,调节加热器和冷却装置的工作状态,使环境温度保持在设定值附近。
5. 记录数据:记录实验过程中的环境温度、控制器输出信号和加热器/冷却装置的工作状态等数据。
五、实验结果与分析通过实验数据的记录和分析,我们可以得出以下结论:1. 温度控制系统的稳定性:根据控制器的调节算法,系统能够在设定值附近维持稳定的温度。
但是,由于传感器的精度、控制器参数的选择等因素,系统可能存在一定的温度波动。
2. 温度控制系统的响应速度:根据实验数据,我们可以计算出系统的响应时间和超调量等参数,以评估系统的控制性能。
3. 温度传感器的准确性:通过与已知准确度的温度计进行对比,我们可以评估温度传感器的准确性和误差范围。
六、实验总结本实验通过搭建温度控制系统,探究了其工作原理和性能特点。
通过实验数据的分析,我们对温度控制系统的稳定性、响应速度和传感器准确性有了更深入的了解。
工业计算机控制实验报告实验一A/D、D/A 转换实验一、实验目的1.了解温控系统的组成。
2.了解NI 测量及自动化浏览器的使用并对数据采集卡进行设置。
3.了解Dasylab 软件的各项功能,并会简单的应用。
4.通过实验了解计算机是如何进行数据采集、控制的。
二、实验设备微型计算机、NI USB 6008 数据采集卡、温度控制仪、温箱。
三、实验内容1.了解温度控制系统的组成。
2.仔细观察老师对数据采集卡输入输出任务建立的过程及设置还有dasylab 基本功能的演示。
3.仔细阅读dasylab 相关文档,学习帮助文件tutorial 了解其基本使用方法。
4.动手实践,打开范例,仔细揣摩,并独立完成数据采集卡输入输出任务的建立并建立并运行单独的AD 及DA 系统,完成之后,按照自己的需要及兴趣搭建几个简单的系统运行。
四、温控系统的组成计算机温度控制系统由温度控制仪与计算机、数据采集卡一起构成,被控对象为温箱,温箱内装有电阻加热丝构成的电炉,还有模拟温度传感器AD590。
系统框图如图所示:五、温控仪基本工作原理温度控制仪由信号转换电路、电压放大电路、可控硅移相触发器及可控硅加热电路组成。
被控制的加热炉允许温度变化范围为0~100℃.集成电路温度传感器AD590(AD590 温数据采集卡温度控制仪温箱度传感器输出电流与绝对温度成正比关系,灵敏度为1uA/K).将炉温的变化转换为电流的变化送入信号转换、电压放大电路.信号转换电路将AD590 送来的电流信号转换为电压信号,然后经精密运算放大器放大、滤波后变为0~5V 的标准电压信号,一路送给炉温指示仪表,直接显示炉温值。
另一路送给微机接口电路供计算机采样.计算机通过插在计算机USB 总线接口上的NI USB 6008 12 位数据采集卡将传感器送来的0~5V 测量信号转换成0~FFFH 的12 位数字量信号,经与给定值比较,求出偏差值,然后对偏差值进行控制运算,得到控制度变化的输出量,再经过NI USB 6008 将该数字输出量经12 位D/A 转换器变为0~5V 的模拟电压信号送入可控硅移相触发器,触发器输出相应控制角的触发脉冲给可控硅,控制可控硅的导通与关断,从而达到控制炉温的目的。
PID实验报告范文PID(Proportional-Integral-Derivative)是一种常用于控制系统的算法,它根据当前的误差值和历史误差值的积累来调整控制量,从而实现系统的稳定性和精确性。
在本次实验中,我们将学习如何使用PID算法来控制一个简单的温度控制系统。
实验步骤:1.实验准备:准备一个温度传感器、一个发热器以及一个温度控制器。
将温度传感器安装在控制对象上,将发热器与温度控制器连接,并将温度控制器连接到计算机。
2.确定控制目标:我们的目标是将系统的温度稳定在一个特定的温度值。
在本次实验中,我们将目标温度设定为50°C。
3.参数调整:调整PID控制器的三个参数,即比例系数Kp、积分系数Ki和微分系数Kd。
开始时,我们可以将这些参数设置为一个合理的初始值,例如Kp=1,Ki=0.1,Kd=0.014.实验记录:记录系统的温度变化过程。
在开始实验之前,将控制对象的温度设定为初始温度,并将PID控制器的输出设定为零。
记录系统的温度、控制量和误差值。
5.PID计算:根据当前的误差值、历史误差值和时间间隔,计算PID控制器的输出。
6.控制实施:根据PID控制器的输出,控制发热器的加热功率。
根据输出值的大小调整发热器的功率大小。
7.实验分析:观察系统的温度变化过程,并分析PID控制器的参数调整对系统性能的影响。
根据实验结果,调整PID参数,使系统的稳态和动态响应性能都较好。
实验结果:我们进行了多组实验,可以观察到系统温度在初始阶段有较大的波动,但随着时间的推移,温度开始逐渐稳定在目标温度附近。
通过对PID参数进行调整,我们发现参数的选择对系统的稳定性和响应速度有很大影响。
当比例系数Kp较大时,系统对误差的响应速度很快,但也容易引起过冲现象,导致系统产生振荡。
因此,我们需要根据实际需求进行调整,找到一个合适的值。
当积分系数Ki较大时,系统对积累误差的反应较快,可以很好地消除稳态误差,但也容易引起系统的超调。
上海电子信息职业技术学院《计算机控制系统实现与调试》课程实训报告系部:电子工程系专业:计算机控制技术班级:学号:姓名:小组:指导教师:日期:2014年5月一、系统概述1.系统原理图2.参数说明和设置低值报警AL=高值报警AH=输出下限值OL=输出上限值OH=输入类型LN=9。
工作方式(恒值控制、PI控制、加热、无冷端补偿、报警、报警)OP=3.操作步骤二、恒值控制1.要求(包括参数的设定值):设定值:60o C,水量一半;(在实验中有同学的温度按照实际实验时的值更正)比例系数P1= ;积分参数P2= ;控制周期P3=1;OF超调限定值= ;每30S记录一次测量温度,共记3个波峰3个波谷。
2.目的:观察恒值控制的控制效果。
3.现象:5.曲线图(指出系统的超调量、上升时间和稳态误差)6.实验结论(实验中的问题记录、产生问题的原因,如何解决这些问题、建议等)三.带有扰动的恒值控制(加冷水、重新设定温度)1.要求(包括参数的设定值)设定值:60o C,水量一半;(在实验中有同学的温度按照实际实验时的值更正)Op参数的设定:恒值控制、PI控制、加热、无冷端补偿、低值报警、高值报警;每20S记录一次测量温度,共记3个波峰3个波谷。
2.目的:观察带有扰动的恒值控制效果。
3.现象:4.得到的数据:(用表格列写数据)5.曲线图(指出系统的超调量、上升时间和稳态误差)6.实验结论(实验中的问题记录、产生问题的原因,如何解决这些问题、建议等)四、PI控制参数整定1.要求:设定值:60o C,水量一半;(在实验中有同学的温度按照实际实验时的值更正)用试凑法整定Pk和Ti参数,直至得到良好的控制曲线。
每20S记录一次测量温度和OU值,共记6个波峰6个波谷。
2.目的:掌握整定PI参数的方法,通过实验理解PI参数对控制性能的影响。
3.具体设定参数如下:(在实验过程中,每次获得的曲线所对应的Pk和Ti)表Pk和Ti参数整定记录表4.现象:5.得到的数据:(用表格列写数据)6.曲线图(指出系统的超调量、上升时间和稳态误差)7.试验结论(实验中的问题记录、产生问题的原因,如何解决这些问题、建议等)五、带扰动的PI控制参数整定(加入冷水或重新设置SV)1.要求:设定值:60o C,水量一半;(在实验中有同学的温度按照实际实验时的值更正)每20S记录一次测量温度、OU值,共记3个波峰3个波谷,然后加入()ml 的冷水或把设定值改为70o C,再记3个波峰3个波谷。
一、实验目的1. 理解计算机控制系统的基本原理和组成;2. 掌握计算机控制系统的基本操作和调试方法;3. 通过实验,加深对计算机控制理论的理解和应用。
二、实验仪器1. PC计算机一台;2. 计算机控制系统实验箱一台;3. 传感器、执行器等实验设备。
三、实验内容1. 计算机控制系统组成与原理;2. 传感器信号采集与处理;3. 执行器控制与调节;4. 计算机控制系统调试与优化。
四、实验步骤1. 熟悉实验设备,了解计算机控制系统实验箱的组成及功能;2. 连接实验设备,检查无误后启动实验软件;3. 根据实验要求,进行传感器信号采集与处理;4. 根据实验要求,进行执行器控制与调节;5. 对计算机控制系统进行调试与优化,观察系统响应和性能;6. 记录实验数据,分析实验结果。
五、实验结果与分析1. 计算机控制系统组成与原理实验过程中,我们了解了计算机控制系统的基本组成,包括传感器、控制器、执行器等。
传感器用于采集被控对象的物理量,控制器根据采集到的信号进行计算、处理,然后输出控制信号给执行器,执行器对被控对象进行调节。
2. 传感器信号采集与处理在实验中,我们使用了温度传感器采集环境温度信号。
通过实验,我们掌握了如何将模拟信号转换为数字信号,以及如何对采集到的信号进行滤波处理。
3. 执行器控制与调节实验中,我们使用了继电器作为执行器,根据控制器输出的控制信号进行开关控制。
通过实验,我们学会了如何设置执行器的参数,以及如何对执行器进行调节。
4. 计算机控制系统调试与优化在实验过程中,我们对计算机控制系统进行了调试与优化。
通过调整控制器参数,使得系统在满足控制要求的同时,具有良好的动态性能和稳态性能。
六、实验总结本次实验使我们对计算机控制系统有了更深入的了解,掌握了计算机控制系统的基本原理和操作方法。
通过实验,我们提高了动手能力和实际操作能力,为今后从事相关领域工作奠定了基础。
七、实验报告1. 实验名称:计算机控制系统实验2. 实验日期:XXXX年XX月XX日3. 实验人员:XXX、XXX4. 实验指导教师:XXX5. 实验内容:计算机控制系统组成与原理、传感器信号采集与处理、执行器控制与调节、计算机控制系统调试与优化6. 实验结果与分析:详细描述实验过程中遇到的问题、解决方法及实验结果7. 实验心得体会:总结实验过程中的收获和体会(注:以上实验报告仅供参考,具体实验内容和结果可能因实际情况而有所不同。
温度控制器实验报告目录一、实验概述 (2)1. 实验目的 (2)2. 实验设备与材料 (2)3. 实验原理 (3)二、实验内容与步骤 (4)1. 实验内容 (5)1.1 温度控制器的基本操作 (6)1.2 温度控制器的参数设置与调整 (7)2. 实验步骤 (8)2.1 安装温度控制器 (9)2.2 校准温度计 (9)2.3 设置温度控制器参数 (11)2.4 观察并记录实验数据 (13)2.5 分析实验结果 (13)三、实验数据与结果分析 (14)1. 实验数据 (15)1.1 温度控制器的温度读数 (17)1.2 温度控制器的设定温度 (18)1.3 温度控制器的实际输出温度 (19)2. 结果分析 (19)2.1 温度控制器的性能评价 (20)2.2 温度控制器在不同条件下的适应性分析 (21)四、实验结论与建议 (22)1. 实验结论 (23)2. 实验建议 (24)一、实验概述本实验旨在通过设计和制作一个温度控制器,让学生了解温度控制器的基本原理、结构和工作原理,并掌握温度控制器的制作方法。
学生将能够熟练掌握温度控制器的设计、制作和调试过程,为今后从事相关领域的工作打下坚实的基础。
本实验的主要内容包括,在实验过程中,学生将通过理论学习和实际操作相结合,全面掌握温度控制器的相关知识和技能。
1. 实验目的本实验旨在探究温度控制器的性能及其在实际应用中的表现,通过一系列实验,了解温度控制器的控制原理、操作过程以及性能特点,验证其在实际环境中的温度控制精度和稳定性。
本实验也旨在培养实验者的实践能力和问题解决能力,为后续相关领域的深入研究和实践打下坚实的基础。
2. 实验设备与材料温度控制器:作为实验的核心设备,本实验选择了高精度数字式温度控制器,具备较高的稳定性和精确度,能够确保实验结果的可靠性。
恒温箱实验箱:为了模拟不同的环境温度,采用了具有温控功能的恒温箱或实验箱。
通过调节箱内的温度,可以观察温度控制器在不同环境下的表现。
温度的控制实验报告温度的控制实验报告一、引言温度是我们日常生活中非常重要的一个因素,它不仅影响着我们的舒适度,还对各种化学、物理和生物过程起着重要作用。
为了更好地理解和控制温度,我们进行了一系列实验。
二、实验目的本次实验的目的是探究不同因素对温度的影响,并寻找最佳的温度控制方法。
三、实验材料与方法1. 实验材料:- 温度计- 恒温箱- 热水槽- 冷却器- 实验容器2. 实验方法:- 将温度计插入实验容器中,以测量温度。
- 将实验容器放置在恒温箱中,并设定不同的温度。
- 将实验容器放置在热水槽或冷却器中,以改变温度。
- 记录不同条件下的温度变化。
四、实验结果与分析1. 温度与环境因素的关系:我们首先探究了温度与环境因素的关系。
在恒温箱中,我们设定了不同的温度,分别是25°C、30°C、35°C和40°C。
通过观察温度计的读数,我们发现温度随着设定值的增加而上升,这表明环境温度对实验容器内的温度有直接影响。
2. 温度与时间的关系:我们进一步研究了温度与时间的关系。
在恒温箱中设定了一个温度,并记录了实验容器内的温度随时间的变化。
实验结果显示,温度在设定值附近波动,并逐渐趋于稳定。
这表明温度需要一定的时间来达到平衡状态。
3. 温度与介质的关系:我们还研究了温度与介质的关系。
通过将实验容器放置在热水槽或冷却器中,我们改变了介质的温度。
实验结果表明,实验容器内的温度随着介质温度的变化而变化。
这说明介质的温度对实验容器内的温度有直接影响。
五、实验结论通过本次实验,我们得出了以下结论:1. 温度受环境因素的影响,不同的环境温度会导致实验容器内的温度变化。
2. 温度需要一定的时间来达到平衡状态。
3. 介质的温度对实验容器内的温度有直接影响。
六、实验改进与展望在本次实验中,我们仅探究了温度与环境因素、时间和介质的关系。
未来的实验可以进一步研究其他因素对温度的影响,如湿度、压力等。
目录一、实验目的---------------------------------2二、预习与参考------------------------------- 2三、实验(设计)的要求与数据------------------- 2四、实验(设计)仪器设备和材料清单-------------- 2五、实验过程---------------------------------2 (一)硬件的连接- --------- ----------------------- 2 (二)软件的设计与测试结果--------------------------3六、实验过程遇到问题与解决--------------------11七、实验心得--------------------------------12八、参考资料-------------------------------12一、实验目的设计制作和调试一个由工业控制机控制的温度测控系统。
通过这个过程学习温度的采样方法,A/D变换方法以及数字滤波的方法。
通过时间过程掌握温度的几种控制方式,了解利用计算机进行自动控制的系统结构。
二、预习与参考C语言、计算机控制技术、自动控制原理三、实验(设计)的要求与数据温度控制指标:60~80℃之间任选;偏差:1℃。
1.每组4~5同学,每个小组根据实验室提供的设备及设计要求,设计并制作出实际电路组成一个完整的计算机温度控制测控系统。
2.根据设备情况以及被控对象,选择1~2种合适的控制算法,编制程序框图和源程序,并进行实际操作和调试通过。
四、实验(设计)仪器设备和材料清单工业控制机、烘箱、温度变送器、直流电源、万用表、温度计等五、实验过程(一).硬件的连接图1 硬件接线图1.按上述接线图接线。
2.为了使温度变动不大,把烘箱的地线与直流电源的地线相连。
3.为了更好的测到烘箱的温度,把温度计的检测点与温度变送器捆绑在一起。
4.用万用表测试电磁继电器两端的电压,室温时应该差不多在1.5v左右,若不是,适当调整变阻器的阻值。
最后,我们把27摄氏度时电磁继电器两端的电压调到1.95V.(二).软件的设计1.控制算法的选择:a.PID控制:PID控制算法可分为两种,位置型控制算法与增量型控制算法。
为了减少程序的冗余量,处理起来比较麻烦,可选用增量型控制算法。
不过,用它的话就要考虑多个变量的选取,T,Td,Ti三个周期的选取比较耗时间。
b.趋近控制:基本思想是把控制分为许多个区间,在各个区间加不同的加热时间或者吹风时间,越接近设定值就分得越细。
鉴于报告要求没有严谨的要求,而且在十分钟之内能达到设置温度即可,所以我们组在选择的时候选择了较为容易实现的b方法,趋近控制。
2.实际温度与数字量的转换通过测算初步确定温度和数字量的对应关系。
a.测算结果如下表:60 65 70 75 80781 817 850 894 920做出其散点图如下:则程序中的温度换算公式为:x = ((float)temp-850) / 7 + 70;y = 440 - x*4;在实验控制过程显示器显示温度控制图像如下:计算机温度测算图b.加温测试:通过加温测算,取得以下列表,温度与变换后的数字量的数据比较如下表。
C.干扰测试:在温度稳定的情况下突然给烘箱降温干扰后的实验温度数据:做出控制过程温度时间趋势曲线如下所示:3.程序思路图4.程序#include<stdio.h>#include<graphics.h>#include<time.h>int h_temp, l_temp;int pot_time=40;int flag, flag1, temp;float wendu, wendu1, qushi;int wending=0;void delay(int z){int x,y;for(x=100; x>0; x--){for(y=z; y>0; y--);}}void s_delay(int z){int x;for(x=z; x>0; x--);}void l_delay(int z){int x,y,m;for(x=500; x>0; x--){for(m=500; m>0; m--){for(y=z; y>0; y--) ;}}}void ad_init(){outportb(0x030A, 0x00);outportb(0x0309, 0x00);}void read_ad(){int i;temp=0;for(i=0; i<5; i++){outportb(0x030C, 0xFF);delay(500);h_temp = inportb(0x0305) - 0x08;l_temp = inportb(0x0304);h_temp<<=8;temp = temp + h_temp + l_temp;temp = temp / 5;}void initgr(void) /* BGI初始化*/{int gd = DETECT, gm = 0; /* 和gd=VGA,gm=VGAHI是同样效果*/ initgraph(&gd, &gm, "d:\\turboc2");}void zuobiao(void){int i,j;char buffer[10];setcolor(RED) ;line(40,50,40,440);line(40,440,650,440);settextjustify(CENTER_TEXT,CENTER_TEXT);j=440;setcolor(WHITE);for(i=0;i<90;i+=5){line(35,j,40,j);itoa(i,buffer,10);outtextxy(10,j,buffer);j=j-20;}setcolor(BLUE);for(i=420;i>70;i-=20){line(40,i,650,i);}for(i=60;i<650;i+=20){line(i,70,i,440);}}{setfillstyle(1,YELLOW);bar(60,160,80,440);}void temp_tiao_init(temp){float x,y;x = ((float)temp-850) / 7 + 70;y = 440 - x*4;if(y < 160)setfillstyle(1,RED);else setfillstyle(1,GREEN);flag=y;wendu=x;}void temp_tiao_init1(temp){float x,y;x = ((float)temp-850) / 7 + 70;y = 440 - x*4;if(y < 160)setfillstyle(1,RED);else setfillstyle(1,GREEN);flag1=y;wendu1=x;}void temp_tiao(){bar(100,flag,120,440);}void up_pwm(x){int i;for(i=5000; i>0; i--){outportb(0x030D,0x01);delay(x);outportb(0x030D,0x00);delay(1000-x);}}void down_pwm(x){int i;for(i=10000; i>0; i--){outportb(0x030D,0x02);delay(x);outportb(0x030D,0x00);delay(1000-x);}}void main(){time_t start,runtime;int color=15;initgr();cleardevice();zuobiao();tiao_set();ad_init();temp_tiao_init(temp);while(1){read_ad();temp_tiao();qushi=wendu1-wendu; /*大于0即上升,否则下降*/wendu=wendu1;temp_tiao_init1(temp);time(&start);gotoxy(2,25);printf("\n\n\n\nStart time is:%s",ctime(&start));if(flag1 != flag){flag=flag1;cleardevice();zuobiao();tiao_set();temp_tiao_init1(temp);temp_tiao();outtextxy(150,50,"current temp is : ");gotoxy(32,4);printf("%2.2f",wendu1);}if(wendu<60)outportb(0x030D,0x01);if(wendu>=60 && wendu<65){if(qushi<0)outportb(0x030D,0x01);if(qushi>=0)outportb(0x030D,0x01);}if(wendu>=65 && wendu<68.5){if(qushi<=0)outportb(0x030D,0x01);if(qushi>0){if(wending==1)up_pwm(950);elseoutportb(0x030D,0x00);}}if(wendu>=68.5 &&wendu<70){if(qushi>=0){outportb(0x030D,0x02);delay(600);outportb(0x030D,0x00);}if(qushi<0)up_pwm(485);}if(wendu==70){wending=1;if(qushi<0)up_pwm(400);if(qushi>0)down_pwm(1000);if(qushi==0)outportb(0x030D,0x00);}if(wendu>70 &&wendu<=71){if(qushi<=0)outportb(0x030D,0x00);if(qushi>0)down_pwm(1000);}if(wendu>71 && wendu<=75){11if(qushi<0)outportb(0x030D,0x00);if(qushi>=0)down_pwm(800);}if(wendu>75 && wendu<=80){if(qushi<0)down_pwm(1000);if(qushi>=0)outportb(0x030D,0x02);}if(wendu>80)outportb(0x030D,0x02);l_delay(1000);}}六、实验过程遇到问题与解决1.硬件方面:2.软件方面:七、实验心得八、参考文献【1】C语言程序设计.【2】朱玉玺、崔如春、邝小磊编.计算机控制技术.电子工业出版社. 【3】孙炳达编.自动控制原理.机械工艺出版社.12。