基于单片机的乳化物干燥过程控制系统设计_第1页
基于单片机的乳化物干燥过程控制系统设计_第2页
基于单片机的乳化物干燥过程控制系统设计_第3页
基于单片机的乳化物干燥过程控制系统设计_第4页
基于单片机的乳化物干燥过程控制系统设计_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

第54页共54页基于单片机的乳化物干燥过程控制系统设计摘要对乳化物进行干燥是为了使物料便于加工、运输、驻藏和使用。本设计是以AT89S51单片机为核心的温度控制系统。温度信号由温度芯片DS18B20采集,并以数字信号的方式传送给单片机,该控制系统的硬件部分,包括:温度检测电路、温度控制电路、PC机与单片机串口通讯电路和一些接口电路。单片机通过对信号进行相应处理,从而实现温度控制的目的。软件设计部分尤为重要,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、超温报警程序、加热程序。经过调试,实现了系统的智能化控制,使乳化物干燥过程达到较好的效果。关键词:单片机,控制,温度,干燥MICROCONTROLLER-BASEDEMULSIONDRYINGPROCESSCONTROLSYSTEMDESIGNABSTRACTDryingoftheemulsionistomakethematerialeasytoprocess,transport,anduseofTibet.ThisdesignisbasedonAT89C51microcomputerasthecoreofthetemperaturecontrolsystem.ThetemperaturesignalbythetemperaturechipDS18B20gathering,andtransmitsbydigitalsignal'swayforthemonolithicintegratedcircuit.Inthearticleintroducedthiscontrolsystem'shardwarepart,including:Temperatureexaminationelectriccircuit,temperature-controlcircuit,PCmachineandmonolithicintegratedcircuitserialportcommunicationchannelandsomeinterfacecircuit.Themonolithicintegratedcircuitthroughcarriesoncorrespondingprocessingtothesignal,thusrealizesthetemperaturecontrolgoal.hesoftwaredesignisespeciallyimportant,usesthemodularstructureinhere,themainmoduleincludes:Nixietubedisplaysequence,keyboardscanningandpressedkeydisposalprocedure,temperaturesignalprocessingprocedure,black-whitecontrolprocedure,excesstemperaturewarningprocedure,heatingprocedure.Aftercommissioning,realizedtheintelligentcontrolsyatem,makeemulsifydryingprocesstoachievebettereffect.Keywords:SCM,Control,Temperature,Drying目录1绪论 11.1本课题研究的对象、背景、现状及意义 11.1.1背景及意义 11.1.2现状 11.1.3最新研究动态 11.1.4发展趋势 21.1.5被控对象的介绍 31.1.6单片机的发展及温度控制系统 32系统的总体方案设计 62.1系统的总体设计 62.2乳化物的干燥过程及温度的设定 72.2.1原料 72.2.2预热杀菌 82.2.3真空浓缩 82.2.4冷却 83硬件设计 93.1单片机选型原则 93.2单片机的选择 103.374HC245芯片的选定 163.4温度采集硬件的选择 173.4.1技术性能描述 183.4.2应用范围 193.4.3接线说明 193.5显示硬件的选择 223.6按键的选择 223.7通信部分 223.8报警加热部分 233.9Proteus软件的介绍 243.10总体电路原理图 254软件设计 264.1KeilC51软件的介绍 264.2设计思路、流程图 264.2.1温度采集模块 274.2.2数据处理模块 284.2.3键盘模块 294.2.4加热报警模块 304.2.5编写程序所需要的总流程图 314.2.6本设计的源程序代码 325单片机控制温度的说明及PID控制 335.1温控制的说明 335.2PID控制原理及算法 335.2.1控制原理 335.2.2控制规律及对系统稳定性的影响 346仿真 356.1下面是仿真的结果和分析 357总结 36附录Ⅰ 37附录Ⅱ 38参考文献 47致谢 491绪论1.1本课题研究的对象、背景、现状及意义1.1.1背景及意义干燥在化工生产中应用非常广泛,因为绝大多数的固化工产品都有一定的含湿量要求。例如,聚氯乙烯的含水量须低于0.3%,否则在其制品中将有气泡生成;抗菌素含水量太高会影响其使用期限;不经干燥的染料在包装桶中贮藏时,湿物料会沉降分层,使各层中染料含量不同,这会给使用厂家带来许多不必要的麻烦。所以,干燥的意义是使物料便于加工、运输、驻藏和使用。1.1.2现状几乎所有工业领域都有热力干燥这一环节,涉及的材料超过6万种。物料干燥属于高能耗行业,据不完全统计,全球10%~25%的能源用于工业热力干燥,在我国干燥所用能源占国民经济总能耗的12%左右。目前干燥学术研发活动地位低下,存在咀下问题:1)很多干燥的实际过程过于复杂,有时甚至无法总结归纳其采用的干燥原理;2)不少干燥的理论研究与工业应用脱节,陷人了“理论研究一发表论文一再研艚发表论文”的怪圈,昂终失去应用价值;3)一砦新的干燥理念在小试或巾试后,由于技术风险性高和扩大生产的条件限制,只有少部分成为有活力并可在商业上应用的创新技术;4)多数干燥设备的使用寿命过长,在优化设计方面无创新,阻碍了创新的快速发展。如目前术材干燥行业巾,尚尤突破性的技术取代常规蒸汽干燥{5)大多数工业干燥生产习惯于采用简单的、无正规设计的土法干燥设施[1]。1.1.3最新研究动态1干燥创新技术举例1)干燥模型近年来,一些学者采用了神经网络模型和考虑物料收缩的孔道网络等温干燥楼型以及计算流体动力学模型(配有CFD商用计算软件)L7一等。2)过热蒸汽干燥用过热蒸汽作干燥介质,町以减少传质阻力,明显增强传热系数。3)联合干燥是符合国际干燥技术的创新发展趋势的干燥方式。因为每一种干燥方法都有各自的优点和适用范围,联合干燥IE是取其优点而避其缺点。4)生物干燥原理是利用堆积的生物材料巾,微生物氧化分解有机物所产生的能量来实现干燥过程。特点是不需要消耗常规能源,干燥成本低,且使用安全。生物干燥的速度常与生物材料的含水率、温度及通气量有关。该技术可用于干燥纸浆混和物,在技术上和经济E都星可行的。5)超临界干燥超临界流体是一种温度和压力处于临界点以上,无汽液柏界面区别而兼有液体性质和气体性质的物质相态。超临界干燥过程实际上就是利用超临界流体超强的溶解能力,使被干燥液体达到超临界状态并溶解在超临界流体中。1.1.4发展趋势未来干燥技术的发展总趋势是:在同等能耗下,提高产品的产量和质量;在同等产品产量和质量下降低能耗;各种干燥技术组合和优化以降低干燥过程对环境危害,促进可持续发展。1推进干燥技术的创新1)将沉积的创新技术转变为可持续发展的创新技术,否则失去干燥技术研发的意义;2)干燥模型必须可预测转递现象和制定质量参数.使之更具有普遍性、精确性和实用性;3)提高干燥效率不单是热质传递问题,还要考虑整个十燥系统的优化,联合干燥技术就属一例4)真空一过热蒸汽干燥是一项颇具发展潜力的干燥技术,可叫显提高十燥速度,且改善干燥质量;2推广常规干燥的节能和排气热能回收技术目前在世界各国的干燥设备中,常规干燥仍占主导地位.在我囤木材的常规蒸汽干燥占80%以上。常规干燥能耗高的主要原因之一是排气热能损失大,如能有效回收排气热能,则可显著减少能耗和烟尘对大气的污染。同收排气热能的方法很多,比较成熟的有:用除湿机和热管换热器回收。除湿干燥与常规蒸汽干燥联合,与蒸汽干燥相比,其节能率在40%以上。用热管换热器回收排气热能,其热能回收率略低于除湿机,但由于投有运动部件,本身不消耗能量.且易于操作管理,因此.有较好的推广应用前景[2]。1.1.5被控对象的介绍在工业生产上,被干燥物料的性质、对产品的要求以及生产能力的大小各不相同,操作上间歇或连续两种方式,加热方法有对流、传导或辐射等方式,为了适应这些千差万别的特点,干燥的形式、种类必然是多种多样的。生产中的几种常见的干燥设备,有以下几种,下面作简要说明。1.盘架式干燥器典型的间歇式常压干燥设备。2.转筒干燥器直接加热热空气逆流操作的干燥器。3.气流干燥器使物料悬浮在热气流中被热气流带走,一边干燥,一边向上输送,从干燥管顶部经旋风分离器把干燥好的物料回收,废气经除尘器后放空。4.喷雾干燥器它是一种处理液体物料的干燥器,它可使乳浊液、悬浮液、糊状液的有机物料、无机物料、生化制品等转化为粒度均匀的产品。它干燥速率快、效率高、产品质量好,适用于石油、化工、建筑、冶金、食品、医药、陶瓷、生化等行业。5.滚筒干燥器一种间接加热连续的干燥器,其热量的传递是通过器壁以传导方式进行的。6.沸腾床干燥器它也叫流化床干燥器,它利用物料在硫化状态下,与热气进行传热玉传质而达到干燥目的的。7冷冻干燥在低温、低压条件下,利用水的升华性能而进行的一种干燥方法。1.1.6单片机的发展及温度控制系统单片机作为微型计算机的一个重要分支,应用面很广,发展很快。自单片机诞生至今,已发展为上百种系列的近千个机种。目前,单片机正朝着高性能和多品种方向发展趋势将是进一步向着CMOS化、低功耗、小体积、大容量、高性能、低价格和外围电路内装化等几个方面发展。单片机诞生于20世纪70年代末,经历了SCM、MCU、SOC三大阶段[3]。(1)SCM即单片微型计算机(SingleChipMicrocomputer)阶段,主要是寻求最佳的单片形态嵌入式系统的最佳体系结构。“创新模式”获得成功,奠定了SCM与通用计算机完全不同的发展道路。在开创嵌入式系统独立发展道路上,Intel公司功不可没。(2)MCU即微控制器(MicroControllerUnit)阶段,主要的技术发展方向是:不断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其对象的智能化控制能力。它所涉及的领域都与对象系统相关,因此,发展MCU的重任不可避免地落在电气、电子技术厂家。从这一角度来看,Intel逐渐淡出MCU的发展也有其客观因素。在发展MCU方面,最著名的厂家当数Philips公司。Philips公司以其在嵌入式应用方面的巨大优势,将MCS-51从单片微型计算机迅速发展到微控制器。因此,当我们回顾嵌入式系统发展道路时,不要忘记Intel和Philips的历史功绩。(3)单片机是嵌入式系统的独立发展之路,向MCU阶段发展的重要因素,就是寻求应用系统在芯片上的最大化解决;因此,专用单片机的发展自然形成了SOC化趋势。随着微电子技术、IC设计、EDA工具的发展,基于SOC的单片机应用系统设计会有较大的发展。因此,对单片机的理解可以从单片微型计算机、单片微控制器延伸到单片应用系统。随着半导体集成工艺的不断发展,单片机的集成度将更高、体积将更小、功能将列强。在单片机家族中,80C51系列是其中的佼佼者,加之Intel公司将其MCS–51系列中的80C51内核使用权以专利互换或出售形式转让给全世界许多著名IC制造厂商,如Philips、NEC、Atmel、AMD、华邦等,这些公司都在保持与80C51单片机兼容的基础上改善了80C51的许多特性。这样,80C51就变成有众多制造厂商支持的、发展出上百品种的大家族,现统称为80C51系列。80C51单片机已成为单片机发展的主流。专家认为,虽然世界上的MCU品种繁多,功能各异,开发装置也互不兼容,但是客观发展表明,80C51可能最终形成事实上的标准MCU芯片。基于单片机的温度控制主要运用单片机技术,微机接口技术,传感器与信号处理技术来实现。用传感器感知温度,并转换成电压的输出,单片机的外围电路芯片把模拟信号转换成数字信号,输入到单片机中。包括系统的硬件设计和软件设计。硬件方面有8155接口电路,A/D转换电路,温度传感器进行设计,然后把它们整合成为一个整体,完成对温度进行控制的硬件部分。在软件设计方面,对主程序,中断服务程序,采样子程序,数字滤波程序进行编写[4]。用单线数字温度传感器采集温度数据,打破了传统的热电阻、热电偶再通过A/D转换采集温度的思路。用单片机对数字进行处理和控制,通过RS-232串口传到PC机对温度进行监视与报警,设置温度的上限和下限。其优势是结构简单,编程不需要用专用的编程器,只需点击电脑鼠标就可以把编好的程序写到单片机中,很方便且调试、修改和升级很容易。2系统的总体方案设计2.1系统的总体设计温度自动控制系统以单片机为核心,主要采用AT89C51单片机为中央处理器,结合高精度数字温度传感器及其控制电路,实现高精度、高可靠性。数据传输的速度及准确性是控制系统的关键,采用传感器传输温度测量信号,通过单片机控制乳化物干燥设备的工作过程,实现控制系统的智能化,达到更好的干燥效果。系统的设计原理图如图2.1驱动控制模板温度采集模板驱动控制模板温度采集模板单片机单片机串口通信加热报警模板板串口通信加热报警模板板PCPC键盘显示模板键盘显示模板图2-1单片机:该部分的功能不仅包括向温度传感器写入各种控制命令、读取温度数据、数据处理,同时还要对执行单元进行控制。单片机是整个系统的控制核心及数据处理核心[6]。温度信号采集与传感器:本部分的主要作用是用传感器检测模拟环境中的温度信号,温度传感器上电流将随环境温度值线性变化。再把电流信号转换成电压信号,使用A/D转换器将模拟电压信号转换成单片机能够进行数据处理的数字电压信号,本设计采用的是数字温度传感器,以上过程都在温度传感器内部完成。串口通信:为了提高系统的可用性和实用性。主要包括按键输入、输出显示。通过按键输入完成系统参数设置,而输出显示则完成数据的显示和系统提示信息的输出,串口通信的主要功能是完成单片机与上位机的通信,便于进行温度数据统计,为将来系统功能的扩展做好基础工作。加热报警:采集的温度通过转换成单片机能处理的数字信号与设定的温度值相比较,采集的温度高于设定值是就报警,低于就加热,这样能更好的、稳定的控制干燥器内的空气温度,达到更好的干燥效果。驱动器:单片机负载过多会导致不好的影响,驱动器正好能解决和放大要传给显示器的数字信号。键盘:本部分主要是控制温度的输出,从而更好的控制被控对象的温度。2.2乳化物的干燥过程及温度的设定2.2.1原料

用于生产乳粉的牛乳必须在一级品以上,酸度超过20T会严重影响乳粉的溶解度,在保藏过程中容易发生酸败。乳粉在复水后应还原到鲜乳状态,因此,原料乳需标准化到鲜乳国标要求。

2.2.2预热杀菌

由于乳粉在常温的保藏期长,脂肪酶、蛋白酶、过氧化物酶的残留会对产品的风味、色泽造成严重影响,必须加以钝化;此外,产品中不得有致病菌检出,大肠杆菌和杂菌数也有严格标准。对原料乳的杀菌可以达到以下目的:

杀灭存在于牛乳中的全部病源微生物和绝大部分其他微生物,使产品中微生物残存量达到国家卫生标准的要求,成为安全食品;破坏牛乳中各种酶的活性,尤其要破坏脂酶和过氧化物酶的活性,以延长乳粉的保存期;提高牛乳的热稳定性;提高浓缩过程中牛乳的进料温度,使牛乳的进料温度超过浓缩锅内相应牛乳的沸点,杀菌乳进入浓缩锅后即自行蒸发,从而提高了浓缩设备的生产能力,牛乳的进料温度等于浓缩锅内牛乳的沸点,也同样可提高设备的生产能力,并可减少浓缩设备加热器表面的结垢现象;高温杀菌可提高乳粉的香味,同时因分解含硫氨基酸而产生活性巯基,提高乳粉的抗氧性,延长乳粉的保存期。

因此,乳粉原料奶的杀菌条件比较激烈,一般有中温长时间杀菌法,72~75℃保持15分钟;高温短时间杀菌法,85~90℃,保温3~5分钟;超高温瞬时杀菌法,120~140℃,保温1~2秒钟。实践证明,无论从乳粉的卫生及其他质量指标来看,高温短时加杀菌效果良好,因此,目前乳粉生产上多采用高温短时间杀菌法。超高温瞬时杀菌不但是牛乳经杀菌后处于无菌状况,而且保持牛乳原有的营养成分,但由于设备成本高,未能得到广泛的应用[7]。

2.2.3真空浓缩

牛乳的87%以上都是水,未经浓缩直接干燥的乳粉有许多缺点,通过浓缩可达到如下目的:

提高产品的色、香、味、形,浓缩后干燥的乳粉色泽奶黄到淡黄,而直接干燥的乳粉灰白暗淡;经浓缩的乳粉乳香浓郁、滋味充足,未经浓缩的乳粉乳香淡薄,缺乏乳粉滋味;经过真空浓缩的乳粉颗粒直径大,分散性、冲调性好,反之则性能相反;节约能源和设备,喷雾干燥时蒸发1Kg水需耗用2.8~3.2Kg蒸汽,真空浓缩只需1~1.2Kg;未浓缩乳喷干需要的干燥室体积比正常的大三分之一,设备投资高;便于包装,直接干燥乳粉因颗粒小、密度低,包装过程中容易发生粉尘飞扬和粘滞,包装材料也需多耗10%。

真空浓缩的工艺条件为:单效浓缩,真空度为表压0.08~0.0895MPa,乳温51~562.2.4冷却

干燥后乳粉的温度通常都在60~72℃,温度的高低是根据颗粒大小与在干燥室中滞留位置及工艺条件而定。如不及时对乳粉实施冷却,容易引起蛋白质变性;脂肪球因处于超熔点状态,容易破裂而使游离脂肪量增多,尤其在包装过程中,经撞击与摩擦,使乳粉中的脂肪渗出到表面,再保藏阶段容易发生氧化。传统的冷却方法是将乳粉放入专用的不锈钢箱内,在室温下自然冷却数小时之后筛粉,更先进的是通过干燥室内附带的冷却装置冷却,或使乳粉在卸粉过程中通过自动筛网,并用符合食品卫生要求的冷风进行冷却,使乳粉温度降至25~30℃,低于脂肪熔点因此,为了更好的干燥乳化物,本设计在选定控制温度时最好把温度控制在90-95℃,这样才能更好的实现对乳化物的干燥3硬件设计3.1单片机选型原则1.性能,是最重要的参数要求,要根据设计任务的复杂程度和设计的对象来决定要完成什么养的任务,只选型的重要标准。2. 存储器,是专门用来存放程序和数据的,有掩膜ROM,OTPROM,EPROM,FlashROM等类型。采用EPROM的单片机具有可以灵活修改程序的优点,但存在需要紫外线擦除,缴费时间的缺点。Flash单片机可以电写入、电擦除,使得修改程序很方便,可以提高开发速度,本课题需要多次调试和针对不同车型对程序稍加修改,所以选择Flash单片机。3. 运行速度,单片机的运行速度首先看时钟频率,一般情况对于同一种结构的单片机,时钟频率越高越快速,其次看单片机的CPU结构,采用CISC(集中指令集)结构比采用RISC(精简指令接)的速度要慢。但是要根据需要选择速度,不要片面追求高速,单片机的稳定性、抗干扰性等基本参数跟速度成反比,而且速度越快功耗越大。4. I/O口,需要根据实际确定输入输出口的数量,同时还要考虑输入输出口的驱动能力,驱动能力大的单片机可以简化外围电路,51单片机下拉时驱动电流大,但上拉时驱动电流很小。本课题事宜选用4个端口的单片机以能够满足要求。5. 定时器/计数器,大部分单片机提供2~3个定时/计数器还具有输入捕获、输出比较和PWM功能,有的单片机还有专门的可编程计数阵列模块和输入捕获/输出比较/PWM模块,6. 模拟电路功能,现在不少单片机提供A/D转换器,输出电压比较强,也有少量的单片机提供D/A转换器。本课题由于无需数模转换所以不需要此类功能单片机。7. 工作电压、功耗,单片机的工作电压最低可以达到1.8V,最高6V,单片机的功耗参数主要是指正常模式、空闲模式、掉电模式下的工作电流,用电池供电的系统要选择小电流的产品,同时要考虑单片机的掉电模式,8. 封装形式,常见的封装形式有DIP(双列直插),PLCC(对应插座),QFP(四侧引脚扁平封装),SOP(双列小外形贴片封装)等。根据本课题,考虑的单片机的工作环境比较不稳定,事宜选用DIP双列直插单片机。9. 抗干扰性能、保密性,首要考虑这些因素,特别是在比较大的工业环境中的尤其应该如此,单片机加密后的保密性能也要好,这样可以保证知识产权不容易被侵犯[9]。3.2单片机的选择单片机AT89C51的实物图如下:图3-1AT89C51的实物图AT89C51是一种带4K字节FLASH存储器(FPEROM—FlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案,它的主要特性如下:·与MCS-51兼容·32可编程I/O线·4K字节可编程FLASH存储器·两个16位定时器/计数器·寿命:1000写/擦循环·5个中断源·全静态工作:0Hz-24MHz·可编程串行通道·三级程序存储器锁定它的外形及引脚排列如图所示:图3-2AT89C51的管脚图管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P0口的管脚第一次写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”P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚备选功能:P3.0RXD(串行输入口)、P3.1TXD(串行输出口)、P3.2/INT0(外部中断0)、P3.3/INT1(外部中断1)、P3.4T0(记时器0外部输入)、P3.5T1(记时器1外部输入)、P3.6/WR(外部数据存储器写选通)、P3.7/RD(外部数据存储器读选通),P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间[10]。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2:来自反向振荡器的输出。振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。串口通讯:单片机的结构和特殊寄存器,这是你编写软件的关键。至于串口通信需要用到那些特殊功能寄存器呢,它们是SCON,TCON,TMOD,SCON等,各代表什么含义呢?SBUF数据缓冲寄存器这是一个可以直接寻址的串行口专用寄存器。有朋友这样问起过“为何在串行口收发中,都只是使用到同一个寄存器SBUF?而不是收发各用一个寄存器。”实际上SBUF包含了两个独立的寄存器,一个是发送寄存,另一个是接收寄存器,但它们都共同使用同一个寻址地址-99H。CPU在读SBUF时会指到接收寄存器,在写时会指到发送寄存器,而且接收寄存器是双缓冲寄存器,这样可以避免接收中断没有及时的被响应,数据没有被取走,下一帧数据已到来,而造成的数据重叠问题。发送器则不需要用到双缓冲,一般情况下我们在写发送程序时也不必用到发送中断去外理发送数据。操作SBUF寄存器的方法则很简单,只要把这个99H地址用关键字sfr定义为一个变量就可以对其进行读写操作了,如sfrSBUF=0x99;当然你也可以用其它的名称。通常在标准的reg51.h或at89x51.h等头文件中已对其做了定义,只要用#include引用就可以了。SCON串行口控制寄存器通常在芯片或设备中为了监视或控制接口状态,都会引用到接口控制寄存器。SCON就是51芯片的串行口控制寄存器。它的寻址地址是98H,是一个可以位寻址的寄存器,作用就是监视和控制51芯片串行口的工作状态。51芯片的串口可以工作在几个不同的工作模式下,其工作模式的设置就是使用SCON寄存器。它的各个位的具体定义如下:串行口工作模式设置位,这样两位可以对应进行四种模式的设置。串行口工作模式设置:SM0、SM1、SM2、REN、TB8、RB8、TI、RI、SM0、SM1。在这里只说明最常用的模式1,其它的模式也就一一略过,有兴趣的朋友可以找相关的硬件资料查看。表中的fosc代表振荡器的频率,也就是晶振的频率。UART为(UniversalAsynchronousReceiver)的英文缩写。SM2在模式2、模式3中为多处理机通信使能位。在模式0中要求该位为0。REM为允许接收位,REM置1时串口允许接收,置0时禁止接收。REM是由软件置位或清零。如果在一个电路中接收和发送引脚P3.0,P3.1都和上位机相连,在软件上有串口中断处理程序,当要求在处理某个子程序时不允许串口被上位机来的控制字符产生中断,那么可以在这个子程序的开始处加入REM=0来禁止接收,在子程序结束处加入REM=1再次打开串口接收。大家也可以用上面的实际源码加入REM=0来进行实验。TB8发送数据位8,在模式2和3是要发送的第9位。该位可以用软件根据需要置位或清除,通常这位在通信协议中做奇偶位,在多处理机通信中这一位则用于表示是地址帧还是数据帧[11]。RB8接收数据位8,在模式2和3是已接收数据的第9位。该位可能是奇偶位,地址/数据标识位。在模式0中,RB8为保留位没有被使用。在模式1中,当SM2=0,RB8是已接收数据的停止位。TI发送中断标识位。在模式0,发送完第8位数据时,由硬件置位。其它模式中则是在发送停止位之初,由硬件置位。TI置位后,申请中断,CPU响应中断后,发送下一帧数据。在任何模式下,TI都必须由软件来清除,也就是说在数据写入到SBUF后,硬件发送数据,中断响应(如中断打开),这时TI=1,表明发送已完成,TI不会由硬件清除,所以这时必须用软件对其清零。RI接收中断标识位。在模式0,接收第8位结束时,由硬件置位。其它模式中则是在接收停止位的半中间,由硬件置位。RI=1,申请中断,要求CPU取走数据。但在模式1中,SM2=1时,当未收到有效的停止位,则不会对RI置位。同样RI也必须要靠软件清除。常用的串口模式1是传输10个位的,1位起始位为0,8位数据位,低位在先,1位停止位为1。它的波特率是可变的,其速率是取决于定时器1或定时器2的定时值(溢出速率)。AT89C51和AT89C2051等51系列芯片只有两个定时器,定时器0和定时器1,而定时器2是89C52系列芯片才有的[12]。波特率在使用串口做通讯时,一个很重要的参数就是波特率,只有上下位机的波特率一样时才可以进行正常通讯。波特率是指串行端口每秒内可以传输的波特位数。有一些初学的朋友认为波特率是指每秒传输的字节数,如标准9600会被误认为每秒种可以传送9600个字节,而实际上它是指每秒可以传送9600个二进位,而一个字节要8个二进位,如用串口模式1来传输那么加上起始位和停止位,每个数据字节就要占用10个二进位,9600波特率用模式1传输时,每秒传输的字节数是9600÷10=960字节。51芯片的串口工作模式0的波特率是固定的,为fosc/12,以一个12M的晶振来计算,那么它的波特率可以达到1M。模式2的波特率是固定在fosc/64或fosc/32,具体用那一种就取决于PCON寄存器中的SMOD位,如SMOD为0,波特率为focs/64,SMOD为1,波特率为focs/32。模式1和模式3的波特率是可变的,取决于定时器1或2(52芯片)的溢出速率。那么我们怎么去计算这两个模式的波特率设置时相关的寄存器的值呢?可以用以下的公式去计算:波特率=(2SMOD÷32)×定时器1溢出速率上式中如设置了PCON寄存器中的SMOD位为1时就可以把波特率提升2倍。通常会使用定时器1工作在定时器工作模式2下,这时定时值中的TL1做为计数,TH1做为自动重装值,这个定时模式下,定时器溢出后,TH1的值会自动装载到TL1,再次开始计数,这样可以不用软件去干预,使得定时更准确。在这个定时模式2下定时器1溢出速率的计算公式如下:溢出速率=(计数速率)/(256-TH1)上式中的“计数速率”与所使用的晶体振荡器频率有关,在51芯片中定时器启动后会在每一个机器周期使定时寄存器TH的值增加一,一个机器周期等于十二个振荡周期,所以可以得知51芯片的计数速率为晶体振荡器频率的1/12,一个12M的晶振用在51芯片上,那么51的计数速率就为1M。通常用11.0592M晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600的波特率,晶振为11.0592M和12M,定时器1为模式2,SMOD设为1,分别看看那所要求的TH1为何值,代入公式:9600=(2÷32)×((11.0592M/12)/(256-TH1))TH1=2509600=(2÷32)×((12M/12)/(256-TH1))TH1≈249.49上面的计算可以看出使用12M晶体的时候计算出来的TH1不为整数,而TH1的值只能取整数,这样它就会有一定的误差存在不能产生精确的9600波特率。当然一定的误差是可以在使用中被接受的,就算使用11.0592M的晶体振荡器也会因晶体本身所存在的误差使波特率产生误差,但晶体本身的误差对波特率的影响是十分之小的,可以忽略不计[13]。所以,选用AT89C51单片机是很好的选择。3.374HC245芯片的选定74HC245是总线驱动器,典型的TTL型三态缓冲门电路。由于单片机等CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。双向数据8位总线接口,加强驱动能力。另外,也可以使用74HC244等其他电路,74HC244比74HC245多了锁存器。它的实物图如下图3-3芯片74HC245实物图74HC245的作用:信号功率放大,它在本设计中起到信号功率放大的作用,同时也为单片机在大负荷时能够增大单片机的驱动能力,更好的帮助单片机处理信号等问题[14]。它的管脚图如下:图3-474HC245的管脚它的引脚的定义:第1脚DIR,为输入输出端口转换用,DIR=“1”高电平时信号由“A”端输入“B”端输出,DIR=“0”低电平时信号由“B”端输入“A”端输出。第2~9脚“A”信号输入输出端,A1=B1、、、、、、A8=B8,A1与B1是一组,如果DIR=“1”OE=“0”则A1输入B1输出,其它类同。如果DIR=“0”OE=第11~18脚“B”信号输入输出端,功能与“A”端一样,不再描述。第19脚OE,使能端,若该脚为“1”A/B端的信号将不导通,只有为“0第10脚GND,电源地。第20脚VCC,电源正极。3.4温度采集硬件的选择图3-5是DS18B20数字温度传感器的元件图图3-5DS18B20数字温度传感器DS18B20数字温度传感器芯片具有耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。3.4.1技术性能描述DS18B20的主要特性1)、适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电2)、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯3)、DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温4)、DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内5)、温范围-55℃~+125℃,在-10~+85℃时精度为6)、可编程的分辨率为9~12位,对应的可分辨温度分别为0.5℃、0.25℃、0.125℃7)、在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快8)、测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力9)、负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作[15]。3.4.2应用范围1)该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域.2)轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。3)汽车空调、冰箱、冷柜、以及中低温干燥箱等。4)供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制3.4.3接线说明1)特点:独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0V至5.5V无需备用电源测量温度范围为-55℃至+125℃。华氏相当于是-67F到257华氏度-10℃至+85℃范围内精度为±0.5℃,温度传感器可编程的分辨率为9~12位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置应用范围包括恒温控制,工业系统,2)描述该DS18B20的数字温度计提供9至12位(可编程设备温度读数。信息被发送到/从DS18B20通过1线接口,所以中央微处理器与DS18B20只有一个一条口线连接。为读写以及温度转换可以从数据线本身获得能量,不需要外接电源。因为每一个DS18B20的包含一个独特的序号,多个ds18b20s可以同时存在于一条总线。这使得温度传感器放置在许多不同的地方。它的用途很多,包括空调环境控制,感测建筑物内温设备或机器,并进行过程监测和控制。3)DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的到来重新充电。DS18B20的电源也可以从外部3V-5.5V的电压得到。4)DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:(1)读ROM,(2)ROM匹配,(3)搜索ROM,(4)跳过ROM,(5)报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。5)DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,温度报警触发器TH和TL,配置寄存器,DS18B20的存储器包括高速暂存器RAM和可电擦除RAM,可电擦除RAM又包括温度触发器TH和TL,以及一个配置寄存器。存储器能完整的确定一线端口的通讯,数字开始用写寄存器的命令写进寄存器,接着也可以用读寄存器的命令来确认这些数字。当确认以后就可以用复制寄存器的命令来将这些数字转移到可电擦除RAM中。当修改过寄存器中的数时,这个过程能确保数字的完整性。6)温度的读取:DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以0.0625便为所测的温度,还需要判断正负。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。16位数字摆放是从低位到高位[16]。7)DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入(在寄生电源接线方式时接地)。8)DS18B20工作原理:DS18B20的读写时序和测温原理与DS18B20相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,当DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒的存在低脉冲,主CPU收到此信号表示复位成功[17]9)DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:a)较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS18B20操作部分最好采用汇编语言实现。b)在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。c)连接DS18B20的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。d)在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环。这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地[19]。故选用DS18B20是简洁方便的一种选择,它可以把采集的温度信号转化为数字信号,也可以通过单片机把数字信号转换温度信号被控对象接受,而它的采集温度在-55℃至+125℃,而乳化物的干燥温度一般在60℃3.5显示硬件的选择该设计显示部分采用2个4位8段共阳极数码管7SEG-MPX4-CA。一个数码管用于显示当前环境温度,另外一个数码管用于显示设定温度。为了节省I/O口,本设计通过74HC245连接两个数码管的段码。7SEG-MPX4-CA的元件图如下:图3-67SEG-MPX4-CA3.6按键的选择选用两个独立的按键来控制乳化物干燥的默认值,S1控制默认值的十位数值的增减,S2是控制默认值的个位上的数字的增减。有图如下:图3-7按键3.7通信部分选用芯片MAX232MAX232该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。每一个发送器TTL/CMOS电平转换成TIA/EIA-232-F电平。下面是其管脚图:图3-8MAX232管脚图其主要特点如下:1)单5V电源工作2)LinBiCMOSTM工艺技术3)两个驱动器和两个接收器4)+30V输入电平5)低电源电流:典型值是8mA6)符合甚至优于ANSI标准TIA/EIA-232-E及ITU推荐标准7)ESD保护大于MIL-STD-883标准2000V3.8报警加热部分采用光敏三极管和发光二极管,光敏三极管的实物图如下:图3-9光敏三极管光敏三极管一般和发光二极管做在一起,构成光电耦合器件使用,起隔离作用电信号之间会有干扰,通过光电耦合器,电-变成光--又变成电,就不会受干扰了。它在Proteus中的元件图如下:图3-10光电耦合元件3.9Proteus软件的介绍Proteus软件是英国Labcenterelectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年即将增加Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器[20]。Proteus软件具有其它EDA工具软件(例:multisim)的功能,这些功能是:1、原理布图2、PCB自动或人工布线3、SPICE电路仿真革命性的特点:1、互动的电路仿真用户甚至可以实时采用诸如RAM,ROM,键盘,马达,LED,LCD,AD/DA,部分SPI器件,部分IIC器件。2、仿真处理器及其外围电路可以仿真51系列、AVR、PIC、ARM、等常用主流单片机。还可以直接在基于原理图的虚拟原型上编程,再配合显示及输出,能看到运行后输入输出的效果。配合系统配置的虚拟逻辑分析仪\示波器等,Proteus建立了完备的电子设计开发环境[21]。3.10总体电路原理图根据系统所需要实现的功能,使用Proteus进行原理图设计。(见附录Ⅰ)4软件设计4.1KeilC51软件的介绍本系统的软件编程使用的是美国KeilSoftware公司出品的KeilC51,是51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势:1、对单片机的指令系统不要求了解,仅要求对8051的存储器结构有初步了解;2、寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管;3、程序有规范的结构,可分为不同的函数,这种方式可使程序结构化;4、具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;5、关键字与运算函数可用近似人的思维过程方式使用;6、编程及程序调试时间显著缩短,从而提高效率;7、提供的库包含许多标准子程序,具有较高的数据处理能力;8、已编好程序可容易地移植入新程序,因为它具有方便的模块化编程技术[22]。KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。另外重要的一点,KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势,C51工具包的整体结构中,μVision与Ishell分别是C51forWindows和forDos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及A51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经C51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中[23]。4.2设计思路和设计流程图本系统要完成温度信号的采集与控制,需要实现温度信号的采集与A/D转换、数据处理、数据显示、数据传输等基本功能。从功能上可将其分为温度信号采集及控制执行、数据处理、加热报警这四大部分进行设计,软件系统框图如图4-1所示:数据处理子程序数据处理子程序加热报警子程序温度采集子程序控制执行子程序图4-1温度信号采集子程序,主要完成温度信号采集与A/D功能,由于数字温度传感器DS18B20是采用单总线结构,所以软件设计需要根据单总线协议来完成温度数据采集、A/D转换和传输。温度信号采集子程序主要包括传感器初始化、单片机给传感器写命令、单片机给传感器写数据、单片机从传感器读数据等部分。4.2.1温度采集模块根据DS18B20的通信协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前,都要对DS18B20进行复位即初始化,复位成功后发送一条ROM指令即ROM操作,最后发送RAM指令即功能命令,这样才能对DS18B20进行预定的操作。初始化:基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。复位要求主机将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右后,发出60~240微秒的低脉冲,主机收到此信号表示复位成功。ROM命令:主机检测到应答脉冲后,发出ROM命令,这些命令与一个从机设备的唯一64位ROM代码相关,允许主机在单总线上连接多个从机设备,指定操作一个从机设备。这些命令还使主机能够检测到总线上有多少个从机设备以及类型和有没有设备处于报警状态。从机设备可以支持5种ROM命令。每种命令长度为8位,主机在发出功能命令之前,必须送出合适的ROM命令。温度采集子程序流程图如图4-2所示初始化DS18B20初始化DS18B20发送指定64序列码发送指定64序列码发送跳过ROM命令发送跳过ROM命令发送读取发送读取RAM指令发送温度转换命令发送温度转换命令读取匹配的DS18B20读取匹配的DS18B20温度值延时等待温度转换完毕延时等待温度转换完毕全部DS18B20都访问完?no全部DS18B20都访问完?发送复位指令发送复位指令发送匹配ROM命令 发送匹配ROM命令结束yes结束图4-24.2.2数据处理模块DS18B20完成温度信号的采集与A/D转换,并把数据传递给单片机,并保存起来。数据处理时,把数据取出来,放在一个整型变量中。首先取出整数部分进行处理,求出数据十进制表示时的百位、十位及个位,再求小数部分数据计算流程图如图4-5所示。DS18B20采集的数据有四位小数,精度可达到0.0625。在设计中取四位小数,温度测量的精度为0.0625,这样的数据比较精确。通过数据处理后,把16位的二进制数据转化成带四个小数位的十进制数据。图4-3是整数处理的流程图,具体如下图:开始开始整数寄存器器器整数寄存器器器整数寄存器整数寄存器除以10除以100除以10除以100商存入十位寄存器商存入百位寄存器商存入十位寄存器商存入百位寄存器余数存入整数寄存器商存入个位寄存器余数存入整数寄存器商存入个位寄存器返回返回图4-34.2.3键盘模块当按键被按下时,I/O口电平为低;松开时,I/O口电平为高。按键扫描程序通过读取I/O口的电平即可知道对应按键的状态。按键的抖动时间的长短由按键的机械特性决定,一般为5~10ms,这是一个很重要的参数。抖动过程引起电平信号的波动,有可能令CPU误解为多次按键操作,从而引起误处理。为了确保CPU对一次按键动作只确认一次按键,提高按键处理的可靠性,应在程序中做按键消抖处理。使用按键设置温度限定值流程图如图4-4所示:温度限值初值LED显示初值键按下?温度限值初值LED显示初值键按下?YNNY开始返回加一键?减一键?设置键?加一显示减一显示YN显示NY图4-44.2.4加热报警模块通过单片机P/O口输出的高电平或者低电平,经过光电耦合器形成报警和加热。当采集温度达到设定的上限值并超过时,子程序执行报警;当采集的温度未达到设定的上限值时,子程序就执行加热,具体的加热报警流程图如图4-5所示。>=上限比较程序<=上限>=上限比较程序<=上限上限报警控制降温上限报警控制升温YN延时延时YN开始返回图4-54.2.5编写程序所需要的总流程图根据需要,编写程序代码必须要流程图,上面所写的都是各个模块的单独流程图,编写汇编语言时需要一个总的流程图,下面图4-6就是所需要的总的流程图。图4-64.2.6本设计的源程序代码(见附录Ⅱ)5单片机控制温度的说明及PID控制5.1温控制的说明温度传感器将温度信息变换为模拟电压信号后,将电压信号放大到单片机可以处理的范围内,经过低通滤波,滤掉干扰信号送入单片机。在单片机中对信号进行采样,为进一步提高测量精度,采样后对信号再进行数字滤波。单片机将检测到的温度信息与设定值进行比较,如果不相符,数字调节程序根据给定值与测得值的差值按PID控制算法设计控制量,触发程序根据控制量控制执行单元。如果检测值高于设定值,则启动制冷系统,降低环境温度;如果检测值低于设定值,则启动加热系统,提高环境温度,达到控制温度的目的。5.2PID控制原理及算法5.2.1PID控制原理PID控制器根据给定值r(t)与实际输出值c(t)构成的控制偏差:(5-1)将偏差的比例(P)、积分(I)和微分(D)通过线性组合构成控制量,对受控对象进行控制。其控制规律为:(5-2)或写成传递函数形式:(5-3)式中,Kp为比例系数,T1为积分时间常数,TD为微分时间常数。简单说来,PID控制器各校正环节的作用是这样的:●比例环节:即时成比例地反应控制系统的偏差信号,偏差一旦产生,控制器立即产生控制作用以减小误差。●积分环节:主要用于消除静差,提高系统的无差度,积分作用的强弱取决于积分时间常数,越大积分作用越弱,反之则越强。●微分环节:能反应偏差信号的变化趋势(变化速率),并能在偏差信号值变得太大之前,在系统中引入一个有效的早期修正信号,从而加快系统的动作速度,减小调节时间。5.2.2PID控制规律及对系统稳定性的影响控制器输出与偏差信号之间的函数关系称为控制规律。控制规律决定了控制器的特性。在控制器输出稳定之前,偏差与输出之间的相互关系,称为控制器的动态特性。在控制器上施加恒定的偏差,经过一段时间,控制器的输出达到稳定,偏差与输出的相互关系称为控制器的静特性。2.3PID的温度控制工式如下:(5-4)

m(t)为PID输出量,e(1),e(2),,,e(n),为积累的设定温度跟测得温度误差,Kp,Ki,Kd,分别为比例环节,积分环节,微分环节的参数。6仿真6.1下面是仿真的结果和分析DS18B20通过对被控对象(干燥器)温度的采集,形成电信号,然后通过AT89C51的处理,在经过总线驱动器74HC245的信号放大的作用在显示器上显示温度数字,再由S1和S2设定的干燥温度和单片机存储的采集信号经过单片机的处理比较,如果采集的温度信号比设定干燥温度高4到5度,则报警系统则会报警提示,然后就该给干燥器内的空气降温;如果当前干燥内的温度低于设定的温度则,系统则会显示要加热。7总结本文设计的温度测控系统,采用DS18B20数字温度传感器实时采集环境温度,采用独立按键自由设定温度上限和下限,采用AT89C51单片机处理采集的温度数据和发送控制温度信号,将环境温度和设定温度通过数码管7SEG-MPX4-CA实时显示。设计的样机系统经实验表明,测温精度和控温精度均高达1℃,测温范围

温馨提示

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

评论

0/150

提交评论