




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
温度控制系统课程设计专 业 电气工程及其自动化 班 级 10级电气6班 组员 姓 名 丁明明、张如意、王权 吴广、杨德伟、王亚勇2013年 0506 月一、设计要求(1)用单片机控制一个由1kw电炉加热的电烤箱,最高温度不超过120。(2)电烤过程恒温控制,温度可通过系统设置,误差不超过2。(3)实时显示温度和设置温度,显示精确为1。(4)温度超出设置温度5时发超限报警,对升温和降温过程不作要求。二、主要功能模块 温度控制系统的主要功能模块包括温度测量(温度传感器、放大器、ADC转换器)、温度控制(光电隔离、驱动电路、可控硅电路、电炉)、温度给定(按键)、温度显示和报警等几部分。根据具体情况选择合适型号的单片机,温度传感器、ADC转换器等硬件设备进行设计。三、要求完成的主要任务:1. 根据功能要求完成硬件电路设计,提供硬件电路图。2. 使用汇编或者C语言完成软件部分设计,实现相应功能。要求程序加注释并提供软件流程图。3. 使用Proteus软件进行系统仿真,并提供仿真截图,测试数据,误差分析。摘要随着现代信息技术的飞速发展,温度控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度测量与控制系统的设计与研究有十分重要的意义。本次设计的目的在于学习与了解单片机技术应用和开发的基本流程。设计中用单片机作为数据处理与控制单元,温度数据采样与处理用DS18B20数字温度传感器,把温度信号通过单总线传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同时将当前温度信息发送到LCD进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。关键词:AT89C51;DS18B20温度传感器;温度控制;温度显示、设置;报警 目录第一章 绪论- 1 -1.课程设计的性质、目的- 1 -2.课程设计的内容- 1 -3.温度控制系统设计题目要求- 2 -第二章 系统总体设计及方案论证- 3 -2.1系统总体设计- 3 -2.2单片机- 4 -2.3温度采集与传感器- 6 -2.4人机交互与串口通信- 7 -第三章 硬件设计- 9 -3.1系统结构框图- 9 -3.2单片机主控单元- 10 -3.3温度信号采集单元- 12 -3.4人机交互与串口通信单元设计- 18 -3.5控制执行单元设计- 20 -第四章 软件设计- 21 -4.1设计思路、流程图- 21 -4.2温度采集子程序- 22 -4.3数据处理子程序- 26 -4.4人机交互子程序- 27 -4.5执行子程序- 31 -第五章 总体电路图- 32 -第六章 结论- 34 -第七章:程序设计- 35 -参考文献- 52 - 51 -第一章 绪论1.课程设计的性质、目的单片机原理及接口技术课程设计是在基本学完该课程之后,综合运用所学单片机知识,完成一个单片机应用系统设计,从而加深对单片机软硬知识的理解,获得初步的应用经验,为走出校门从事单片机应用的相关工作打下基础。 通过该课程设计,主要达到以下目的:巩固和加深对单片机原理和接口技术知识的理解,使学生增进对单片机系统的感性认识,加深对单片机理论方面的理解,为顺利完成毕业设计打下基础。使学生掌握对单片机的内部功能模块的应用,如定时器/计数器、中断、片内外存贮器、I/O口和串行口通讯等,进一步深化和巩固所学基础理论、专业知识及实验技能,培养学生综合运用所学专业知识分析问题和解决问题的能力。 培养学生根据课题需要选学参考书籍、查阅手册和文献资料的能力,了解与课题有关的硬件元器件的工程规范,能按课程设计任务书的要求编写课程设计说明书,学会方案论证的比较方法,初步掌握工程设计的基本方法,能正确反映设计和实验成果,能用计算机绘制电路图和流程图。使学生了解和掌握单片机应用系统的软、硬件设计过程、方法及实现,提高学生的技术应用能力,为以后设计和实现单片机应用系统打下良好基础。这一环节对掌握常用仪器、仪表的正确使用方法,学会软、硬件的设计和调试方法,掌握单片机技术在生产实践中的应用,提高学生的工程实践能力、动手能力、创新能力,使学生树立正确的人生观,养成严谨、踏实的工作作风。2.课程设计的内容课程设计主要内容包括:理论设计、调试及写出总结报告等,其中理论设计又包括选择总体方案、硬件系统设计和软件系统设计。硬件设计包括单元电路、选择元器件及计算参数等;软件设计包括模块化层次结构图、程序流程图等。程序设计是课程设计的关键环节,通过调试,进一步完善程序设计,使之达到课题所要求的指标,使理论设计更接近于实际产品。课程设计的最后要写出设计总结报告,把理论设计内容,调试的过程及性能指标的测试结果进行全面的总结,把实践内容上升到理论高度。3.温度控制系统设计题目要求(1)用单片机控制一个由1kw电炉加热的电烤箱,最高温度不超过120。(2)电烤过程恒温控制,温度可通过系统设置,误差不超过2。(3)实时显示温度和设置温度,显示精确为1。(4)温度超出设置温度5时发超限报警,对升温和降温过程不作要求。第二章 系统总体设计及方案论证2.1系统总体设计本章主要内容是论述基于51单片机的多路温度采集控制系统的总体设计以及方案论证。本系统由单片机、温度信号采集与A/D转换、人机交互、控制执行单元、电源系统单元、通信单元六部分组成,功能模块具体实现的器件的不同,将直接影响整个系统的性能及成本,为了达到高效、实用的目的,在系统设计之前的方案论证是十分重要的,系统设计原理图如图2.1所示:单片机温度信号采集及A/D转换人机交互及串口通信控制执行及报警单元电源系统设计图2.1 系统设计原理图单片机:该部分的功能不仅包括向温度传感器写入各种控制命令、读取温度数据、数据处理,同时还要对执行单元进行控制。单片机是整个系统的控制核心及数据处理核心。温度信号采集与传感器:本部分的主要作用是用传感器检测模拟环境中的温度信号,温度传感器上电流将随环境温度值线性变化。再把电流信号转换成电压信号,使用A/D转换器将模拟电压信号转换成单片机能够进行数据处理的数字电压信号,本设计采用的是数字温度传感器,以上过程都在温度传感器内部完成。 人机交互及串口通信:人机交换的目的是为了提高系统的可用性和实用性。主要包括按键输入、输出显示。通过按键输入完成系统参数设置,而输出显示则完成数据的显示和系统提示信息的输出,串口通信的主要功能是完成单片机与上位机的通信,便于进行温度数据统计,为将来系统功能的扩展做好基础工作。电源系统单元:本单元的主要功能是为单片机提供适当的工作电源,同时也为其他模块提供电源。如液晶显示屏、按键等,在本设计当中,电源系统输出 +5 V 的电源。执行单元:是单片机的输出控制执行部分,根据单片机数据处理的结果,驱动继电器控制外部设备,可以达到超温报警及升温或者降温目的,使环境温度始终保持在一个范围之内。2.2单片机在多数电子设计当中,基于性价比的考虑,8位单片机仍是首选。目前,8位单片机在国内外仍占有重要地位。在8位单片机中又以MCS51系列单片机及其兼容机所占的份额最大。MCS51的硬件结构决定了其指令系统不会发生变化,设计人员可以很容易的对不同公司的单片机产品进行选型,他们只需将重点放在芯片内部资源的比较上。AT89C51单片机是美国Intel公司的8位高档单片机的系列。也是目前应用最为广泛的一种单片机系列。其内部结构简化框图如下所示。AT89C51系列单片机主要有CPU、存储器,IO接口电路及时钟电路等部分组成。AT89C51运算器电路以算术逻辑单元ALU为核心。有累加器ACC、寄存器B、暂存器1、暂存器2、程序状态寄存器PSW和布尔处理机共同组成。它主要完成数据的算术运算、逻辑运算、位变量处理和数据传输操作。运算结果的状态由程序寄存器PSW保存。图1.2-1 AT89C51单片机内部结构简化框图AT89C51系列单片机的封装形式有两种:一种是双列直插方式的封装;另一种是方形的封装。AT89C51单片机40个引脚及总线结构图如下所示。其CMOS工艺制造的低地功耗芯片也有采用方形的封装。但为44个引脚,其中4个引脚是不使用的。由于at89C51单片机是高性能的单片机。同时受到引脚数目的限制,所以有部分引脚具有第二功能。如图1.2-2单片机引脚图。 1.2_2 单片机引脚图2.3温度采集与传感器本部分主要是论证温度传感器的选型。传感器的选择受到很多因素的影响,首先是各种温度传感器自身的优缺点,其次是各种不同的环境因素,还有就是系统所要求实现的精度等,所以在不同的设计当中温度传感器的选择也将不同。方案一:热电偶传感器热电偶传感的原理是将温度变化转换为电势变化。它是利用两种不同材料的金属连接在一起,构成的具有热电效应原理的一种感温元件。其优点为精确度高、测量范围广、构造简单、使用方便,型号种类比较多且技术成熟等。目前广泛应用于工业与民用产品中。热电偶传感器的种类很多,在选择时必须考虑其灵敏度、精确度、可靠性、稳定性等条件。方案二:热电阻传感器热电阻传感器的原理是将温度变化转换为电阻值的变化。热电阻传感器是中低温区最常用的一种温度传感器。它的主要特点是:测量精度高,性能稳定。其中铂热电阻的测量精度是最高的,不仅广泛应用于工业测温,而且被制作成标准的基准仪。从热电阻的测温原理可以知道,被测温度的变化是直接通过热电阻阻值的变化来表现的。因此,热电阻的引出线的电阻的变化会给测温带来影响。为消除引线电阻的影响,一般采用三线制或四线制。热电阻测温系统一般由热电阻、连接导线、显示仪表组成。方案三:半导体集成模拟温度传感器半导体IC温度传感器是利用半导体PN结的电流、电压与温度变换关系来测温的一种感温元件。这种传感器输出线性好、精度高,而且可以把传感器驱动电路、信号处理电路等,与温度传感器部分集成在同一硅片上,体积小,使用方便,应用比较广泛的有AD590等。IC温度传感器在微型计算机控制系统中,通常用于室温或环境温度的检测,以便微型计算机对温度测量值进行补偿。方案四:半导体集成数字温度传感器随着科学技术的不断进步和发展,新型温度传感器的种类繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式、多总线式发展。数字温度传感器,更因适合与各种微处理器的I/O接口相连接,组成自动温度控制系统,这种系统克服了模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,被广泛应用于工业控制、电子测温、医疗仪器等各种温度控制系统中,数字温度传感器中比较有代表性的有DS18B20等。电子设计中常用的几种温度传感器的性能、价格等的对比,如表2.1所示:表2.1 传感器对比表传感器AD590PT100DS18B20产地美国德国美国量程-50+150-200+450-55+125精度 0.30.250.5供电电压+4V+30V+13V+36V+3.0V+5.5V输出信号类型模拟信号模拟信号数字信号PT100与AD590都不能与单片机的I/O口直接相连,需要设计信号调理电路,A/D转换电路。而DS18B20是数字温度传感器,并且采用单总线技术,使该传感器不但可以直接与单片机I/O口相连,并且只需要一个I/O就可以连接多个温度传感器,实现多点温度测量与控制。所以使用数字温度传感器DS18B20不但可以节约单片机I/O口,还能使系统设计成本降低。2.4人机交互与串口通信按键是现阶段电子设计中最常用、最实用的输入设备。按键能够成为最普遍的输入设备,主要是其具备了以下几个优点:工作原理、硬件电路连接简单、操作实用性强、价格便宜,程序编写简单。缺点:机械抖动比较严重、外型不够美观。电子设计中常用的输出显示设备有两种:数码管和LCD。数码管是现在电子设计中使用相当普遍的一种显示设备,每个数码管由7个发光二极管按照一定的排列结构组成,根据七个发光二极管的正负极连接不同,又分为共阴极数码管和共阳极数码管两种,选择的数码管不同,程序设计上也有一定的差别。数码管显示的数据内容比较直观,通常显示从0到F中的任意一个数字,一个数码管可以显示一位,多个数码管就可以显示多位,在显示位数比较少的电路中,程序编写,外围电路设计都十分简单,但是当要显示的位数相对多的时候,数码管操作起来十分烦琐,显示的速度受到限制。并且当硬件电路设计好之后,系统显示能力基本也被确定,系统显示能力的扩展受到了限制。而液晶显示屏具有体积小、功耗低、显示内容丰富等特点,用户可以根据自己的需求,显示自己所需要的、甚至是自己动手设计的图案。当需要显示的数据比较复杂的时候,它的优点就突现出来了,并且当硬件设计完成时,可以通过软件的修改来不断扩展系统显示能力。外围驱动电路设计比较简单,显示能力的扩展将不会涉及到硬件电路的修改,可扩展性很强。字符型液晶显示屏已经成为了单片机应用设计中最常用的信息显示器件之一。不足之处在于其价格比较昂贵,驱动程序编写比较复杂。本设计所需要显示的内容比较复杂,不但包括现场温度值、温度限定值、还有温度传感器序列号的显示,所以本系统的数据显示设备采用LCD。串行通信的主要功能是实现单片机与PC机的数据交换,当需要进行数据记录、数据统计、数据分析的时候,可以把数据发送给上位机,使用上位机进行数据处理,并且将数据处理的结果又发送给单片机。这样可以大大提高系统数据处理速度,还可以方便的对单片机进行控制。计算机与外界的数据传送大部分都是串行的,其传送距离可以从几米到几千米。 第三章 硬件设计本部分详细介绍了基于AT89C51单片机的嵌入式多路温度采集控制系统的硬件设计。硬件系统所需要完成的功能是将温度传感器DS18B20采集到的温度信号,输送到AT89C51单片机的I/O口,然后把单片机数据处理后的结果,送至LCD1602进行显示,把键盘设置的系统参数送到单片机I/O口,把单片机控制信号送到执行单元。本系统硬件设计主要包括温度传感器电路、LCD驱动电路的、按键驱动电路、电源系统电路、串口通信电路、执行电路、AT89C51单片机最小系统的设计。 3.1系统结构框图本系统中以DS18B20传感器作为温度信号采集与转换单元;AT89C51单片机作为数据处理和控制单元;LCD1602作为数据输出显示单元;按键作为系统参数设置单元,继电器作为控制执行单元,蜂鸣器作为超温报警单元,硬件结构框图,如图3.1所示:3.2单片机主控单元本部分主要介绍单片机最小系统的设计。单片机系统的扩展,一般是以基本最小系统为基础的。所谓最小系统,是指一个真正可用的单片机最小配置系统,对于片内带有程序存储器的单片机,只要在芯片外接时钟电路和复位电路就是一个小系统了。小系统是嵌入式系统开发的基石。本电路的小系统主要由三部分组成,一块AT89C51芯片、复位电路及时钟电路。AT89C51单片机:AT89C51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。4K字节可系统编程的Flash程序存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式,空闲方式停止CPU的工作,但允许RAM、定时/计数器、串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但振荡器停止工作,并禁止其它所有部件工作,直到下一个硬件复位。P0是一个8 位双向I/O 端口,端口置1时作高阻抗输入端,作为输出口时能驱动8 个TTL电平。对内部Flash 程序存储器编程时,接收指令字节;校验程序时输出指令字节,需要接上拉电阻。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8 位)/数据总线,访问期间内部的上拉电阻起作用。P1是一个带有内部上拉电阻的8 位准双向I/0 端口。输出时可驱动4 个TTL电平。端口置1 时,内部上拉电阻将端口拉到高电平作输入用。对内部Flash 程序存储器编程时,接收低8 位地址信息。P2是一个带有内部上拉电阻的8 位准双向I/0 端口。输出时可驱动4 个TTL电平。端口置1 时,内部上拉电阻将端口拉到高电平作输入用。对内部Flash 程序存储器编程时,接收高8 位地址和控制信息。在访问外部程序和16 位外部数据存储器时,P2口送出高8 位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变。P3是一个带有内部上拉电阻的8 位准双向I/0 端口。输出时可驱动4 个TTL电平。端口置1 时,内部上拉电阻将端口拉到高电平作输入用。对内部Flash 程序存储器编程时,接控制信息。除此之外P3 端口还有第二功能。P3口引脚的第二功能,如表3.1所示:表3.1 P3口引脚第二功能P3口引脚 第二功能P3.0串行通信输入(RXD)P3.1串行通信输出(TXD)P3.2外部中断0( INT0)P3.3外部中断1(INT1)P3.4定时器0 输入(T0)P3.5定时器1 输入(T1)P3.6外部数据存储器写选通P3.7外部数据存储器读选通复位电路:计算机在启动运行的时候都需要复位,使中央处理器CPU和系统中的其他部件都处于一个确定的初始状态,并且从这个初始状态开始工作。单片机的复位是靠外部电路实现的,MCS-51单片机有一个复位引脚RST,高电平有效。MCS-51单片机通常采用上电自动复位和按钮复位两种。复位电路的基本功能是系统上电时,RC电路充电,RST 引脚出现正脉冲,提供复位信号直至系统电源稳定后,撤销复位信号,为可靠起见,电源稳定后还要经一定的延时,才撤销复位信号,以防电源开关或电源插头分合过程中引起的抖动而影响复位。图3-2中的RC 复位电路可以实现上述基本功能。调整RC 常数会令对驱动能力产生影响。时钟电路:时钟电路提供单片机的时钟控制信号,单片机时钟产生方式有内部时钟方式和外部时钟方式。最常用的是内部时钟方式是采用外接晶振和电容组成的并联谐振回路。瓷片电容的取值对振荡频率输出的稳定性、大小及振荡电路的起振速度都有一定的影响。内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。晶振的频率可以在1MHz-33MHz内选择。电容取30PF 左右。XTAL1是片内振荡器的反相放大器输入端,XTAL2 则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2 悬空。单片机最小系统如图3.2所示:图 3.2 最小系统图3.3温度信号采集单元本部分主要介绍了数字温度传感器DS18B20的内部结构、工作原理以及其外部驱动电路的设计。DS18B20是DALLAS公司的最新单总线数字温度传感器,支持单总线接口,测量温度范围为 -55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以单总线数字方式传输,大大提高了系统的抗干扰性。DS18B20适合用于恶劣环境的现场温度测量,与前一代产品不同,DS18B20传感器支持3V5.5V的电压范围,使系统设计更灵活、方便。而且DS18B20传感器比前一代产品更便宜,体积更小。图3.3 DS18B20内部结构图3.3.1DS18B20基本知识DS18B20数字温度计是DALLAS公司生产的1Wire,即单总线器件,具有线路简单,体积小的特点。因此用它来组成一个测温系统,具有线路简单,在一根通信线,可以挂很多这样的数字温度计,十分方便。DS18B20可以程序设定912位的分辨率,及把用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的。性价比也非常出色。DS18B20开辟了温度传感器技术的新概念,DS18B20的电压、特性及封装有更多的选择。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、温度报警触发器TH和TL、配置寄存器。DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电的电源输入端,内部结构图如图3-3所示。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。温度传感器模块采用DS18B20,主要功能是实时将水温温度数据返回单片机,将模拟信号转换为数字信号,便于数据处理与决策,由于此模块直接决定整个系统能否正常运行,所以是系统的核心模块。3.3.2DS18B20产品的特点(1)只要求一个端口即可实现通信。(2)在DS18B20中的每个器件上都有独一无二的序列号。(3)实际应用中不需要外部任何元器件即可实现测温。(4)测量温度范围在55。C到125。C之间。(5)数字温度计的分辨率用户可以从9位到12位选择。(6)内部有温度上、下限告警设置。DS18B20的引脚介绍TO92封装的DS18B20的引脚排列见图5,其引脚功能描述见表1。图5底视图表1 DS18B20详细引脚功能描述序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。3VDD可选择的VDD引脚。4DS18B20的使用方法由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对STC89C52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的读时序分为读0时序和读1时序两个过程,如图7所示。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序分为写0时序和写1时序两个过程,如图8所示。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。3.3.3 DS18B20的4个主要部件(1)光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48 位是该DS18B20 自身的序列号,最后8 位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。(2)DS18B20 中的温度传感器可完成对温度的测量,以12位转化为例:用16 位符号扩展的二进制补码读数形式提供,以0.0625/LSB 形式表达,其中S为符号位,温度格式如表2所示:表2 DS18B20温度值格式表 Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 LS Byte Bit15 Bit14 Bit13 Bit12 Bit11 Bit10 Bit 9 Bit 8MS Byte 2223 21 202-1 2-22-3 2-4 SS S S S 262524这是12位转化后得到的12 位数据,存储在DS18B20 的两个8 比特的RAM 中,二进制中的前面5 位是符号位,如果测得的温度大于0,这5 位为0,只要将测到的数值乘于0.0625 即可得到实际温度;如果温度小于0,这5 位为1,测到的数值需要取反加1 再乘于0.0625 即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20温度数据如表3所示:表3 DS18B20 温度数据表TEMPERATURE DIGITAL OUTPUT (Binary) DIGITAL OUTPUT (Hex) +125 0000 0111 1101 0000 07D0h +85 0000 0101 0101 0000 0550h +25.0625 0000 0001 1001 0001 0191h +10.125 0000 0000 1010 0010 00A2h +0.5 0000 0000 0000 1000 00008h 0 0000 0000 0000 0000 00000h -0.5 1111 1111 1111 1000 FFF8h -10.125 1111 1111 0101 1110 FF5Eh -25.0625 1111 1110 0110 1111 FE6Eh -551111 1100 1001 0000 FC90hThe power on reset value of the temperature resister is +85 THE (3)DS18B20 温度传感器的存储器DS18B20 温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL 和结构寄存器。(4)配置寄存器该字节各位的意义如表4所示:表4 配置寄存器结构11R0R1TM111低五位一直都是1 ,TM 是测试模式位,用于设置DS18B20 在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1 和R0 用来设置分辨率,如表5所示:表5 温度值分辨率设置表R1R0分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms由表5可见,设定的分辨率越高,所需要的温度转换时间就越长。因此,在实际应用中要将分辨率和转换时间权衡考虑,视设备的实际需要来选择分辨率。3.3.4温度采集模块电路图本设计采用数字传感器DS18B20,DS18B20是一种可组网的单线数字温度传感器,它采用单线总线结构,集温度测量和A/D转换于一体,直接输出数字量,用一根I/O线就可以传送数据与命令,其温度测量范围为-55+125,精度为+/-0.5,使用中无需外部器件,可利用数据线或外部电源提供电能,供电电压范围为3.35.5V,通过编程实现912位分辨率读出温度数据。使用时,将DS18B20的数据DQ与单片机的一位具有三态功能的双向口连接就可以实现数据传输,为保证在有效的时钟周期内提供足够电流,采用外部电源单独供电,在数据线上加一个6.8K的上拉电阻。具体接线如图9所示:图9 温度采集模块电路图高速暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。DS18B20暂存寄存器各字节意义如表3.6所示:表3.6 DS18B20暂存寄存器分布温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC 采用数字温度传感器进行多点温度采集控制系统的设计,只需要将多个温度传感器并联到单总线上,即可以完成硬件电路的设计,单总线要求接一个约4.7K欧姆的上拉电阻,这样单总线的闲置状态就为高电平了。但是当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,在进行多点测温系统设计时这是一个非常重要的因素。连接DS18B20的总线电缆的长度不是无限制的,当采用普通信号电缆传输长度超过50米时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通信距离可达150米,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通信的距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS18B20进行长距离测温系统设计时,要充分考虑总线分布电容和阻抗匹配问题。3.4人机交互与串口通信单元设计人机交互的主要功能是辅助控制、方便调试。在当今的各种实时自动控制和智能化仪器仪表中,人机交互是不可缺少的一部分。一般而言,人机交互是由系统配置的外部设备来完成,其实现方式有两种:一种是由MCU 的I/O口驱动专用芯片实现,如键盘显示控制芯片,串行数据传输数码显示驱动芯片等,来实现人机交互功能。另一种就是MCU本身具有驱动功能,它通过数据总线与控制信号直接采用存储器访问形式或I/O设备的访问形式来控制键盘和LCD实现人机交互。3.4.1键盘输入按键部分实现的主要原理是单片机读取与按键相连接的I/O口状态,来判定按键是否按下,达到系统参数设置的目的。键盘在单片机应用系统中的作用是实现数据输入、命令输入,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一个选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘容易使用,但硬件比较复杂,对于主机任务繁重的情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如按键的识别,决定按键的读数等都靠软件完成,故硬件设计较为简单,但占用CPU较多时间,非编码键盘有:独立式按键结构、矩阵式按键结构两种。矩阵式按键结构适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。矩阵键盘工作的原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。矩阵式按键结构的优点就是节约单片机I/O口,适用于按键比较多的场合。独立式按键结构,独立式按键就是按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键的工作状态,不会影响其他I/O口线上的工作状态。各按键开关均需要采用了上拉电阻,是为了保证在按键断开时,各I/O有确定的高电平。当输入口线内部已有上拉电阻,外电路的上拉电阻可省去。因此,通过检测输入线的电平状态就可以很容易判断是哪个按键被按下了。优点:电路配置灵活,软件结构简单。缺点:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。因此,此键盘适用于按键较少或操作速度较高的场合。在本设计当中,由于只需要四个按键,所以采用独立式键盘结构。3.4.2 液晶显示屏输出液晶显示屏具有微功耗、体积小、显示内容丰富、超薄轻巧等诸多优点。在袖珍式仪表和低功耗应用系统中,LCD得到越来越广泛的应用。字符型液晶显示屏,是一种用5*7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等,本设计以常用的2行16个字的LCD1602液晶模块作为数据显示模块。LCD1602采用标准的16脚接口,其中:第1脚:VSS接地第2脚:VDD接5V正电源。第3脚:为液晶显示器对比度调整端,接电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K欧姆的电位器来调整对比度。第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时,可以写入指令或者显示地址,当RS为低电平RW为高电平时,可以读忙信号,当RS为高电平RW为低电平时可以写入数据。第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第714脚:D0D7为8位双向数据线。第1516脚:空脚3.5控制执行单元设计控制执行系统所要完成的功能是根据数据处理结果,单片机的对应的I/O输出高电平或者低电平,控制继电器的闭合,达到控制电炉或风扇的启动和停止,但是单片机I/O口的输出电流仅为20mA,不足以驱动继电器,同时也为提高其驱动能力和抗干扰能力,系统设计了继电器驱动电路,在风扇控制电路中由三极管Q2与电阻R13组成放大电路,而二极管D2构成泄放回路,用以在系统断电时迅速将继电器自感电动势迅速拉低,起到保护作用。通过继电器的闭合来控制大功率设备的开与关,达到自动控制的目的。继电器驱动电路原理图如图3.8所示:图3.8 继电器驱动电路报警电路实现的是当环境温度值超过系统设置的上限值或者小于系统设置的下限值时,都将通过I/O口驱动蜂鸣器,进行蜂鸣器报警。而单片机I/O口输出的电流无法直接驱动蜂鸣器,所以设计了蜂鸣器驱动电路,具体电路连接如图3.9所示: 3.9 报警电路图 第四章 软件设计本部分详细介绍了基于AT89C51单片机的多路温度采集控制系统的软件设计。根据系统功能,可以将系统设计分为若干个子程序进行设计,如温度采集子程序,数据处理子程序、显示子程序、执行子程序。采用Keil uVision3集成编译环境和汇编语言来进行系统软件的设计。本章从设计思路、软件系统框图出发,先介绍整体的思路后,再逐一分析各模块程序算法的实现,最终编写出满足任务需求的程序。4.1设计思路、流程图本系统要完成温度信号的采集与控制,需要实现温度信号的采集与A/D转换、数据处理、数据显示、数据传输等基本功能。从功能上可将其分为温度信号采集及A/D转换、数据处理、人机交互、执行四大部分进行设计,软件系统框图如图4.1所示: 数据处理子程序人机交互子程序温度采集子程序控制执行子程序图4.1 软件系统框图温度信号采集子程序,主要完成温度信号采集与A/D功能,由于数字温度传感器DS18B20是采用单总线结构,所以软件设计需要根据单总线协议来完成温度数据采集、A/D转换和传输。温度信号采集子程序主要包括传感器初始化、单片机给传感器写命令、单片机给传感器写数据、单片机从传感器读数据等部分。数据处理子程序,当单片机收到温度传感器发送的温度数据后,数据处理子程序对该数据进行处理,主要是把采集到的二进制的温度数据转换成十进制温度数据。 人机交互子程序包括按键子程序、LCD显示子程序。按键子程序是完成按键识别功能,实现系统参数的设置。按键子程序又包括设置子程序、加一子程序、减一子程序等。LCD显示子程序的功能是,实现将数据处理后的十进制温度数据,使用LCD显示出来。而LCD显示子程序又包括LCD初始化子程序、写命令子程序、写数据子程序等。执行子程序,该子程序所实现的功能,是把按键子程序设置的系统温度限定值与数据处理子程序处理后的当前温度值进行比较,根据比较的结果,执行单片机的I/O口输出的状态。I/O口的高低电平控制继电器闭合达到控制大功率设备的目的。主程序流程图如图4.2所示:温度限值设置子程序第X路温度采集子程序执行子程序显示子程序数据处理子程序设置键按下?NY初始化X=1采集下路?NY开始返 回X=X+1图4-2 主程序流程图4.2温度采集子程序1-wire 单总线是Maxim 全资子公司Dallas 的一项专有技术,与目前多数标准串行数据通信方式不同,它采用单根信号线,既传输时钟又传输数据。而且数据传输是双向的。它具有结构简单、节省I/O 口资源、成本低廉、便于总线扩展和维护等诸多优点,1-wire 单总线适用于单个主机系统,能够控制一个或多个从机设备,当只有一个从机位于总线上时,系统可按照单节点系统操作,而当多个从机位于总线上时,系统则按照多节点系统进行操作。而较小的硬件开销需要相对复杂的软件进行补偿,由于DS18B20与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。软件系统可分为命令序列、信号方式、信号类型和时序。4.2.1 命令序列 根据DS18B20的通信协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前,都要对DS18B20进行复位即初始化,复位成功后发送一条ROM指令即ROM操作,最后发送RAM指令即功能命令,这样才能对DS18B20进行预定的操作。初始化:基于单总线上的所有传输过程都是以初始化开始的,初始化过程由主机发出的复位脉冲和从机响应的应答脉冲组成,应答脉冲使主机知道总线上有从机设备且准备就绪。复位要求主机将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右后,发出60240微秒的低脉冲,主机收到此信号表示复位成功。ROM命令:主机检测到应答脉冲后,发出ROM 命令,这些命令与一个从机设备的唯一64 位ROM 代码相关,允许主机在单总线上连接多个从机设备,指定操作一个从机设备。这些命令还使主机能够检测到总线上有多少个从机设备以及类型和有没有设备处于报警状态。从机设备可以支持5 种ROM 命令。每种命令长度为8 位,主机在发出功能命令之前,必须送出合适的ROM 命令。DS18B20有5个ROM 操作命令,如表4.1所示: 表4.1 ROM 指令表指令代码功能读ROM33H读DS18温度传感器ROM中的编码匹配ROM55H接着发出64位ROM编码,访问单总线上与该编码相对应DS18B20,使之做出响应搜索ROM0FCH用于确定挂在同一总线上DS18B20的个数和识别64位ROM地址跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发温度转换命令,适用于单点测温报警搜索命令0ECH执行后只有温度超过设定值上限值和下限值的温度传感器才做出响应功能命令: 在主机发出ROM命令以访问某个指定的DS18B20后,接着就可以发DS18B20支持的某个功能命令,这些命令允许主机写入或读出DS18B20暂存器、启动温度转换以及判断从机的供电方式。DS18B20有6个存储器功能命令,如表4.2所示:表4.2 RAM指令表指令代码功能温度变换44H启动DS18B20进行温度转换读暂存器0BEH读内部RAM中的9字节内容写暂存器4EH发出向内部RAM的3、4字节写上限、下限温度数据命令复制暂存器48H将RAM中的第3、4字节的内容复制到EEPROM重调EEPROM0B8H将EEPROM的内容复制RAM中的第3、4字节读供电方式0B4H读DS18B20的供电方式4.2.2信号方式所有的单总线器件要求采用严格的单总线通信协议,以保证数据的完整性。该协议定义了几种信号类型:复位脉冲、应答脉冲、写0、写1、读0和读1 。所有这些信号,除了应答脉冲以外,都由主机发出同步信号。并且发送的所有命令和数据都是字节的低位在前,这一点与多数串行通信格式不同。 初始化序列:包括复位和应答脉冲。单总线上的所有通信都是以初始化序列开始,包括主机发出的复位脉冲及从机的应答脉冲。如图4-3所示。当从机发出响应主机的应答脉冲时,即向主机表明它处于总线上,且工作准备就绪。在主机初始化过程,主机通过拉低单总线至少480微秒,以产
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 陪诊师考试题库及答案
- 钳焊工考试题及答案
- 青海公安考试题库及答案
- 软件培训考试题及答案
- 劳务派遣法律风险防范考核试卷
- 色彩数字考试题及答案
- 诗经考试题及答案
- 节日加班劳动保护法律法规解读考核试卷
- 制度体系之问题处理管理制度
- 数据统计分析培训课程考核试卷
- 证据目录范本
- 标准档案盒脊背(格式已设置好)
- 中式烹调师(高级技师考试资料)
- GB/T 21475-2008造船指示灯颜色
- 园林绿化工高级技师知识考试题库(附含答案)
- 安医大生殖医学课件04胚胎的培养
- 可下载打印的公司章程
- 关于推荐评审高级工程师专业技术职务的推荐意见报告
- Q∕GDW 10356-2020 三相智能电能表型式规范
- 教研工作手册
- CINV化疗相关呕吐课件
评论
0/150
提交评论