基于51单片机的温度测量系统

合集下载

基于高速51单片机的无线数字测温系统设计

基于高速51单片机的无线数字测温系统设计
高 的 时序 要求 , 用 汇编 语 言能 够 很好 地控 制 时 间间 隙 , 采 流程 图如 图 3 示。 所
22 温 度测量 模块 .
221 D 1 B 0的操 作 . S82 .
D 1B 0属于 l S8 2 —wi 器件 ,单 片机 必须 严 格 按 照 DS8 2 r e 1B 0 的时 序要 求 去操 作才 能 使 系统 正常 工作 。DS8 2 1B 0的操 作 主要 是 复位 、 读数 据 和 写数 据 3 , 后两 种 操 作 又 都 是按 位 进 行 的 , 种 而 所 以应 该按 照 DS8 2 1B 0的时序 要求 编 写相 应操 作 的子程 序 ,其操 作 程序 流程 图如 图 3所 示[ 。
坌 s j n h Fx uet e i y
基于高速 5 单片机 的无线数 字测 温系统设计 1
陈吉青 张国庆 林君焕
( 浙江省台州职业技术学院机 电系 , 浙江 台州 3 8 0 ) 10 0

要: 设计 了一款 由 S C 2 5 1A 、 字温度传 感器 D 1B 0以及 无线通信 模块 S WF 1 2 - 0 T 1C 62 D 数 S8 2 R - 0 1 5 构成 的无 线测温 系统 电路 , 并对高速
用 了无 线通 信 模块 S WF 12—0 低 功耗 高性 能单 片机 以及单 总 R 一 0 15 、
存 、 计 、 程 监控 和报 警等 功 能 。 统 远
D 1B 0 度 测量 模 块 、 线 发送 模 块 、 盘 模 块 ; S82 温 无 键 显示 端 主 要 有
主 程 序模 块、 线 接收 模块 、 显 示模 块 。考 虑 到 D 1 2 无 送 S8 0具有 很 B
单片机读 写 D IB 0作了详细的说明, S8 2 通过汇编程序设计满足 了 D 1B 0的时序要求 。电路实物的测 试结果表明, S8 2 所设计 的无线测温系统 能准

基于51单片机的温度监测系统(DS18B20)

基于51单片机的温度监测系统(DS18B20)
为产生写0时隙,在拉低总线后主机必须继续拉低总线以满足时隙持续时间 的要求(至少60μs)。在主机产生写时隙后,DS18B20会在其后的15到60us的一 个时间窗口内采样单总线。在采样的时间窗口内,如果总线为低电平,主机会 向DS18B20写入0。
DS18B20读时序
所有的读时隙都由拉低总线,持续至少1us后再释放总线(由于上拉电阻的作用,总线恢复为 高
配置寄存器
8 位 CRC 生成器
DS18B20的时序
DS18B20复位时序
DS18B20的所有通信都由由复位脉冲组成的初始化序列开始。该初始化序列由主 机发出,后跟由DS18B20发出的存在脉冲(presence pulse)。在初始化步骤中,总线 上的主机通过拉低单总线至少480μs来产生复位脉冲。然后总线主机释放总线并进入接收 模式。当总线释放后,5kΩ的上拉电阻把单总线上的电平拉回高电平。当DS18B20检测 到上升沿后等待15到60us,发出存在脉冲,拉低总线60-240us至此,初始化和存在时序 完毕。时序图如下:
1.主控制器电路和测温
电路的设计
主控制器电路由AT89S52 及外围时钟和复位电路构成, 测温电路由DS18B20、报警 电路组成。AT89C52是此硬 件电路设计的核心,通过 AT89S52的管脚P2.7与 DS18B20相连,控制温度的 读出和显示。硬件电路的功 能都是与软件编程相结合而 实现的。具体电路原理图如 右图2所示。
送1,以拉低总线的方式表示发送0.当发送0的时候,DS18B20在读时隙的末期将会释放总线,总线
将会被上拉电阻拉回高电平(也是总线空闲的状态)。DS18B20输出的数据在下降沿(下降沿产 生读时隙)产生后15us后有效。因此,主机释放总线和采样总线等动作要在15μs内完成。

基于51单片机的温度检测系统_单片机C语言课题设计报告

基于51单片机的温度检测系统_单片机C语言课题设计报告

单片机C语言课题设计报告设计题目:温度检测电气系2011级通信技术一班级通信技术一班通才达识,信手拈来通才达识,信手拈来1摘要本课题以51单片机为核心实现智能化温度测量。

利用18B20温度传感器获取温度信号,将需要测量的温度信号自动转化为数字信号,利用单总线和单片机交换数据,最终单片机将信号转换成LCD 可以识别的信息显示输出。

基于STC90C516RD+STC90C516RD+的单片机的智能温度检测系统,的单片机的智能温度检测系统,设计采用18B20温度传感器,其分辨率可编程设计。

本课题设计应用于温度变化缓慢的空间,综合考虑,以降低灵敏度来提高显示精度。

设计使用12位分辨率,因其最高4位代表温度极性,故实际使用为11位半,位半,而温度测量范围为而温度测量范围为而温度测量范围为-55-55-55℃~℃~℃~+125+125+125℃,℃,则其分辨力为0.06250.0625℃。

℃。

设计使用LCD1602显示器,可显示16*2个英文字符,显示器显示实时温度和过温警告信息,和过温警告信息,传感器异常信息设。

传感器异常信息设。

传感器异常信息设。

计使用蜂鸣器做警报发生器,计使用蜂鸣器做警报发生器,计使用蜂鸣器做警报发生器,当温度超过当温度超过设定值时播放《卡农》,当传感器异常时播放嘟嘟音。

单片机C 语言课题设计报告语言课题设计报告电动世界,气定乾坤2目录一、设计功能一、设计功能................................. ................................. 3 二、系统设计二、系统设计................................. .................................3 三、器件选择三、器件选择................................. .................................3 3.1温度信号采集模块 (3)3.1.1 DS18B20 3.1.1 DS18B20 数字式温度传感器数字式温度传感器..................... 4 3.1.2 DS18B20特性 .................................. 4 3.1.3 DS18B20结构 .................................. 5 3.1.4 DS18B20测温原理 .............................. 6 3.1.5 DS18B20的读写功能 ............................ 6 3.2 3.2 液晶显示器液晶显示器1602LCD................................. 9 3.2.1引脚功能说明 ................................. 10 3.2.2 1602LCD 的指令说明及时序 ..................... 10 3.2.3 1602LCD 的一般初始化过程 (10)四、软件设计四、软件设计................................ ................................11 4.1 1602LCD 程序设计流程图 ........................... 11 4.2 DS18B20程序设计流程图 ............................ 12 4.3 4.3 主程序设计流程图主程序设计流程图................................. 13 五、设计总结五、设计总结................................. ................................. 2 六、参考文献六、参考文献................................. ................................. 2 七、硬件原理图及仿真七、硬件原理图及仿真......................... .........................3 7.1系统硬件原理图 ..................................... 3 7.2开机滚动显示界面 ................................... 4 7.3临界温度设置界面 ................................... 4 7.4传感器异常警告界面 (4)电气系2011级通信技术一班级通信技术一班通才达识,信手拈来通才达识,信手拈来3温度温度DS18B20 LCD 显示显示过温函数功能模块能模块传感器异常函数功能模块数功能模块D0D1D2D3D4D5D6D7XT XTAL2AL218XT XTAL1AL119ALE 30EA31PSEN29RST 9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD 10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR 16P3.5/T115U180C51X1CRYST CRYSTAL ALC122pFC222pFGNDR110kC31uFVCCGND234567891RP1RESPACK-8VCC0.0DQ 2VCC 3GND 1U2DS18B20R24.7K LCD1LM016LLS2SOUNDERMUC八、程序清单八、程序清单................................. .................................5 一、设计功能·由单片机、温度传感器以及液晶显示器等构成高精度温度监测系统。

基于51单片机的万年历与温度检测报警系统

基于51单片机的万年历与温度检测报警系统

基于51单片机的万年历与温度检测报警系统摘要随着社会发展需求的改变,电子万年历是一个应用非常广泛的实用日常计时工具,带有显示世纪,年,月,日,星期,时,分,秒和按键可调时间及其按键设置闹钟的功能,同时具有月末自动更新,闰年补偿功能等多种功能。

温度检测报警系统也是在日常生活和工业应用非常广泛的工具,能实时采集周围的温度信息进行显示,程序内部设定有报警上下限,根据应用环境不同可设定不同的报警上下限。

此系统是基于STC89C52单片机设计的,包含液晶显示模块,DS12C887实时时钟模块,DS18B20温度采集模块,键盘扫描模块,报警模块,HX1838红外接收头模块。

STC89C52作为控制核心,具有功耗低,功能强等特点,电压可选5VUSB 供电。

显示模块采用12864液晶动态显示,相对数码管而言经济实用,占用空间小,对于显示数字、字母最为合适,而且与单片机连线简单,占用IO口相对较少。

实时时钟芯片DS12C887是一款与DS12C885实时时钟兼容的替代产品,该器件提供RTC/日历、定时闹钟等功能,如果检测到主电源故障,该器件可自动切换到备用电源供电,DS12C887将石英晶体与电池集成在一起,在断电后仍可精确走10年。

温度检测报警模块采用数字式温度传感器DS18B20,该芯片具有精度高,测量范围广等优点,易与单片机连接,模块电路组成简单并同时具有温度报警功能。

关键词:STC89C52,DS12C887,DS18B20,12864液晶显示,电子万年历,采集周围设备温度、温度报警一、设计要求与方案论证1.1设计要求设计一个能够实现世纪,年,月,日,星期,小时,分,秒显示附带温度检测显示的实时时钟电子万年历,同时具有时间调节和闹钟设置功能,以及时间预设报警、温度报警、报警解除等功能。

该产品共设有四个按键,每个按键具有多种功能,充分利用各个按键。

也可利用红外遥控来进行实时调节,体现时尚方便的特性,并且通过编程还可以控制12864液晶显示,随心所欲。

基于C51单片机的温度控制系统应用系统设计(附程序)

基于C51单片机的温度控制系统应用系统设计(附程序)

基于C51单片机的温度控制系统应用系统设计(附程序)基于C51单片机的温度控制系统应用系统设计--------- 单片机原理及应用实践周设计报告姓名:班级:学号:同组成员:指导老师:成绩:时间:2011 年7 月3 日单片机温度控制系统摘要温度是日常生活中无时不在的物理量,温度的控制在各个领域都有积极的意义。

很多行业中都有大量的用电加热设备,如用于热处理的加热炉,用于融化金属的坩锅电阻炉及各种不同用途的温度箱等,采用单片机对它们进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度的技术指标,从而能够大大提高产品的质量。

因此,智能化温度控制技术正被广泛地采用。

本温度设计采用现在流行的AT89S51单片机,配以DS18B2数字温度传感器,上、下限进行比较,由此作出判断是否触发相应设备。

本设计还加入了常用的液晶显示及状态灯显示灯常用电路,使得整个设计更加完整,更加灵活。

关键词:温度箱;AT89C52 LCD1602单片机;控制目录1引言11.1温度控制系统设计的背景、发展历史及意义11.2温度控制系统的目的11.3温度控制系统完成的功能12总体设计方案22.1方案一 22.2方案二 23DS18B20温度传感器简介73.1温度传感器的历史及简介73.2DS18B20的工作原理7DS18B20工作时序7ROM操作命令93.3DS18B20的测温原理98B20的测温原理:9DS18B20的测温流程104单片机接口设计124.1设计原则124.2引脚连接12晶振电路12串口引脚12其它引脚135系统整体设计145.1系统硬件电路设计14主板电路设计14各部分电路145.2系统软件设计16 系统软件设计整体思路系统程序流图176结束语2116附录22参考文献391引言1.1温度控制系统设计的背景、发展历史及意义随着社会的发展,科技的进步,以及测温仪器在各个领域的应用,智能化已是现代温度控制系统发展的主流方向。

基于51单片机的数字温度计

基于51单片机的数字温度计

引言:数字温度计是一种基于51单片机的温度测量装置,它通过传感器感知环境的温度,并使用单片机将温度值转换为数字形式,并显示在液晶屏上。

本文将详细介绍数字温度计的设计原理、硬件连接、软件编程以及应用领域。

概述:数字温度计基于51单片机的设计理念,其基本原理是通过传感器将温度转换为电信号,然后通过ADC(模数转换器)将电信号转换为数字信号,最后使用单片机将数字信号转换为温度值。

同时,数字温度计还将温度值显示在液晶屏上,方便用户直观地了解环境温度。

正文内容:1. 硬件连接:1.1 使用温度传感器感知环境温度:常用的温度传感器有NTC热敏电阻和DS18B20数字温度传感器。

通过将传感器连接到51单片机的引脚上,可以实现对环境温度的感知。

1.2 连接ADC进行模数转换:ADC是将模拟信号转换为数字信号的关键部件。

通过将51单片机的引脚连接到ADC芯片的输入端,可以将模拟的温度信号转换为数字信号。

1.3 连接液晶屏显示温度值:通过将51单片机的引脚连接到液晶屏的控制引脚和数据引脚,可以将温度值以数字形式显示在液晶屏上。

2. 软件编程:2.1 初始化引脚和ADC:在软件编程中,需要初始化51单片机的引脚设置和ADC的工作模式。

通过设置引脚为输入或输出,以及设置ADC的参考电压和工作模式,可以确保硬件正常工作。

2.2 温度测量算法:根据传感器的工作原理和电压-温度特性曲线,可以编写相应的算法将ADC测得的电压值转换为温度值。

例如,对于NTC热敏电阻,可以使用Steinhart-Hart公式进行温度计算。

2.3 温度值显示:将温度值以数字形式显示在液晶屏上。

通过设置液晶屏的控制引脚和数据引脚,可以控制液晶屏的显示内容,并将温度值以数字形式显示在屏幕上。

3. 基于51单片机的数字温度计应用:3.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. 测试与调试在进行实际应用之前,需要对设计的温度计进行测试与调试,确保其功能正常。

基于51单片机的DS18B20温度检测_设计报告

基于51单片机的DS18B20温度检测_设计报告

课程名称:微机原理课程设计题目:温度检测课程设计随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度检测仪。

本设计使用简便,功能丰富。

可以实现温度采集,温度报警,重设上下限温度值等功能。

在现代化的工业生产中,需要对周围环境的温度进行检测和控制。

本设计对温控报警问题展开思考,设计一个能根据需求设置低温到高温进行报警并通过数码管显示的系统。

该系统使用STC89C51单片机,同时运用单线数字温度传感器DS18B20,四位共阴数码管显示,按键控制等模块可实现温度的检测与设置。

课题经过实验验证达到设计要求,具有一定的使用价值和推广价值。

本作品使用四位共阴数码管显示,可以清晰地显示当前的报警温度,一定程度避免使用者使用时出错,安全可靠,可使用于各种食品储存室,植物养殖所等地方,实用性很高。

关键字:温度报警器 STC89C51单片机数码管 DS18B20一、课程设计目的和要求 (1)1.1 设计目的 (1)1.2 设计要求 (1)二、总体设计方案 (1)三、硬件设计 (2)3.1 DS18B20传感器 (2)3.2 STC89C51功能介绍 (6)3.3 时钟电路 (8)3.4 复位电路 (8)3.5 LED显示系统电路 (9)3.6 按键控制电路 (11)3.7 蜂鸣器电路 (11)3.8 总体电路设计 (12)四、软件设计 (14)4.1 keil软件 (14)4.2 系统主程序设计 (14)4.3 系统子程序设计 (15)五、仿真与实现 (18)5.1 PROTEUS仿真软件 (18)5.2 STC-ISP程序烧录软件 (19)5.3 使用说明 (20)六、总结 (21)一、课程设计目的和要求1.1 设计目的熟悉典型51单片机,加深对51单片机课程的全面认识和掌握,对51单片机及其接口的应用作进一步的了解,掌握基于51单片机的系统设计的一般流程、方法和技巧,为我们解决工程实际问题打下坚实的基础。

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

基于51单片机的温度测量系统原作者:飓风添加时间:2008-04-03 原文发表:2008-04-03 人气:128 来源:赵娜赵刚于珍珠郭守清本文章共3366字,分3页,当前第1摘要: 单片机在检测和控制系统中得到广泛应用, 温度则是系统常需要测量、控制和保持一个量。

本文从硬件和软件两方面介绍了AT89C2051单片机温度控制系统设计,对硬件原理图和程序框图作了简洁描述。

关键词: 单片机AT89C2051;温度传感器DS18B20;温度;测量引言单片机在电子产品中应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。

为此在本文中作者设计了基于atmel公司AT89C2051温度测量系统。

这是一种低成本利用单片机多余I/O口实现温度检测电路,该电路非常简单, 易于实现, 并且适用于几乎所有类型单片机。

一.系统硬件设计系统硬件结构如图1所示。

提示请看下图:1.1 数据采集数据采集电路如图2所示, 由温度传感器DS18B20采集被控对象实时温度,提供给AT89C2051P3.2口作为数据输入。

在本次设计中我们所控对象为所处室温。

当然作为改进我们可以把传感器与电路板分离,由数据线相连进行通讯,便于测量多种对象。

DS18B20是DALLAS公司生产一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温分辨率可达0.0625℃,被测温度用符号扩展16位数字量方式串行输出,支持3V~5.5V电压范围,使系统设计更灵活、方便;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器端口较少,可节省大量引线和逻辑电路。

以上特点使DS18B20非常适用于远距离多点温度检测系统。

分辨率设定,及用户设定报警温度存储在EEPROM 中,掉电后依然保存。

DS18B20使电压、特性有更多选择,让我们可以构建适合自己经济测温系统。

如图2所示DS18B202脚DQ为数字信号输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。

AT89C2051(以下简称2051)是一枚8051兼容单片机微控器,与IntelMCS-51完全兼容,内藏2K可程序化Flash存储体,内部有128B字节数据存储器空间,可直接推动LED,与8051完全相同,有15个可程序化I/O点,分别是P1端口与P3端口(少了P3.6)。

1.2 接口电路提示请看下图:图2 单片机2051与温度传感器DS18B20连接图接口电路由ATMEL公司2051单片机、ULN2003达林顿芯片、4511BCD译码器、串行EEPROM24C16(保存系统参数)、MAX232、数码管及外围电路构成, 单片机以并行通信方式从P1.0~P1.7口输出控制信号,通过4511BCD译码器译码,用2个共阴极LED静态显示温度十位、个位。

串行EEPROM24C16是标准I2C规格且只要两根引脚就能读写。

由于单片机2051P1是一个双向I/O端口,所以在我们在设计中将P1端口当成输出端口用。

由图2可知,P1.7作为串性时钟输出信号与24C16第6脚相接,P1.6则作为串行数据输出接到24C16第5脚。

P1. 4和P1.5则作为两个数码管位选信号控制,在P1.4=1时,选中第一个数码管(个位);P1.5=1时,选中第二个数码管(十位)。

P1.0~P1.3输出信号接到译码器4511上作为数码管显示。

此外,由于单片机2051P3端口有特殊功能,P3.0(RXD)串行输入端口,P3.1(TXD)串行输出端口,P3.2(INTO)外部中断0,P3.3(INT1)外部中断1P3.4,(T0)外部定时/计数输入点,P3.5(T1)外部定时/计数输入点。

由图2可知,P3.0和P3.1作为与MAX232串行通信接口;P3.2和P3.3作为中断信号接口;P3.4和P3.5作为外部定时/记数输入点。

P3.7作为一个脉冲输出,控制发光二极管亮灭。

由于在电路中采用共阴极LED数码管,所以在设计电路时加了一个达林顿电路ULN2003对信号进行放大,产生足够大电流驱动数码管显示。

由于4511只能进行BCD十进制译码,只能译到0至9,所以在这里我们利用4511译码输出我们所需要温度。

1.3 报警电路简介提示请看下图:图3 温度在七段数码管上显示连接图本文中所设计报警电路较为简单,由一个自我震荡型蜂鸣器(只要在蜂鸣器两端加上超过3V电压,蜂鸣器就会叫个不停)和一个发光二极管组成(如图3所示)。

在这次设计中蜂鸣器是通过ULN2003电流放大IC来控制。

在我们所要求温度达到一定上界或者下界时(在文中我们设置上界温度是45℃,下界温度是5℃),报警电路开始工作,主要程序设计如下:main()//主函数{unsigned char i=0;unsigned int m,n;while(1){i=ReadTemperature();//读温度}if(i>0 && i<=10) //如果温度在0到10度之间直接给七段数码管赋值{P1=designP1[i];}else//如果温度大于10度{m=i;//先给第一个七段数码管赋值D1=1;D2=0;P1=designP1[m];n=i/10;//再给第二个七段数码管赋值D1=0;D2=1;P1=designP1[n];if(n>=4&&m>=5)%%(m<=5)//判断温度取值范围,如果大于45或小于5度,则蜂鸣器叫,发光二极管闪烁{ int a,b;Q1=1;//蜂鸣器叫for(a=0;a<1000;a )//发光二极管闪烁for(b=0;b<1000;b )Q2=1;for(a=0;a<1000;a )for(b=0;b<1000;b )Q2=0;}}}二.系统软件设计提示请看下图:图4 系统程序流程图2.1 系统程序流程图系统程序流程图如图4所示。

2.2 温度部分软件设计DS18B20一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。

其工作时序包括初始化时序、写时序和读时序。

故主机控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定操作。

复位要求主CPU将数据线下拉500微秒,然后释放,DS18B20收到信号后等待16~60微秒左右,后发出60~240微秒存在低脉冲,主CPU收到此信号表示复位成功。

程序主要函数部分如下:(1)初始化函数//读一个字节函数ReadOneChar(void){unsigned char i=0;unsigned char dat = 0;for (i=8;i>0;i--){ DQ = 0; // 给脉冲信号dat>>=1;DQ = 1; // 给脉冲信号if(DQ)dat|=0x80;delay(4);}return(dat);}//写一个字节函数WriteOneChar(unsigned char dat){unsigned char i=0;for (i=8; i>0; i--){DQ = 0;DQ = dat&0x01;delay(5);DQ = 1;dat>>=1;}}(2)读取温度并计算函数ReadTemperature(void){unsigned char a=0;unsigned char b=0;unsigned int t=0;float tt=0;Init_DS18B20();WriteOneChar(0xCC); // 跳过读序号列号操作WriteOneChar(0x44); // 启动温度转换Init_DS18B20();WriteOneChar(0xCC); //跳过读序号列号操作WriteOneChar(0xBE); //读取温度寄存器等(共可读9个寄存器)前两个就是温度a=ReadOneChar();b=ReadOneChar();t=b;t<<=8;t=t|a;tt=t*0.0625;t= tt*10 0.5; //放大10倍输出并四舍五入---此行没用(3)主程序部分见前return(t);}三. 结束语AT89C2051单片机体积小、重量轻、抗干扰能力强、对环境要求不高、价格低廉、可靠性高、灵活性好。

即使是非电子计算机专业人员,通过学习一些专业基础知识以后也能依靠自己技术力量来开发所希望单片机应用系统。

本文温度控制系统只是单片机广泛应用于各行各业中一例,相信读者会依靠自己聪明才智使单片机应用更加广泛化。

另外对本例子可以作一些扩展,单片机应用越来越广泛,由于单片机运算功能较差,往往需要借助计算机系统,因此单片机和PC机进行远程通信更具有实际意义。

目前此设计已成功应用于钻井模拟器实验室室温控制。

本文作者创新观点:采用单片机AT89C2051性价比高,而且温度传感器DS18B20转化温度方法非常简洁且精度高、测试范围较广。

参考文献[1]林伸茂.8051单片机彻底研究基础篇北京:人民邮电出版社 2004[2]范风强等.单片机语言C51应用实战集锦北京:电子工业出版社 2005[3]谭浩强.C语言程序设计(第二版)北京:清华大学出版社 1999[4]夏路易等.电路原理图与电路板设计教程北京:北京希望电子出版社 2002[5]赵晶.Protel99高级应用北京:人民邮电出版社 2000[6]聂毅.单片机定时器中断时间误差分析及补偿[J] 微计算机信息2002,18(4):37~38简易数字温度计的设计与制作原作者:三毛添加时间:2008-04-03 原文发表:2008-04-03 人气:360 来源:郇玉龙赵宁本文章共3096字,分2页,当前第1摘要:单片机在日用电子产品中应用越来越广泛,温度则是人们日常生活中常常需要测量和控制一个量。

本文作者采用AT89C51单片机和温度传感器AD590从硬件和软件两方面介绍了一款简易数字温度计设计过程,并对硬件原理图和程序流程图作了简洁描述。

关键词:单片机AT89C51;温度传感器AD590;数字温度计;模数转换;数码显示1.前言随着单片机技术不断发展,单片机在日用电子产品中应用越来越广泛,温度传感器AD590具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度测量和控制。

传统温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点,本文作者利用集成温度传感器AD590设计并制作了一款基于AT89C514位数码管显示数字温度计,其电路简单,软硬件结构模块化,易于实现。

相关文档
最新文档