基于单片机的温度采集系统的设计论文说明书_第1页
基于单片机的温度采集系统的设计论文说明书_第2页
基于单片机的温度采集系统的设计论文说明书_第3页
基于单片机的温度采集系统的设计论文说明书_第4页
基于单片机的温度采集系统的设计论文说明书_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、第一章介绍1.1 学科背景随着单片机技术的迅速崛起和蓬勃发展,其稳定性、安全性、高效性和经济性等优势非常突出,因此其应用也非常广泛。微控制器已经无处不在,与我们的生活息息相关,并渗透到生活的方方面面。单片机的特点是体积小,即集成特性。它的结构是普通计算机系统的简化。加上一些外围电路可以组成一个完整的小系统。单片机具有很强的扩展性。它具有类似于普通计算机的强大数据处理功能。通过使用一些科学的算法,可以获得强大的数据处理能力。因此,单片机在工业中的应用,可以大大提高工业设备的智能化、数据处理能力和处理效率,而且单片机不需要占用很大的空间。温度传感器的种类越来越多。微机系统中使用的传感器必须是能够将

2、非电转化为电的传感器。目前有热电偶传感器、热阻传感器和半导体集成传感器等,每种传感器根据自身的特点,都有自己的应用领域。1.2 温度检测的意义及技术发展温度是一个非常重要的物理量,因为它直接影响燃烧、化学反应、发酵、烘烤、煅烧、蒸馏、浓缩、挤压、结晶和气流等物理化学过程。因此,温度检测的意义越来越大。温度采集系统已广泛应用于工业生产、科研和人民生活中。在工业生产过程中,往往需要对温度进行严格的监控,这样才能顺利进行生产,充分保证产品的质量。温度采集系统是在嵌入式系统设计的基础上开发的。嵌入式系统虽然起源于微机时代,但微机的体积、价格和可靠性都不能满足大多数对象对嵌入式系统的要求。因此,嵌入式系

3、统必须走自主开发的道路。这条路就是芯片路。计算机是在芯片上制造的,从而开创了嵌入式系统自主开发的单片机时代。单片机诞生于1970年代后期,经历了SCM、MCU、 SOC三个阶段。第二章:整体系统设计与方案论证2.1 整体系统设计本章的主要内容是讨论基于51单片机的温度采集系统的总体设计和程序演示。本系统由单片机、温度信号采集与A/D转换、人机交互、电源系统单元、通讯单元五部分组成。功能模块实现的器件不同,将直接影响整个系统的性能和成本。 , 出于实用目的,系统设计前的程序演示非常重要。2.2 本系统工作流程如图2-1所示系统上电初始化系统上电初始化机单片机对数据进行处理LCD进行温度显示通过串

4、口将数据传至计算机图 2-1 系统工作流程单片机:这部分的功能不仅包括向温度传感器写入各种控制指令,读取温度数据,进行数据处理。单片机是整个系统的控制核心和数据处理核心。温度信号采集与传感器:这部分的主要功能是利用传感器检测模拟环境中的温度信号,温度传感器上的电流会随环境温度值线性变化。然后将电流信号转换成电压信号,利用A/D转换器将模拟电压信号转换成单片机可以处理的数字电压信号。本设计采用数字温度传感器,以上流程在温度传感器部门完成。人机交互和串口通信:人机交互的目的是提高系统的可用性和实用性。主要包括按键输入和输出显示。系统参数设置通过按键输入完成,输出显示完成数据显示和系统提示信息的输出

5、。串行通讯的主要功能是完成单片机与上位机的通讯,方便温度数据统计,用于以后系统功能的扩展。良好的基础。电源系统单元:该单元的主要功能是为单片机提供适当的工作电源,同时也为其他模块提供电源。如液晶屏、按键等。本设计中,供电系统输出+5V电源。2.2.1单片机在大多数电子设计中,基于成本效益的考虑,8位微控制器仍然是首选。目前,8位单片机在国外仍占有重要地位。在8位单片机中,MCS-51系列单片机及其兼容机占比最大。 MCS-51的硬件结构决定了它的指令系统不会改变。设计人员可以轻松选择不同公司的 MCU 产品。他们只需要关注芯片资源的对比。在以往的电子设计中,应用最广泛的单片机是AT89C51单

6、片机,但这款单片机最致命的缺陷是不支持ISP功能。 Atmel 目前已停止生产AT89C51。 51 MCU必须配备ISP功能才能更好地延续MCS-51的传奇。 AT 89S51就是在这样的背景下诞生的。目前, AT 89S51已经成为市场上的实际应用。新宠。 89S51在技术上有所改进。采用0.35mm新技术,既降低了成本,又增加了功能,提高了单片机的性能,提高了市场竞争力。AT89S51增加了很多功能,性能也有了很大的提升,但价格还是和AT89C51一样。在新增功能中,影响最大的是ISP在线编程功能。该功能的优点是不需要将重写单片机Flash存储器的程序从工作环境中剥离出来。这是一个功能强

7、大且易于使用的功能。很明显,AT89S51在性能上比AT89C51要好很多,因为它不仅在AT89C51的基础上增加了很多功能,而且价格基本没有增加,所以在选机时先排除AT89C51,再对比一下市场上的流行单片机C8051F,虽然在性能和功能上都比AT89S51好很多,但是它的价格是S51的好几倍。本系统使用S51可以完全实现所需的功能。基于成本考虑,放弃C8051F,选择AT89S51作为本系统的主控单元。2.2.2温度采集和传感器本节主要演示温度传感器的选择。传感器的选择受很多因素的影响,一是各种温度传感器的优缺点,二是各种环境因素,以及系统要求的精度,所以不同设计的温度传感器的选择也会有所

8、不同。不同的。选项 1:热电偶传感器热电偶传感的原理是将温度变化转化为电势变化。它是一种利用热电效应原理将两种不同材料的金属连接在一起形成的感温元件。其优点是精度高、测量范围广、结构简单、使用方便、型号多、技术成熟。目前广泛应用于工业和民用产品。热电偶传感器的种类很多,选择时必须考虑其灵敏度、精度、可靠性、稳定性等条件。选项 2:热电阻传感器RTD传感器的原理是将温度变化转化为电阻值的变化。热电阻传感器是中低温地区最常用的温度传感器。其主要特点是:测量精度高、性能稳定。其中,铂热电阻的测量精度最高,不仅广泛应用于工业温度测量,而且成为标准基准。从热电阻的测温原理可知,被测温度的变化直接用热电阻

9、阻值的变化来表示。因此,热电阻引出线阻值的变化会影响温度测量9 。为了消除引线电阻的影响,一般采用三线制或四线制。热电阻测温系统一般由热电阻、连接导线和显示仪表组成。选项 3:半导体集成模拟温度传感器半导体IC温度传感器是利用半导体PN结的电流、电压和温度的变换关系来测量温度的温度传感元件。这种传感器输出线性好,精度高,可将传感器驱动电路、信号处理电路等与温度传感器部分集成在同一硅片上。它体积小,易于使用。 AD590被广泛使用。 IC温度传感器通常用于微机控制系统中对室温或环境温度的检测,使微机对温度测量值进行补偿。选项 4:半导体集成数字温度传感器随着科学技术的不断进步和发展,新型温度传感

10、器种类繁多,应用也逐渐广泛,并开始从模拟向数字、单总线、双总线和多总线发展 10 。数字温度传感器更适合与各种微处理器的I/O接口连接,组成自动温度控制系统。当模拟传感器与微处理器接口时,该系统无需信号调理电路和 A/D 转换器。广泛应用于工业控制、电子测温、医疗设备等各种温度控制系统中,代表性的数字温度传感器有DS18B20等。电子设计中常用的几种温度传感器的性能和价格比较如表2-1所示:表 2-1 传感器对照表传感器AD590PT100DS18B20起源我们德国我们范围-50+150-200+450-55+125精确 0.3 0.25 0.5 电源电压+4V+30V+13V+36V+3.0

11、V+5.5V输出信号类型模拟信号模拟信号数字信号PT100和AD590都不能直接连接到单片机的I/O口,所以需要设计信号调理电路和A/D转换电路。 DS18B20是一款数字温度传感器,采用单总线技术,使得传感器不仅可以直接连接单片机的I/O口,还可以通过一个I/O连接多个温度传感器,实现多点温度测控。所以使用数字温度传感器DS18B20不仅可以节省单片机的I/O口,还可以降低系统设计成本。2.2.3人机交互与串口通讯按钮是现阶段电子设计中最常用和最实用的输入设备。按键能成为最常见的输入设备,主要是因为它具有以下优点:工作原理、硬件电路连接简单、操作实用性强、价格低廉、编程简单。缺点:机械振动严

12、重,外观不美观。电子设计中常用的输出显示器件有两种:数码管和LCD。数码管是电子设计中广泛使用的一种显示器件。每个数码管由7个发光二极管按一定的排列结构组成。数码管有电子管和共阳极数码管两种。选用的数码管不同,程序设计也不同。数码管显示的数据比较直观,通常是0到F之间的任意数字。一个数码管可以显示一位,多个数码管可以显示多位。在显示位数较少的电路中,程序的编程和外围电路设计都很简单,但是当要显示的位数比较多时,数码管操作起来很麻烦,显示速度也有限。而在硬件电路设计时,系统显示能力基本确定,系统显示能力的扩展受到限制。液晶屏具有体积小、功耗低、显示能力丰富的特点。用户可以展示自己需要的图案,甚至

13、可以根据自己的需要设计自己的设计。当要显示的数据比较复杂时,它的优势就显现出来了,当硬件设计完成后,可以通过软件修改不断扩展系统的显示能力。外围驱动电路的设计比较简单,显示能力的扩展不会涉及到硬件电路的修改,扩展性很强。字符型液晶显示器已成为单片机应用设计中最常用的信息显示器件之一。缺点是比较贵,驱动写起来比较复杂。本设计中需要显示的内容比较复杂,不仅包括现场温度值、温度限值,还包括温度传感器序列号的显示,因此本系统的数据显示装置采用LCD。串行通信的主要功能是实现单片机与PC机之间的数据交换。当需要进行数据记录、数据统计、数据分析时,可将数据致至上位机,由上位机进行数据处理。结果再次致到微控

14、制器。这样可以大大提高系统的数据处理速度,并且可以轻松控制单片机。计算机与外界的数据传输大部分是串行的,其传输距离可以从几米到几公里不等。第 3 章:该系统的优势3.1 线路简单DS18B20与单片机之间采用一根线进行数据传输,无需进行数据转换,接线简单。3.2 准确测温DS18B20的温度分辨率为0.0625,因此可以对温度值进行精确的温度转换。第 4 章:硬件设计4.1 概述本部分详细介绍了基于AT89S51单片机的嵌入式温度采集系统的硬件设计。硬件系统需要完成的功能是将温度传感器DS18B20采集到的温度信号传送到AT89S51单片机的I/O口,然后将单片机数据处理的结果传送给JDL16

15、2A用于展示。本系统的硬件设计主要包括温度传感器电路、LCD驱动电路、按键驱动电路、电源系统电路、串行通信电路以及AT89S51单片机最小系统的设计。4.2系统软硬件组成4.2.1硬件组成本系统使用的硬件为:见表4-1。表 4-1 系统硬件列表设备名称数量AT 89S51微控制器174HC573 闩锁2发光二极管8蜂鸣器1独立键盘5液晶显示器1三极管1DS18B201MAX233串口芯片1电容一些反抗一些金属丝一些4.2.2软件组成软件组成:windows操作系统、keil软件和串口调试助手。4.2.3单片机简介单片机作为微机的一个重要分支,应用范围广泛,发展迅速。 1971年,英特尔公司首次

16、发布了4004的4位微处理器。1974年12月,飞兆(Fairchild)公司推出了8位单片机F8,开创了单片机的门户。单片机在中国的应用始于1970年代后期。当时,我国的科研工作者开始探索单片机的应用。 1980年代,单片机在中国得到广泛应用。关于应用课程。在教学和应用方面,Zilog生产的Z80CPU已经成为我国工控的主流。 Z80组成的TP801单板机在教学和应用中发挥了巨大的作用。从1980年代末到1990年代初,我国开始在工控领域使用英特尔公司生产的MCS-51。自1976年单片机宣布为8位计算机以来,至今还不到30年,还没有像微处理器那样从8位和16位发展到32位和64位。 8位计

17、算机仍然是单片机的主流机型。 .但它突破了原有的集成结构,继承了部门内越来越多的外围电路和外围接口,从而发展为控制器(MicroController)的架构。它的开发过程大致分为以下几个步骤:第一阶段:单片机的控制电缆阶段第二阶段:单片机完善阶段第三阶段:8位MCU的整合发展和16位MCU的推出阶段第四阶段:微控制器的完整开发阶段单片机已广泛应用于各行各业。为了适应更多的应用领域,厂商纷纷采用将各种功能部件和大容量存储器集成在一个单片机芯片上的方法。因此,整个应用系统无需扩展,体积变小,可靠性提高,使单片机成为真正的单片机系统4.2.4单片机功能介绍随着大规模集成电路的出现,单片机将计算机的C

18、PU 、 RAM 、 ROM 、定时器/计数器及各种I/O接口集成在一个芯片上,形成芯片级计算机,因此单片机又称单片机。具有性价比优、集成度高、体积小、可靠性高、控制功能强、电压低、功耗低等显着优势。主要应用于智能仪器仪表、工业单片机的应用系统,可分为: ( 1 )最小应用系统是指能够维持单片机运行的配置最简单的系统。该系统成本低、结构简单,往往构成一些简单的控制系统,如开关状态的输入/输出控制等。带有ROM/EPROM的单片机,其最小的应用系统是单片机,配有晶振、复位电路和电源。不带ROM /EPROM的单片机,其最小应用系统不仅外部配置晶振、复位电路、电源,还应外接EPROM或EEPROM

19、作为程序存储器。 ( 2 )最低功耗应用系统是指为保证正常运行所消耗的最低功耗。 ( 3 )典型应用系统是指单片机完成工业测控功能系统所必需的硬件结构。在大多数电子设计中,基于成本效益的考虑,8位微控制器仍然是首选。目前,8位单片机在国外仍占有重要地位。在8位单片机中,MCS-51系列单片机及其兼容机占比最大。 MCS-51的硬件结构决定了它的指令系统不会改变。设计人员可以轻松选择不同公司的 MCU 产品。他们只需要关注芯片资源的对比。在以往的电子设计中,应用最广泛的单片机是AT89C51单片机,但这款单片机最致命的缺陷是不支持ISP功能。 Atmel 目前已停止生产AT89C51。 51 M

20、CU必须配备ISP功能才能更好地延续MCS-51的传奇。 AT 89S51就是在这样的背景下诞生的。目前, AT 89S51已经成为市场上的实际应用。新宠。 89S51在技术上有所改进。采用0.35mm新技术,既降低了成本,又增加了功能,提高了单片机的性能,提高了市场竞争力。AT89S51增加了很多功能,性能也有了很大的提升,但价格还是和AT89C51一样。在新增功能中,影响最大的是ISP在线编程功能。该功能的优点是不需要将重写单片机Flash存储器的程序从工作环境中剥离出来。这是一个功能强大且易于使用的功能。很明显,AT89S51在性能上比AT89C51要好很多,因为它不仅在AT89C51的

21、基础上增加了很多功能,而且价格基本没有增加,所以在选机时先排除AT89C51,再对比一下市场上的流行单片机C8051F,虽然在性能和功能上都比AT89S51好很多,但是它的价格是S51的好几倍。本系统使用S51可以完全实现所需的功能。基于成本考虑,放弃C8051F,选择AT89S51作为本系统的主控单元4.2.5MCU主控单元本部分主要介绍单片机最小系统的设计。单片机系统的扩展一般以基本最小系统为基础。所谓最小系统,是指真正的单片机的最小配置系统。对于带有程序存储器的单片机来说,只要在芯片上接上时钟电路和复位电路,就是一个小系统。小型系统是嵌入式系统开发的基石。本电路小系统主要由AT89S51

22、芯片、复位电路和时钟电路三部分组成。AT89S51 MCU: AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS 8位MCU 。该器件采用 ATMEL 的高密度、非易失性存储技术生产,兼容标准 8051 指令系统和引脚。 4 KB系统可编程 Flash 程序存储器、 128 字节 RAM 、 32 条 I/O 线、看门狗(WDT) 、两个数据指针、两个 16 位定时器/计数器、一个 5 向量二级中断结构、一个全双工串行通讯口、芯片振荡器和时钟电路。同时, AT89S51可以降低到0Hz静态逻辑操作,并支持两种软件可选的省电工作模式,空闲模式停止CPU工作,但内容RAM 、定时器/计

23、数器、串行通信端口和中断系统继续工作。工作。掉电模式节省了 RAM 中的容量,但振荡器停止工作,并且所有其他组件都被禁止工作,直到下一次硬件复位。P0是一个8位双向I/O端口。当端口设置为1时,它用作高阻抗输入端。用作输出端口时,可驱动8个TTL电平。烧写内部Flash程序存储器时,接收指令字节;验证程序时,输出指令字节,需要接上拉电阻。访问外部程序和外部数据存储器时,端口0 为地址(低8位)/数据总线进行时分转换,访问期间的上拉电阻起作用。P1是一个带有部分上拉电阻的8位准双向I/0端口。输出可驱动4个TTL电平。当端口设置为1时,外部上拉电阻将端口拉至高电平用于输入。在对内部Flash程序

24、存储器进行编程时,会接收到低8位地址信息。P2是一个带有部分上拉电阻的8位准双向I/0端口。输出可驱动4个TTL电平。当端口设置为1时,外部上拉电阻将端口拉至高电平用于输入。在对内部Flash程序存储器进行编程时,会接收到高8位地址和控制信息。当访问外部程序和16位外部数据存储器时, P2端口致高8位地址。在使用8位地址访问外部数据存储器时,其引脚上的内容在此期间不会改变。P 3 是一个带有部分上拉电阻的8位准双向I/0端口。输出可驱动4个TTL电平。当端口设置为1时,外部上拉电阻将端口拉至高电平用于输入。对内部Flash程序存储器进行编程时,连接控制信息。除此之外, P3端口还有第二个功能。

25、 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单片机通常采用上电自动复位和按键复位两种

26、。复位电路的基本作用是在系统上电时,对RC电路充电,在RST管脚上出现一个正脉冲,提供一个复位信号,直到系统电源稳定,复位信号为取消。复位信号只被取消,以防止电源开关或电源插头开合过程中产生的抖动引起的复位。图 3-2 中的RC复位电路可以实现上述基本功能。调整RC常数会对驱动能力产生影响。时钟电路:时钟电路提供单片机的时钟控制信号。单片机的时钟产生方式包括部分时钟方式和外部时钟方式。最常用的方法是使用由外部晶振和电容器组成的并联谐振电路。陶瓷电容的大小对振荡频率输出的稳定性和大小以及振荡电路的启动速度有一定的影响。在外部模式下,时钟发生器对振荡脉冲的频率进行二分频,如果晶振为12MHz ,则

27、时钟频率为6MHz 。晶振的频率可以从1MHz 33MHz中选择。电容约为30PF 。 XTAL1是片内振荡器反相放大器的输入端, XTAL2是输出端。使用外部振荡器时,外部振荡信号应直接加到XTAL1 , XTAL2悬空。单片机最小系统如图4-2所示:图 4-2 最小系统图4.3 DS18B20数字温度传感器介绍4.3.1温度采集和传感器本节主要演示温度传感器的选择。传感器的选择受很多因素的影响,一是各种温度传感器的优缺点,二是各种环境因素,以及系统要求的精度,所以不同设计的温度传感器的选择也会有所不同。不同的。随着科学技术的不断进步和发展,新型温度传感器种类繁多,应用也逐渐广泛,并开始从模

28、拟向数字、单总线、双总线和多总线发展 10 。数字温度传感器更适合与各种微处理器的I/O接口连接,组成自动温度控制系统。当模拟传感器与微处理器接口时,该系统无需信号调理电路和 A/D 转换器。广泛应用于工业控制、电子测温、医疗设备等各种温度控制系统,数字温度传感器中的代表DS18B20。电子设计中常用的几种温度传感器的性能和价格比较如表4-3所示:表 4-3 传感器对照表传感器AD590PT100DS18B20起源我们德国我们范围-50+150-200+450-55+125精确 0.3 0.25 0.5 电源电压+4V+30V+13V+36V+3.0V+5.5V输出信号类型模拟信号模拟信号数字

29、信号PT100和AD590都不能直接连接到单片机的I/O口,所以需要设计信号调理电路和A/D转换电路。 DS18B20是一款数字温度传感器,采用单总线技术,使得传感器不仅可以直接连接单片机的I/O口,还可以通过一个I/O连接多个温度传感器,实现多点温度测控。所以使用数字温度传感器DS18B20不仅可以节省单片机的I/O口,还可以降低系统设计成本。4.3.1.1 功能介绍DALLAS Semiconductor最新推出的单线数字温度传感器DS18B20是一款体积更小、适用电压更广、更经济的“单线器件”。 Dallas Semiconductor 的数字温度传感器 DS1820 是世界上第一款支持

30、“有线总线”接口的温度传感器。单线总线独特且经济的特点使用户可以轻松构建传感器网络,并为构建测量系统引入了新概念。 DS18B20、DS1822“单线总线”数字温度传感器与DS1820相同,DS18B20也支持“单线总线”接口,测量温度范围为-55C _ +125C,-10 _ +85 C范围内,精度为0.5C。 DS1822 的精度较差,为 2C。现场温度以“一条线总线”的数字方式直接传输,大大提高了系统的抗干扰能力。适用于恶劣环境下的现场温度测量,例如:环境控制、设备或过程控制、温度测量消费电子产品等。与上一代产品不同,新产品支持3V 5.5V的电压范围,使系统设计更加灵活方便。新一代更便

31、宜、更小。 DS18B20 和 DS1822 的特点: DS18B20 可以编程为分辨率为 9 至 12 位,精度为 0.5C。可以选择更小的方法,可以选择更宽的电压适用范围。分辨率设置、用户设置的报警温度均存储在EEPROM中,掉电仍保存。 DS18B20的性能是新一代中最好的!性价比也很棒! DS1822、DS18B20软件兼容。省略了用于存储用户自定义报警温度和分辨率参数的EEPROM,精度降低到2C。适用于对性能要求不高,成本控制严格的应用。它是一种经济的产品。 DS1820继早期的“单线总线”产品之后,开创了温度传感器技术的新概念。 DS18B20 和 DS1822 为电压、特性和封

32、装提供了更多选择,使我们能够构建适合我们的经济型温度测量系统。 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的作用

33、就是让每一个DS18B20都不一样,从而实现在一条总线上连接多个DS18B20的目的。 DS18B20中的温度传感器可以完成温度的测量。以 12 位转换为例:以 16 位符号扩展二进制补码读取的形式提供,以 0.0625 /LSB 的形式表示,其中 S 为符号位,见表 4-4。表 4-4 DS18B20 的温度表示位7位6位5位4位3位2位1比特0低字节2 32 22 12 02 -12 -22 -32 -4位7位6位5位4位3位2位1比特0低字节小号小号小号小号小号2 62 52 4这是12位转换后得到的12位数据,存放在18B20的两个8位RAM中。二进制中的前 5 位是符号位。如果实测温

34、度大于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 0

35、000 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 和一个非易失性电可擦除 E2 PP RAM,其中存储高温和低温触发器 TH、T 和配置寄存器。暂存存储器包含8个连

36、续字节,前两个字节是测量的温度信息,第一个字节包含温度的低八位,第二个字节是温度的高八位。第三和第四字节是 TH 和 TL 的易失性副本,第五个字节是结构寄存器的易失性副本。这三个字节的内容在每次上电复位时都会刷新。第 6、7、8 个字节用于部分计算。第 9 个字节为冗余校验字节,见表 4-6。表 4-6 DS18B20暂存器的8 个连续字节寄存器容量字节地址温度最低位0温度最高位1高温极限2低温极限3预订4预订5计算剩余价值6每度数7点击率检查8该字节每一位的含义如下: TM R1 R0 1 1 1 1 1 低五位始终为1,TM为测试模式位,用于将DS18B20设置为工作模式或测试模式模式。

37、 DS18B20 出厂时该位为 0,用户请勿更改。 R1和R0用于设置分辨率,如下表所示:(DS18B20出厂设置为12位) ,见表4-7表 4-7分辨率设置表R1R2解析度温度 最大转换时间009位数93.75 毫秒0110187.5ms1011375毫秒1112 位750毫秒根据DS18B20的通信协议,主机必须经过三个步骤来控制DS18B20完成温度转换:每次读写前复位DS18B20,复位成功后致ROM命令,最后致RAM命令,使 DS18B20 可以按计划运行。复位需要主 CPU 拉低数据线 500 微秒,然后释放。 DS18B20收到信号后,等待大约16到60微秒,然后发出一个60到2

38、40微秒的低脉冲。主 CPU 收到此信号表示复位成功。 DS1820使用注意事项 DS1820虽然具有测温系统简单、测温精度高、连接方便、占用端口少等优点,但在实际应用中还应注意以下几个方面: (1)硬件小开销 补偿需要相对复杂的软件。由于DS1820与微处理器之间采用串行数据传输方式,因此对DS1820进行编程时必须严格保证读写时序,否则无法读取测温结果。在使用PL/M、C等高级语言进行系统程序时序时,最好使用汇编语言来实现DS1820的操作部分。 (2)DS1820的相关资料中没有提到单条总线连接DS1820的数量。很容易让人误以为可以连接任意数量的DS1820,实际应用中并非如此。当单条

39、总线上挂8个以上DS1820时,需要解决微处理器的总线驱动问题,这是设计多点测温系统时要注意的问题。 (3)连接 DS1820 的总线电缆长度有限。测试中,普通信号电缆传输长度超过50m时,读取的测温数据会出现错误。当总线电缆改为双绞屏蔽电缆时,正常通讯距离可达150m。当使用每米扭数更多的双绞屏蔽电缆时,正常的通信距离进一步延长。这种情况主要是由于总线的分布电容引起的信号波形失真。因此,采用DS1820设计远距离测温系统时,应充分考虑总线分布电容和阻抗匹配。 (4)在DS1820测温程序设计中,向DS1820发出温度转换指令后,程序一直等待DS1820的返回信号。一旦DS1820接触不良或断

40、开,程序读取DS1820时,将没有返回信号。不,程序进入无限循环。这一点在设计DS1820的硬件连接和软件时也应该注意。测温电缆建议使用屏蔽4芯双绞线,其中一对是地线和信号线,另一组接VCC和地线,屏蔽层单点接地源端。4.3.1.3 DS18B20的内部逻辑框图如图4-3所示。CC64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器TH低温触发器TL配置寄存器8位CRC发生器Vdd图4-3DS18B20部分逻辑图4.3.1.4 DS18B20读写时序主机使用时隙(time slot)来读写DSl820的数据位和写命令字的位。4.3.1. 4.1 初始化时序如图 4-4 所示。主

41、机总线在tl时刻发出复位脉冲(最短为480us的低电平信号),然后在tl时刻释放总线,进入接收状态。 DS1820检测到总线上升沿后等待15-60 ,然后DS1820在t2时发出存在脉冲(低电平持续60-240us)如图虚线所示图4-4DS18B20初始化时序图程序:Init_DS18B20(void)/初始化ds1820DQ = 1; /DQ复位_nop_();_nop_(); /轻微延迟2msDQ = 0; /单片机拉低DQ并致复位脉冲(需要480us960us)延迟(70); /精确延迟566usDQ = 1; /拉起总线(需要1660us)延迟(5); /延迟46us存在= DQ; /

42、如果=0,初始化成功=1,初始化失败延迟(25);DQ = 1;返回(存在); /返回信号,0=存在,1=不存在4.3.1.4.2 写入时间间隔t o从高拉低时,会出现写时间间隙。从时间t o到15us ,要写入的位应该被致到总线DS1820。在t 1 15-60us之间对总线进行采样。如果电源低电平写入的位为0。如果连续写入高电平的位,则2位之间的间隙应大于1us ,见图4- 5.图 4-5 写时间间隔时序图程序:WriteOneChar(无符号字符数据)无符号字符 i=0;对于 (i=8; i0; i-)DQ = 0;DQ = dat&0 x01;延迟(5);DQ = 1;数据=1;2.3

43、.5.3 阅读时间差距请参见图 4-6。当主机总线在t时刻由高拉低时,总线只需在l7ts后保持低电平15秒,也就是说,在t2时刻之前,主机必须完成读位并释放总线60s至120s后读取位子程序(将位读取到C 中)图 4-6读取时间间隔时序图程序:ReadOneChar(无效)无符号字符 i=0;无符号字符 dat = 0;对于 (i=8;i0;i-)DQ = 0; / 给出脉冲信号数据=1;DQ = 1; / 给出脉冲信号如果(DQ)数据|=0 x80;延迟(4);返回(数据);4.3.1.5 内存操作命令,见表 4-8表 4-8 内存操作命令操作说明合约代码功能读ROM33小时读取 DS18B

44、20ROM 中的代码(64 位地址)兼容ROM55H命令发出后,再发出64位ROM码,访问单总线上相同码的DS18B20,使其响应,为下一次读写做准备。搜索 ROM0F0H用于确定挂在同一总线上的DS18B20的数量,识别64位ROM地址,为各个器件的微操作做准备。跳过ROM0CCH忽略64位ROM地址,直接向DS18B20致温度转换指令,适合单片机运行。报警搜索命令0ECH执行后只有温度值超过限制值才响应,温度变换指令44小时启动 DS18B20 进行温度转换,转换时间最长为 500 毫秒,结果存储在 9 字节 RAM 中。阅读暂存器0BEH读取 RA 九字节容量写便笺4EH发出命令将温度上

45、限和下限写入内部 RAM 的第 3 和第 4 字节,然后传输两个字节的数据。复制暂存器48小时将 RAM 中的第 3 和第 4 个字节写入 EEPRAM。重置 EEPROM0B8H将 EEPRAM 中的第 3 和第 4 个字节写入 RAM。4.4 DS18B20温度传感器与单片机的接口电路DS18B20 可以通过两种方式供电。一是采用供电方式。此时DS18B20的第1脚接地,第2脚为信号线,第3脚接电源。另一种是寄生供电方式。如图4所示,单线总线连接到单片机端口。为了保证在有效的 DS18B20 时钟周期内提供足够的电流,可以使用一个 MOSFET 来完成总线的上拉。DS18B20在写存储器操

46、作和温度A/D转换操作时,总线上必须有强上拉,最大上拉时间为10us。使用寄生供电模式时,VDD 端接地。由于单线系统只有一根线,因此传输接口必须是三态的。由于 DS18B20 在一条 I/O 线上读写数据,因此对读写数据位有严格的时序要求。 DS18B20 具有严格的通信协议,确保每次数据传输的正确性和完整性。该协议定义了几个信号的时序:初始化时序、读取时序和写入时序。所有时序都使用主设备作为主设备,单总线设备作为从设备。每个命令和数据传输都从主机主动启动写入序列开始。如果需要单总线设备回传数据,则在写命令之后,主机需要启动读序列来完成数据接收。数据和命令首先传输 LSB。对于DS18B20

47、的读时隙,主机拉低单总线后,必须在15秒内释放单总线,这样DS18B20才能向单总线传输数据。 DS18B20 至少需要 60us 才能完成一个读序列过程。对于 DS18B20,写 0 时序和写 1 时序的要求是不同的。写入0时序时,单条总线应拉低至少60us,以保证DS18B20能在15us到45us之间正确采样IO总线上的“0”电源。 flat,当要写入1个时序时,单总线拉低后,单总线必须在15us内释放。4.5串行通信串行通信数据传输的特点是:数据以比特传输,至少只需要一根传输线即可完成通信,因此通信成本低,但速度较慢,而串行通信有两种:异步通信和串行同步通信。这样,微控制器中使用的串行

48、通信是异步的。异步串行通信是基于字符的,即逐字符传输。本设计采用RS232串行接口完成单片机与PC机之间的数据传输。在RS232C标准中,收发信号中的“0”为+3V+15V,“1”为-3V-15V,但单片机采用正逻辑TTL电平,所以需要使用专用芯片MAX232C实现EIA电平和TTL电平移位。MAX232 C是MAXIM公司生产的RS-232 C转换芯片,包括两个驱动器和接收器。芯片部分带有电压转换器,可将输入的+ 5V电压转换为RS-232 C接口所需的10V电压,特别适用于没有12V的单电源系统。MAX232是逻辑电压转换芯片,周围必须有一定的电容滤波。根据MAX232的不同,电容的值也不

49、同。 MAX232C可以使用一个1uF的电容,虽然也可以使用几个晶体管进行电平模拟转换。但是使用专用芯片更简单,更可靠。串行通信电路如图 4-7 所示:图 4-7 串口通讯硬件连接图4.6 人机交互与串行通信单元设计人机交互的主要功能是辅助控制,方便调试。在当今的各种实时自动控制和智能仪表中,人机交互是不可或缺的一部分。一般来说,人机交互是由系统配置的外部设备完成的。实现方式有两种:一种是通过MCU专用芯片的I/O口驱动实现,如键盘显示控制芯片、串行数传数显驱动芯片等,实现人机交互功能。另一个是MCU本身具有驱动功能。它直接使用内存访问形式或I/O设备的访问形式,通过数据总线和控制信号来控制键

50、盘和LCD,实现人机交互。4.7键盘输入按键部分实现的主要原理是单片机读取与按键相连的I/O口的状态,判断按键是否被按下,从而达到系统参数设置的目的。单片机应用系统中键盘的作用是实现数据输入和命令输入,是人工干预的主要手段。键盘分为两类:编码键盘和非编码键盘。编码键盘:必要的按键识别工作和可靠性措施由硬件逻辑电路完成。每按一次按键,键盘自动提供按键读数,同时产生一个选通脉冲通知微处理器,一般具有弹跳和同时按键保护功能。这种键盘使用方便,但硬件比较复杂。对于主机的繁重任务,使用8279可编程键盘管理接口芯片组成编码键盘系统是一个非常实用的解决方案。非编码键盘:它只是提供键盘的行、列和矩阵。其他的

51、按键识别、按键读取等操作都是通过软件来完成的,所以硬件设计比较简单,但是会占用大量的CPU时间。非编码键盘包括:独立键结构和矩阵键结构两种。矩阵键结构适用于键数较多的场合,由行线和列线组成,键位于行和列的交点处。矩阵键盘工作原理:行线通过上拉电阻接+5V。如果没有按键,则行线处于高电平状态,如果有按键按下,则行线电平状态将由与行线相连的列线的电平决定。如果列线电平低,则行线电平低;如果列线电平高,则行线电平高。矩阵按键结构的优点是节省了单片机的I/O口,适用于按键较多的场合。独立按键结构,独立按键是指按键相互独立,每个按键占用单独的I/O口线,每条I/O口线上的按键工作状态不会影响其他I/O口

52、线.工作状态。每个按键开关都需要使用一个上拉电阻来保证按键断开时每个I/O都有一个确定的高电平。当输入端口有上拉电阻时,外部电路的上拉电阻可以省略。优点:电路配置灵活,软件结构简单。缺点:每个按键需要占用一条I/O口线。当按键数量较多时,I/O口被浪费,电路结构复杂。因此,这款键盘适用于按键少或操作速度快的场合。在本设计中,由于只需要四个按键,因此采用了独立的键盘结构,电路连接图如图4-8所示:图 4-8 独立键盘4.8液晶屏输出液晶显示器具有功耗低、体积小、显示能力丰富、超薄、重量轻等诸多优点。在袖珍仪器和低功耗应用系统中,LCD的应用越来越广泛。字符液晶显示器是一种使用5 * 7点阵图形来

53、显示字符的液晶显示器。按显示容量可分为1行16字、2行16字、2行20字等。常用的JDL 162 A 2行16字液晶模组作为数据显示模块。 JDL 162 A 使用标准的 16 针接口,其中:引脚 1:VSS 接地引脚 2:VDD 接 5V 正电源。3脚:液晶显示器的对比度调节端。接通电源时对比度最弱,接地时对比度最高,对比度过高会产生“鬼影”。您可以使用 10K 欧姆电位器来调整对比度。4脚:RS为寄存器选择,高电平时选择数据寄存器,低电平时选择指令寄存器。5脚:RW为读写信号线,高电平进行读操作,低电平进行写操作。当 RS 和 RW 都为低时,可以写入命令或显示地址。当 RS 为低,RW

54、为高时,可以读取忙信号。当 RS 为高时,RW 为低。可以写入数据。 .引脚 6:E 端为使能端。当E端从高电平跳到低电平时,液晶模块执行指令。引脚 7 到 14:D0 到 D7 是 8 位双向数据线。第15至16脚:空脚JDL 162 A 和单片机的 I/O 口如图 4-9 所示:图 4-9 LCD 硬件连接图4.9串行通信串行通信数据传输的特点是:数据以比特传输,至少只需要一根传输线即可完成通信,因此通信成本低,但速度较慢,而串行通信有两种:异步通信和串行同步通信。这样,微控制器中使用的串行通信是异步的。异步串行通信是基于字符的,即逐字符传输。本设计采用RS232串行接口完成单片机与PC机

55、之间的数据传输。在RS232C标准中,收发信号中的“0”为+3V+15V,“1”为-3V-15V,但单片机采用正逻辑TTL电平,所以需要使用专用芯片MAX232C实现EIA电平和TTL电平移位。MAX232是逻辑电压转换芯片,周围必须有一定的电容滤波。根据MAX232的不同,电容的值也不同。 MAX232C可以使用一个1uF的电容,虽然也可以使用几个晶体管进行电平模拟转换。但是使用专用芯片更简单,更可靠。串行通信电路如图 4-10 所示:图 4-10 串口通讯硬件连接图4.10电力系统设计因为单片机的工作电源是+5V,底层电路的功耗很小。因此,在单片机的电源设计中,常采用输出电压固定的集成稳压

56、器作为稳压器。这种集成稳压器只有输入、输出和公共端三个端口,所以称为三端稳压器。三端稳压器7805可制成+5V输出的电源,可为单片机提供正常工作电源。三端稳压器由启动电路、参考电压电路、采样比较放大电路、调整电路和保护电路组成。本设计采用的直流稳压电路如图3-8所示,其中7805起到了电压变化的作用。图中的极性电容C 7和C 8 是用来储备电源的,也可以在电源开关时起到缓冲作用。 C 11和C 12用于过滤。在此基础上还可以增加二极管D5和D6,分别连接到7805的3、1和2、3端,形成反馈。当电路发生短路时,可进行电路保护。另外,还可以接一个400欧的电阻和一个发光二极管,目的是检测电路是否

57、通电。这种设计是为了简化电路,所以上面两步就省略了。电路系统原理图如图4-11所示:图 4-11 稳压电源示意图第 5 章:框图和 C 语言程序5.1 温度采集系统原理框图,见图5-1初始化初始化调用显示子程序1S到?初次上电?读出温度值温度计算处理显示数据刷新发温度转换开始命令NY主流程图Y主流程图NN图5-1 温度采集系统原理框图5.1.1温度显示模块显示数据刷新子程序主要是刷新显示缓冲区中的显示数据。当最高显示位为 0 时,符号显示位移入下一位。程序流程如图 5-2 所示。温度数据移入显示寄存器温度数据移入显示寄存器十位数十位数0?是百位数百位数0?是百位数显示数据 (百位数显示数据 (

58、不显示符号)十位数显示符号百位数不显示是结束结束图 5-2 温度显示模块流程图5.1.2读取温度子程序读取温度子程序的主要功能是读取RAM中的9个字节,读取时需要进行CRC校验。程序流程如图 5-3 所示。发发DS18B20复位命令发跳过ROM命令读取温度命令读取操作,CRC校验9字节完?CRC校验正确?移入温度暂存器结束是图 5-3 读取温度子程序5.1.3温度转换子程序温度转换命令子程序主要是发出温度转换启动命令,其子程序流程如图5-4所示。DS18B20DS18B20复位命令跳过ROM命令温度转换开始命令结束图 5-4 温度转换子程序流程5.1.4计算温度子程序该程序将读取到的 RAM

59、中的值转换为 BCD 码,并进行正负判断过程,如图 4-5 所示。开始开始温度零下?温度零下?温度值取补码置“”标志是温度值取补码置“”标志置“置“+”标志计算小数位温度计算小数位温度BCD值计算整数位温度计算整数位温度BCD值结束结束图 5-5 温度计算子程序流程5.2 温度采集系统C语言程序#include #define uchar 无符号字符#define uint 无符号整数位 DS=P22;sbit fm=P23; /define interface 定义DS18B20接口国际温度; /温度变量uchar flag1,count; / 结果的符号为正或负sbit 杜拉=P26;sb

60、it wela=P27;无符号字符码表=0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90;/不带小数点编码。无符号字符码表 1=0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02,0 x78,0 x00,0 x10; /用小数点编码。void delay(uint x) /延迟uchar i,j;for(i=0;ix;i+)for(j=0;j0)i-;DS=1;我=4;而(i0)i-;bit tmpreadbit(void) /读一位读一位诠释我;位数据;DS=0;i+; /i+ 小延迟DS=

温馨提示

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

评论

0/150

提交评论