• 339.00 KB
  • 2022-08-13 发布

学《计算机控制技术》课程设计说明书-计算机温度测控系统

  • 34页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
武汉理工大学《计算机控制技术》课程设计说明书目录摘要11系统方案的选择21.1温度变送器的选择21.2键盘显示部分21.3控制电路部分21.4PID过程控制部分31.4.1过程控制的基本概念31.4.2模拟PID控制系统组成41.4.3数字PID控制器52总体方案的分析52.1系统总模块52.2系统模块关系图63硬件电路设计63.1继电器控制电路63.2显示电路73.3键盘输入电路83.4温度变送器电路83.5单片机AT89C52最小系统83.5.1单片机简介83.5.2单片机最小系统电路简介93.6总电路硬件图114软件程序设计114.1主程序流程图114.2程序结构图13\n武汉理工大学《计算机控制技术》课程设计说明书5相关器件测试、系统调试和参数整定135.1继电器测试135.2PID参数整定145.3系统调试156小结和心得体会16参考文献18附录19附录1参考程序19附录2总硬件电路图32\n武汉理工大学《计算机控制技术》课程设计说明书摘要在实际的生产实验环境下,由于系统内部和外界的热量交换是很难控制的,而且其他干扰因素也是无法去精确计算的,因此温度量的变化往往受到不可精确预计的外界环境扰动的影响。但是正常工业生产过程中,对生产中的温度要求又是相对精确和苛刻的,工业生产中经常要保持反应炉中保持一定的温度,来促进反应的持续快速进行,同时,以前的温度控制大多是人工通过仪表的显示来调节温度的模式,然而人工控制温度的精确度不高,而且反应不灵敏,存在较大误差,因此需要更好的测温控温方法。随着电子技术和计算机的迅速发展,计算机测量控制技术拥有操作简单、控制灵活、使用便捷以及性价比较高的优点从而得到了广泛应用。单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可以实现对数字信息的处理和控制,因此,单片机广泛应用于现代工业控制中。此控制具有重量轻、体积小、价格低、可靠性高、耗电低和操作灵活等优点,因此利用单片机进行温度测量控制会大大提高其可靠性和准确性。单片机对温度的测量控制是基于传感器、A/D转换器以及扩展接口和执行机构来进行的。在闭环过程控制系统中,过程的实时参数由传感器和A/D转换器来进行实时采集,并由单片机自动记录、处理并控制执行机构来进行调节和控制。因此需要对单片机进行扩展和开发,来形成一个完整的单片机温度控制系统。关键词:单片机温度测控系统自动控制温度变送器32\n武汉理工大学《计算机控制技术》课程设计说明书计算机温度测控系统1系统方案的选择1.1温度变送器的选择目前市场上温度传感器较多,主要有以下几种方案:方案一:选用铂电阻温度传感器。此类温度传感器线性度、稳定性等方面性能都很好,但其成本较高。方案二:采用热敏电阻。选用此类元器件有价格便宜的优点,但由于热敏电阻的非线性特性会影响系统的精度。方案三:采用DS18B20温度传感器。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展的16位数字量方式串行输出远端引入。此器件具有体积小、质量轻、线形度好、性能稳定等优点其各方面特性都满足此系统的设计要求。比较以上三种方案,方案三具有明显的优点,因此选用方案三。1.2键盘显示部分控制与显示电路是反映电路性能、外观的最直观部分,所以此部分电路设计的好坏直接影响到电路的好坏。方案一:采用可编程控制器8279与数码管及地址译码器74LS138组成,可编程/显示器件8279实现对按键的扫描、消除抖动、提供LED的显示信号,并对LED显示控制。用8279和键盘组成的人机控制平台,能够方便的进行控制单片机的输出。方案二:采用单片机AT89C52与4X4矩阵组成控制和扫描系统,并用89C52的P1口对键盘进行扫描,并用总线的方式在P0口接1602液晶来显示水温和设定值,这种方案既能很好的控制键盘及显示,又为主单片机大大的减少了程序的复杂性,而且具有体积小,价格便宜的特点。对比两种方案可知,方案一虽然也能很好的实现电路的要求,但考虑到电路设计的成本和电路整体的性能,我们采用方案二。1.3控制电路部分32\n武汉理工大学《计算机控制技术》课程设计说明书方案一:采用8031芯片,其内部没有程序存储器,需要进行外部扩展,这给电路增加了复杂度。方案二:采用2051芯片,其内部有2KB单元的程序存储器,不需外部扩展程序存储器。但由于系统用到较多的I/O口,因此此芯片资源不够用。方案三:采用AT89C52单片机,其内部有4KB单元的程序存储器,不需外部扩展程序存储器,而且它的I/O口也足够本次设计的要求。比较这三种方案,综合考虑单片机的各部分资源,因此此次设计选用方案三。1.3PID过程控制部分1.4.1过程控制的基本概念过程控制:对生产过程的某一或某些物理参数进行的自动控制。(1)模拟控制系统模拟调节器给定值偏差操作变量被控变量控制规律执行器过程温度变送器图1基本模拟反馈控制回路被控量的值由传感器或变送器来检测,这个值与给定值进行比较,得到偏差,模拟调节器依一定控制规律使操作变量变化,以使偏差趋近于零,其输出通过执行器作用于过程。控制规律用对应的模拟硬件来实现,控制规律的修改需要更换模拟硬件。(2)微机过程控制系统以微型计算机作为控制器。控制规律的实现,是通过软件来完成的。改变控制规律,只要改变相应的程序即可。32\n武汉理工大学《计算机控制技术》课程设计说明书微型计算机给定值偏差被控变量控制器D/A执行器过程A/D温度变送器图2微机过程控制系统基本框图(3)数字控制系统DDCDDC(DirectDigitalCongtrol)系统是计算机用于过程控制的最典型的一种系统。微型计算机通过过程输入通道对一个或多个物理量进行检测,并根据确定的控制规律(算法)进行计算,通过输出通道直接去控制执行机构,使各被控量达到预定的要求。由于计算机的决策直接作用于过程,故称为直接数字控制。DDC系统也是计算机在工业应用中最普遍的一种形式。工业对象执行器检测元件输入通道输入通道接口接口显示给定值微型计算机图3DDC系统构成框图1.4.2模拟PID控制系统组成PID调节器是一种线性调节器,它将给定值r(t)与实际输出值c(t)的偏差的比例(P)、积分(I)、微分(D)通过线性组合构成控制量,对控制对象进行控制。(1)PID调节器的微分方程式中32\n武汉理工大学《计算机控制技术》课程设计说明书(1)PID调节器的传输函数PID调节器各校正环节的作用:(1)比例环节:即时成比例地反应控制系统的偏差信号e(t),偏差一旦产生,调节器立即产生控制作用以减小偏差。(2)积分环节:主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数TI,TI越大,积分作用越弱,反之则越强。(3)微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号的值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。1.4.3数字PID控制器(1)模拟PID控制规律的离散化模拟形式离散化形式(2)数字PID控制器的差分方程式中称为比例项称为积分项称为微分项1总体方案的分析2.1系统总模块32\n武汉理工大学《计算机控制技术》课程设计说明书系统模块分为:AT89C52DS18B20模块,1602液晶显示模块,继电器模块,键盘输入模块,DS18B20可以被编程,所以箭头是双向的,CPU(89C52)首先写入命令给DS18B20,然后DS18B20开始转换数据,转换后通89C52来处理数据。数据处理后的结果就显示到1602液晶上。2.2系统模块关系图继电器(是否加热)模块键盘扫描(有无回车键按下)模块1602模块显示温度值初始化模块单片机将温度值送至1602显示温度变送器测温度,单片机读值图4系统木块关系图1硬件电路设计3.1继电器控制电路此部份用于在闭环控制系统中对被控对象实施控制,此处被控对象为烘箱内的加热丝,采用对加在加热丝两端的电压进行通断的方法进行控制,以实现对温度的调整。对加热丝通断的控制采用SSR固态继电器,SSR是半导体继电器,所以较小的驱动功率即可使SSR工作。它的使用非常简单,只要在控制台端加上一TTL、CMOS电平或一晶体管,即可实现对继电器的开关。图5为通过三极管PNP来控制继电器的开关的,继电器采用的是带光电隔离的过零型双向可控硅AC-SSR常开式(常闭式)固态继电器,为使其实现过零控制,就是要实现工频电压的过零检测,并给出脉冲信号,由单片机控制双向可控硅过零脉冲数目。当在其输入端加入(撤离)控制信号时,输出端接通(断开),从而控制加热丝与电源的通断,来达到加热或冷却加热丝的目的,最终实现烘箱中温度稳定在设定值上。32\n武汉理工大学《计算机控制技术》课程设计说明书图5继电器控制电路3.2显示电路图6显示电路部分用AT89C52的P1口作为数据线,用P2.2、P2.1、P2.0分别作为LCD的E、R/W、RS。其中E是下降沿触发的片选信号,连接P2.2,R/W是读写信号,连接P2.1,RS是寄存器选择信号,连接P2.0。VEE用连接一阻值为10K的电阻,主要用于调节对比度的调整。接正电源时对比度最落,接地电源时,对比度最高。对比度过高时,会产生“鬼影”。因此连接一10K的电阻用以调整。当P0口作为I/O用时需要上拉电阻。32\n武汉理工大学《计算机控制技术》课程设计说明书3.3键盘输入电路键盘输入电路采用4个按键开关接单片机P2口。S1:接在P2.4,用于增大温度个位和十位上的数值。S2:接在P2.5,用于减小温度个位和十位上的数值。S3:接在P2.6,用于改变要设置温度的个位还是十位。S4:接在P2.7,用于对已设置好的温度输入到单片机中。图7键盘输入电路3.4温度变送器电路温度变送器电路使用DS18B20对温度进行采样和传送。图8温度变送器电路3.5单片机AT89C52最小系统3.5.1单片机简介32\n武汉理工大学《计算机控制技术》课程设计说明书单片机是一种集成在电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统。单片机自动完成赋予它的任务的过程,也就是单片机执行程序的过程,即一条条执行的指令的过程,所谓指令就是把要求单片机执行的各种操作用的命令的形式写下来,这是在设计人员赋予它的指令系统所决定的,一条指令对应着一种基本操作;单片机所能执行的全部指令,就是该单片机的指令系统,不同种类的单片机,其指令系统亦不同。为使单片机能自动完成某一特定任务,必须把要解决的问题编成一系列指令(这些指令必须是选定单片机能识别和执行的指令),这一系列指令的集合就成为程序,程序需要预先存放在具有存储功能的部件——存储器中。存储器由许多存储单元(最小的存储单位)组成,就像大楼房有许多房间组成一样,指令就存放在这些单元里,单元里的指令取出并执行就像大楼房的每个房间的被分配到了唯一一个房间号一样,每一个存储单元也必须被分配到唯一的地址号,该地址号称为存储单元的地址,这样只要知道了存储单元的地址,就可以找到这个存储单元,其中存储的指令就可以被取出,然后再被执行。程序通常是顺序执行的,所以程序中的指令也是一条条顺序存放的,单片机在执行程序时要能把这些指令一条条取出并加以执行,必须有一个部件能追踪指令所在的地址,这一部件就是程序计数器PC(包含在CPU中),在开始执行程序时,给PC赋以程序中第一条指令所在的地址,然后取得每一条要执行的命令,PC在中的内容就会自动增加,增加量由本条指令长度决定,可能是1、2或3,以指向下一条指令的起始地址,保证指令顺序执行。概括的讲:一块芯片就成了一台计算机。它的体积小、质量轻、价格便宜、为学习、应用和开发提供了便利条件。同时,学习使用单片机是了解计算机原理与结构的最佳选择。单片机的主要功能是负责整个系统的控制,不承担复杂的数据处理任务,因此在设计单片机最小系统时通常选用AT89C5l、AT89C52、AT89S51、AT89S52(S系列芯片支持ISP功能)等型号的8位单片机作为MCU。一个典型的单片机最小系统一般由时钟电路、复位电路、片外RAM、片外ROM、按键、数码管、液晶显示器、外部扩展接口等部分组成。3.5.2单片机最小系统电路简介(1)时钟源电路32\n武汉理工大学《计算机控制技术》课程设计说明书单片机内部具有一个高增益反相放大器,用于构成振荡器。通常在引脚XTALl和XTAL2跨接石英晶体和两个补偿电容构成自激振荡器。可以根据情况选择6MHz、12MHz或24MHz等频率的石英晶体,补偿电容通常选择30pF左右的瓷片电容。(2)复位电路单片机小系统采用上电自动复位和手动按键复位两种方式实现系统的复位操作。上电复位要求接通电源后,自动实现复位操作。手动复位要求在电源接通的条件下,在单片机运行期间,用按钮开关操作使单片机复位。其结构如图2中R24、R26、C18和K17。上电自动复位通过电容C18充电来实现。手动按键复位是通过按键将电阻R26与VCC接通来实现。(3)地址译码电路最小系统上的全部硬件除EEPROM以外均是采用总线方式进行扩展的,每一个硬件均占用特定的物理地址。图9本设计所用的单片机最小系统32\n武汉理工大学《计算机控制技术》课程设计说明书3.6总电路硬件图本次设计的总电路硬件图,是由单片机AT89C52最小系统电路、液晶显示电路、按键输入电路、继电器控制电路和DS18B20温度变送器电路组成。图10总电路硬件图4软件程序设计4.1主程序流程图程序流程图是程序分析中最基本、最重要的分析技术,它是进行流程程序分析过程中最基本的工具。流程程序图是方法研究改进工作方法的有用工具。不论作业研究过程中运用何种技术,流程程序图总是必经的一步,它是应用最普遍的一种工具。从以下主程序图中可以看出,在进行一系列程序调用之前对系统进行初始化,然后再对键盘程序有所反应。进而判断是否有温度采集到,有就进行A/D转换和PID计算,将其结果用来控制继电器。32\n武汉理工大学《计算机控制技术》课程设计说明书开始系统初始化键盘扫描取键值N键值处理是否有有采样数据处理YAD转换处理PID计算继电器控制结束图11主程序流程图主控程序模块在整个结构中充当管理者,管理所有子程序的调用,就相当于个人计算机的操作系统。它主要负责初始化各个I/O口,等待键盘事件的发生,并作出相应的处理。并在适当的时候调用数据采样程序,并将采样到的数据与键盘设定值比较。再通过PID计算后用以控制继电器的开断,从而控制加热丝的输出功率,来达到烘箱内温度的调整。32\n武汉理工大学《计算机控制技术》课程设计说明书4.2程序结构图任何一个系统的软件设计都离不开硬件电路的连接,所以本课题硬件设计的高度模块化决定了软件设计的模块化。程序结构应包括:主控程序模块、键盘扫描及处理子程序、采样数据处理子程序、PID算法子程序及显示等子程序几个部分。主程序模块AD采样及上传液晶显示键值处理键盘扫描PID计算继电器控制图12主程序结构图5相关器件测试、系统调试和参数整定5.1继电器测试(1)测触点电阻用万能表的电阻档,测量常闭触点与动点电阻,其阻值应为0;而常开触点与动点的阻值就为无穷大。由此可以区别出那个是常闭触点,那个是常开触点。(2)测线圈电阻可用万能表R×10Ω档测量继电器线圈的阻值,从而判断该线圈是否存在着开路现象。(3)测量吸合电压和吸合电流找来可调稳压电源和电流表,给继电器输入一组电压,且在供电回路中串入电流表进行监测。慢慢调高电源电压,听到继电器吸合声时,记下该吸合电压和吸合电流。32\n武汉理工大学《计算机控制技术》课程设计说明书(4)测量释放电压和释放电流当继电器发生吸合后,再逐渐降低供电电压,当听到继电器再次发生释放声音时,记下此时的电压和电流,亦可尝试多几次而取得平均的释放电压和释放电流。一般情况下,继电器的释放电压约在吸合电压的10~50%,如果释放电压太小(小于1/10的吸合电压),则不能正常使用了,这样会对电路的稳定性造成威胁,工作不可靠。5.2PID参数整定控制系统的控制质量与被控制对象的特性、干扰信号的形式和幅值、控制方案及控制器的参数等因素有着密切的关系。对象的特性和干扰情况是受工艺操作和设备的特性限制的,不可能随意改变,这样,一旦控制方案确定了,对象各个通道的特性就成定局,这时控制系统的控制质量就只取决于控制器的参数。因此,参数的整定是过程控制系统设计的核心内容。所谓控制器的参数整定,就是通过一定的方法和步骤,确定系统处于最佳过渡过程时控制器的比例度、积分时间和微分时间的具体数值。所谓最佳过渡过程,就是在某质量指标下,系统达到最佳调整状态,此时的控制器参数就是所谓的最佳整定参数。在简单过程控制系统中,调节器参数整定通常以系统瞬态响应的衰减率=0.75~0.9(对应衰减比为4:1~10:1)为主要指标,以保证系统具有一定的稳定裕量(对于大多数过程控制系统来说,系统过渡过程的瞬态响应曲线达到4:1的衰减比状态时,则为最佳的过程曲线)。此外,在满足主要指标的条件下,还应尽量满足系统的稳态误差(又称静差、余差)、最大动态偏差(超调)和过渡过程时间等其它指标。由于不同的过程控制系统对控制品质的要求有不同的侧重点,也有用系统响应的平方误差积分(ISE)、绝对误差积分(IAE)、时间乘以绝对误差的积分(ITAE)分别取极小作为指标来整定调节器参数的。调节器参数整定的方法很多,概括起来可以分为两大类:一是理论计算整定法。它主要是依据系统的数学模型,采用控制理论中的根轨迹法,频率特性法等,经过理论计算确定调节器参数的数值。二是工程整定方法,它主要依靠工程经验,直接在过程控制系统的实验中进行,且方法简单、易于掌握。由于本系统有别于工业实际系统因此对于参数整定来说,使用工程参数整定法效果不是很好,该系统参数整定采用经验凑试法。32\n武汉理工大学《计算机控制技术》课程设计说明书经验凑试法是通过模拟或闭环运行观察系统的响应曲线,然后根据各调节参数对系统响应的大致辞影响,反复凑试参数,以达到满意的响应,从而确定PID调节参数。增大比例系数,一般将加快系统的响应,在有静差的情况下有利于减小静差。但过大的比例系数会使系统有较大的超调,并产生振荡,使稳定性变坏。增大积分时间,有利于减小超调,减小振荡,使系统更加稳定,但系统静差的消除将随之减慢。增大微分时间,亦有利于加快系统响应,使用权超调减小,稳定性增加,但系统对扰动的抑制能力减弱,对扰动有较敏感的响应。在凑试时,可参考以上参数对控制过程的影响趋势,对参数实行下述比例、后积分、再微分的整定步骤:(1)整定比例部分将比例系数由小变大,并观察相应的系统响应,直至得到反应快、超调小的响应曲线。如果系统没有静差或静差已小到允许范围内,并且响应曲线已属满意,那么只需用比例调节器即可,比例系数可由此确定。(2)加入积分环节如果在比例调节的基础上系统的静差不能满足设计要求,则须加入积分环节。整定时首先置积分时间为一较大值,并将经第一步整定得到的比例系数略微缩小(如缩小为原来的0.8倍),然后减小积分时间,使在保持系统良好动态性能的情况下,静差得到消除。在此过程中,可根据响应曲线的好坏反复改变比例系数与保持时间,以期得到满意的控制过程与整定参数。(3)加入微分环节若使用比例积分调节器消除了静差,但动态过程经反复调整仍不能满意,则可加入微分环节,构成比例积分微分调节器。在整定时,可先置微分时间为零。在第二步整定的基础上,增大,同时相应地改变比例系数和积分时间,逐步凑试,以获得满意的调节效果和控制参数。5.3系统调试(1)分别使烘箱稳定在60℃、65℃、70℃、75℃、80℃观察系统测量温度值与实际温度值,校准系统使测量误差在1℃以内。32\n武汉理工大学《计算机控制技术》课程设计说明书(2)动态测试:设定温度为70℃,系统由低温开始进入升温状态。开始记录数据,观察超调量、调节时间和稳态误差;系统进入稳态后,用电风扇吹凉,观察系统的抗扰能力。设定温度为80℃系统由低温开始进入升温状态。开始记录数据,观察超调量、调节时间和稳态误差;系统进入稳态后,用电风扇吹凉,观察系统的抗扰动能力。(3)采用了PID控制,当设定温度突变(由60℃提高到80℃)时,经过多次调试,测出P,I,D分别为多少时系统具有最小的调节时间和超调量。6小结和心得体会温度控制系统设计的要求为,首先系统要有良好的控制效果;其次系统的构成要简单实用;实时监控系统状态参数。因此我选取了AT89C52单片机来设计,使用AT89C52单片机的优势在于其完善的内部结构、优良的性能和强大的中断处理能力,决定了该控制系统的特点:电路结构简单、程序简短、系统可靠性高等。本次设计还充分利用了AT89C52单片机成熟的语音处理技术,且系统控制部分程序设计在KeiluVision4和Proteus7.7开发环境中编辑、编译、链接、调试以及仿真的。使用软件编程既减少了系统设计的工作量,又提高了系统开发的速度,使用软件还可以提高所设计系统的稳定性,避免了因个人设计经验不足而产生过多的系统缺陷。在这次课程设计中获得了难得的理论联系实践的机会,在系统设计及开发过程中,对理论知识进一步的加深了理解,使得我对过程控制规律有了更深层次了概念,系统设计中多次方案论证和修改,使得自己逐步建立了工程设计的思想,对今后进入工作岗位奠定了一定的理论基础,进而认识到了自己知识的缺陷,以及对系统设计的概念性的错误等等。通过对本设计的思考,更加加深了我们对单片机的认识,熟练了对单片机的控制,更对当前的温度传感器有了更深刻的认识与了解,但是由于此系统依赖温度传感器,因而对温度传感器的稳定性,线性等诸多方面有着严格的要求,但是传感器的性能越好,相对而言其价格也就越高。通过这次的课程设计我学会了很多东西,让我更对课堂上学到的单片机知识进行了巩固和加深。特别是对AT89C52的C语言指令有了更深刻的认识。我了解到理论联系实际是多么重要,同时又是多么的困难,还有平时学习一定要认真踏实,把理论知识要弄懂要理解消化为自己的知识,同时要学会在理论学习时善于思考,多得一些自己的想法和思路,并且多读一些课外书,开阔视野增长一些课外知识。32\n武汉理工大学《计算机控制技术》课程设计说明书感谢这次课设过程中给予我帮助同学和老师,并且感谢学校给予我们这次机会提高自己的实践能力。这次的课设终于结束了,我感到什么事都不应该轻易放弃,只要努力就会有结果。再次深深的感谢老师对于我的帮助与指导,使我学到这么多东西,也再次感谢给予我帮助的同学们!32\n武汉理工大学《计算机控制技术》课程设计说明书参考文献[1]马德骏、张建宏、汤练兵.《计算机程序设计基础—C语言程序设计》.北京:科学出版社,2006[2]胡寿松.《自动控制原理》.北京:科学出版社,2007[3]于海生.《微型计算机控制技术》.北京:清华大学出版社,1999[4]戴焯.《传感与检测技术》.武汉:武汉理工大学出版社,2003.8[5]陈宇.《单片机原理及其应用》.北京:机械工业出版社,2006.7[6]何立民.《单片机高级教程应用设计》.北京,北京航空航天大学出版社,2000[7]朱定华.《单片机原理与接口技术》.电子工业出版社,2006[8]刘瑞新.《单片机原理及应用教程》.北京:机械工业出版社,2003[9]马建伟,李银伢.《PID控制设计理论与方法》.北京:科学出版社,2008[10]PrestigeLecturedeliveredtoIEE,Cambridge,on5February2004[11]RichardCarley,JamesA.Bain,GaryK.Fedder.Single-chipcomputer-swithmicroelectromechanicalsystems-basedmagneticmemory.Physics.2000,5:87[12]ST.LlashFlex51MCUPDF.SSTComponentsIndustries,2008:1~10,78~79[13]Kaminsky,W.J.Davidson,E.S.SpecialFeature:DevelopingaMultiple-In-structon-StreamSingle-ChipProcessor.Computer.1979,12(12):66~7632\n武汉理工大学《计算机控制技术》课程设计说明书附录附录1参考程序(1)主程序#include#include#include#include#include#include#include"1602_ds18.h"//按键sbitadd=P2^4;sbitsub=P2^5;sbitset=P2^6;sbitenter=P2^7;sbitstart=P3^0;sbitstop=P3^1;//函数声明externvoiddelay(unsignedinti);voidshow_set();//显示设置温度voidlcd_set();//显示输入温度unsignedcharcodestr1[]={"AAture:"};unsignedcharcodestr2[]={""};inttemp,set_temp=60;//初始设置温度60intst_s,st_g;intcount=0;unsignedcharsetbuffer[3]={0,0,0};//设定温度显示缓冲区ucharKey_Value_Table[]="1234567890ABCDEF";//键盘字符32\n武汉理工大学《计算机控制技术》课程设计说明书externuinttvalue;//温度值/********************主程序***********************************/voiddelay2(unsignedintn){unsignedinti;for(i=0;i8)st_s=6;wr_dat(st_s+'0');}}if(sub==0){delay2(300);if(sub==1){st_s--;if(st_s<6)st_s=8;wr_dat(st_s+'0');}}if(set==0){if(set==0){s_flag=1;break;}}//按set键,转下一位设置if(enter==0){delay2(300);32\n武汉理工大学《计算机控制技术》课程设计说明书if(enter==1){wr_com(0x0c);set_temp=st_s*10+st_g;s_flag=1;break;}}}while(1)//设置温度低位{wr_com(0x8c);if(add==0){delay2(300);if(add==1){st_g++;if(st_g>9)st_g=0;wr_dat(st_g+'0');}}if(sub==0){delay2(300);if(sub==1){st_g--;if(st_g<0)st_g=9;wr_dat(st_g+'0');}}if(set==0){if(set==1){g_flag=1;break;}}//按set键,转下一位设置if(enter==0){delay2(300);if(enter==1)32\n武汉理工大学《计算机控制技术》课程设计说明书{wr_com(0x0c);set_temp=st_s*10+st_g;g_flag=1;break;}}}}if(s_flag==1&&g_flag==1){s_flag=0;g_flag=0;for(i=0;i<40;i++){read_temp();ds1820disp();}if(tvalue/10==set_temp){start=1;stop=1;}elsestart=0;}}}}//显示设置温度,入口参数=set_temp;出口参数=温度的显示码b[i]voidshow_set(){unsignedchari;setbuffer[0]=set_temp/10+'0';setbuffer[1]=set_temp%10+'0';setbuffer[2]=0+'0';wr_com(0x8b);for(i=0;i<2;i++){32\n武汉理工大学《计算机控制技术》课程设计说明书wr_dat(setbuffer[i]);}wr_com(0x8d);wr_dat(0x2e);//显示小数点wr_com(0x8e);wr_dat(setbuffer[2]);//显示小数位}(2)延时程序#ifndef__delay_H__#define__delay_H__voiddelay(unsignedinti){while(i--);}voiddelay1(unsignedintn){unsignedinti;for(i=0;i0;i--)32\n武汉理工大学《计算机控制技术》课程设计说明书{DQ=0;//给脉冲信号dat>>=1;DQ=1;//给脉冲信号if(DQ)dat|=0x80;delay_18B20(10);}return(dat);}voidds1820wr(ucharwdata)/*写数据*/{unsignedchari=0;for(i=8;i>0;i--){DQ=0;DQ=wdata&0x01;delay_18B20(10);DQ=1;wdata>>=1;}}read_temp()/*读取温度值并转换*/{uchara,b;ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0x44);//*启动温度转换*/32\n武汉理工大学《计算机控制技术》课程设计说明书ds1820rst();ds1820wr(0xcc);//*跳过读序列号*/ds1820wr(0xbe);//*读取温度*/a=ds1820rd();b=ds1820rd();tvalue=b;tvalue<<=8;tvalue=tvalue|a;if(tvalue<0x0fff)tflag=0;else{tvalue=~tvalue+1;tflag=1;}now_temp=(uint)(tvalue);tvalue=tvalue*(0.625);//温度值扩大10倍,精确到1位小数return(tvalue);}/*******************************************************************/voidds1820disp()//温度值显示{ucharflagdat;disdata[0]=tvalue/1000+0x30;//百位数disdata[1]=tvalue%1000/100+0x30;//十位数disdata[2]=tvalue%100/10+0x30;//个位数disdata[3]=tvalue%10+0x30;//小数位if(tflag==0)32\n武汉理工大学《计算机控制技术》课程设计说明书flagdat=0x20;//正温度不显示符号elseflagdat=0x2d;//负温度显示负号:-if(disdata[0]==0x30){disdata[0]=0x20;//如果百位为0,不显示if(disdata[1]==0x30){disdata[1]=0x20;}//如果百位为0,十位为0也不显示}wr_com(0xc9);wr_dat(flagdat);//显示符号位wr_com(0xca);wr_dat(disdata[0]);//显示百位wr_com(0xcb);wr_dat(disdata[1]);//显示十位wr_com(0xcc);wr_dat(disdata[2]);//显示个位wr_com(0xcd);wr_dat(0x2e);//显示小数点wr_com(0xce);wr_dat(disdata[3]);//显示小数位}#endif32\n武汉理工大学《计算机控制技术》课程设计说明书附录2总硬件电路图图12总硬件电路图32

相关文档