基于单片机AT89c52与RS485的远程数据采集系统的设计.doc

上传人:b****2 文档编号:1642889 上传时间:2022-10-23 格式:DOC 页数:47 大小:3.26MB
下载 相关 举报
基于单片机AT89c52与RS485的远程数据采集系统的设计.doc_第1页
第1页 / 共47页
基于单片机AT89c52与RS485的远程数据采集系统的设计.doc_第2页
第2页 / 共47页
基于单片机AT89c52与RS485的远程数据采集系统的设计.doc_第3页
第3页 / 共47页
基于单片机AT89c52与RS485的远程数据采集系统的设计.doc_第4页
第4页 / 共47页
基于单片机AT89c52与RS485的远程数据采集系统的设计.doc_第5页
第5页 / 共47页
点击查看更多>>
下载资源
资源描述

基于单片机AT89c52与RS485的远程数据采集系统的设计.doc

《基于单片机AT89c52与RS485的远程数据采集系统的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机AT89c52与RS485的远程数据采集系统的设计.doc(47页珍藏版)》请在冰豆网上搜索。

基于单片机AT89c52与RS485的远程数据采集系统的设计.doc

目录

内容摘要 1

关键词 1

Abstract 1

Keywords 1

1概述 2

2数据采集系统的硬件设计 3

2.1DS18B20数字式温度传感器模块的硬件电路设计 3

2.2数码管显示模块的设计 8

2.3RS-485总线及其与单片机的接口电路的设计 9

3远程数据采集系统的软件设计 14

3.1单片机的数据采集模块的程序设计 14

3.2数据采集的串口通信协议 19

3.3人机界面的设计 24

4系统调试与分析 29

4.1单片机中测温显示模块的调试 29

4.2串口通信调试 29

4.3结果分析 31

5结束语 32

参考文献 33

致谢 35

35

内容摘要:

本论文提出一种利用DS18B20数字式温度传感器作为温度采集的工具,利用单片机AT89C52对它进行控制,并且通过RS-485总线做远程传送将采集到的数据通过RS-232接口送入PC机测温系统的设计方法。

设计采用了模块化的思想,条理清楚,主要有硬件设计与软件程序设计两部分。

本系统接口简单、使用方便、可靠性好,在温度检测中有较广泛的应用前景,具有较强的使用价值。

就其采样频率和分辨率来说属于中速类型,适合对数据采样频率要求不是特别高的应用场合。

关键词:

单片机AT89C52温度传感器DS18B20RS-232

总线串行通信RS-485VB6.0

Abstract:

AdesigningmethodwhichusesDS18B20digitalsensorastemperature-collectingtool,andsinglechipcomputerasMicro-controllerunitisintroduced.Itmakesalong-rangeconveyancebyusingRS-485BustosendthecollecteddatatoPCtemperature-measuringsystembyRS-232interface.ThisdesignhasitsclearorderandmainlyhashardwaredesignandsoftwareprocessdesigntwopartsforitsModularthoughts.Thissystemhaswidelyperspectiveintemperaturemeasurementandgoodusevalueforitssimpleandconvenientinterfaces.Asfarassamplingfrequencyandresolutionratio,itbelongstomiddle-speedtype.Itispropertobeusedinapplicationoccasionwithouthighrequirementtodatasamplingfrequency.

Keywords:

SingleChipComputerAT89C52;TemperatureSensorDS18B20;RS-232;BusSerialCommunicationRS-485;VB6.0

1概述

数据采集广泛应用于各个测试和控制系统,数据采集系统的设计和实现包括很多方面的内容,涉及面也很广。

在日常生活及工农业生产中经常要用到温度的检测及控制,能独立工作的温度检测系统已广泛应用于诸多的领域。

传统的温度检测大多以热敏电阻或热电偶为传感器,它们测出的一般都是电压,再通过相应的A/D转换,转换成对应的温度,这种结构需要比较多的外部硬件支持,硬件电路复杂,软件调试复杂,制作成本高。

在一些测量与控制系统的应用场合中,数据采集点与控制点通常有一定的距离,因此需要将采集的数据从采集现场进行远程传输,而传统的串口通信传输的最大的距离只有15m,因此相要完成远距离的传输,就应对系统的数据传输问题采取新的方法。

为了简化电路,降低成本,提高性价比,增强抗干拢能力和扩大传输距离和使用的灵活性,研究一种新的温度数据远程采集系统也就很有必要。

本设计提出一种利用DS18B20数字式温度传感器作为温度采集的工具,利用单片机对它进行控制,并且通过RS-485总线做远程传送将采集到的数据通过RS-232接口送入PC机测温系统的设计方法。

系统上位机由一台微机构成,软件采用VisualBasic编程,做出十分直观的人机界面,由单片机构成的测温模块检测到的温度数据分别显示在单片机的显示模块和通过串口通信显示在PC机上。

本系统设计完成了对温度数据的采集、数码管显示以及PC机对温度变化的曲线图绘制。

设计采用了模块化的思想,条理清楚,主要有硬件设计与软件程序设计两部分。

本设计接口简单、使用方便、可靠性好,在温度检测中有较广泛的应用前景,具有较强的使用价值。

就其采样频率和分辨率来说属于中速类型,适合对数据采样频率要求不是特别高的应用场合。

2数据采集系统的硬件设计

系统主要由DS18B20数字式温度传感器模块、单片机控制模块、数码管显示模块、RS-485传输总线模块、RS-485/RS-232转换接口模块、上位PC机显示和控制模块五个部分组成,其框图如图1所示,本系统的整体硬件电路图见附录1。

图1远程温度数据采集系统框图

2.1DS18B20数字式温度传感器模块的硬件电路设计[1][2]

为了降低温度采集的硬件复杂性与提高整个设计电路的抗干拢能力,降低成本,数据采集模块中,采用美国达拉斯(DALLAS)公司推出的一种改进型智能温度传感器DS18B20作为检测元件。

它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,特别适合于多点温度测控系统。

2.1.1数字式温度传感器DS18B20

DS18B20数字式温度传感器与传统的热敏电阻不同,可直接将温度转化成数字信号进行处理,每片DS18B20都具有惟一的产品号并可存入其ROM中,便于构成大型温度测控系统时在单线上挂接多个DS18B20芯片,CPU可用简单的协议就可识别。

从DS18B20读出或写入DS18B20信息仅需要一根端口线,其读写及温度变换功率来源于数据总路线,该总路线本身也可以向所挂接的DS18B20供电,而无需额外电源,从而节省大量的引线和逻辑电路。

根据实际需要通过简单的编程实现9~12位的数字值读数方式,分辨率最大可达0.0625℃,测量范围为-55~125℃。

它采用8脚SO封装或3脚PR-35封装,分别如图2、图3所示。

图2DS18B20的8脚SO封装图3DS18B20的3脚PR-35封装

8脚封装的NC为空引脚;VDD为电源引脚,接3.0~5.5V;GND接地;DQ为数据的输入和输出引脚(单线总线),常态下呈高电平。

DS18B20的内部结构如图4所示:

图4DS18B20的内部结构

2.1.2DS18B20的测温原理

DS18B20的内部框图如图5所示,主要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器、用于存储用户设定的温度上下限值、触发器存储与控制逻辑、8位循环冗余校验发生器等7部分。

图5DS18B20的内部框图

低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一个频率稳定的计数脉冲。

高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。

初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减计数到0时,温度寄存器中寄存的温度值就增加1℃,这个过程重复进行直到计数器2计数到0为止。

初始时,计数器1的预置值是和-55℃相对应的一个初始值。

以后计数器1每一个循环的预置数都由斜率累加器提供。

为了补偿振荡器温度特性的非线性,斜率累加器提供的预置值也随温度作相应的变化。

计数器1的预置数也就是在给定温度处使温度寄存器值加1℃所需的计数值。

DS18B20测量温度时使用特有的温度测量技术。

DS18B20内部的低温度系数振荡器能产生稳定的频率信号;高温度系数振荡器则将被测温度转换成频率信号。

当计数门打开时,DS18B20进行计数,计数门开通时间由高温度系数振荡器决定。

芯片内部有斜率累加器,可对频率的非线性度加以补偿。

测量结果以16位带符号扩展的二进制补码形式存入温度寄存器中。

单片机可以通过单线接口读出数据,读数据时低位在前,高位在后,数据格式以0.0625℃/LSB形式表示。

温度值格式的低、高字节如表1、表2所示。

表1LS字节

23

22

21

20

2-1

2-2

2-3

2-4

表2MS字节

S

S

S

S

S

26

25

24

当符号位S=0时,表示温度值为正,可以直接将二进制数转换成十进制数;当符号位S=1时,表示温度值为负,要先将补码变成原码,再计算其对应的十进制数。

表3是部分温度对应的二进制温度数据。

表3DS18B20温度与测得值对应表

温度/℃

二进制表示

十六进制表示

+125

0000011111010000

07D0H

+85

0000010101010000

0550H

+25.0625

0000000110010001

0191H

+10.125

0000000010100010

00A2H

+0.5

0000000000001000

0008H

0

0000000000000000

0000H

-0.5

1111111111111000

FFF8H

-10.125

1111111101011110

FF5EH

-25.0625

1111111001101111

FE6FH

-55

1111110010010000

FC90H

2.1.3DS18B20中的单总线技术

DALLAS公司推出的1-wireBus技术采用单根信号线,既可传输时钟,又能传输数据,而且数据传输是双向的。

系统中的数据交换、控制都由这根线完成。

主机或从机通过一个漏极开路或态端口连到该数据线,以允许设备在不发送数据时能够释放总线,而让其它设备使用总线。

单总线通常要求外接一个4.7 kΩ的上拉电阻,当总线闲置时,其状态为高电平。

主机和从机之间的通信通过三个步骤完成:

初始化1-wire器件、识别1-wire器件和交换数据。

由于是主从结构,只有主机呼叫时,从机才能应答,主机访问1-wire器件必须严格遵循总线命令时序,即初始化、读ROM、命令功能命令。

如出现混乱,1-wire器件不会响应主机。

1-wire协议定义了复位脉冲、应答脉冲、写0、读0、和读1时序等几种信号类型。

在这些信号中除应答信号外,其它的都是由主机发出同步信号,且发送的所有命令和数据都是低字节在前面。

基本的通信过程为:

主机通过拉低单总线至少480us产生Tx脉冲;然后由主机释放总线,进入Rx模式。

主机释放总线时,会产生一由低电平跳变为高电平的上升沿;单总线器件检测到该上升沿后,延时15~60us;单总线器件通过拉低总线60~240us来产生应答脉冲;主机接收到从机的应答信号脉冲后,说明有单总线器件在线,然后主机就可以开始对从机进行ROM命令和功能命令操作。

所有的读写时序至少需要60us,且每两个独立的时序至少需要1us的恢复时间。

在写时序中,主机将在拉低总线15us之内释放总线,并向单总线器件写1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 材料科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1