基于单片机的温度采集系统的设计毕业设计说明书.doc_第1页
基于单片机的温度采集系统的设计毕业设计说明书.doc_第2页
基于单片机的温度采集系统的设计毕业设计说明书.doc_第3页
基于单片机的温度采集系统的设计毕业设计说明书.doc_第4页
基于单片机的温度采集系统的设计毕业设计说明书.doc_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

第一章:绪论1.1课题背景随着单片机技术的迅速兴起与蓬勃发展,其稳定、安全、高效、经济等优点十分突出,所以其应用也十分广泛。单片机已经无处不在、与我们生活息息相关,并且渗透到生活的方方面面。单片机的特点是体积较小,也就是其集成特性,其内部结构是普通计算机系统的简化,增加一些外围电路,就能够组成一个完整的小系统,单片机具有很强的可扩展性。它具有和普通计算机类似的、强大的数据处理功能,通过使用一些科学的算法,可以获得很强的数据处理能力。所以单片机在工业中应用中,可以极大地提高工业设备的智能化、数据处理能力和处理效率,而且单片机无需占用很大的空间。随着温度检测理论和技术的不断更新, 温度传感器的种类也越来越多,在微机系统中使用的传感器,必须是能够将非电量转换成电量的传感器,目前常用的有热电偶传感器、热电阻传感器和半导体集成传感器等,每种传感器根据其自身特性,都有它自己的应用领域。1.2温度检测的意义与技术发展温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓度、挤压成形、结晶以及空气流动等物理和化学过程。因此对温度的检测的意义就越来越大。温度采集系统在工业生产、科学研究和人们的生活领域中,得到了广泛应用。在工业生产过程中,很多时候都需要对温度进行严格的监控,以使得生产能够顺利的进行,产品的质量才能够得到充分的保证。温度采集系统是在嵌入式系统设计的基础上发展起来的。嵌入式系统虽然起源于微型计算机时代,但是微型计算机的体积、价位、可靠性,都无法满足广大对象对嵌入式系统的要求,因此,嵌入式系统必须走独立发展道路。这条道路就是芯片化道路。将计算机做在一个芯片上,从而开创了嵌入式系统独立发展的单片机时代。单片机诞生于二十世纪七十年代末,经历了SCM、MCU和SOC三大阶段。第二章:系统总体设计及方案论证2.1系统总体设计本章主要内容是论述基于51单片机的温度采集系统的总体设计以及方案论证。本系统由单片机、温度信号采集与A/D转换、人机交互、电源系统单元、通信单元五部分组成,功能模块具体实现的器件的不同,将直接影响整个系统的性能及成本,为了达到高效、实用的目的,在系统设计之前的方案论证是十分重要的。2.2本系统工作流程,见图2-1系统上电初始化DS18B20进行数据的采集并将数据以二进制的形式传至单片机单片机对数据进行处理LCD进行温度显示通过串口将数据传至计算机图2-1系统工作流程单片机:该部分的功能不仅包括向温度传感器写入各种控制命令、读取温度数据、数据处理。单片机是整个系统的控制核心及数据处理核心。温度信号采集与传感器:本部分的主要作用是用传感器检测模拟环境中的温度信号,温度传感器上电流将随环境温度值线性变化。再把电流信号转换成电压信号,使用A/D转换器将模拟电压信号转换成单片机能够进行数据处理的数字电压信号,本设计采用的是数字温度传感器,以上过程都在温度传感器内部完成。 人机交互及串口通信:人机交换的目的是为了提高系统的可用性和实用性。主要包括按键输入、输出显示。通过按键输入完成系统参数设置,而输出显示则完成数据的显示和系统提示信息的输出,串口通信的主要功能是完成单片机与上位机的通信,便于进行温度数据统计,为将来系统功能的扩展做好基础工作。电源系统单元:本单元的主要功能是为单片机提供适当的工作电源,同时也为其他模块提供电源。如液晶显示屏、按键等,在本设计当中,电源系统输出 +5 V 的电源。2.2.1单片机在多数电子设计当中,基于性价比的考虑,8位单片机仍是首选。目前,8位单片机在国内外仍占有重要地位。在8位单片机中又以MCS51系列单片机及其兼容机所占的份额最大。MCS51的硬件结构决定了其指令系统不会发生变化,设计人员可以很容易的对不同公司的单片机产品进行选型,他们只需将重点放在芯片内部资源的比较上。在以前的电子设计中,应用比较广泛的单片机是AT89C51单片机了,但是该单片机最致命的缺陷在于不支持ISP功能。Atmel公司目前已经停止了AT89C51生产,51单片机必须加上ISP功能才能更好延续MCS-51 的传奇,AT89S51就是在这样的背景下诞生的,目前AT89S51已经成为了实际应用市场上的新宠儿。89S51在工艺上进行了改进,它采用0.35 mm新工艺,不但降低成本了,而且增加了功能,提升了单片机性能,提高了市场竞争力。AT89S51新增了许多功能,性能也有了较大的提升,但是价格仍旧与AT89C51的价格一致。新增的功能之中最具有影响力的就是ISP在线编程功能,这个功能的优势在于,改写单片机Flash存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。显然,AT89S51在性能上比AT89C51要优良得多,因为它不但在AT89C51的基础上增加了许多功能,而且价格基本没有提高,所以在器件选择的时候首先排除AT89C51,对于市场上的另外一种比较流行的单片机C8051F,尽管它在性能、功能上都要比AT89S51优良很多,但是它的价格是S51的数倍,本系统使用S51已经完全能够实现所需要的功能,基于成本的考虑,放弃C8051F,选择AT89S51作为本系统的主控单元。2.2.2温度采集与传感器本部分主要是论证温度传感器的选型。传感器的选择受到很多因素的影响,首先是各种温度传感器自身的优缺点,其次是各种不同的环境因素,还有就是系统所要求实现的精度等,所以在不同的设计当中温度传感器的选择也将不同。方案一:热电偶传感器热电偶传感的原理是将温度变化转换为电势变化。它是利用两种不同材料的金属连接在一起,构成的具有热电效应原理的一种感温元件。其优点为精确度高、测量范围广、构造简单、使用方便,型号种类比较多且技术成熟等。目前广泛应用于工业与民用产品中。热电偶传感器的种类很多,在选择时必须考虑其灵敏度、精确度、可靠性、稳定性等条件。方案二:热电阻传感器热电阻传感器的原理是将温度变化转换为电阻值的变化。热电阻传感器是中低温区最常用的一种温度传感器。它的主要特点是:测量精度高,性能稳定。其中铂热电阻的测量精度是最高的,不仅广泛应用于工业测温,而且被制作成标准的基准仪。从热电阻的测温原理可以知道,被测温度的变化是直接通过热电阻阻值的变化来表现的。因此,热电阻的引出线的电阻的变化会给测温带来影响9。为消除引线电阻的影响,一般采用三线制或四线制。热电阻测温系统一般由热电阻、连接导线、显示仪表组成。方案三:半导体集成模拟温度传感器半导体IC温度传感器是利用半导体PN结的电流、电压与温度变换关系来测温的一种感温元件。这种传感器输出线性好、精度高,而且可以把传感器驱动电路、信号处理电路等,与温度传感器部分集成在同一硅片上,体积小,使用方便,应用比较广泛的有AD590等。IC温度传感器在微型计算机控制系统中,通常用于室温或环境温度的检测,以便微型计算机对温度测量值进行补偿。方案四:半导体集成数字温度传感器随着科学技术的不断进步和发展,新型温度传感器的种类繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式、多总线式发展10。数字温度传感器,更因适合与各种微处理器的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.2.3人机交互与串口通信按键是现阶段电子设计中最常用、最实用的输入设备。按键能够成为最普遍的输入设备,主要是其具备了以下几个优点:工作原理、硬件电路连接简单、操作实用性强、价格便宜,程序编写简单。缺点:机械抖动比较严重、外型不够美观。电子设计中常用的输出显示设备有两种:数码管和LCD。数码管是现在电子设计中使用相当普遍的一种显示设备,每个数码管由7个发光二极管按照一定的排列结构组成,根据七个发光二极管的正负极连接不同,又分为共阴极数码管和共阳极数码管两种,选择的数码管不同,程序设计上也有一定的差别。数码管显示的数据内容比较直观,通常显示从0到F中的任意一个数字,一个数码管可以显示一位,多个数码管就可以显示多位,在显示位数比较少的电路中,程序编写,外围电路设计都十分简单,但是当要显示的位数相对多的时候,数码管操作起来十分烦琐,显示的速度受到限制。并且当硬件电路设计好之后,系统显示能力基本也被确定,系统显示能力的扩展受到了限制。而液晶显示屏具有体积小、功耗低、显示内容丰富等特点,用户可以根据自己的需求,显示自己所需要的、甚至是自己动手设计的图案。当需要显示的数据比较复杂的时候,它的优点就突现出来了,并且当硬件设计完成时,可以通过软件的修改来不断扩展系统显示能力。外围驱动电路设计比较简单,显示能力的扩展将不会涉及到硬件电路的修改,可扩展性很强。字符型液晶显示屏已经成为了单片机应用设计中最常用的信息显示器件之一。不足之处在于其价格比较昂贵,驱动程序编写比较复杂。本设计所需要显示的内容比较复杂,不但包括现场温度值、温度限定值、还有温度传感器序列号的显示,所以本系统的数据显示设备采用LCD。串行通信的主要功能是实现单片机与PC机的数据交换,当需要进行数据记录、数据统计、数据分析的时候,可以把数据发送给上位机,使用上位机进行数据处理,并且将数据处理的结果又发送给单片机。这样可以大大提高系统数据处理速度,还可以方便的对单片机进行控制。计算机与外界的数据传送大部分都是串行的,其传送距离可以从几米到几千米。 第三章:本系统优点3.1 线路简单DS18B20与单片机之间一根导线进行数据传输,不需要对数据进行转换,接线简单。3.2 温度测量准确DS18B20的温度分辨率为0.0625,所以对温度值可以进行准确的温度转换。第四章:硬件设计4.1概括本部分详细介绍了基于AT89S51单片机的嵌入式温度采集系统的硬件设计。硬件系统所需要完成的功能是将温度传感器DS18B20采集到的温度信号,输送到AT89S51单片机的I/O口,然后把单片机数据处理后的结果,送至JDL162A进行显示。本系统硬件设计主要包括温度传感器电路、LCD驱动电路、按键驱动电路、电源系统电路、串口通信电路、AT89S51单片机最小系统的设计。4.2系统硬件及软件组成4.2.1硬件组成本系统所用的硬件有:见表4-1。表4-1系统硬件清单器件名称数量AT89S51单片机1个74HC573锁存器2个LED发光二级管8个蜂鸣器1个独立键盘5个液晶显示屏1个三极管1个DS18B201个MAX233串口芯片1个电容若干电阻若干导线若干4.2.2软件组成软件有:windows操作系统、 keil软件和串口调试助手等软件组成。4.2.3单片机介绍单片机作为微型计算机的一个重要分支,其应用范围很广,发展也很快。1971年Intel公司首次宣布4004的4位微处理器,1974年12月Fairchild(仙童)公司即推出了8位单片机F8,开创了单片机的门户。单片机在我国的应用始于20世纪70年代末,那时我国的科研工作者开始对单片机的应用进行了初期探索,20世纪80年代,单片机在我国得以广泛的应用,各理工科院校陆续开设了有关应用课程。在教学及应用上,Zilog公司生产的Z80CPU成为我国工业控制的主流,以Z80为CPU组成的TP801单板机在教学上及应用领域发挥过巨大作用。20世纪80年代末至90年代初,我国在工业控制领域开始转向使用Intel公司生产的MCS-51。单片机从1976年公布8位机至今不到30年的时间,它没有像微处理器那样从8位、16位,一直发展到32位、64位,8位机目前依然是单片机的主流机型。但是,它突破了原有的集成结构,在内部继承了越来越多的外围电路和外设接口,从而发展成为控制器(MicroController)的体系结构,其发展历程大致分为以下几步:第一阶段:单片机的控索阶段第二阶段:单片机的完善阶段第三阶段:8位单片机的巩固发展及16位单片机的推出阶段第四阶段:微控制器的全面发展阶段单片机已在各行业得到广泛应用,为适应更多的应用领域,厂家采取了在一块单片机芯片上集成多种功能部件和大容量存储器的方法。因而,整个应用系统不需要扩展,而体积变小、可靠性增高,使单片机成为真正意义上的单片机系统4.2.4单片机功能介绍单片机是随着大规模集成电路的出现极其发展,将计算机的CPU,RAM,ROM,定时/计数器和多种I/O接口集成在一片芯片上,形成了芯片级的计算机,因此单片机早期的含义称为单片微型计算机(single chipmicrocomputer).它拥有优异的性价比、集成度高、体积小、可靠性高、控制功能强、低电压、低功耗的显著优点.主要应用于智能仪器仪表、工业检测控制、机电一体化等方面,并且取得了显著的成果.单片机应用系统可以分为:(1)最小应用系统是指能维持单片机运行的最简单配置的系统。这种系统成本低廉,结构简单,常构成一些简单的控制系统,如开关状态的输入/输出控制等。片内有ROM/EPROM的单片机,其最小应用系统即为配有晶振,复位电路,电源的单个单片机.片内无ROM/EPROM的单片机,其最小应用系统除了外部配置晶振,复位电路,电源外,还应外接EPROM或EEPROM作为程序存储器用.(2)最小功耗应用系统是指为了保证正常运行,系统的功耗最小.(3)典型应用系统是指单片机要完成工业测控功能所必须的硬件结构系统。在多数电子设计当中,基于性价比的考虑,8位单片机仍是首选。目前,8位单片机在国内外仍占有重要地位。在8位单片机中又以MCS51系列单片机及其兼容机所占的份额最大。MCS51的硬件结构决定了其指令系统不会发生变化,设计人员可以很容易的对不同公司的单片机产品进行选型,他们只需将重点放在芯片内部资源的比较上。在以前的电子设计中,应用比较广泛的单片机是AT89C51单片机了,但是该单片机最致命的缺陷在于不支持ISP功能。Atmel公司目前已经停止了AT89C51生产,51单片机必须加上ISP功能才能更好延续MCS-51 的传奇,AT89S51就是在这样的背景下诞生的,目前AT89S51已经成为了实际应用市场上的新宠儿。89S51在工艺上进行了改进,它采用0.35 mm新工艺,不但降低成本了,而且增加了功能,提升了单片机性能,提高了市场竞争力。AT89S51新增了许多功能,性能也有了较大的提升,但是价格仍旧与AT89C51的价格一致。新增的功能之中最具有影响力的就是ISP在线编程功能,这个功能的优势在于,改写单片机Flash存储器内的程序不需要把芯片从工作环境中剥离。是一个强大易用的功能。显然,AT89S51在性能上比AT89C51要优良得多,因为它不但在AT89C51的基础上增加了许多功能,而且价格基本没有提高,所以在器件选择的时候首先排除AT89C51,对于市场上的另外一种比较流行的单片机C8051F,尽管它在性能、功能上都要比AT89S51优良很多,但是它的价格是S51的数倍,本系统使用S51已经完全能够实现所需要的功能,基于成本的考虑,放弃C8051F,选择AT89S51作为本系统的主控单元4.2.5单片机主控单元本部分主要介绍单片机最小系统的设计。单片机系统的扩展,一般是以基本最小系统为基础的。所谓最小系统,是指一个真正可用的单片机最小配置系统,对于片内带有程序存储器的单片机,只要在芯片外接时钟电路和复位电路就是一个小系统了。小系统是嵌入式系统开发的基石。本电路的小系统主要由三部分组成,一块AT89S51芯片、复位电路及时钟电路。AT89S51单片机:AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,器件采用ATMEL公司的高密度,非易失性存储技术生产,兼容标准8051指令系统及引脚。4K字节可系统编程的Flash程序存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至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口引脚的第二功能,如表4-2所示:表4-2 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 悬空。单片机最小系统如图4-2所示:图 4-2 最小系统图4.3 DS18B20数字温度传感器介绍4.3.1温度采集与传感器本部分主要是论证温度传感器的选型。传感器的选择受到很多因素的影响,首先是各种温度传感器自身的优缺点,其次是各种不同的环境因素,还有就是系统所要求实现的精度等,所以在不同的设计当中温度传感器的选择也将不同。随着科学技术的不断进步和发展,新型温度传感器的种类繁多,应用逐渐广泛,并且开始由模拟式向着数字式、单总线式、双总线式、多总线式发展10。数字温度传感器,更因适合与各种微处理器的I/O接口相连接,组成自动温度控制系统,这种系统克服了模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端,被广泛应用于工业控制、电子测温、医疗仪器等各种温度控制系统中,数字温度传感器中比较有代表性的DS18B20等。电子设计中常用的几种温度传感器的性能、价格等的对比,如表4-3所示:表4-3 传感器对比表传感器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口,还能使系统设计成本降低。4.3.1.1 功能介绍DALLAS半导体公司最新单线数字温度传感器DS18B20的“一线器件”体积更小、适用电压更宽、更经济。Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20、 DS1822 “一线总线”数字化温度传感器同DS1820一样,DS18B20也支持“一线总线”接口,测量温度范围为 -55C_+125C,-10_+85C范围内,精度为0.5C。DS1822的精度较差为 2C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。DS18B20、DS1822的特性:DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色!DS1822、DS18B20软件兼容好。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的管脚排列如下: DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端(在寄生电源接线方式时接地)。光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是:开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRC=X8+X5+X4+1)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位,见表4-4。表4-4 DS18B20内部温度表示形式bit7bit6bit5bit4bit3bit2bit1Bit0LS Byte232221202-12-22-32-4bit7bit6bit5bit4bit3bit2bit1Bit0LS ByteSSSSS262524这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。见表4-5表4-5 DS18B20转化温度形式实际温度值数字输出(二进制)数字输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.1250000 0000 1010 001000A2H+0.50000 0000 0000 10000008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6EH-551111 1100 1001 0000FC90H4.3.1.2 DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的E2PPRAM,后者存放高温度和低温度触发器TH、T和结构寄存器。暂存存储器包含了8个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三个和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝,这三个字节的内容在每一次上电复位时被刷新。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节,见表4-6。表4-6 DS18B20暂存存储器的8个连续字节寄存器内容字节地址温度最低数字位0温度最高数字位1高温限值2低温限值3保留4保留5计数剩余值6每度计数值7CTR校验8该字节各位的意义如下:TM R1 R0 1 1 1 1 1 低五位一直都是1 ,TM是测试模式位,用于设置DS18B20在工作模式还是在测试模式。在DS18B20出厂时该位被设置为0,用户不要去改动。R1和R0用来设置分辨率,如下表所示:(DS18B20出厂时被设置为12位),见表4-7表4-7分辨率设置表R1R2分辨率温度最大转换时间009位93.75ms0110位187.5ms1011位375ms1112位750ms根据DS18B20的通讯协议,主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主CPU收到此信号表示复位成功。 DS1820使用中注意事项DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序计时,对DS1820操作部分最好采用汇编语实现。(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。(3)连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。测温电缆线建议采用屏蔽4芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。4.3.1.3 DS18B20的内部逻辑图,见图4-3。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图4-3DS18B20内部内部逻辑图4.3.1.4 DS18B20读写时序主机使用时间隙(time slots)来读写 DSl820 的数据位和写命令字的位。4.3.14.1初始化时序见图 4-4主机总线 to 时刻发送一复位脉冲(最短为 480us 的低电平信号)接着在 tl 时刻释放总线并进入接收状态DSl820 在检测到总线的上升沿之后 等待 15-60接着 DS1820 在 t2 时刻发出存在脉冲(低电平持续60-240 us)如图中虚线所示图4-4DS18B20初始化时序图程序:Init_DS18B20(void)/初始化ds1820 DQ = 1; /DQ复位 _nop_(); _nop_(); /稍做延时2ms DQ = 0; /单片机将DQ拉低,发出复位脉冲(要求480us960us) Delay(70); /精确延时566us DQ = 1; /拉高总线(要求1660us) Delay(5); /延时46us presence = DQ; /如果=0则初始化成功 =1则初始化失败 Delay(25); DQ = 1; return(presence); /返回信号,0=presence,1= no presence4.3.1.4.2写时间隙当主机总线 to 时刻从高拉至低电平时 就产生写时间隙从 to 时刻开始 15us 之内应将所需写的位送到总线DSl820 在 t1为15-60us 间对总线采样 若低电平写入的位是 0见若高电平 写入的位是连续写 2 位间的间隙应大于 1us ,见图4-5。 图4-5写时间隙时序图程序:WriteOneChar(unsigned char dat)unsigned char i=0;for (i=8; i0; i-) DQ = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1;2.3.5.3读时间隙见图 4-6 主机总线 to 时刻从高拉至低电平时总线只须保持低电平 l7ts之后15捍 s也就是说t 2 时刻前主机必须完成读位并在to 后的 60s一120s 内释放总线读位子程序(读得的位到C中) 图4-6读时间隙时序图程序:ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(4);return(dat);4.3.1.5存储器操作命令,见表4-8表4-8存储器操作命令指令约定代码功能读ROM33H读取DS18B20ROM中的编码(64位地址)符合ROM55H发出命令后,接着发出64位ROM编码,访问单总线上与该编码相同的DS18B20,使之做出反应,为下一步读写作准备。搜索ROM0F0H用于确定挂在同一总线上DS18B20的个数,和识别64位ROM地址,微操作各器件做准备。跳过ROM0CCH忽略64位ROM地址,直接向DS18B20发送温度转换命令,适用于单片工作。告警搜索命令0ECH执行后只有温度值超过限度值才做出反应,温度变换命令44H启动DS18B20进行温度转换,转换时间最长为500毫秒,结果存入内部就九字节RAM中。读暂存器0BEH读内部RA九字节内容写暂存器4EH发出向内部RAM的第3、4字节写上下限温度命令,紧随该命令之后是传送两个字节数据。复制暂存器48H将RAM中的第3、4字节内容写到EEPRAM中。重调EEPRAM0B8H将EEPRAM中的第3、4字节内容写到RAM中。4.4 DS18B20温度传感器与单片机的接口电路DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。另一种是寄生电源供电方式,如图4 所示单片机端口接单线总线,为保证在有效的DS18B20时钟周期内提供足够的电流,可用一个MOSFET管来完成对总线的上拉。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。采用寄生电源供电方式时VDD端接地。由于单线制只有一根线,因此发送接口必须是三态的。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之内就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。对于DS18B20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60us,保证DS18B20能够在15us到45us之间能够正确地采样IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,在15us之内就得释放单总线。4.5 串口通信串行通信数据传输的特点是:数据按位进行传送,最少只需要一根传输线即可完成通信,所以通信成本低,但是速度慢,串行通信又有串行异步通信和串行同步通信两种方式,在单片机中使用的串行通信都是异步方式。异步串行通信以字符为单位,即一个字符接一个字符的传送。 本设计采用RS232串行接口来完成单片机与PC机的数据传输。在RS232C标准中,收发信号中的“0”为3V15V,“1”为3V15V,但单片机采用的是正逻辑的TTL电平,所以需要通过专用芯片MAX232C实现EIA电平与TTL电平转换。MAX232C是MAXIM公司生产的,包含两路驱动器和接收器的RS-232C转换芯片。芯片内部有一个电压转换器,可以把输入的+5V电压转换为RS-232C接口所需的10V电压,尤其适用于没有12V的单电源系统。MAX232是一个逻辑电压转换芯片,因此周边必定有一定量的电容滤波,根据MAX232的不同,电容的取值也不同,MAX232C采用1uF的电容即可,虽然也可以用几个三极管进行电平模拟转换,但是使用专用芯片更简单、可靠。串口通信电路如图4-7所示:图4-7 串口通信硬件连接图4.6人机交互与串口通信单元设计人机交互的主要功能是辅助控制、方便调试。在当今的各种实时自动控制和智能化仪器仪表中,人机交互是不可缺少的一部分。一般而言,人机交互是由系统配置的外部设备来完成,其实现方式有两种:一种是由MCU 的I/O口驱动专用芯片实现,如键盘显示控制芯片,串行数据传输数码显示驱动芯片等,来实现人机交互功能。另一种就是MCU本身具有驱动功能,它通过数据总线与控制信号直接采用存储器访问形式或I/O设备的访问形式来控制键盘和LCD实现人机交互。4.7键盘输入按键部分实现的主要原理是单片机读取与按键相连接的I/O口状态,来判定按键是否按下,达到系统参数设置的目的。键盘在单片机应用系统中的作用是实现数据输入、命令输入,是人工干预的主要手段。键盘分两大类:编码键盘和非编码键盘。编码键盘:由硬件逻辑电路完成必要的键识别工作与可靠性措施。每按一次键,键盘自动提供被按键的读数,同时产生一个选通脉冲通知微处理器,一般还具有反弹跳和同时按键保护功能。这种键盘容易使用,但硬件比较复杂,对于主机任务繁重的情况,采用8279可编程键盘管理接口芯片构成编码式键盘系统是很实用的方案。非编码键盘:只简单地提供键盘的行列与矩阵,其他操作如按键的识别,决定按键的读数等都靠软件完成,故硬件设计较为简单,但占用CPU较多时间,非编码键盘有:独立式按键结构、矩阵式按键结构两种。矩阵式按键结构适用于按键数量较多的场合,由行线和列线组成,按键位于行列的交叉点上。矩阵键盘工作的原理:行线通过上拉电阻接到+5V上。无按键,行线处于高电平状态,有键按下,行线电平状态将由与此行线相连的列线电平决定。列线电平为低,则行线电平为低;列线电平为高,则行线电平为高。矩阵式按键结构的优点就是节约单片机I/O口,适用于按键比较多的场合。独立式按键结构,独立式按键就是按键相互独立,每个按键单独占用一根I/O口线,每根I/O口线的按键的工作状态,不会影响其他I/O口线上的工作状态。各按键开关均需要采用了上拉电阻,是为了保证在按键断开时,各I/O有确定的高电平。当输入口线内部已有上拉电阻,外电路的上拉电阻可省去。优点:电路配置灵活,软件结构简单。缺点:每个按键需占用一根I/O口线,在按键数量较多时,I/O口浪费大,电路结构显得复杂。因此,此键盘适用于按键较少或操作速度较高的场合。在本设计当中,由于只需要四个按键,所以采用独立式键盘结构,电路连接图如图4-8所示:图4-8 独立式键盘4.8液晶显示屏输出液晶显示屏具有微功耗、体积小、显示内容丰富、超薄轻巧等诸多优点。在袖珍式仪表和低功耗应用系统中,LCD得到越来越广泛的应用。字符型液晶显示屏,是一种用5*7点阵图形来显示字符的液晶显示器,根据显示的容量可以分为1行16个字、2行16个字、2行20个字等,本设计以常用的2行16个字的JDL162A液晶模块作为数据显示模块。JDL162A采用标准的16脚接口,其中:第1脚:VSS接地第2脚:VDD接5V正电源。第3脚:为液晶显示器对

温馨提示

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

评论

0/150

提交评论