基于单片机的智能水温控制系统结构设计.doc_第1页
基于单片机的智能水温控制系统结构设计.doc_第2页
基于单片机的智能水温控制系统结构设计.doc_第3页
基于单片机的智能水温控制系统结构设计.doc_第4页
基于单片机的智能水温控制系统结构设计.doc_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于单片机的智能水温控制系统结构设计第一章 国内外现况分析自70年代以来,由于工业过程控制的需要,特别是在电子技术的迅猛发展,以及自动控制理论和设计方法发展的推动下,国外温度控制系统发展迅速,并在智能化自适应参数自整定等方面取得成果。在这方面以日本、美国、德国、瑞典等国技术领先,并且都生产出了一批商品化的性能优异的温度控制器及仪器仪表,在各行业广泛应用。 目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展。 温度控制系统在国内各行各业的应用虽然已经十分广泛,但从国内生产的温度控制器来讲,总体发展水平仍然不高,同国外的日本、美国、德国等先进国家相比,仍然有着较大的差距。目前,我国在这方面总体技术水平处于20世纪80年代中后期水平。成熟产品主要以“点位”控制及常规的PID控制器为主,它只能适应一般温度系统控制,难于控制滞后复杂时变温度系统控制,而且适应于较高控制场合的智能化、自适应控制仪表国内技术还不十分成熟,形成商品化并广泛应用的控制仪表较少。现在,我国在温度等控制仪表业与国外还有着一定的差距。温度、压力,流量和液位是四种最常见的过程变量,其中温度是一个非常重要的过程变量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形,结晶以及空气流动等物理和化学过程。温度控制在工业领域应用非常广泛,由于其具有工况复杂、参数多变、运行惯性大、控制滞后等特点,它对控制调节器要求较高。温度控制不好就可能引起生产安全,产品质量和产量等一系列问题。尽管温度控制很重要,但是要控制好温度常常会遇到意想不到的困难。随着嵌入式系统开发技术的快速发展及其在各个领域的广泛应用,人们对电子产品的小型化和智能化要求越来越高,作为高新技术之一的单片机以其体积小、价格低、可靠性高、适用范围大以及本身的指令系统等诸多优势,在各个领域、各个行业都得到了广泛应用。本文主要介绍单片机温度控制系统的软件设计过程,其中涉及系统结构设计、元器件的选取和控制算法的选择、程序的调试和系统参数的整定。在系统构建时选取了ATMEL公司提供的STC89C52芯片作为该控制系统的核心。温度信号由DS18B20提供。使用SSR固态继电器作执行部件。同时,具有温度数字语音播报和显示功能。系统控制对象为1升净水,容器为搪瓷器皿。水温可以在一定范围内由人工设定,并能在环境温度降低时实现自动控制,以保持设定的温度基本不变,具有较好的快速性与较小的超调。该系统为一实验系统,要求系统有控制能力,实现对主要可变参数的实时监控。第二章 总体方案根据功能和指标要求,本系统可以从元件级开始设计,选用STC89C52单片机为主控机。通过扩展必要的外围接口电路,实现对烘箱温度的测量和控制。该系统以STC89C52单片机为核心,由温度传感器DS18B20,显示模块LCD1602,按键检测模块,报警指示模块,控制模块,电源模块等共同组成。在系统中,温度值及误差显示、控制参数得设置、运行及复位等功能由键盘及显示电路完成。电源模块控制模块显示模块LCD1602单片机控制核心键盘检测模块温度传感器报警及指示模块图2-1 单片机温度控制系统方案原理示意图用DS18B20采集温度,经过微控制器处理后在LCD1602上面显示出来,通过键盘检测模块可以自由设置上限温度和下限温度,并且以报警指示模块和控制模块做出反应。第三章 元器件简介及电路设计31 STC89C52单片机1)STC89C52简介 STC89C52单片机是现在最常用的单片机之一。它采用静态CMOS工艺制造,最高工作频率为24MHz,其PDIP/DIP封装如图所示。除了PDIP封装之外,还有PQFP/TQFP和PLCC/LCC等2种不同的封装,用户可以根据不同的场合进行选择。STC89C52是一种带4K字节闪烁,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的STC89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。 图3.1 89C51引脚图单片机的主要特性有4K字节可编程闪烁存储器、128*8位内部RAM、32可编程I/O线、两个16位定时器/计数器、5个中断源、可编程串行通道、低功耗的闲置和掉电模式、片内振荡器和时钟电路引脚说明VCC:供电电压。 GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为STC89C52的一些特殊功能,如下:P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 (外部中断0)P3.3 (外部中断1)P3.4 T0(记时器0外部输入)P3.5 T1(记时器1外部输入)P3.6 (外部数据存储器写选通)P3.7 (外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。:当保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,将内部锁定为RESET;当端保持高电平时,此间内部程序存储器。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。2)单片机最小系统根据原理我们制作了如下电路,3.2 LCD1602显示电路1.简介 工业字符型液晶,能够同时显示16x02即32个字符。(16列2行) 注:为了表示的方便 ,后文皆以1表示高电平,0表示第电平。2.管脚功能1602采用标准的16脚接口,其中: 第1脚:VSS为电源地 第2脚:VDD接5V电源正极 第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。 第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。 第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。 第6脚:E(或EN)端为使能(enable)端。 第714脚:D0D7为8位双向数据端。 第1516脚:空脚或背灯电源。15脚背光正极,16脚背光负极。3.操作控制 操作控制表 操作 读状态 写指令 读数据 写数据 输入 RS=0,RW=1,E=1 RS=0,RW=0, D07=指令码,E=H脉冲 RS=1,RW=1,E=1 RS=1,RW=0, D07=数据,E=H脉冲 注:关于E=H脉冲开始时初始化E为0,然后置E为1,再4.字符集 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。 因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如A。 以下是1602的16进制ASCII码表地址: 读的时候,先读左边那列,再读上面那行,如:感叹号!的ASCII为0x21,字母B的ASCII为0x42(前面加0x表示十六进制)。编辑本段指令集 1602通过D0D7的8位数据端传输数据和指令。 显示模式设置: (初始化) 0011 0000 0x38 设置162显示,57点阵,8位数据接口; 显示开关及光标设置: (初始化) 0000 1DCB D显示(1有效)、C光标显示(1有效)、B光标闪烁(1有效) 0000 01NS N=1(读或写一个字符后地址指针加1 &光标加1), N=0(读或写一个字符后地址指针减1 &光标减1), S=1 且 N=1 (当写一个字符后,整屏显示左移) s=0 当写一个字符后,整屏显示不移动 数据指针设置: 数据首地址为80H,所以数据地址为80H+地址码(0-27H,40-67H) 其他设置: 01H(显示清屏,数据指针=0,所有显示=0);02H(显示回车,数据指针=0)。其时序图操作如下我们根据其性质设计如下电路图33 DS18B20温度传感器1)简介我们直接选用了数字温度传感器DS18B20来测试温度,Dallas 半导体公司的单线数字温度传感器DS18B20是世界上第一片支持 “一线总线”接口的温度传感器。具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。1 技术性能描述 1.1 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 1.2 测温范围 55+125,固有测温分辨率0.5。 1.3 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温 1.4 工作电源: 35V/DC 1.5 在使用中不需要任何外围元件 1.6 测量结果以912位数字量方式串行传送 1.7 不锈钢保护管直径 6 1.8 适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温 1.9 标准安装螺纹 M10X1, M12X1.5, G1/2”任选 1.10 PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。 2 应用范围 2.1 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域 2.2 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。 2.3 汽车空调、冰箱、冷柜、以及中低温干燥箱等。 2.5 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制。3 接线说明 特点 独特的一线接口,只需要一条口线通信 多点能力,简化了分布式温度传感应用 无需外部元件 可用数据总线供电,电压范围为3.0 V至5.5 V 无需备用电源 测量温度范围为-55 C至+125 。华氏相当于是-67 F到257华氏度 -10 C至+85 C范围内精度为0.5 C 温度传感器可编程的分辨率为912位 温度转换为12位数字格式最大值为750毫秒 用户可定义的非易失性温度报警设置 应用范围包括恒温控制,工业系统,消费电子产品温度计,或任何热敏感系统 描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20 通过1线接口,所以中央处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。 因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。其结构如下 2)外围电路设计 DS18B20外围只有一条数据线,电路设计简单,根据其以上特性,只需要跟单片机控制器一个IO口连接即可,主要需要在上面加一个10千欧的上拉电阻,为此,我们设计以下电路:3.4 按键控制电路 根据需要,数据需要进行需要相关的设置和控制,设置了这款电路,因为该电路比较简单,运用了独立键盘,来扫描每个IO口的状态,进行判断,同时我们在软件进行了消抖处理。3.5 继电器控制系统 继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电气量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。 继电器的输入信号x从零连续增加达到衔铁开始吸合时的动作值xx,继电器的输出信号立刻从y=0跳跃到y=ym,即常开触点从断导通。一旦触点闭合,输入量x继续增大,输出信号y将不再起变化。当输入量x从某一大于xx值下降到xf,继电器开始释放,常开触点断开。我们把继电器的这种特性叫做继电特性,也叫继电器的输入-输出特性。 释放值xf与动作值xx的比值叫做反馈系数,即 Kf= xf /xx 触点上输出的控制功率Pc与线圈吸收的最小功率P0之比叫做继电器的控制系数,即Kc=PC/P0电磁式继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点释放。这样吸合、释放,从而达到了在电路中的导通、切断的目的。对于继电器的“常开、常闭”触点,可以这样来区分:继电器线圈未通电时处于断开状态的静触点,称为“常开触点”;处于接通状态的静触点称为“常闭触点”。根据原理我们设计其电路结构如下3.6 蜂鸣器报警及LED指示系统为了更加直观,我们在上面加了蜂鸣器报警和LED灯来指示电路的工作,具体如下: 3.7 电源模块电路 在系统中需要5V的单片机供电,和3.3V的无线模块供电我们之间用了稳压模块LM7805和ASM1117分别用来提供相应的电压5V和3.3V电压。用lm78/lm79系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的lm78或lm79后面的数字代表该三端集成稳压电路的输出电压,如lm7806表示输出电压为正6V,lm7909表示输出电压为负9V。 因为三端固定集成稳压电路的使用方便,电子制作中经常采用。7805电参数参数符号测试条件最小值典型值最大值单位输出电压VoTj=254.85.05.2V5.0mA<1o<1.0A,Po<15W Vi=7.5v to 20v4.755.005.25V线性调整率VoTj=25,Vi=7.5V to 25V4.0100mVTj=25,Vi=8V to 12V1.650mV负载调整率VoTj=25,lo=5.0mA to 1.5A9100mVTj=25,lo=250mA to 750mA450mV静态电流IQTj=255.08mA静态电流变化率IQlo=5mA to 1.0A 0.030.5mAVi=8V to 25V0.30.8mA输出电压温漂Vo/Tlo=5mA 0.8mV/ 输出噪音电压VNf=10Hz to 100KHz,Ta=2542V纹波抑制比RRf=120Hz,Vi=8V to 18V 6273dB输入输出电压差Volo=1.0A,Tj=252V输出阻抗Rof=1KHz15m短路电流1SCVi=35V,Ta=25230mA峰值电流1PKTj=252.2AAMS1117系列稳压器有可调版与多种固定电压版,设计用于提供1A输出电流且工作压差可低至1V。在最大输出电流时,AMS1117器件的压差保证最大不超过1.3V,并随负载电流的减小而逐渐降低。AMS1117器件引脚上兼容其他三端SCSI稳压器,提供适用贴片安装的SOT-223,8引脚SOIC,和TO-252(DPAK)塑料封装。 AMS1117 参数 AMS1117 基本参数 输出电流 (A) 1 输出电压 (V) Adj,1.5, 1.8, 2.5, 2.85, 3.3, 5.0。根据其特性,设计电路图如下:3.8 protel99se本次设计硬件电路用到的设计软件 protel 99se :PROTEL是PORTEL公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高。可生成30多种格式的电气连接网络表; 强大的全局编辑功能; 在原理图中选择一级器件,PCB中同样的器件也将被选中; 同时运行原理图和PCB,在打开的原理图和PCB图间允许双向交叉查找元器件、引脚、网络 既可以进行正向注释元器件标号(由原理图到PCB),也可以进行反向注释(由PCB到原理图),以保持电气原理图和PCB在设计上的一致性; 满足国际化设计要求(包括国标标题栏输出,GB4728国标库); * 方便易用的数模混合仿真(兼容SPICE 3f5); 支持用CUPL语言和原理图设计PLD,生成标准的JED下载文件; * PCB可设计32个信号层,16个电源-地层和16个机加工层; 强大的“规则驱动”设计环境,符合在线的和批处理的设计规则检查; 智能覆铜功能,覆铀可以自动重铺; 提供大量的工业化标准电路板做为设计模版; 放置汉字功能; 可以输入和输出DXF、DWG格式文件,实现和AutoCAD等软件的数据交换; 智能封装导航(对于建立复杂的PGA、BGA封装很有用); 方便的打印预览功能,不用修改PCB文件就可以直接控制打印结果; 独特的3D显示可以在制板之前看到装配事物的效果; 强大的CAM处理使您轻松实现输出光绘文件、材料清单、钻孔文件、贴片机文件、测试点报告等;经过充分验证的传输线特性和仿真精确计算的算法,信号完整性分析直接从PCB启动;反射和串扰仿真的波形显示结果与便利的测量工具相结合; 专家导航帮您解决信号完整性问题。3.9 本章小结 本章主要介绍了本设计所需用到的芯片元件进行简单的介绍,针对硬件电路涉及的主控系统,既STC89C52单片机,显示电路,按键控制电路,继电器控制系统,蜂鸣器报警及LED指示系统模块外围电路的设计。第四章 软件设计4.1 编译开发环境1)Keil uVision4使用汇编语言或C语言要使用编译器,以便把写好的程序编译为机器码,才能把HEX可执行文件写入单片机内。KEIL uVISION是众多单片机应用开发软件中最优秀的软件之一,它支持众多不同公司的MCS-51架构的芯片,甚至ARM,它集编辑,编译,仿真等于一体,它的界面和常用的微软VC+的界面相似,界面友好,易学易用,在调试程序,软件仿真方面也有很强大的功能。42主程序流程我们根据硬件特点,设计了主要各个模块的子程序,控制相应的电路,执行程序时,直接调用相关的子程序,使程序更易操作。上电开始 数据处理键盘检测 按键判断是功能键是否按下?否温度转换,并处理,并在LCD上显示出来判断温度是否超过报警温度并作相应的处理断电结束 以下为主程序部分:void main() int i;int lin1,lin2;/温度临时存放值ji1=1;ji2=1;feng=1;ds18b20_start();lcd_init();delayms(10);while(1)key_scan();if(flag)i=ds18b20_temperature();if(i&0x8000)i=i;i=i+1;flag_f=1;else flag_f=0;temph=i4;templ=i&0x0f;templ=(uchar)(templ*0.63);lcd_write_com(0x80+8);if(flag_f)lcd_write_date(-);else lcd_write_date(+); lcd_write_date(temph/10+0x30);lcd_write_date(temph%10+0x30);lcd_write_date(.);lcd_write_date(templ+0x30);delayms(10); if(hf=+)lin1=(hs*10+hg)*16+hd; else lin1=(hs*10+hg)*16+hd)*(-1); if(lf=+)lin2=(ls*10+lg)*16+ld; else lin2=(ls*10+lg)*16+ld)*(-1); if(i=lin1)d2=d2;d1=1;d3=1;ji1=0;ji2=1;feng=feng; if(i=lin2)d1=1;d2=1;d3=d3;ji1=1;ji2=0;feng=feng; if(ilin2)d1=0;d2=1;d3=1;ji1=1;ji2=1;feng=1;4.3 对DS18B20的程序设计 根据元件的工作参数,条件特性,我们绘出其程序流程图如下:DS18B20初始化读取转化温度DS18B20初始化延时一段时间启动温度转换包括:1、对18B20的初始化设计; 2、启动其温度转换特性; 3、延迟; 4、初始化; 5、处理器读取转化的温度;根据以上步骤,编写以下关于18B20的程序:void ds18b20_init()/18B20初始化uchar x;DQ=1;delayus(8);DQ=0;delayus(50);DQ=1;delayus(20);x=DQ;delayus(5);void ds18b20_write_date(uchar date)/向DS18B20中写入一个字节uchar i;for(i=0;i=1;delayus(5);uchar ds18b20_read_date(void)/从18B20中读出一个字节uchar i,date;TR0=0;for(i=0;i=1;DQ=1;if(DQ)date|=0x80;delayus(5);TR0=1;return date;void ds18b20_start()/启动温度转换ds18b20_init();ds18b20_write_date(0xcc);/跳过读取序列号ds18b20_write_date(0x44);/启动温度转换delayus(200);uint ds18b20_temperature(void)/读取温度uchar a;uint b,t;ds18b20_init();ds18b20_write_date(0xcc);/跳过读取序列号ds18b20_write_date(0x44);/启动温度转换delayus(200);ds18b20_init();ds18b20_write_date(0xcc);ds18b20_write_date(0xbe);/读取温度寄存器,共九个节a=ds18b20_read_date();b=ds18b20_read_date();b=10)hs=0;lcd_write_date(hs+0x30);lcd_write_com(0x80+0x40+3);if(k=3)hg+;if(hg=10)hg=0;lcd_write_date(hg+0x30);lcd_write_com(0x80+0x40+4);if(k=4) hd+;if(hd=10)hd=0;lcd_write_date(hd+0x30);lcd_write_com(0x80+0x40+6);if(k=5) if(lf=+)lf=-; else lf=+;lcd_write_date(lf);lcd_write_com(0x80+0x40+10);if(k=6) ls+;if(ls=10)ls=0;lcd_write_date(ls+0x30);lcd_write_com(0x80+0x40+11);if(k=7) lg+;if(lg=10)lg=0;lcd_write_date(lg+0x30);lcd_write_com(0x80+0x40+12);if(k=8) ld+;if(ld=10)ld=0;lcd_write_date(ld+0x30);lcd_write_com(0x80+0x40+14);if(k3=0)delayms(10);if(k3=0)while(!k3);delayms(10);if(k=1) if(lf=+)lf=-; else lf=+;lcd_write_date(lf);lcd_write_com(0x80+0x40+2);if(k=2) hs-;if(hs0)hs=9;lcd_write_date(hs+0x30);lcd_write_com(0x80+0x40+3);if(k=3) hg-;if(hg0)hg=9;lcd_write_date(hg+0x30);lcd_write_com(0x80+0x40+4);if(k=4) hd-;if(hd0)hd=9;lcd_write_date(hd+0x30);lcd_write_com(0x80+0x40+6);if(k=5) if(lf=+)lf=-; else lf=+;lcd_write_date(lf);lcd_write_com(0x80+0x40+10);if(k=6) ls-;if(ls0)ls=9;lcd_write_date(ls+0x30);lcd_write_com(0x80+0x40+11);if(k=7) lg-;if(lg0)lg=9;lcd_write_date(lg+0x30);lcd_write_com(0x80+0x40+12);if(k=8) ld-;if(ld0)ld=9;lcd_write_date(ld+0x30);lcd_write_com(0x80+0x40+14); 第五章 系统测试及误差分析5.1 测试方法采用加热方式,通过读取液晶屏数据再跟实际温度值做比较。黄灯亮表示正在加热,红灯闪烁表示加热停止。测试结果如下:组号123456目标温度/405060708090实际温度/39.5040.1249.6350.3459.7160.3268.7970.6378.8581.2188.3292.87误差/0.500.370.321.211.212.875.2 误差分析集成温度传感器误差校正:校正误差和温度误差。校正误差:传感器在实际使用中所指示的温度值和实际温度值的差值,该误差大小和温度成正比,通过调整外部电阻可得到补偿。在T=27时只要调整R1使vT=300mV即可。该一点调整法不能修正整个范围内的误差。温度误差(校正误差调整后):温度特性的非线形引起的误差。如不进行误差调整,则总误差为校正误差与非线形误差之和,误差较大。调整Rwl使其在0时输出为0V,调整Rw2使其在50时输出为5V,再进行测温,精度提高。系统理论测控精度为04 ,而实际显示时,只有1 ,原因在于系统误差、固有误差、元件误差等的存在。定性分析主要误差来源有:检测元件的固有误差、转换的误差、数据量化误差。本设计有待于进一步提高测控精度、减小误差、进一步提高系统性能。第六章 硬件调试方法61 常见的硬件故障1、逻辑错误 它是由设计错误或加工过程中的工艺性错误所造成的。这类错误包括错线、开路、短路、相位错等。2、元器件失效 有两方面的原因:一是器件本身已损坏或性能不符合要求;二是组装错误造成元件失效,如电解电容、二极管的极性错误、集成电路安装方向错误等。3、可靠性差 引起可靠性差的原因很多,如金属化孔、接插件接触不良会造成系统时好时坏,经不起振动;内部和外部干扰、电源纹波系数大、器件负荷过大等造成逻辑电平不稳定;走线和布局不合理也会引起系统可靠性差。4、电源故障 若样机有电源故障,则加电后很容易造成器件损坏。电源故障包括电压值不符合设计要求,电源引线和插座不对,功率不足,负载能力差等。6.2 联机调试 通过脱机调试可排除一些明显的硬件故障,但有些故障还必须通过联机调试才能发现和排除。联机前先断电,将单片机开发系统的仿真头插到样机的8031插件上,检查开发机和样机之间的电源、接地是否良好。一切正常后,即可打开电源。通电后执行开发机的读写指令,对样机的存储器、I/O端口进行读写操作、逻辑检查,若有故障,可用示波器观察有关波形。通过对波形的观察分析,寻找故障原因并进一步排除故障。可能的故障有:路线连接上有逻辑错误、有断路或短路现象、集成电路失效等。在样机主机部分调试好后,可以插上系统的其他外围部件,例如键盘、显示器、输出驱动板等,再对这部分进行初步调试。在调试过程中若发现用户系统工作不稳定,可能有下列情况:电源系统供电不足,或联机时公共地线接触不良,或用户系统主板负载过大,或用户的各级电源滤波不完善等。对这些问题一定要查出原因并加以排除。第七章 结论本设计介绍的单片机温度控制系统,可了解微机系统硬、软件的构成及各种控制参数变化对系统动、静态特性的影响。可以使系统的精度达到0.1,准确度和稳定性都可以令人满意。系统还以单回路控制为例,极易扩展成多回路控制。该水温控制系统实现了题目的基本要求并在基本要求的基础上作了改进,用液晶显示屏代替了数码管,使该设计更具人性化。MCS-51单片机,体积小,重量轻,抗干扰能力强,对环境要求不高,价格低廉,可靠性高,灵活性好,即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己的技术力量,来开发所希望的单片机应用系统。本文的温度控制系统,只是单片机广泛应用于各行各业中的一例,相信单片机的应用会更加广泛化。本系统的设计方案有多种,上述方案是从多种方案中选出的最优方案,其具有功能强、成本低、元件少、精度高、可靠性好、稳定性高、抗干扰性强、执行速度快、简单易行、具有实效性、使用范围广等特点,故具有推广价值。第八章 总结与展望1.总结本设计是从大四最后一个学期开始确定题目,然而真正开始设计的时间是4月中旬。由于本人所签约的单位要求我们这个学期必须到公司实习,实习期间,白天工作,晚上才有时间设计,因而选题较为简单,但是依然进展缓慢。由于我本人不在学校,很多技术上的问题只好与指导老师通过电话沟通,这给问题的解决增加了一定的难度,不过,在公司同事的帮助下,总算是完成了本设计。尽管期间花费了我不少时间和精力,不过收获也是巨大的。2.展望目前,国外温度控制系统及仪表正朝着高精度智能化、小型化等方面快速发展, 温度控制系统在国内各行各业的应用十分广泛。此外,基于小型化等的需要,单片微型计算机的使用领域也将进一步扩大。参考文献1 胡汉才. 单片机原理及其接口技术 第2版 清华大学出版社 2004年2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论