单片机课程设计(数字温度计)

单片机课程设计说明书
1  引言
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。
2 总体设计方案
2.1  方案论证
陈幼坚根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示、报警等功能。选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。
该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用4位共阳LED 数码管以动态扫描法实现。
检测范围-55摄氏度到125摄氏度。
按照系统设计功能的要求,确定系统由3个模块组成:主控制器、测温电路和显示电路。
数字温度计总体电路结构框图如图1所示。
图1  数字温度计总体电路结构框图
土婆婆pk洋媳妇AT89C51 主 控 制 器
显示电路
温度传感器 DS18B20
扫描驱动
2.2  系统硬件电路的设计
温度计电路设计原理图如图2所示,控制器使用单片机AT89C51,温度传感器使用DS18B20,用4位共阳LED数码管实现温度显示。
图2    数字温度计设计电路原理图
2.2.1  主控制器
AT89C51是一种带4K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器。该器
件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
2.2.2  显示电路
显示电路采用4位共阳LED数码管,从P0口输出段码,列扫描用P3.0~P3.3口来实现,列驱动用8550三极管。
2.2.3  温度传感器工作原理
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
DS18B20 的性能特点如下:
●独特的单线接口方式仅需要一个端口引脚进行通信;
●多个DS18B20可以并联在唯一的三线上,实现多点组网功能;
金熙俊
●无需外部器件;
●可通过数据线供电,电压范围:3.0~5.5V;
●测温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃
●零待机功耗
●温度以9或12位数字量读出;
●用户可定义的非易失性温度报警设置
短路容量
●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件
●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作
DS18B20采用3脚PR-35 封装或8脚SOIC封装,其内部结构框图如图3所示
图3 DS18B20内部结构框图
64 b闪速ROM的结构如下:
修约值比较法开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后8位是前面56 位的CRC 检验码,这也是多个DS18B20 可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。主机操作ROM的命令有五种,如表1所列
表1  主机操作ROM的命令
DS18B20 温度传感器的内部存储器还包括一个高速暂存RAM和一个
非易失性的可电擦除的EERAM。高速暂存RAM 的结构为8字节的存储器,结构如图4所示。
图 4 高速暂存RAM结构图
前2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
温度低位LSB
温度高位
MSB
TH TL 配置保留保留保留8位CRC 指令说明
读ROM(33H)
读DS1820的序列号
匹配ROM(55H)
继读完64位序列号的一个命令,用于
跳过ROM(CCH)
此命令执行后的存储器操作将针对
搜ROM(F0H)
张秋俭识别总线上各器件的编码,为操作各
报警搜索(ECH)
仅温度越限的器件对此命令做出响
当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式以0.062 5 ℃/LSB形式表示。温度值格式如下:
这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM 中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。图中,S 表示位。对应的温度计算:当符号位S=0时,表示测得的温度植为正值,直接将二进制位转换为十进制;当S=1时,表示测得的温度植为负值,先将补码变换为原码,再计算十进制值。例如+125℃的数字输出为07D0H,
+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FF6FH,-55℃的数字输出为FC90H。
DS18B20温度传感器主要用于对温度进行测量,数据可用16位符号扩展的二进制补码读数形式提供,并以0.0625℃/LSB形式表示。表2是部分温度值对应的二进制温度表示数据。
表2 部分温度值
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较,若T>TH或T<TL,则将该器件内的告警标志置位,并对主机

本文发布于:2024-09-24 20:31:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/96206.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:温度   电路   系统   数字   转换   温度传感器
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议