版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精选优质文档-----倾情为你奉上精选优质文档-----倾情为你奉上专心---专注---专业专心---专注---专业精选优质文档-----倾情为你奉上专心---专注---专业2013年6月毕业论文自动恒温控制系统的设计学生:指导教师:专业:所在单位:答辩日期:2013年6月目录TOC\o"1-3"\h\u摘要 IABSTRACT II第1章绪论 11.1引言 11.2论文工作的背景、内容及意义 11.2.1研究背景 11.2.2论文主要内容 21.2.3研究意义 2第2章系统总体方案设计 32.1系统总体设计方案 32.2系统部分功能模块设计 32.2.1温度采集电路选择 32.2.2显示电路 62.2.3按键输入电路 62.3开发环境及编程语言的选择 72.3.1硬件开发环境的选择 72.3.2软件开发环境的选择 82.3.3编程语言的选择 9第3章硬件电路设计 113.1单片机的选型 113.1.1STC89C52单片机简介 113.1.2STC89C52单片机时序 113.1.3STC89C52单片机引脚介绍 113.2单片机最小系统电路 143.3系统电源电路的设计 153.4温度传感器电路 173.4.1温度采集电路 173.4.2A/D转换电路 193.5按键输入电路 223.6时钟电路 223.7LCD显示电路 233.8报警电路 243.9串口通信电路 253.9.1MAX232资料简介 253.9.2RS232接口介绍 253.10存储器接口电路 27第4章系统软件设计 294.1读取温度子程序 294.3按键处理子程序 304.4计算温度子程序 324.5报警子程序 32总结 34致谢 35参考文献 36附录1 37附录2 38摘要随着微机测量和控制技术的迅速发展与广泛应用,以单片机为核心的温度采集与控制系统的研发与应用在很大程度上提高了生产生活中对温度的控制水平。本设计论述了一种以STC89C52单片机为主控制单元,以PT100为温度传感器的温度采集系统,并通过ADC0809进行模数转换传给单片机。该采集系统可以实时存储相关的温度数据并记录当前的时间。系统设计了相关的硬件电路和相关应用程序。硬件电路主要包括STC89C52单片机最小系统,测温电路、实时时钟电路、LCD液晶显示电路以及通讯模块电路等。系统程序主要包括主程序,读出温度子程序,计算温度子程序、按键处理程序、LCD显示程序以及数据存储程序等。关键词STC89C52单片机;PT100;LCD显示电路;ADC0809ABSTRACTAlongwiththecomputermeasurementandcontroltechnologyoftherapiddevelopmentandwideapplication,basedonsinglechiptemperaturegatheringandcontrolsystemdevelopmentandapplicationgreatlyimprovetheproductionoftemperatureinlifelevelofcontrol.ThisdesignSTC89C52describesakindofmainlybyMCUcontrolunit,fortemperaturesensorPT100temperaturecontrolsystem.Thecontrolsystemcanreal-timestoragetemperaturedataandrecordrelatedtothecurrenttime.Systemdesignrelatedhardwarecircuitandrelatedapplications.STC89C52microcontrollerhardwarecircuitincludetemperaturedetectioncircuitsmallestsystem,andreal-timeclockcircuit,LCDdisplaycircuit,communicationmodulecircuit,etc.Systemprogrammingmainlyincludemainprogram,readtemperaturesubroutine,thecalculationoftemperaturesubroutines,keyprocessingprocedures,LCDdisplayproceduresanddatastorageprocedures,etc.KeywordsSTC89C52microcontroller;PT100;LCDdisplaycircuit;ADC0809第1章绪论1.1引言现代工业生产中,温度是一个非常普遍但却十分重要的一个工艺参数。很多材料的特性与温度息息相关,且物理变化和化学反应过程都与温度密切相关因此对温度的控制是现代自动化生产中的重要任务。而对于现代工业中不同生产情况和工艺要求,所采用的加热方式,燃料,控制方案等也不尽相同。传统的温度测量办法是利用一般温度计进行读数。对于需要随时了解温度变化的场合,这种办法将会消耗大量人力、物力,而且对于变化较快的温度数值不能做到同步及时测量,效果不佳。由于读数时的人为因素引起的误差也不可忽视。要用人工进行温度控制,其劳动强度可想而知,而且无法做到精确控制,因此需要寻求更好的测温控温办法。伴随着微电子技术和微型计算机的迅猛发展,微机测量和控制技术以其逻辑简单、控制灵活、使用方便及性能价格比高的优点得到了迅猛发展和广泛应用。它不仅在航空。航天、铁路交通、冶金、电力、电讯、石油化工等领域获得了广泛应用。而且其技术在日常生活中诸如电梯、微波炉、电冰箱、电视机、智能照相机、电动玩具、全自动洗衣机、智能空调等高科技产品中也具有广阔的使用前景,尤其是许多智能仪表和测控系统中引入电脑控制技术后,使传统仪器、仪表设备发生了根本变化,为工业生产的自动化、智能化奠定了坚实的技术基础。所以越来越多的控制方法都采用了智能单片机控制。单片机是一种集CPU、RAM、ROM、I/O接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。因此,单片机广泛地应用于现代工业控制中。控制具有体积小、重量轻、价格低、可靠性高、耗电少和灵活机动等许多优点,因此如果能利用单片机进行温度的测量和控制,将会大大提高温度测量和控制的可靠性和灵活性。1.2论文工作的背景、内容及意义1.2.1研究背景以前的炉温控制系统大都需要手工操作,按工艺需求设定温度值加大电压使点炉升温,其升温很难达到线性,恒温保持也受外界干扰很大,无法实时控制,另外对工艺要求复杂的控制对象难以控制。为了做到工艺控制的全自动化,并达到高精度高稳定性的实时要求,研究一个智能性的炉温实时控制系统是很有意义的。以前在温度控制时,主要通过人为的控制方式,即根据经验时间来估计加热到预定温度的时间,以及通过用温度计进行实时测量来控制加热的时间。这种方式不仅劳动强度高,而且对于温度变化很快的时候无法达到精确控制。所以必须对加热炉的温度控制方式进行改进,来降低劳动强度及控制精度。1.2.2论文主要内容利用单片机来测量炉内的温度和对炉内温度进行控制。利用温度传感器与信号电路相结合,再经过单片机处理显示,通过24小时的定温监测以及在温度上升或下降到某一范围定时报警,节省人力和物力,大大提高工作效率。1.2.3研究意义通过单片机来控制加热的过程促进了生产过程自动化。而生产过程自动化是保持生产稳定、降低消耗、改善劳动条件、保证生产安全和提高劳动生产率的重要手段。采用温度控制系统来控制温度对企业具有重要的意义:1.降低劳动强度,改善劳动条件。采用单片机系统后,不再需要工人不停的对加热炉进行检查。2.提高控制精度。单片机可以对温度进行实时的控制,降低温度加热的滞后性,以此提高加热的精度。3.提高工作效率,降低成本,采用单片机系统控制可以更快的达到恒温控制的效果,提高工作效率、节省能源、降低成本。4.提高企业对可控制电加热技术的应用水平,锻炼企业技术人员的开发、应用能力。第2章系统总体方案设计2.1系统总体设计方案本系统采用了STC89C52作为处理器,以PT100为温度传感器的温度采集系统,并通过ADC0809进行模数转换,该控制系统可以实时存储相关的温度数据并记录当前的时间。其主要包括:电源模块、温度采集模块、按键处理模块、实时时钟模块、数据存储模块、报警电路模块、LCD显示模块、通讯模块以及单片机最小系统。硬件系统原理框图如图2-1。实时时钟模块实时时钟模块存储模块通讯模块按键输入模块LCD显示模块温度采集模块STC89SC52报警电路模块电源模块ADC0809图2-1硬件原理框图2.2系统部分功能模块设计2.2.1温度采集电路选择传感器的选择:目前,温度传感器没有统一的分类方法。按输出量分类有模拟式温度传感器和数字式温度传感器。按测温方式分类有接触式温度传感器和非接触式温度传感器。按类型分类有分立式温度传感器(含敏感元件)、模拟集成温度传感器和智能温度传感器(即数字温度传感器)。温度传感器的从测量原理分为,体积热膨胀,电阻变化,热电效应(热电偶),压电效应频率变化,光学反应等温度传感器,它们各自有自己的优缺点,利用体积热膨胀的温度传感器,不需要用电。电阻温度传感器分为铜电阻,中等精度价格低;铂电阻高精度价格高;热敏电阻,精度低灵敏度高。热电效应温度传感器,温度范围宽,测量精度高但需要冷端补偿。利用压电效应和频率变化改变输出值的温度传感器可以作为标准使用。利用光学变化改变温度传感器适合高温非接触测量。温度传感器是最早开发,应用最广的一类传感器。常用的温度传感器有热电阻、热敏电阻和热电偶。在半导体技术的支持下,本世纪相继开发了半导体热电偶传感器、PN结温度传感器和集成温度传感器。与之相应,根据波与物质的相互作用规律,相继开发了声学温度传感器、红外传感器和微波传感器。方案一:选择热电偶传感器热电偶作为测温原件具有结构简单、较高的精准度、测量范围宽、具有良好的敏感度等优点,在温度测量中应用最为广泛。方案二:选择热电阻传感器热电阻在工业上广泛应用于测量-200~+500℃范围的温度,随着科技的发展热电阻温度计的测量范围低温端可达-272.5℃左右,高温端可测到1000℃。热电阻温度传感器的特点是精度高,适宜测低温。在560℃以下的温度测量中,它的输出信号比热电偶容易测量。本系统选择的加热炉温度一般在室温0~700℃范围内,范围比较窄,也比较低,对精度的要求也比较低,综合考虑热电阻、热电偶和热敏电阻的特点,选用热电阻比较好。另外,热电阻又有铂电阻、铜电阻、铁电阻和镍电阻等,各有其特点,由于铂电阻稳定性好,性能可靠,所以本设计选用了常用的铂电阻Pt100作为温度传感器。方案三:选择MAX6577作为传感器MAX6577作为温度传感芯片,这是一种将温度转换为均衡频率方波的传感器(温度→频率),其主要特点如下:方波输出,无需A/D转换与单片机计数端直接相连。温度测量范围-40~+125℃。较低的测量误差。测量温度是+25℃时,误差范围为±0.8℃;测量温度是+125℃时,误差范围为±0.5℃。不需外接元件,体积小(最大3mm×3mm),适合用作温度测量探头。需要注意的是,该传感芯片将温度转换为频率是以绝对温度(K)为前提,因此对频率的计数结果应减去273才能得到摄氏温度,这当然可以在软件编写时方便地做运算处理。由于本设计的控制温度范围在室温0~700℃,由于铂电阻的精度高,所以本设计选择方案二。A/D转换芯片的选择:A/D转换器把传感器采集的模拟量输入转换成单片所能识别的数字量信号。A/D转换器的种类分为双积分A/D转换器如ICL7109,逐次逼近型A/D转换器如ADC0809和并型A/D转换器。双积分A/D转换器的精度高,抗干扰性好,价格便宜,但是速度较慢,逐次逼近型A/D转换器的精度,价格,速度适中,并型A/D转换器,速度快价格也昂贵,本设计综合考虑采用逐次逼近型A/D转换器ADC0809。单片机与A/D转换器接口电路的主要功能是:通过I/O输出通道启动转换或直接输出指令启动转换。启动转换的方式完全由A/D内部电路结构而定。把转换好的数据送入CPU。当确定使用A/D转换器以后,按下列原则选择A/D转换器芯片。根据前向通道的总误差,选择A/D转换器精度及分辨率。根据信号对象的变化率及转换精度要求,确定A/D转换速度,以保证系统的实时性要求。根据环境条件选择A/D转换芯片的一些环境参数要求,如工作温度、功耗、可靠性等级性能。根据单片机接口特征,考虑如何选择A/D转换器的输出状态。其它,还要考虑到成本、资源、是否是流行芯片等因素。由于各A/D转换器的性能指标不一样,速度相差很大,一般需要有数10uS以上的转换时间,因此在单片机发出转换命令后,需等待转换结束方可读取数据。常用的有程序查询输入方式和中断方式。INT7和INT6两个输入端分别接地和AD参考电源,是为了实现数字自动调零和抑制电源波动对转换的影响,并可供微机仪表实现自校用。ADC0809的内部结构框图如图2-2所示,本系统采用ADC0809构成A/D转换电路。ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近寄存器、三态输出锁存器等其它一些电路组成。因此,ADC0809可处理8路模拟量输入,且有三态输出能力,既可与各种微处理器相连,也可单独工作。输入输出与TTL兼容。由于ADC0809的片内无时钟,它的时钟频率在10KHZ—1280KHZ之间。可利用AT89C52提供的地址锁存允许信号ALE经D触发器二分频所得,ALE脚的频率是AT89C52单片机时钟频率的。由于ADC0809具有输出三态锁存器,故其8位数据输出引脚可直接与数据总线相连。方案一:选择MC14433MC14433是3又1/2位BCD码输出、双积分式的A/D转换芯片,转换速度约1~10次/s,需±5V工作电源,其模拟量输入电压为199.9mV或1.999V,基准电源相应为200mV或2V。方案二:选择ADC0809ADC0809是8位、逐次逼近式A/D转换芯片,具有地址锁存控制的8路模拟开关,应用单一+5V电源,其模拟量输入电压的范围为0~-5V,对应的数字量输出为00~FFH,转换时间为100us,无需调零或调整满量程。根据MC14433和ADC0809的特性可以看出,ADC0809的转换速度快,且只需单一的+5V电源,使用起来比MC14433方便的多。本系统的要求温度控制误差在±2℃内,采用8位A/D转换器,其最大量化误差为±0.5×(1/255)×250℃=±0.5℃,完全能满足要求。2.2.2显示电路在单片机系统中常用的显示电路有LED显示、LCD显示。方案一:LED显示屏采用七段码显示时,数码管中的每一段相当于一个发光二极管。对于共阳极的数码管,内部每个发光二极管的阳极被连在一起,成为该各段的公共选通线,发光二极管的阴极则成为段选线。对于共阴极数码管,则正好相反,内部发光二极管的阴极接在一起,阳极成为段选线。这两种数码管的驱动方式是不同的。当需要点亮共阳极数码管的一段时,公共段需接高电平,该段的段选线接低电平。从而该段被点亮。当需要点亮共阴极数码管的一段时,公共段需接低电平,该段的段选线接高电平,该段被点亮。方案二:LCD显示电路多采用1602液晶。1602液晶也叫1602字符型液晶,它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。1602LCD是指显示的内容为,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。液晶显示器以其微功耗、体积小、显示内容丰富、超薄轻巧的诸多优点,在袖珍式仪表和低功耗应用系统中得到越来越广泛的应用。基于精确显示,拟采用方案二。2.2.3按键输入电路一般键盘电路有两种:独立式键盘和矩阵式键盘。方案一:独立式键盘中,各按键相互独立,每个按键各接一根输入线,每根输入线上的按键工作状态不会影响其它输入线上的工作状态。因此,通过检测输入线的电平状态就可以很容易的判断按键是否被按下了。独立式键盘电路配置灵活,软件结构简单。但每个按键需占用一根输入线,在按键数量较多时,输入口浪费大,电路结构显得很繁杂,故此种按键适用于按键较少或操作速度较高的场合。方案二:矩阵式键盘由行线和列线组成,按键位于行、列的交叉点上,分别连接到按键开关的两端。行线通过上拉电阻接到VCC上。平时无按键动作时,行线处于低电平状态,而当有按键按下时,列线电平为低,行线电平为高。这一点是识别矩阵式是否被按下的关键所在。因此,各按键彼此将相互影响,所以必须将行、列线信号配合起来并作适合的处理,才能确定闭合键的位置。很明显,在按键数量较多的场合,矩阵式键盘与独立式键盘相比,要节省很多的I/O口。由于本系统只需要4个按键,故选择独立式键盘。2.3开发环境及编程语言的选择2.3.1硬件开发环境的选择Protel是Protel公司在80年代末推出的EDA软件,在电子行业的CAD软件中,它当之无愧地排在众多EDA软件的前面,是电子设计者的首选软件,它较早就在国内开始使用,在国内的普及率也最高,有些高校的电子专业还专门开设了课程来学习它,几乎所有的电子公司都要用到它,许多大公司在招聘电子设计人才时在其条件栏上常会写着要求会使用Protel。早期的Protel主要作为印制板自动布线工具使用,运行在DOS环境,对硬件的要求很低,在无硬盘286机的1M内存下就能运行,但它的功能也较少,只有电原理图绘制与印制板设计功能,其印制板自动布线的布通率也低,而现今的Protel已发展到Protel99(网络上可下载到它的测试板),是个庞大的EDA软件,完全安装有200多M,它工作在WINDOWS95环境下,是个完整的板级全方位电子设计系统,它包含了电原理图绘制、模拟电路与数字电路混合信号仿真、多层印制电路板设计(包含印制电路板自动布线)、可编程逻辑器件设计、图表生成、电子表格生成、支持宏操作等功能,并具有Client/Server(客户/服务器)体系结构,同时还兼容一些其它设计软件的文件格式,如ORCAD,PSPICE,EXCEL等,其多层印制线路板的自动布线可实现高密度PCB的100%布通率。在国内Protel软件较易买到,有关Protel软件和使用说明的书也有很多,这为它的普及提供了基础。Protel软件的原厂商Altium公司推出了Protel系列的高端版本AltiumDesigner6.9。AltiumDesigner6.9,它是完全一体化电子产品开发系统的一个新版本,也是业界第一款也是唯一一种完整的板级设计解决方案。AltiumDesigner是业界首例将设计流程、集成化PCB设计、可编程器件(如FPGA)设计和基于处理器设计的嵌入式软件开发功能整合在一起的产品,一种同时进行PCB和FPGA设计以及嵌入式设计的解决方案,具有将设计方案从概念转变为最终成品所需的全部功能。这款高端版本AltiumDesigner6.9除了全面继承包括99SE,Protel2004在内的先前一系列版本的功能和优点以外,还增加了许多改进和很多高端功能。AltiumDesigner6.9拓宽了板级设计的传统界限,全面集成了FPGA设计功能和SOPC设计实现功能,从而允许工程师能将系统设计中的FPGA与PCB设计以及嵌入式设计集成在一起。Designer6.9以强大的设计输入功能为特点,在FPGA和板级设计中,同时支持原理图输入和HDL硬件描述输入模式;同时支持基于VHDL的设计仿真,混合信号电路仿真、布局前/后信号完整性分析。AltiumDesigner6.9的布局布线采用完全规则驱动模式,并且在PCB布线中采用了无网格的SitusTM拓扑逻辑自动布线功能;同时,将完整的CAM输出功能的编辑结合在一起。AltiumDesigner6.9极大地增强了对高密板设计的支持,可用于高速数字信号设计,提供大量新功能和改进,改善了对复杂多层板卡的管理和导航,可将器件放置在PCB板的正反两面,处理高密度封装技术,如高密度引脚数量的球型网格阵列(BGAs)。AltiumDesigner6.9中的BoardInsight系统把设计师的鼠标变成了交互式的数据挖掘工具。BoardInsight集成了“警示”显示功能,可毫不费力地浏览和编辑设计中叠放的对象。工程师可以专注于其目前的编辑任务,也可以完全进入目标区域内的任何其他对象,这增加了在密集、多层设计环境中的编辑速度。AltiumDesigner6.9引入了强大的‘逃逸布线’引擎,尝试将每个定义的焊盘通过布线刚好引到BGA边界,这令对密集BGA类型封装的布线变的非常简单。显著的节省了设计时间,设计师无需手动就可以完成在一大堆焊盘间将线连接这些器件的内部管脚。AltiumDesigner6.9极大减少了带有大量管脚的器件封装在高密度板卡上设计的时间,简化了复杂板卡的设计导航功能,设计师可以有效处理高速差分信号,尤其对大规模可编程器件上的大量LVDS资源。AltiumDesigner6.9充分利用可得到的板卡空间和现代封装技术,以更有效的设计流程和更低的制造成本缩短上市时间。经比较,本设计采用AltiumDesigner6.9。2.3.2软件开发环境的选择单片机开发中除必要的硬件外,同样离不开软件,汇编语言源程序要变成CPU可以执行的机器吗有两种方法,一种是手工汇编,另一种是机器汇编,目前已经极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS—51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,单片机的开发软件业在不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件业在不断发展。方案一:Keil是德国知名软件公司Keil(现已并入Arm公司)开发的基于8051内核的微控制器软件开发平台,是目前开发8051内核单片机的主流工具,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分结合在一起。运行Keil软件需要Pentium或以上的CPU,16M或更多的RAM、20M以上的闲散硬盘空间、WIN98、NT、WIN2000、WINXP等操作系统。掌握这一软件的使用对于使用51系列单片机的爱好者来说是十分必要的,如果使用的是C语言,则该软件十分适用,即使使用的是汇编语言,其方便易用的集成环境、强大的软件仿真调试工具也会令工作事半功倍。方案二:使用伟福软件必须使用伟福的硬件才能仿真,硬件自己也不能搭起来,硬件的支持很少,软件编程起来也比较繁琐。伟福的单片机软件平台内部的编译器不如Keil的好用,如果写的程序行中存在错误,在编译的过程中,Keil可以精确的指出语法错误所在的程序所在行数,而伟福就不能做到非常精确了,所以这次设计选择方案一。2.3.3编程语言的选择方案一:选择C语言C语言是一种通用的程序设计语言,其代码率高,数据类型及运算符丰富,并具有良好的程序结构,适用于各种应用的程序设计,是目前使用较广的单片机编程语言。单片机的C语言采用C51编译器(简称C51)。由C51产生的目标代码短、运行速度高、所需存储空间小。方案二:选择汇编语言当设计一个小的嵌入式系统时,一般我们都用汇编语言。在很多工程中,这是一个很好的方法,因为,代码一般都不超过8K,而且都比较简单。如果硬件工程师要同时设计软件和硬件,经常会采用汇编语言来做程序。同时还应该认识到,汇编语言是一个非常低级的语言,它仅仅高于直接手工编写二进制的机器指令码,因此不可避免地存在一些缺点:编写的代码非常难懂,不好维护;很容易产生Bug,难于调试;只能针对特定的体系结构和处理器进行优化;开发效率很低,时间长且单调;兼容性不好,与硬件关系非常紧密。如果使用C51的话,可以很好的解决这些问题。应用C51编程具有以下优点:1、不需要了解处理器的指令集,对8051的存储器结构也不必要了解;2、寄存器分配和寻址方式由编译器进行管理;3、指定操作的变量选择组合提高了程序的可读性;4、可使用与人的思维更相近的关键字和操作函数;5、与使用汇编语言编程相比,程序的开发和调试时间大大缩短;6、库文件可提供许多标准的例程(例如格式化输出、数据转换和浮点运算)加入到应用程序当中;7、可实现模块化编程技术,从而可将已编制好的程序加入到新程序中;8、C语言可移植性好且非常普及,C编译器几乎适用于所有的目标系统,已完成的软件工程可以容易地转换到其它的处理器或环境。此外,C51语言还有许多强大的功能,如提供丰富的库函数供用户直接调用,完整的编译控制指令为程序调试提供必要的符号信息等等。总之,C51语言是广大单片机开发人员的强有力的工具,所以本设计选择C语言和汇编语言同时使用。第3章硬件电路设计3.1单片机的选型3.1.1STC89C52单片机简介目前,52系列单片机在工业检测领域中得到了广泛的应用,因此我们可以在许多单片机应用领域中,配接各种类型的语音接口,构成具有合成语音输出能力的综合应用系统,以增强人机对话的功能。STC89C52单片机是深圳宏晶科技有限公司生产的一种单片机,在一小块芯片上集成了一个微型计算机的各个组成部分。每一个单片机包括:一个8位的微型处理器CPU;一个512K的片内数据存储器RAM;4K片内程序存储器;四个8位并行的I/O接口P0-P3,每个接口既可以输入,也可以输出;两个定时器/记数器;五个中断源的中断控制系统;一个全双工UART的串行I/O口;片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率是12MHZ。以上各个部分通过内部总线相连接。3.1.2STC89C52单片机时序STC89C52单片机的一个执器周期由6个状态(s1—s6)组成,每个状态又持续2个震荡周期,分为P1和P2两个节拍。这样,一个机器周期由12个振荡周期组成。若采用12MHz的晶体振荡器,则每个机器周期为1us,每个状态周期为;在一数情况下,算术和逻辑操作发生在N期间,而内部寄存器到寄存器的传输发生在P2期间。对于单周期指令,当指令操作码读人指令寄存器时,使从S1P2开始执行指令。如果是双字节指令,则在同一机器周期的s4读人第二字节。若为单字节指令,则在51期间仍进行读,但所读入的字节操作码被忽略,且程序计数据也不加1。在加结束时完成指令操作。多数STC89C52指令周期为1—2个机器周期,只有乘法和除法指令需要两个以上机器周期的指令,它们需4个机器周期。对于双字节单机器指令,通常是在一个机器周期内从程序存储器中读人两个字节,但Movx指令例外,Movx指令是访问外部数据存储器的单字节双机器周期指令,在执行Movx指令期间,外部数据存储器被访问且被选通时跳过两次取指操作。3.1.3STC89C52单片机引脚介绍STC89C52单片机的40个引脚中有2个专用于主电源引脚,2个外接晶振的引脚,4个控制或与其它电源复用的引脚,以及32条输入输出I/O引脚。下面按引脚功能分为4个部分叙述个引脚的功能。(1)电源引脚Vcc和VssVcc(40脚):接+5V电源正端;Vss(20脚):接地。(2)外接晶振引脚XTAL1和XTAL2XTAL1(19脚):接外部石英晶体的一端。在单片机内部,它是一个反相放大器的输入端,这个放大器构成采用外部时钟时,对于HMOS单片机,该引脚接地;对于CHOMS单片机,该引脚作为外部振荡信号的输入端。XTAL2(18脚):接外部晶体的另一端。在单片机内部,接至片内振荡器的反相放大器的输出端。当采用外部时钟时,对于HMOS单片机,该引脚作为外部振荡信号的输入端。对于CHMOS芯片,该引脚悬空不接。(3)控制信号或与其它电源复用引脚控制信号或与其它电源复用引脚有RST/VPD、ALE/P、PSEN和EA/VPP等4种形式。A.RST/VPD(9脚):RST即为RESET,VPD为备用电源,所以该引脚为单片机的上电复位或掉电保护端。当单片机振荡器工作时,该引脚上出现持续两个机器周期的高电平,就可实现复位操作,使单片机复位到初始状态。当VCC发生故障,降低到低电平规定值或掉电时,该引脚可接上备用电源VPD(+5V)为内部RAM供电,以保证RAM中的数据不丢失。B.ALE/P(30脚):当访问外部存储器时,ALE(允许地址锁存信号)以每机器周期两次的信号输出,用于锁存出现在P0口的低C.PSEN(29脚):片外程序存储器读选通输出端,低电平有效。当从外部程序存储器读取指令或常数期间,每个机器周期PESN两次有效,以通过数据总线口读回指令或常数。当访问外部数据存储器期间,PESN信号将不出现。D.EA/Vpp(31脚):EA为访问外部程序储器控制信号,低电平有效。当EA端保持高电平时,单片机访问片内程序存储器4KB(MS—52子系列为8KB)。若超出该范围时,自动转去执行外部程序存储器的程序。当EA端保持低电平时,无论片内有无程序存储器,均只访问外部程序存储器。对于片内含有EPROM的单片机,在EPROM编程期间,该引脚用于接21V的编程电源Vpp。(4)输入/输出(I/O)引脚P0口、P1口、P2口及P3口A.P0口(39脚~22脚):P0.0~P0.7统称为P0口。当不接外部存储器与不扩展I/O接口时,它可作为准双向8位输入/输出接口。当接有外部程序存储器或扩展I/O口时,P0口为地址/数据分时复用口。它分时提供8位双向数据总线。对于片内含有EPROM的单片机,当EPROM编程时,从P0口输入指令字节,而当检验程序时,则输出指令字节。B.P1口(1脚~8脚):P1.0~P1.7统称为P1口,可作为准双向I/O接口使用。对于MCS—52子系列单片机,P1.0和P1.1还有第2功能:P1.0口用作定时器/计数器2的计数脉冲输入端T2;P1.1用作定时器/计数器2的外部控制端T2EX。对于EPROM编程和进行程序校验时,P0口接收输入的低8位地址。C.P2口(21脚~28脚):P2.0~P2.7统称为P2口,一般可作为准双向I/O接口。当接有外部程序存储器或扩展I/O接口且寻址范围超过256个字节时,P2口用于高8位地址总线送出高8位地址。对于EPROM编程和进行程序校验时,P2口接收输入的8位地址。D.P3口(10脚~17脚):P3.0~P3.7统称为P3口。它为双功能口,可以作为一般的准双向I/O接口,也可以将每1位用于第2功能,而且P3口的每一条引脚均可独立定义为第1功能的输入输出或第2功能。P3口的第2功能见下表。表3-1单片机P3.0管脚含义引脚第2功能P3.0RXD(串行口输入端0)P3.1TXD(串行口输出端)P3.2INT0(部中断0请求输入端,低电平有效)P3.3INT1(中断1请求输入端,低电平有效)P3.4T0(时器/计数器0计数脉冲端)P3.5T1(时器/计数器1数脉冲端)P3.6WR(部数据存储器写选通信号输出端,低电平有效)P3.7RD(部数据存储器读选通信号输出端,低电平有效)综上所述,MCS—52系列单片机的引脚作用可归纳为以下两点:(1)单片机功能多,引脚数少,因而许多引脚具有第2功能;(2)单片机对外呈3总线形式,由P2、P0口组成16位地址总线;由P0口分时复用作为数据总线。3.2单片机最小系统电路在温度控制系统设计中,控制核心是STC89C52单片机,该单片机为52系列增强型8位单片机,它有32个I/O口,片内含4KFLASH工艺的程序存储器,便于用电的方式瞬间擦除和改写,而且价格便宜,其外部晶振为12MHz,一个指令周期为1μS。使用该单片机完全可以完成设计任务,其最小系统主要包括:复位电路、震荡电路以及存储器选择模式(EA脚的高低电平选择),电路如下图3-1所示:图3-1单片机最小系统电路3.3系统电源电路的设计本系统采用电源稳压芯片是LM2596,该开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,输出电压是+5v,输入电压是+24v,同时具有很好的线性和负载调节特性。该器件内部集成频率补偿和固定频率发生器,开关频率为150KHz,与低频开关调节器相比较,可以使用更小规格的滤波元件。该器件还有其他一些特点:在特定的输入电压和输出负载的条件下,输出电压的误差可以保证在±4%的范围内,振荡频率误差在±15%的范围内;可以用仅80μA的待机电流,实现外部断电;具有自我保护电路(一个两级降频限流保护和一个在异常情况下断电的过温完全保护电路)。在该温度控制系统中,其电源电路设计如下图3-2所示。图3-2电源电路3.4温度传感器电路3.4.1温度采集电路利用热电阻温度系数随温度变化而制成的温度传感器,称为热电阻温度传感器。对于大多数金属导体,其电阻值都具有随温度升高而增大的特性。常用的金属导体材料有铂、铜、铁和镍。热电阻是中低温区最常见的一种温度传感器。它主要特点是测量精度高,性能稳定。热电阻的电阻变化范围很小,如果直接用欧姆表测量其电阻值的变化将十分困难、且误差很大,必须使用电桥电路,然后经过放大电路,放大偏差值。铂电阻温度传感器是利用其电阻和温度成一定函数关系而制成的温度传感器,由于其测量准确度高、测量范围大、复现性和稳定性好等,被广泛用于中温()范围的温度测量中。Pt100是一种广泛应用的测温元件,在范围内具有其他任何温度传感器无可比拟的优势,包括高精度、稳定性好、抗干扰能力强等。由于铂电阻的电阻值与温度成非线性关系,所以需要进行非线性校正。校正分为模拟电路校正和微处理器数字化校正,模拟校正有很多现成的电路,其精度不高且易受温漂等干扰因素影响,数字化校正则需要在微处理系统中使用,将Pt电阻的电阻值和温度对应起来后存入EEPROM中,根据电路中实测的AD值以查表方式计算相应温度值,如下表3-2。表3-2PT100分度表()温度0123456789℃电阻值(Ω)0100100.39100.78101.17101.56101.95102.34102.73103.12103.5110103.9104.29104.68105.07105.46105.85106.24106.63107.02107.420107.79108.18108.57108.96109.35109.73110.12110.51110.9111.2930111.67112.06112.45112.83113.22113.61114114.38114.77115.1540115.54115.93116.31116.7117.08117.47117.86118.24118.63119.0150119.4119.78120.17120.55120.94121.32121.71122.09122.47122.8660123.24123.63124.01124.39124.78125.16125.54125.93126.31126.6970127.08127.46127.84128.22128.61128.99129.37129.75130.13130.5280130.9131.28131.66132.04132.42132.8133.18133.57133.95134.3390134.71135.09135.47135.85136.23136.61136.99137.37137.75138.13100138.51138.88139.26139.64140.02140.4140.78141.16141.54141.91110142.29142.67143.05143.43143.8144.18144.56144.94145.31145.69120146.07146.44146.82147.2147.57147.95148.33148.7149.08149.46130149.83150.21150.58150.96151.33151.71152.08152.46152.83153.21140153.58153.96154.33154.71155.08155.46155.83156.2156.58156.95150157.33157.7158.07158.45158.82159.19159.56159.94160.31160.68160161.05161.43161.8162.17162.54162.91163.29163.66164.03164.4170164.77165.14165.51165.89166.26166.63167167.37167.74168.11180168.48168.85169.22169.59169.96170.33170.7171.07171.43171.8190172.17172.54172.91173.28173.65174.02174.38174.75175.12175.49200175.86176.22176.59176.96177.33177.69178.06178.43178.79179.16210179.53179.89180.26180.63180.99181.36181.72182.09182.46182.82220183.19183.55183.92184.28184.65185.01185.38185.74186.11186.47230186.84187.2187.56187.93188.29188.66189.02189.38189.75190.11240190.47190.84191.2191.56191.92192.29192.65193.01193.37193.74250194.1Pt100温度传感器为正温度系数热敏传感器,主要技术参数如下:测量范围:;允许偏差值:A级±(0.15+0.002|t|),B级±(0.30+0.005|t|);最小置入深度:热电阻的最下置入深度≥200mm;允通电流≤5mA。另外,Pt100温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。铂热电阻的线性较好,之间变化时,最大非线性偏差小于。Pt100应用领:宽范围、高精度温度测量领域。如:轴瓦,缸体,油管,水管,汽管,纺机,空调,热水器等狭小空间也领域设备测量和控制。汽车空调、冰箱、冷柜、饮水机、咖啡机,烘干机以及中低温干燥箱、恒温箱等。供热/制冷管道热量计量,中央空调分机热能计量和工业领域测温和控制。图3-3温度采集电路具体温度采样电路如图3-3所示。将温度的变化转化变为电压的变化,经过放大后送往A/D转化为数字量进行处理。Rx为传感器热电阻,由电桥实现温度到电压的转化,由运放IC3完成信号的放大,由IC4完成信号的调整。设输入IC3的2,3端电压分别对应为Vi2,Vi3那么(3-1)(3-2)其中Rx为传感器热阻值,Vref为基准源电压,K为调整系数。由于R1>>Rw2(如R1=100KΩ,Rw2=1KΩ),同样R2>>Rx(如R2=100KΩ,Rx=1KΩ),因而VOUT=K(R6/R4)Vref(Rw2-Rx)/R2,在后级的A/D,满刻度时,那么VOUT=5V。实际电路调整中,已经确定R6,置传感器于25℃环境,调整Rw2,使VOUT=0V;置传感器于35℃环境,调节Rw6,使VOUT=5V;使完成前向模拟通道的调整。3.4.2A/D转换电路ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。(一)ADC0809的内部逻辑结构见图3-4。由图可知,ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。从图中可以看出,ADC0809是串口通信电路,这也是为什么ADC0809模块传送速率比较快,且正确率较高。图3-4ADC0809内部结构(二)引脚结构IN0-IN7:8条模拟量输入通道。ADC0809对输入模拟量要求:信号单极性,电压范围是0-5V,若信号太小,必须进行放大;输入的模拟量在转换过程中应该保持不变,如若模拟量变化太快,则需在输入前增加采样保持电路。地址输入和控制线:4条。ALE为地址锁存允许输入线,高电平有效。当ALE线为高电平时,地址锁存与译码器将A,B,C三条地址线的地址信号进行锁存,经译码后被选中的通道的模拟量进转换器进行转换。表3-3模拟量输入通道选择表CBA选择的通道000IN0001IN1010IN2011IN3100IN4101IN5110IN6111IN7A,B和C为地址输入线,用于选通IN0-IN7上的一路模拟量输入。通道选择表如下表3-3所示。数字量输出及控制线:11条ST为转换启动信号。当ST上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,ST应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ。VREF(+),VREF(-)为参考电压输入。ADC0809芯片的引脚图见图3-5图3-5ADC0809引脚图ADC0809的频率要低于640KHz,单片机使用的是12MHz,从ALE端引出的信号频率已经六分频了,所以还需要四分频。D触发器的特性方程是,当把D和Q非连接起来,方程就变成了,具有翻转功能,即每输入一个脉冲,触发器翻转一次,每翻转两次,触发器的输出端可以得到一个完整的矩形波,而触发器翻转两次所用的前沿脉冲来自CP的两个矩形波。一个D触发器完成了二分频电路,用其输出再去触发另一个D触发器(又是一个二分频),这样,就完成了信号的四分频。该触发器是前沿触发方式。四分频电路和脉冲电路如图3-6。图3-6四分频电路和脉冲电路3.5按键输入电路本设计采用4个按键组成键盘,均接10KΩ的电阻来拉高电平,在按键按下时输入低电平信号。由于STC89C52单片机I/O口丰富,在此还有剩余,因此选用将按键直接与I/O口连接的方式,简化电路的同时还简化了软件设计。具体设计如图3-7所示:图3-7键盘模块电路3.6时钟电路本设计采用时钟芯片DS1302,时钟芯片DS1302与单片机STC89C52的接口是由3条线来完成的,单片机STC89C52的P3.4与时钟芯片的数据传输端相连,P3.5用来作为DS1302输入时钟SCLK控制端,P3.6控制DS1302的复位输入端。DS1302接标准的12MHz石英晶振。DS1302与单片机的接口电路如图3-8所示:图3-8时钟接口电路3.7LCD显示电路本设计采用LCD1602,其电路原理如图3-9,LCD1602液晶显示,是一种专门用来显示字母、数字、符号等的点阵型液晶模块。它由若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此所以它不能很好地显示图形(用自定义CGRAM,显示效果也不好)。其中各引脚的功能是:第1脚:VSS为电源地第2脚:VDD接5V电源正极第3脚:VEE为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。第7~14脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。LCD1602的特性:1、3.3V或5V工作电压,对比度可调2、内含复位电路3、提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能4、有80字节显示数据存储器DDRAM5、内建有192个5X7点阵的字型的字符发生器CGROM6、8个可由用户自定义的5X7的字符发生器CGRAM图3-9LCD显示电路3.8报警电路在微型计算机控制系统中,为了安全生产,对于一些重要的参数或系统部位,都设有紧急状态报警系统,以便提醒操作人员注意,或采取紧急措施。其方法就是把计算机采集的数据或记过计算机进行数据处理、数字滤波,标度变换之后,与该参数上下限给定值进行比较,如果高于上限值(或低于下限值)则进行报警,否则就作为采样的正常值,进行显示和控制。在现实工作过程中,很容易碰到由于偶然因素造成的未能及时控制加热炉的温度从而造成工业上的重大事故,对于工业生产可能造成非常不好的影响,所以对于温度进行过限报警有着很重要的现实意义。本此设计是针对工业生产中的加热炉的很稳控制的操作,虽然不能达到智能加热控制,但是对于恒温的一些可以人工操作的部分实现,加上报警模块,不仅在温度低于限定值是可以报警,在温度超过限定温度是,亦可以进行报警,避免因未及时报警造成损失。报警电路如图3-10所示,该电路采用一个小功率三极管Q1驱动蜂鸣器BELL,当单片机接收到超额温度信号或危险信号时,输出脚BELL输出高点平,Q1导通,致使蜂鸣器BELL得电工作,发出报警声。同时,电路中的发光二极管指示出电路的工作状态。图3-10报警电路3.9串口通信电路本设计采用串行通信的初衷是通过串行口实现PC机和单片机的通信,在测试过程中,通过串行口可将温度数据传送到PC机上作为备份保存。PC机的显示器可以更清楚、直观地显示温度波动变化过程。3.9.1MAX232资料简介该产品是由德州仪器公司(TI)推出的一款兼容RS232标准的芯片。由于电脑串口RS232电平是-10v+10v,而一般的单片机应用系统的信号电压是ttl电平0+5v,MAX232就是用来进行电平转换的,该器件包含2驱动器、2接收器和一个电压发生器电路提供TIA/EIA-232-F电平。该器件符合TIA/EIA-232-F标准,每一个接收器将TIA/EIA-232-F电平转换成5-VTTL/CMOS电平。每一个发送器将TTL/CMOS电平转换成TIA/EIA-232-F电平。1、单5V电源工作2、LinBiCMOSTM工艺技术3、两个驱动器及两个接收器4、±30V输入电平5、低电源电流:典型值是8mA6、符合甚至优于ANSI标准EIA/TIA-232-E及ITU推荐标准V.287、ESD保护大于MIL-STD-883(方法3015)标准的2000V4.2.3复位电路的设计3.9.2RS232接口介绍RS232接口是1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25个脚的DB25连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。DB25的串口一般只用到的管脚只有2(RXD)、3(TXD)、7(GND)这三个,随着设备的不断改进,现在DB25针很少看到了,代替他的是DB9的接口,DB9所用到的管脚比DB25有所变化,是2(RXD)、3(TXD)、5(GND)这三个。因此现在都把RS232接口叫做DB9。由于RS232接口标准出现较早,难免有不足之处,主要有以下四点:(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。(2)传输速率较低,在异步传输时,波特率为20Kbps;因此在“南方的老树51CPLD开发板”中,综合程序波特率只能采用19200,也是这个原因。(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱。(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在50M左右。51单片机有一个全双工的串行通讯口,所以单片机和电脑之间可以方便地进行串口通讯。进行串行通讯时要满足一定的条件,比如电脑的串口是RS232电平的,而单片机的串口是TTL电平的,两者之间必须有一个电平转换电路,我们采用了专用芯片MAX232进行转换,虽然也可以用几个三极管进行模拟转换,但是还是用专用芯片更简单可靠。我们采用了三线制连接串口,也就是说和电脑的9针串口只连接其中的3根线:第15脚的GND、第13脚的RXD、第14脚的TXD。这是最简单的连接方法,但是对我们来说已经足够使用了,电路如下图3-11所示,MAX232的第12脚和单片机的RXD连接,第11脚和单片机的TXD脚连接。图3-11串口通信电路设计中用到的MAX232芯片是电平转换芯片。MAX232芯片是MAXIM公司生产的,包含两路接收器和驱动器的IC芯片,适用于各种EIA-232C和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源电压变换成为RS-232C输出电平所需的+-10V电压。所以,采用此芯片接口的串行通信系统只需单一的+5V电源就可以了。对于没±12V电源的场合,其适应性更强。加之其价格适中,硬件接口简单,所以被广泛采用。图中上半部分电容C1、C2、C3、C4,及V+,V-是电源变换电路部分。在实际应用中,器件对噪声很敏感。因此,Vcc必须要对地加去耦电容C5,其值为0.1uF。电容C1、C2、C3、C4取同样数值的钽电解电容0.1uF/16V,用以提高抗干扰能力,在连接时必须尽量靠近器件。下半部分为发送和接收部分。实际应用中,T1IN和T2IN可直接接TTL/CMOS电平的单片机ADuC812的串行发送端TxD;R1OUT,R2OUT可直接接TTL/CMOS电平的单片机ADuC812的串行发送端RxD;T1OUT,T2OUT可直接接PC机的RS-232串口的接收端RxD;R1IN,R2IN可直接接PC机的RS-232串口的发送端TxD。3.10存储器接口电路AT24C256是一个256K位串行CMOS,内部含有32768个字节,每字节为8位CATALYST。该器件通过I2C
总线接口进行操作。其电路图如下图3-12所示。管脚描述:
SCL:串行时钟输入管脚用于产生器件所有数据发送或接收的时钟这是一个输入管脚。
SDA:双向串行数据/地址管脚用于器件所有数据的发送或接收,SDA是一个开漏输出管脚可与其它开漏输出或集电极开路输出进行线或wire-OR。WP:写保护,当WP
脚连接到Vcc所有内存变成写保护只能读,当WP
引脚连接到Vss
或悬空允许器件进行读/写操作。
A0/A1:器件地址输入。虽然STC89C52脚STC89C31单片机存储空间有了较大的增加,但是仍然不能满足实际电路的需求,本电路中,需要将加热炉的温度数据存储,并且与PC机有串口通信,需要有更大的存储空间来接收和发送温度波动的数据,便于PC机对温度的波动绘制波动图。图3-12存储器接口电路第4章系统软件设计系统的软件主要是采用C语言,对单片机进行变成实现各项功能。主程序对模块进行初始化,而后调用读温度、处理温度、显示、键盘等模块。用的是循环查询方式,来显示和控制温度,主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值并负责调用各子程序,其程序流程如图4-1系统程序流程图。开始开始初始化启动PT100读取温度计算温度LCD显示图4-1系统流程图4.1读取温度子程序读出温度子程序的主要功能包括初始化,判断PT100是否存在,若存在则进行一系列的读操,作若不存在则返回。其程序流程图如图4-2所示。其中在PT100采集电路中得到的是加热炉的模拟温度值,不是最后输入到单片机电路中的最终数据,若单片机能够识别,需要先进行模数转换,将模拟信号转换为数字信号,虽然其中会存在误差,但是加热炉的控制,存在一定的误差值,模数转换所带来的误差在可处理的误差范围内。开始开始初始化返回ROM操作命令存储操作命令读取温度值PT100存在与否?否是图4-2读取温度流程图4.3按键处理子程序按键处理子程序主要是负责参数的设置,主程序每循环一次都要对按键进行扫描,判断是否有输入键按下则进行一系列的按键输入操作。其程序流程框图如图4-3所示。开始开始ENTER键是否按下?ENTER-FLAG值为1是否有DOWN键按下是否有UP键按下是否由ENTER键按下显示退出子程序,返回主程序ENTER子程序FALG=1UP子程序DOWN子程序否是是是否是否是否是否图4-3按键处理流程图4.4计算温度子程序计算温度子程序将RAM中读取值进行BCD码的转换运算,并进行温度值正负的判定,其程序流程图如图4-4所示。开始开始温度取值是否为正值温度值取补码置“-”标志计算小数位温度BCD值计算整数位温度BCD值结束置“+”标志否是图4-4计算温度子程序4.5报警子程序报警子程序流程如图4-5所示。根据设计要求,当检测到当前温度值高于设定温度值时报警。为了防止误报,设置了报警允许标志,只有在允许报警的情况下,温度值高于设定温度值时才报警。报警子程序报警子程序温度是否大于预设值是否允许报警开启报警返回否是否是图4-5报警流程图第5章系统仿真5.1仿真软件本设计采用熟悉的Proteus软件进行相应的仿真工作。ProteusISIS是英国Labcenter公司开发的电路分析与实物仿真软件。它运行于Windows操作系统上,可以仿真、分析(SPICE)各种模拟器件和集成电路,该软件的特点是:实现了单片机仿真和SPICE电路仿真相结合。具有模拟电路仿真、数字电路仿真、单片机及其外围电路组成的系统的仿真、RS232动态仿真、I2C调试器、SPI调试器、键盘和LCD系统仿真的功能;有各种虚拟仪器,如示波器、逻辑分析仪、信号发生器等。支持主流单片机系统的仿真。目前支持的单片机类型有:6800系列、8051系列、AVR系列、PIC12系列、PIC16系列、PIC18系列、Z80系列、HC11系列以及各种外围芯片。提供软件调试功能。在硬件仿真系统中具有全速、单步、设置断点等调试功能,同时可以观察各个变量、寄存器等的当前状态,因此在该软件仿真系统中,也必须具有这些功能;同时支持第三方的软件编译和调试环境,如KeilC51uVision2等软件。具有强大的原理图绘制功能。总之,该软件是一款集单片机和SPICE分析于一身的仿真软件,功能极其强大。5.2系统仿真本次设计工作是对温度进行恒温控制,其中最重要的部分是能够采集到准确的温度值,并将其显示出来。所以根据原理图部分,绘制出了电路的温度采集和显示部分,以实现电路的温度采集工作。启动Proteus软件,按本次设计的原理图画出电路仿真图,根据元件属性设置相应元件参数。由于PT100温度传感器在仿真过程中波动较大,使得显示的温度跳跃变化,不易于温度显示与测量。因此在本次仿真中用一个电阻来代替PT100热电阻,通过改变电阻阻值来反映PT100温度测量。另外,由于在Proteus软件中不能仿真LM2596恒压源,所以在本次仿真过程中采用软件自带的-2.5V的恒压原代替。对于数码管显示电路,在仿真过程中没有用三级管来驱动是为了画图的方便,这对仿真结果没多大影响,但在实际电路连接中必须在数码管加上三极管驱动。系统电路仿真图如图5-1所示。图5-1温度采集模块仿真Proteus软件的仿真是依靠单片机程序来实现的,因此先将程序通过第三方KeilC51软件编译,连接,执行后产生一个HEX文件,再与Proteus仿真软件进行关联就可以实现仿真。在仿真过程中由于软硬件影响,还有人为计算误差因素,使得测量温度结果与理想测量结果存在一定的误差,因此可以通过改变硬件参数和软件程序设计来减少误差。另外,在仿真过程中,按键会可能产生抖动现象,可以通过硬件来消除抖动。总结本设计的目的是实现对温度的智能控制,可以在温度过低或过高时,发出告警。设计的主要电路部分是温度传感器部分,显示部分,扩展存储器部分,按键控制部分和串口通信部分。本设计是基于单片机的自动恒温控制系统,在扩展外部模块的时候,尽量的与现实相结合,其中,关于温度传感器模块,选择使用PT100来进行温度采集工作,由于PT100的温度采集精度高且电路模块易于实现。选选择外扩存储器,由于单片机内存有限,以及希望实现单片机对于温度的采集存储。经过调测,系统可以实现单片机的温度采集工作,及串口数据传输,将采集的温度信息传送到PC机上。对于接受的温度进行预警判断,能够较为准确得判断温度数据是否准确,并在过高和过低情况下发出警报。在3个月的设计过程中,也使得我能够熟练的操作WORD和DXP了,这也算是毕业设计忙碌之余的额外收货吧。最后,由于受限于自己的知识和时间,关于所做恒温控制系统还有很多未完善的地方,我会在今后的学习生活中进行完善。致谢在本次设计中,我要感谢我的指导老师王超老师。她的悉心指导和关怀也让我学习和研究的兴趣越发浓厚。从论文的开题、研究现有资料直至系统电路图的确定和论文初稿的审阅修改,老师都给了很多指导,让我对设计课题渐渐深入地了解、认识,并最终完成了设计任务。同时,王老师严谨态度和负责任的精神深深地感染了我,将使我终身受益。谨向王老师致以崇高的敬意和衷心的感谢!同时,我还要感谢同班做温度测量和湿度控制的同学,在与他们交流的过程中,我获得了相当大的启发,共同解决了设计上的疑惑,我也要感谢他们长期以来在生活和学习上对我的关心和帮助。感谢在百忙之中评阅本论文的老师,感谢你们提出了宝贵意见使得本论文得以完善。再次向所有关心支持帮助过我的老师和同学们表示衷心感谢!参考文献[1].胡汉才编著.单片机原理及其接口技术[M].北京:清华大学出版社,1996[2].康华光.模拟电子技术.北京:高等教育出版社,2002[3].徐惠民等编著.单片微型计算机原理、接口及应用[M].北京:北京邮电出版社,2000[4].胡健主编.单片机原理及接口技术实践教程[M].北京:机械工业出版社,2004[5].阎石.数字电子技术[M].北京:高等教育出版社,2004[6].王兆安、黄俊.电力电子技术[M].北京:机械工业出版社,2000[8].杜刚等.微计算机应用[J].2004年7月第25卷第4期[9].潘新民等编著.微型计算机控制技术[M].北京:高等教育出版社,2001[10].赵伟军主编.Protel99SE原理图与PCB仿真[M].北京:机械工业出版社,2005[11].陈杰、黄鸿.传感器与检测技术[M].北京:高等教育出版社,2002[12].8-bitMicrocontrollerWith8KBytesin-systemprogrambleFlashAT89S52[M].ATMEL,2001[13].T.Mori.Linearsystemwithcommensuratetimedelay:stabilityandstabilizationindependentofdelay[J].IEEE,Tran.Automat.1982,27(2):367-375附录1附录2C语言部分//延时Nms//DS1820引脚定义sbitTMDAT=P1^0。voidDS1820_DelayCount(unsignedcharCoun){dataunsignedcharCount。Count=Coun。while(Count>0)Count--。Count=Coun。while(Count>0)Count--。}//复位DS18B20voidDS1820_Reset(void){TMDAT=0。DS1820_DelayCount(412)。TMDAT=1。DS1820_DelayCount(16)。}//等待DS18B20应答unsignedcharDS1820_Answer(void){ dataunsignedinti。 dataunsignedcharj。i=0xc000。while(TMDAT){ i--。 if(i==0) return(aban_return)。}i=0xffff。 j=3。while(~TMDAT){ i--。 if(i==0) if(j==0) return(aban_return)。 else { j--。 i=0xffff。 } }DS1820_DelayCount(16)。return(done_return)。}//等待DS18B20应答//读取位bitDS1820_Readbit(void){datainti=0。bitdat。TMDAT=0。i++。i++。i++。i++。TMDAT=1。i++。i++。i++。i++。i++。i++。i++。i++。dat=TMDAT。//DS1820_DelayCount(8)。DS1820_DelayCount(32)。returndat。}//读取字节unsigne
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2026学年堆雪人的说课稿语言
- 陶瓷原料准备工岗前规章制度考核试卷含答案
- 粮油竞价交易员安全文明强化考核试卷含答案
- 钻床工岗前风险评估考核试卷含答案
- 仪表设备点检员保密意识强化考核试卷含答案
- 钢琴及键盘乐器制作工岗前离岗考核试卷含答案
- 纺织面料设计师岗后测试考核试卷含答案
- 野生植物保护员岗位隐患治理考核试卷含答案
- 2025-2026学年大班健康说课稿 跳皮筋
- 护工岗位安全宣传考核试卷含答案
- 【第一次月考】2026 秋七年级上册道法第一次月考卷(统编版素养测评)
- 2026年非融资担保服务行业市场深度调查及投资规划报告及未来五至十年区域市场差异与机会
- 2026-2027学年四年级上册数学第一次月考分层训练测试完整版试卷
- 中国树莓果汁市场销售格局与未来经营效益盈利性研究报告
- 高中主题班会 珍爱生命远离毒品课件-高中主题班会
- 比亚迪造车工作制度
- 新时期高校统战工作:问题剖析与创新发展路径探究
- 河北省石家庄市等2地2025-2026学年高二上学期10月月考物理试题
- 2024年秋人教版三年级英语上册电子课本
- 猪场非瘟质保协议书
- 楼房地基注浆加固施工方案
评论
0/150
提交评论