基于AT89C51单片机的测温系统

合集下载

AT89C51基于单片机温度控制系统设计

AT89C51基于单片机温度控制系统设计

AT89C51基于单片机温度控制系统设计中文摘要摘要近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及具体应用对象特点的软件结合,以作完善。

本文从硬件和软件两方面来讲述水温自动控制过程,在控制过程中主要应用AT89C51、ADC0809、LED显示器、LM324比较器,而主要是通过DS18B20数字温度传感器采集环境温度,以单片机为核心控制部件,并通过四位数码管显示实时温度的一种数字温度计。

软件方面采用汇编语言来进行程序设计,使指令的执行速度快,节省存储空间。

为了便于扩展和更改,软件的设计采用模块化结构,使程序设计的逻辑关系更加简洁明了,使硬件在软件的控制下协调运作。

而系统的过程则是:首先,通过设置按键,设定恒温运行时的温度值,并且用数码管显示这个温度值.然后,在运行过程中将采样的温度模拟量送入A/D 转换器中进行模拟-数字转换,再将转换后的数字量用数码管进行显示,最后用单片机来控制加热器,进行加热或停止加热,直到能在规定的温度下恒温加热。

关键词:单片机系统;传感器;数据采集;模数转换器;温度I目录AbstractIn recent years, with the computer penetration in the social field, the application of SCM is to keep at the same time, traditional control testing update on Crescent benefits. In real-time detection and automatic control system of single-chip applications, often as a single-chip core component to use only single-chip is not enough knowledge, but also the specific hardware structure and the specific features of application software objects combine to make perfect.In this paper, both hardware and software for automatic control of water temperature on the process, in the control of the main application of the process of AT89C51, ADC0809, LED display, LM324 comparator, but mainly through the digital temperature sensor DS18B20 collecting ambient temperature to single-chip microcomputer as the core control components, and through four real-time digital display of a digital thermometer temperature. Software using assembly language for programming, so that the implementation of Directive speed, to save storage space. In order to facilitate the expansion and changes to the design of modular software structure, so that the logic of the relationship between program design more concise,Hardware software co-operation under the control of it.And systematic process is: First of all, by setting the button, set the thermostat temperature at the time of operation, and digital display of the temperature. Then, in the running temperature of the process of sampling analog into the A / D converter in the simulation - digital converter, and then converted digital control with digital display, the last single-chip microcomputer to control the heater used for heating or stop heating until the temperature in the provisions under the constant temperature heating.Key words:Single-chip microcomputer system ;Sensor;Data Acquisition;ADC;Temperaturei目录i目录目录摘要 (I)Abstract (i)目录 (i)第1章绪论 (1)1.1设计的背景及其意义 (1)1.2设计研究的内容及要求 (1)1.3设计的实现方案 (3)第2章设计理论基础 (6)2.1单片机的发展概况 (6)2.2 AT89C51系列单片机介绍 (7)2.2.1 AT89C51系列基本组成及特性72.2.2 AT89C51系列引脚功能 (8)2.2.3 AT89C51系列单片机的功能单元 (11)2.3 ADC0809模数转换器 (14)2.4运算放大器LM324 (16)2.5移位寄存器74LS164 (19)2.6数码显示管LED (20)2.7数字温度计DS18S20 (21)第3章电路设计 (22)i目录3.1单片机控制单元 (22)3.2温度采样部分 (22)3.3模数转换部分 (24)3.3.1模数转换技术 (24)3.3.2积分型模数转换器 (25)3.4显示部分 (25)3.5 调节执行单元 (26)第4章软件设计 (27)4.1主程序流程图 (27)4.2中断子程序流程图 (28)4.3按键流程图 (30)4.4显示流程图 (31)参考文献 (30)致谢 (31)1.系统总程序清单 (32)2.系统的原理图 (41)ii第1章绪论第1章绪论1.1设计的背景及其意义二十一世纪是科技高速发展的信息时代,电子技术、微型单片机技术的应用更是空前广泛,伴随着科学技术和生产的不断发展,需要对各种参数进行温度测量。

基于AT89C51的温度监测系统设计

基于AT89C51的温度监测系统设计

基于AT89C51的温度监测系统设计【摘要】本文设计的硬件电路可以对温度进行实时监测并在温度异常时发出警报。

该电路采用以AT89C51为核心的主控芯片,并且包含了传感器数据采集模块、温度显示模块、报警模块以及复位模块等电路。

其中,温度显示模块通过LCD1602液晶显示器对温度进行实时显示;传感器数据采集电路采用DS18B20单总线型温度传感器。

该系统电路设计简单,工作性能稳定,硬件成本低廉,灵敏度高。

【关键词】AT89C51;DS18B20;LCD1602;温度传感器;实时监测1.引言温度的监测在现代工业生产以及日常生活中的应用愈来愈广泛,并且在某些领域也发挥着愈来愈重要的作用。

在很多生产过程中,温度的监控与生产安全、生产效率、产品质量、能源节约等方面有着紧密的联系。

目前,传感器已成为衡量一个国家科技发展水平的重要标志之一。

而本文正是结合温度传感器与单片机所做的设计,该设计对温度的监测可广泛应用于食品、化工、机械等方面。

2.系统整体设计结合温度监控器在实际应用的要求,为实现温度的实时监测以及报警的功能,本文采用以下电路模块对系统硬件进行设计:主控芯片:选用AT89C51单片机作为整个系统的控制器;显示模块:选用LCD1602液晶显示器作为系统的显示电路;温度采集模块:选用DS18B20温度传感器作为系统的温度采集电路;报警模块:采用蜂鸣器与发光二极管作为系统的报警电路。

综上所述,该硬件电路的系统框图如图1所示。

3.系统硬件设计系统的整体硬件设计图如图2所示。

3.1 主控电路的设计该模块是系统的核心控制部分,其主要任务是通过接口将获得的数据进行处理。

本系统采用的AT89C51是美国ATMEL公司的一种高效微控制器。

此单片机具有以下功能:4k字节Flash闪速储存器、128字节内部随机数据存储器(RAM)、32个I/O口线,而且它还与工业标准的MCS-51指令集和输出管脚相兼容。

故而,这种低电压、高性能CMOS8位单片机可灵活应用于多种场所。

基于AT89C51单片机温度报警系统设计与制作.

基于AT89C51单片机温度报警系统设计与制作.

一、摘要我们介绍的是一种基于单片机控制的数字温度报警,本温度系统具有多功能性,即可以当数字温度计使用,显示当前环境温度,又可以作为报警器使用,设置报警温度,当温度不在设置范围内时,可以报警,并采取措施使温度下降。

该温度报警系统控制器使用单片机AT89C51,测温传感器使DS18B20,用2位共阳极LED数码管,实现温度显示,能准确达到以上要求。

二、设计方案1、方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。

2、方案二进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。

温度报警系统电路设计总体设计方框图如图1所示1、单片机主板电路单片机AT89C51具有低电压供电和体积小等特点,该模块包括中央处理CPU -AT89C51、时钟电路及复位电路;图2复位电路图3 时钟电路2、DS18B20温度传感器与单片机的接口电路DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

DS18B20是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。

该电路完成了信号的采集、转换和传输。

图43、上下限报警调整电路分别调整温度的上下限报警设置,有“+“、”“-”、“确定”等键图5上下限报警调整电路4、温度显示电路显示当前测得的温度,数码管采用74LS247驱动图6温度显示电路5、报警电路当环境温度超过设定温度时,蜂鸣器鸣叫,红灯点亮,发生报警;当人员发现警报时,可按图8中的按钮,暂时中断蜂鸣器的鸣叫。

基于AT89C51单片机的实时温度测量系统的设计

基于AT89C51单片机的实时温度测量系统的设计

基于AT89C51单片机的实时温度测量系统的设计班级:测控091班2012/12/22 Saturday基于AT89C51单片机的实时温度测量系统的设计一、设计目的1、更加深入地熟悉单片机内部的结构以及各部分工作过程。

2、熟悉单片机的系统开发方法与步骤。

3、熟悉Protuse 仿真和Keil 编程的使用。

4、了解DS18B20的工作方式和过程。

二、 设计工具Protuse 仿真软件,Keil 编程软件 三、 数字温度传感器DS18B20DS18B20数字温度传感器是美国Dallas 半导体公司生产的总线式智能数字温度传感器。

功能和特点:1. 独特的单线接口方式,它将地址线、数据线、控制线合为一根,在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

2. 测温范围-55℃~+125℃,固有测温分辨率0.5℃。

3. 支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现多点测温。

4. 工作电源:3~5V/DC5. 在使用中不需要任何外围元件。

6. 测量结果以9~12位数字量方式串行传送。

7. 用户可自设定非易失性的报警上下限值,报警搜索命令可以识别哪片DS18B20温度超限。

序号 名称 引脚功能描述 1 GND 地信号。

2 DQ 数据输入/输出引脚。

3V DD可选择的V DD 引脚。

一般接3V-5V8、DS18B20的应用电路DS18B20测温系统具有测温系统简单、测温精度高、连接方便、占用口线少等优点。

下面就是DS18B20几个不同应用方式下的测温电路图:8.1、DS18B20寄生电源供电方式电路图如下面图4所示,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量 独特的寄生电源方式有三个好处: 1)进行远距离测温时,无需本地电源2)可以在没有常规电源的条件下读取ROM 3)电路更加简洁,仅用一根I/O 口实现测温 要想使DS18B20进行精确的温度转换,I/O 线必须保证在温度转换期间提供足够的能量,只靠图44.7K 上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。

基于单片机AT89C51的温度控制系统的设计

基于单片机AT89C51的温度控制系统的设计

基于单片机AT89C51的温度控制系统的设计基于AT89C51单片机的温度测控系统设计一、引言随着现代化科技的进步,在很多工业控制场合需要非常精确的控制温度的变化,而在日常生活中,水温的智能控制应用也非常广泛,在这种环境下,便提出了智能水温控制系统。

本设计一单片机AT89C51为控制核心,用K型热电偶作温度传感器,信号经放大后输入模数转换器ADC0809,转换后的数字量输入到单片机AT89C51中。

单片机中采用PID控制算法对测量数据和设定数据进行处理,处理后的数据经数模转换器DAC0832转换为模拟量,以此来控制全隔离单相交流调压模块,从而控制锅炉水温稳定与设定值。

二、温度控制系统方案设计采用K型热电偶测量温度,讲温度信号放大后通过A/D 转入单片机,单片机进行数滤波和PID运算处理后,结果经DAC0832转换为模拟量对全隔离单相交流调压模块进行控制,达到控制电炉水温的目的。

系统方案如图1所示。

三、温度控制系统硬件设计温度控制系统硬件包括:AT89C51单片机最小系统模块、A/D转换模块、D/A转换模块、信号放大电路、温控电路以及其它外围电路。

3.1 单片机的选择AT89C51是ATMEL公司采用CM0S工艺生产的低消耗、高性能8位单片机,与MCS-51单片机兼容,其功能特点为:(1)4K字节闪烁存储器(FLASH),可进行1000次写。

(2)静态操作,外界OHZ-24MHZ晶振。

(3)三层程序存储器锁。

(4)128字节内部数据存储器(RAM)。

(5)32跟可编程输入,输出线。

(6)两个6位定时/计数器。

(7)六个中断源。

(8)一个可编程串口。

(9)支持低功耗模式和掉电模式。

非常适合用作控制系统设计。

3.2传感器电路和信号放大电路采用K型热电偶作为温度传感器,它是一种能测量较高温度的廉价热电偶。

它的价格便宜,重复性好,产生的热电势大,约为0.041mV/度,因而灵敏度很高,而且它的线性很好。

虽然其测量精度略低,但完全满足工业测量要求,所以它是工业最常用的热电偶。

基于AT89C51的温度测量与显示系统

基于AT89C51的温度测量与显示系统

sn0 D 1 B 0 tm eaue aq i  ̄ ,j y ad esr s 2 ,e prt r c u E n d 吣 n 8 s S
ohrf n曲 wt h e e p n fte sf w r t Uc ) e iht d vl met o h o t ae e o
213 序 ..谢 在读时序期 间, 主机读入来 自D 1B 0 S 8 2 的数据 。若 D 1B 0 S 8 2 发送 1 ,则保持总线为 高 电平 ;若发送 0 ,则拉低总线。主机必须
[] 刚 . 片机 原理 及 应 用[]北京 : 3张毅 单 M. 高
等教 育 出版社 .0 8 20 .
L D显示采用常规 的共阴数码管,为 E 了具有 良好 的温度显示效果, 用高集成化的 串 行 输 入 输 出 的 共 阴 极 显 示 驱 动 器
描程序 。这样 显示器循环 点亮 ,即可显示 当前 温 度值 。
实现 温 度 采 集 、 显 示 等 功 能 。 温 度 测 量 ; 单 片 机 ;D 8 2 S B 1 0
[] 永 中 , 文 剑 , 2熊 王 陈金 鹰 等 . 于单 片机 基 和 P 机 的实 时 温度 控 制 系统 设 计 [ . c J 自动 ]
化 技 术 与应 用 .0 , :2 -19. 2 l 5 16 2 0
数字温度传感器D 1B 0 能够直接读 S8 2, 出被 测 温 度 。温 度测 量 范 围 为 一 5 ℃ ~ + 5 15 可根据实际要求编程为9 2 2 ̄ C, ~l位A/ D 转换精度 ,分辨 率可达 0. 6 5 。由于 02 ℃ D IB 0 S 8 2 集温度测量, / A D转换于一体 。 具
T mprtr es rme ta d d p y s se bsd e ea ue m aue n n i l y tm ae sa

基于单片机AT89C51的温度测控系统

基于单片机AT89C51的温度测控系统

采 用一 定的算法对信 号处理 以确 定采取 某种控制手段 , 在本 系统 中采 用温度优 先模 式, 循 环处理 。
【 关键词 】 8 9 C 5 1 ; 8 7 2 9 键盘显示 ; L C D显示; A D C 0 8 0 9
1 系统总体分析与设计
1 . 1 总 体 方 案
简单平均处理作为温室 温度 和湿度 。在分辨率达到的前提下 . 温湿
S c i e n c e & Te c h n o l o g y Vi s i o n
科 技 视 界
科技・ 探索・ 争I 乌
基于单片机 A T 8 9 C 5 1 的温度测控系统
郭 爽 ( 武汉 理 工大 学 , 湖 北 武汉 4 3 0 0 7 0 )
【 摘 要】 本文利用 8 0 5 1 单片机 设计一个温 室的温湿度控 制 系统 , 对给 定的温湿度进行控制 并实时显示 , 其 中温湿度信号各有 四路 . 系统
度的精度为 1 % 2 . 2 温湿度控制系统
1 ) 温度监控 : 对温室温度进行 测量 . 并 通过升温 或降温达到植被 首先 , 系统启动后 , 提示用户输入温度的上限与下 限的温度值 。 用 的最佳温度 户输入之后 . 系统 自动求出 中间值 . 根据实际温度 的情 况采取相应 的 2 ) 湿度监控 : 对 温室湿度进行 测量 , 并通 过喷雾或去 湿达到植被 方案。 的最佳湿度 如果 该时刻的实际温度值 低于用 户给定 的下限温度值时 . 系统立 3 ) 控制处理 : 当温度 、 湿度越限时报警 , 并根据报警信号提示采取 即启动报警装置 , 且 系统处于升温状 态 , 直到实 际温度 达到用户输入 定手段控制 的上下限温度的中间值 一定区间内时停 止升 温 反之 . 如果实际温度 4 ) 显示 : L C D就地显示输入值 和相应 的温湿 度 . 数码管 摆放在生 值 高于用户设定 的上 限值 时 , 系统也会 立即启动报警装置 . 且系统处 产现 场用于显示当前的温湿度 于降温状 态 . 直 到实际温度 达到用户输入 的上下限温度的 中间值一定 1 . 2 实施 措 施 区间内时停止降温 1 ) 实 际环境 温度 与给定界 限比较 , 执行加热刷 冷措施 。 选择 中间值作为 控制参数 .防止升温——降温——升温 的死循 2 ) 实 际环境湿度 与给定界 限比较 , 执行加湿/ 去 湿措施 环, 因为温度低于下限时会一 直升温 . 可能 导致温度高于上 限系统又 3 ) 越 限报警 : 当温湿度越 限时声光报警 。 开始 降温 , 这样 系统便一直重 复升温——降温——升温过程 . 导致设 4 ) 键盘 显示 : 负责用户的输入 及相关数据 的显示 . 其 中包括 L E D 备在某一 个温湿度点附近频 繁的启停 . 使设备 寿命下降 . 而且 没有实 和L E D显示。 际意义 。 1 - 3 硬件系统设计 选择 中间值 的一定 区间 , 是 防止达到 中间值 时 . 采取 了停止 升温 经过上 面的总体方案 和实施 措施 的讨论 后可 以开始 着手硬件 系 或者降温措施 , 温度还是会持续上 升或下降一会儿 . 这时候温度可 能 统的设计 , 硬件系统是应用系统 的基础 、 软件系统设计的依据 。 不是正好在 中间值处 . 系统便还 是采取升温或者 降温的措施 . 而此 时 主机与主要部件 的选择 : 的温度值可能 已经是很适合植被生长的需要 的温度值 所以本方案选 根据总体功 能和性价 比及其运行速度等 因素的考虑 . 选用 M C S 一 在 中间值 的正 负一 度区间内 , 认 为此区问 内都是适合 的 . 不产生任何 5 1 系列的 8 9 C 5 1 为主机 . 满足上面 的要求而且设计 方便 . 不需要再存 控制动作 变化 . 这样就能解决设备频繁启停 问题 储扩 展 。 2 . 3 键 盘 显示 系统 数据存储片 内设有 1 2 8 B . 外部有 8 2 7 9 的2 5 6 B . 而 由于存 入 的数 键盘显示 系统采用 8 2 7 9芯 片控制 l 6键的键盘 和 8个 七段数码 据是 随时更 新的且不计小数位 。 存入 8 个 1 6 进制数字 . 其总共需要 的 管, 以实现用 户的输入与数据输 出。1 6个 键分别是… 0’ 到… F’ . 对应的 容 量 只有 1 6 B , 已经 够用 。 对外 部模 拟 量 ( 温度 、 湿度) 采样 , 选 用 键值是 0到 1 5 不需要键值 的转换 。七段数码管采用共阴极 AD C 0 8 0 9能够满足要求 2 . 4 报警 系统 温室温 湿度控制 系统是 以 8 9 C 5 1 单片机 作为 中央控 制装置 . 模 报警 系统 由声音报警 和警报 灯报警组成 声音报警通过 P 1 . O口 数转 换器 A D C 0 8 0 9 . 风扇, 加热设 备 , 加 湿设备 . 排潮设 备 , 键盘 显示 接 S D F I 控制系统 的音效模 块发声 .用 C P U控制 P 1 . 0产 生一定频率 芯片等 。 其 功能和原理 如下 : 的方 波就 可以实现音效模块 的发声 音效模块是一个带有扬声器 的放 1 ) 8 9 C 5 1 作 为中央控制 装置 , 负责 中心运算 和控制 . 协调 系统各 大 电路 个模块 的工作 2 ) 四路 采样 温度信号采样 简单平均处理 , 温度保存为整 数。 3 硬 件调 试 方 案 3 ) 四路采样湿度 信号采样简单平均处理 . 温度保存为整数 。 3 . 1 硬件 电路 的调试 4 ) 模数转换器 A D C 0 8 0 9 : 即由模拟信号转换为数字信号 它共有 此部分 的任务是在系统连接好后, 调试各 个组件 能否正 常工作 , 能 8 个模数转换 通道 模数的转换共有 2 种方 法 一种是利用 I N T O 中 否实现软件设计 的预期 目标 。其步骤如下 : 断. 当一 次转换结束后 . A D C 0 8 0 9 使I N T 0 产生 中断 . 通知系统转换 完 1 ) 按照系统设计 . 将系统需要的各个组件连接好 。 毕: 另一 种使用延时方法 . 开始转换后 系统延时 i 0 0 微 秒等待转换 完 2 ) 实验说明书 . 了解各个组件的工作原理 , 开始着手调试芯片 。 成 。本方案采用延时转换 的方法 。 3 ) 试A D C 0 8 0 9 芯片 按照说明书调用 C O N W. A S M汇编程序 , 运 5 ) 键盘显示芯片 : 用8 7 2 9识别键盘 , 负责用户的输入及相关 的数 行, 观察现象 现象正确 , 说明 A D C 0 8 0 9 卷 片正常 . 可以使用。 据的L E D显示 例如选择系统的工作模 式 . 用户输 入温度及 湿度的界 4 ) 电机 . 按照说 明书调用直流 电机相应的汇编程 序, 运行 , 观察现 限数据 . 显示实时 的温度及湿度值等等 象。 6 ) 风扇 : 负责系统的降温工作。 3 . 2 功能模块的调试方案 7 ) 加热设备 : 负责系统的加热工作 。 把各个功能模块编写成单独 的源文件进行调试 .调试成 功以后 . 8 ) 喷雾设备 : 负责系统 的加湿工作 。 再将各部分联 合在一起 9 ) 排潮设备 : 负责系统的去湿工作。 整个系统的编写 、 调试是从 8 2 7 9开始 的。控制 8 2 7 9原理虽然 简 单. 但需要 细节却很 多 . 如选择显 示寄存器 与送段码 的顺序 . 8 2 7 9的 2 温 湿 度 采 样 与 控 制 系统 初始化等待时间等 2 . 1 温 湿 度 采 样 系 统 用户温度输入数据时上限 、 下限分别在七 段数码管的 0 、 1 、 2 、 3 位 为了更精确的反映温室的温度和湿度 . 取温湿度各 4 路信号采样 置显示 , 湿度输入数 据时上限 、 下 限分别在七段数码 ( 下转第 2 4 0页 )

计算机毕业设计_基于AT89C51单片机的温度测控系统设计

计算机毕业设计_基于AT89C51单片机的温度测控系统设计

毕业设计(论文)温度测控系统的设计与实现姓 名系别、专业导师姓名、职称完成时间基于AT89C51单片机的温度测控系统设计摘要设计一款基于AT89C51单片机的温度测控系统,介绍该系统的工作原理和设计方法。

该系统温度信号由数字温度传感器DS18B20采集,送AT89C51单片机进行处理,并通过数码管显示。

控温部分使用4×4矩阵按键进行温度上限和下限的设定,当温度超过设定值范围后,单片机将发出控制信号启动升温装置或降温装置,使温度保持在一定的范围。

实验测试证明,设计的样机系统测温控温精度均为0.1℃,测温控温的范围可达-55~+125℃,可应用于家用电器、汽车、冷库等领域。

关键词:AT89C51;DS18B20;数码管;温度测控引言温度的测量和控制在日常生活和工业领域中具有广泛的应用,随着人们生活水平的大幅提高,对温度测量控制的精度和范围也有着更高的要求。

在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题,这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控等现象。

PID控制方式控制稳定且精度高,但是控制对象的模型难以建立,并且当扰动因素不明确时,参数调整较复杂。

本文采用DS18B20数字温度传感器,该传感器具有微型化、封装简单、低功耗、高性能抗干扰能力、测量范围广、强易配处理器等优点,可使系统测量更加精确,电路更加简单。

实验测试证明,设计的样机系统测温控温精度均为0.1℃,测温控温的范围可达-55~+125℃,可应用于家用电器、汽车、冷库等领域。

1 系统总体方案该系统将检测点的温度采集之后发送到单片机进行处理,并通过4×4矩阵按键进行温度上限和下限的设定。

当温度超过设定值范围后,单片机将发出控制信号启动升温装置或降温装置,使温度恒定在一定的范围。

系统主要包括温度采集模块、4×4行列式矩阵按键模块、主控模块、温度控制模块、测温控温显示模块等,其结构框图如图1所示。

基于AT89C51单片机的温度计设计

基于AT89C51单片机的温度计设计

引言概述:AT89C51单片机是一种常用的单片机型号,广泛应用于各种数字电子设备中。

本文将基于AT89C51单片机,设计一款温度计,用于测量环境温度。

通过该设计,可以实时监测环境温度,并将温度值以数字形式显示在屏幕上,提供给用户参考。

正文内容:1. 硬件设计1.1 传感器选择首先,需要选择适合的传感器来测量环境温度。

常见的温度传感器有热敏电阻、温度传感器模块等。

在本设计中,选择了DS18B20温度传感器模块,该传感器具有精度高、体积小等特点,适合本温度计的设计需求。

1.2 电路连接在硬件设计中,需要将DS18B20温度传感器模块与AT89C51单片机相连。

具体步骤如下:1) 将DS18B20传感器的VCC引脚连接至单片机的VCC引脚,将GND引脚连接至单片机的GND引脚,将DQ引脚连接至单片机的P1口,通过电阻和电容设置硬件复位电路。

2) 设置单片机的相应引脚为输入或输出引脚,使其与传感器的引脚相对应,并根据需要设置引脚的电平状态。

3) 根据DS18B20传感器的通信协议,使用单片机的串口通信功能与传感器进行通信,获取温度值。

2. 软件设计2.1 程序框架在软件设计中,需要设计相应的程序框架,以实现温度的测量与显示。

整体的程序框架如下:1) 初始化单片机的串口通信功能,设置波特率等参数。

2) 初始化DS18B20传感器,包括设定分辨率、温度精度等参数。

3) 循环读取传感器的温度数值,并进行必要的温度转换处理。

4) 将处理好的温度数值通过单片机的数码管显示出来。

2.2 温度转换在软件设计中,需要对从传感器获取的温度数值进行转换处理,以得到真实的温度值。

具体的转换公式如下:1) 首先,读取传感器内部存储器中的原始温度数据。

2) 根据DS18B20传感器的配置,进行温度计算。

3) 最后,将计算得到的温度值转换为摄氏度或华氏度,并存储到相应的变量中,以便后续显示。

3. 测试与调试在进行实际应用之前,需要对设计的温度计进行测试与调试,确保其功能正常。

基于AT89C51的温度控制系统

基于AT89C51的温度控制系统

文字说明部分1.信号采集电路本设计中采用的是R型铂铑13-铂热电偶,测温范围为-40℃~1600℃,输出热电势为0~18.849mv。

由于本设计要求的测温范围最高值为1400℃,对应热电势输出为16.040mv,在电路设计时,按照最大输出为17mv来设计。

热电偶测温电路的设计:热电偶产生的热电势是一种变化缓慢的直流信号,在设置滤波电路时,将30Hz以上的信号是为干扰,将其滤掉。

选用的时RC滤波电路,根据公式f=1/(2∏RC)得到R=510欧姆,C=10uF。

温度补偿电路选用的是铂电阻Pt100,并采用三线制接法消除导线电阻的影响。

为抑制温漂,采用两个精密电阻串联的分压方式测出100欧姆精密电阻在17nv值时的变化,对测量值进行补偿。

为克服零点漂移,采样电路还对零电势进行测量,补偿元器件的零点漂移。

2.运算放大电路本设计选用的运放为AD627。

AD627放大倍数为5~1000倍,并且内部集成一200K精密电阻,在使用时只需外接一个电阻。

AD627温漂为10ppm/℃,衰减度为0.001,输出电压V out=((Vin+)-(Vin-))*(5+200k/Rg)+Vref.本电路中电压要从17mv放大到5V,Vref=2V,故选用的外接精密电阻为1166.381 ,约取1.2K。

3.V-F变换电路选用的V-F变换器是AD652。

输入电压为0~10V,输出脉冲频率为0~2MHz 但由于在电压达到10V时,输出脉冲频率的误差较大,故采用5V电压输入,1MHz 频率输出。

由于AD652没有控制门,且考虑到单片机的内部资源,采用8253对AD652的输出脉冲进行定时计数。

对8253的0号定时器输入精确脉冲,用其定时;将AD652的输出脉冲接到8253的1号计数器,对输出地脉冲计数。

在工作过程中8253采用中断方式。

8253的0号定时器的OUT端接到单片机的INT1,当定时时间到时向51申请中断,0号和1号定时器的GATE端接单片机P1.7口,计时时间到时,0号OUT端输出低电平向单片机申请中断,P1.7口将输出高电平将计数器0和1封锁,P0口将计数值送读出,从而可算出温度值。

基于AT89C51单片机的温度控制系统设计

基于AT89C51单片机的温度控制系统设计

目录摘要 (I)Abstract (II)1绪论 (1)2系统方案设计 (1)2.1方案设计 (1)2.2方案论证 (1)3系统设计 (2)3.1单片机的选择 (2)3.2温度传感器的工作原理与单片机的连接 (3)3.3单片机与报警电路 (10)3.4电源电路 (11)3.5显示电路 (12)4系统软件设计 (14)4.1软件设计 (14)5元器件调试 (19)5.1调试产品 (19)参考文献 (20)致谢 (21)附录1 (22)附录2 (27)摘要本课题主要介绍基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统。

该系统利用AT89C51单片机分别采集各个温度点的温度,实现温度显示、报警等功能。

它以AT89C51单片机为主控制芯片,采用数字温度传感器DS18B20实现温度的检测,测量精度可以达到0.5℃。

该系统采用了1602显示模块,形象直观的显示测出的温度值。

基于AT89C51单片机的单总线温度测控系统具有硬件组成简单、读数方便、精度高、测温范围广等特点,在实际工程中得到广泛应用。

关键词:数字温度传感器;AT89C51单片机;温度测量ABSTRACTThis subject introduces the temperature measurement system based on AT89C51 single-chip and DS18B20 digital temperature sensor. Adopting the AT89C51 single-chip microcomputer in the system to collected temperature from various temperature positions realizes the temperature display and alarm function. Applying AT89C51 single-chip microcomputer-based as main control chip, it realizes the multi-temperature testing by using of digital temperature sensor DS18B20, and measurement accuracy reaches to 0.5 ℃. At the time the system uses a 1602 display module to show the measured temperature values. Based on AT89C51 single-chip single-bus multi-point temperature measurement and control system’s hardware assemble simply, reading data conveniently, high accuracy and widely temperature measuring, in the actual projects it is widely applied.Keywords:digital temperature sensor; AT89C51 microcontroller; temperature measure1绪论在信息高速发展的21世纪,科学技术的发展日新月异,科技的进步带动了测量技术的发展,现代控制设备的性能和结构发生了翻天覆地的变化。

单片机(基于AT89C51的温度采集与显示系统设计)

单片机(基于AT89C51的温度采集与显示系统设计)

基于AT89C51的温度采集与显示系统设计摘要:以AT89C51单片机为核心控制元件介绍了与DS18B20和MAX7219显示驱动组成的温度采集系统的设计方案利用单片机空余I/O口以及上述元件的特性,构成该系统。

通过Proteus进行仿真。

关键词:温度采集,AT89C51,DS18B20,MAX7219目录1、系统概述……………………………………………………………….2、硬件介绍……………………………………………………………….3、软件设计……………………………………………………………….4、仿真结果……………………………………………………………….5、小结…………………………………………………………………….6、参考文献……………………………………………………………….1、系统概述温度传感器选用目前常用的数字温度传感器DS18B20,采用数码LED显示,显示驱动为MAX7219,首先设计系统的总体原理图如下:系统可以简单地分为为5个模块,由外部提供8V-24V直流电源供电。

电源模块将输入8-24V的电源电压转换为5V,为系统中的芯片供电,可以使用7805等常用的三端稳压器芯片;温度传感器采集温度信号,温度传感器有模拟输出和数字输出两种形式,这里选择具有数字输出的DS18B20;单片机是系统的核心,选用AT89C51;系统采用LED数码显示器显示温度值,LED显示屏采用独立的显示驱动芯片MAX7219,单片机将待显示的字符写入MAX7219后,MAX7219将会动态的刷新显示内容,无需占用单片机过多的资源。

尽管DS18B20的分辨率可已达到0.0625°C,但测量精确度为0.5°C,因此设计4位数的LED数码显示管就可以了,显示3位整数,1位小数。

2、硬件介绍:1、数字温度传感器DS18B20DS18B20数字温度计提供9位-24位(二进制)温度读数,以指示器件的温度,数据经过单线接口送入DS18B20或从DS18B20送出,因此从主机CPU到DS18B20仅需要一条DQ。

基于单片机AT89C51的温度测控系统

基于单片机AT89C51的温度测控系统

Science &Technology Vision 科技视界1系统总体分析与设计1.1总体方案1)温度监控:对温室温度进行测量,并通过升温或降温达到植被的最佳温度。

2)湿度监控:对温室湿度进行测量,并通过喷雾或去湿达到植被的最佳湿度。

3)控制处理:当温度、湿度越限时报警,并根据报警信号提示采取一定手段控制。

4)显示:LCD 就地显示输入值和相应的温湿度,数码管摆放在生产现场用于显示当前的温湿度。

1.2实施措施1)实际环境温度与给定界限比较,执行加热/制冷措施。

2)实际环境湿度与给定界限比较,执行加湿/去湿措施。

3)越限报警:当温湿度越限时声光报警。

4)键盘显示:负责用户的输入及相关数据的显示,其中包括LED 和LCD 显示。

1.3硬件系统设计经过上面的总体方案和实施措施的讨论后可以开始着手硬件系统的设计,硬件系统是应用系统的基础、软件系统设计的依据。

主机与主要部件的选择:根据总体功能和性价比及其运行速度等因素的考虑,选用MCS-51系列的89C51为主机,满足上面的要求而且设计方便,不需要再存储扩展。

数据存储片内设有128B,外部有8279的256B,而由于存入的数据是随时更新的且不计小数位,存入8个16进制数字,其总共需要的容量只有16B,已经够用。

对外部模拟量(温度、湿度)采样,选用ADC0809能够满足要求。

温室温湿度控制系统是以89C51单片机作为中央控制装置,模数转换器ADC0809,风扇,加热设备,加湿设备,排潮设备,键盘显示芯片等,其功能和原理如下:1)89C51作为中央控制装置,负责中心运算和控制,协调系统各个模块的工作。

2)四路采样温度信号采样简单平均处理,温度保存为整数。

3)四路采样湿度信号采样简单平均处理,温度保存为整数。

4)模数转换器ADC0809:即由模拟信号转换为数字信号。

它共有8个模数转换通道。

模数的转换共有2种方法。

一种是利用INT0中断,当一次转换结束后,ADC0809使INT0产生中断,通知系统转换完毕;另一种使用延时方法,开始转换后系统延时100微秒等待转换完成。

基于AT89C51单片机的水温控制系统

基于AT89C51单片机的水温控制系统

基于AT89C51单片机的水温控制系统
随着社会不断发展,人们对生活品质的要求越来越高。

其中,水温控制技术在日常生活中的应用越来越广泛,具有相当重要的意义。

基于AT89C51单片机的水温控制系统可以更好地保
障家庭热水的温度,使生活更加舒适便捷。

该系统主要由传感器模块、单片机模块、驱动模块和显示模块组成。

传感器模块主要负责测量出水温度,单片机模块对测量数据进行处理,并通过驱动模块控制加热和制冷设备的运行,以调节水温到设定温度。

同时,系统还会将实时的水温信息通过显示模块展示给用户,以便用户随时掌握水温信息并对温度进行设置。

该系统的最大特点是高度智能化,主要体现在以下几个方面:首先,可自动实现水温设定和控制,不需要人工干预,省时省力;其次,只要在系统中设置好温度上限和下限,系统就会自动根据当前的水温状态进行调整,随时保持理想的水温;最后,还具备实时监测的功能,可以随时掌握水温状态,发现异常情况及时警报,确保用水安全。

与此同时,该水温控制系统还具有以下几个优点:首先,零误差控制水温,避免了手动调节过程中的误差;其次,加热和制冷设备均可控制,更加灵活多样;最后,具有较高的精度及稳定性,为用户带来更加良好的使用体验。

总之,基于AT89C51单片机的水温控制系统是一款极具实用
价值的系统,具有广阔的应用前景。

通过该系统的应用,不仅
能够带来更加舒适便捷的生活体验,同时也能够满足人们对高品质生活的需求。

基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统-论文

基于AT89C51单片机和DS18B20数字温度传感器的温度测量系统-论文

目录☆摘要 (2)☆课题任务 (4)☆第1章总体方案设计 (5)☆第2章.智能开发版部分2.1. 51系列单片机的原理图 (7)2.1.1.基本51系列单片机的原理图及STC12C5A60S2主要性能 (7)2.1.2. STC12C5A60S2单片机部内部结构 (7)2.2 51系列单片机的引脚功能 (9)2.2.1. I/O端口线输入输出引脚 (9)2.2.2.控制线控制引脚 (10)2.2.3.外接晶体端 (10)2.3 51系列单片机的时序 (10)2.4.1 智能最小系统的LED显示器接口 (11)2.4.2 音频放大电路 (12)☆第3章.关于DS18B20的介绍3.1.DS18B20简介 (13)3.2单总线数字温度计硬件设计原理部分 (13)3.3 DS18B20的封装及内部结构 (14)3.4 DS18B20的测温原理 (14)3.5 DS18B20的工作时序 (15)3.6 DS18B20与单片机的典型接口设计 (15)3.7 DS18B20的精确延时问题 (16)3.8 DS18B20工作原理及应用 (16)3.9 控制器对18B20操作流程 (17)3.10 DS18B20芯片与单片机的接口 (18)☆第4章.程序4.1温度监测51单片机程序 (18)4.2测温程序流程框图 (25)☆第5章.调试过程软件、硬件调试 (27)☆第6章效果展示6.1实现效果 (27)6.2 实物效果图 (27)☆附一:硬件原理图 (28)☆附二:材料清单 (28)☆致谢 (30)☆参考文献 (31)摘要温度是一种最基本的环境参数,在工农业生产及日常生活中对温度的测量及控制具有重要意义。

温度的测量及控制对保证产品质量、提高生产效率、节约能源、生产安全、促进国民经济的发展起到非常重要的作用。

由于温度测量的普遍性,温度传感器的数量在各种传感器中居首位,约占50%。

以往,在实际的温度控制系统中,多采用热敏电阻器或热电偶测量温度。

基于AT89C51单片机的测温系统

基于AT89C51单片机的测温系统

引言本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程,并介绍了利用C语言编程对DS18B20的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。

DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。

数字温度计与传统的温度计相比,具有读数方便、测温范围广、测温精确、功能多样话等优点。

其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。

一、设计要求通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,C语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。

以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为 0.5摄氏度。

温度显示采用3位LED数码管显示,两位整数,一位小数。

具有键盘输入上下限功能,超过上下限温度时,进行声音报警。

二、基本原理原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

.引言本文主要介绍了一个基于AT89C51单片机的测温系统,详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,特别是数字温度传感器DS18B20的数据采集过程,并介绍了利用C语言编程对DS18B20的访问,该系统可以方便的实现实现温度采集和显示,使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点。

DS18B20与AT89C51结合实现最简温度检测系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量。

数字温度计与传统的温度计相比,具有读数方便、测温围广、测温精确、功能多样话等优点。

其主要用于对测温要求准确度比较高的场所,或科研实验室使用,该设计使用STC89C52单片机作控制器,数字温度传感器DS18B20测量温度,单片机接受传感器输出,经处理用LED数码管实现温度值显示。

一、设计要求通过基于MCS-51系列单片机AT89C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,数码显示管的使用,C语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技术、单片机应用等知识,通过理论联系实际,从题目分析、电路设计调试、程序编制调试到传感器的选定等这一完整的实验过程,培养了学生正确的设计思想,使学生充分发挥主观能动性,去独立解决实际问题,以达到提升学生的综合能力、动手能力、文献资料查阅能力的作用,为毕业设计和以后工作打下一个良好的基础。

以MCS-51系列单片机为核心器件,组成一个数字温度计,采用数字温度传感器DS18B20为检测器件,进行单点温度检测,检测精度为0.5摄氏度。

温度显示采用3位LED数码管显示,两位整数,一位小数。

具有键盘输入上下限功能,超过上下限温度时,进行声音报警。

二、基本原理原理简述:数字温度传感器DS1820把温度信息转换为数字格式;通过“1-线协议”,单片机获取指定传感器的数字温度信息,并显示到显示设备上。

通过键盘,单片机可根据程序指令实现更灵活的功能,如单点检测、轮转检测、越限检测等。

基于DS1820数字温度传感器的温度检测及显示的系统原理图如图图2.1 基于DS1820的温度检测系统框图三:主要器件介绍(时序图及各命令序列,温度如何计算等)系统总体设计框图由于DS18B20数字温度传感器具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠,所以在该设计中采用DS18B20数字温度传感器测量温度。

测温电路设计总体设计框图如图所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,显示采用4位LED数码管,报警采用蜂鸣器、LED灯实现,键盘用来设定报警上下限温度。

图3.1测温电路设计总体设计框图1.控制模块AT89S52单片机是美国ATMEL公司生产的低功耗,高性能CMOS 8位单片机,片含有8kb的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

在单芯片上,拥有灵巧的8 位CPU 和在系统可编程的Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。

AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片晶振及时钟电路。

另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。

空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。

掉电保护方式下,RAM容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

2.显示模块显示电路采用4位共阴LED数码管,从P0口输出段码,P2口的高四位为位选端。

用动态扫描的方式进行显示,这样能有效节省I/O口。

3.温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。

DS18B20 的性能特点如下:1.独特的单线接口方式仅需要一个端口引脚进行通信2.多个DS18B20可以并联在唯一的三线上,实现多点组网功能3.无需外部器件4.可通过数据线供电,电压围:3.0~5.5V5.测温围-55℃~+125℃,在-10~+85℃时精度为±0.5℃6.零待机功耗7.温度以9或12位数字量读出8.报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件9.负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作四:硬件电路原理框图由于本次实验是在学习板上做的,所以没有硬件接线图,原理主要讲解DS18B20的工作原理。

1·硬件设计1.单片机系统电路原理图图4.1 系统电路原理图2.DS18B20温度传感器电路设计电源供电方式如图,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。

图4.2 DS18B20温度传感器电路3.报警电路设计报警电路是在测量温度大于上限或小于下限时提供报警功能的电路。

该电路是由一个蜂鸣器组成,具体的电路如图所示图4.3 报警电路4.显示电路设计显示电路是由四位一体的共阴数码管进行显示的2·软件设计(1)DS18B20部结构如图所示主要由4部分组成:64 位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。

ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。

64位ROM的排的循环冗余校验码(CRC=X^8+X^5+X^4+1)。

ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。

DS18B20中的温度传感器完成对温度的测量,用16位二进制形式提供,形式表达,其中S为符号位。

DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625℃/LSB形式表示。

表2是部分温度值对应的二进制温度表示数据。

(2)DS18B20的工作时序DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输初始化时序主机首先发出一个480-960微秒的低电平脉冲,然后释放总线变为高电平,并在随后的480微秒时间对总线进行检测,如果有低电平出现说明总线上有器件已做出应答。

若无低电平出现一直都是高电平说明总线上无器件应答。

做为从器件的DS18B20在一上电后就一直在检测总线上是否有480-960微秒的低电平出现,如果有,在总线转为高电平后等待15-60微秒后将总线电平拉低60-240微秒做出响应存在脉冲,告诉主机本器件已做好准备。

若没有检测到就一直在检测等待。

接下来就是主机发出各种操作命令,但各种操作命令都是向DS18B20写0和写1组成的命令字节,接收数据时也是从DS18B20读取0或1的过程。

因此首先要搞清主机是如何进行写0、写1、读0和读1的。

写周期最少为60微秒,最长不超过120微秒。

写周期一开始做为主机先把总线拉低1微秒表示写周期开始。

随后若主机想写0,则继续拉低电平最少60微秒直至写周期结束,然后释放总线为高电平。

若主机想写1,在一开始拉低总线电平1微秒后就释放总线为高电平,一直到写周期结束。

而做为从机的DS18B20则在检测到总线被拉底后等待15微秒然后从15us到45us开始对总线采样,在采样期总线为高电平则为1,若采样期总线为低电平则为0。

对于读数据操作时序也分为读0时序和读1时序两个过程。

读时隙是从主机把单总线拉低之后,在1微秒之后就得释放单总线为高电平,以让DS18B20把数据传输到单总线上。

DS18B20在检测到总线被拉低1微秒后,便开始送出数据,若是要送出0就把总线拉为低电平直到读周期结束。

若要送出1则释放总线为高电平。

主机在一开始拉低总线1微秒后释放总线,然后在包括前面的拉低总线电平1微秒在的15微秒时间完成对总线进行采样检测,采样期总线为低电平则确认为0。

采样期总线为高电平则确认为1。

完成一个读时序过程,至少需要60us才能完成让DS18B20进行一次温度的转换,那具体的操作就是:(1).主机先作个复位操作,(2).主机再写跳过ROM的操作(CCH)命令,(3).然后主机接着写个转换温度的操作命令,后面释放总线至少一秒,让DS18B20完成转换的操作。

在这里要注意的是每个命令字节在写的时候都是低字节先写,例如CCH的二进制为11001100,在写到总线上时要从低位开始写,写的顺序是“零、零、壹、壹、零、零、壹、壹”。

整个操作的总线状态如下图。

(3)初始化时序程序bit Init_DS18B20(void){bit flag; //储存DS18B20是否存在的标志,flag=0,存在;flag=1,不存在DQ = 1; //先将数据线拉高for(time=0;time<2;time++) ; //略微延时约6微秒//再将数据线从高拉低,要求保持480~960usDQ = 0;for(time=0;time<200;time++) ; //略微延时约600微秒//以向DS18B20发出一持续480~960us的低电平复位脉冲DQ = 1; //释放数据线(将数据线拉高)for(time=0;time<10;time++) ; //延时约30us(释放总线后需等待15~60us让DS18B20输出存在脉冲)flag=DQ; //让单片机检测是否输出了存在脉冲(DQ=0表示存在)for(time=0;time<200;time++) ; //延时足够长时间,等待存在脉冲输出完毕return (flag); //返回检测成功标志unsigned char ReadOneChar(void){unsigned char i=0;unsigned char dat; //储存读出的一个字节数据for (i=0;i<8;i++){DQ =1; // 先将数据线拉高_nop_(); //等待一个机器周期DQ = 0; //单片机从DS18B20读书据时,将数据线从高拉低即启动读时序_nop_(); //等待一个机器周期DQ = 1; //将数据线"人为"拉高,为单片机检测DS18B20的输出电平作准备for(time=0;time<2;time++) ; //延时约6us,使主机在15us采样dat>>=1;if(DQ==1)dat|=0x80; //如果读到的数据是1,则将1存入datelsedat|=0x00; //如果读到的数据是0,则将0存入datfor(time=0;time<8;time++); //延时3us,两个读时序之间必须有大于1us的恢复期}return(dat); //返回读出的十六进制数据WriteOneChar(unsigned char dat){unsigned char i=0;for (i=0; i<8; i++){DQ =1; // 先将数据线拉高_nop_(); //等待一个机器周期DQ=0; //将数据线从高拉低时即启动写时序DQ=dat&0x01; //利用与运算取出要写的某位二进制数据,for(time=0;time<10;time++) ; //延时约30us,DS18B20在拉低后的约15~60us期间从数据线上采样DQ=1; //释放数据线for(time=0;time<1;time++) ; //延时3us,两个写时序间至少需要1us的恢复期dat>>=1; //将dat中的各二进制位数据右移1位}for(time=0;time<4;time++) ; //稍作延时,给硬件一点反应时间五、程序流程图(主程序,各子程序)1.主程序实时温度显示子程序:驱动数码管把实时温度值送出在LED数码管显示主程序流程图:图5.1主程序流程图2.读温度值模块读温度值模块需要调用4个子程序,分别为:1.DS18B20初始化子程序:让单片机知道DS18B20在总线上且已准备好操作2.DS18B20写字节子程序:对DS18B20发出命令3.DS18B20读字节子程序:读取DS18B20存储器的数据4.延时子程序:对DS18B20操作时的时序控制读温度值模块流程图:图5.2读温度值子程序流程图DS18B20初始化子程序流程图:NY图5.3 DS18B20初始化子程序流程图DS18B20写字节和读字节子程序流程图:图5.4 DS18B20写字节子程序流程图图5.5 DS18B20读字节子程序流程图六:调试(步骤,心得,结论)优点:1.线性好,精度适中,体积小,实用方便。

相关文档
最新文档