数字温度计设计(共11篇)
数字温度计设计 篇1
随着生产的发展和技术的进步,精度、灵敏度、稳定度等各个参数的要求越来越高,数字式开始问世,数字式温度传感器输出的是数字信号,可直接与单片机连接,具有克服模拟传感器与微处理器接口时需要信号调理电路和A/D转换器的弊端等优点[1]。该设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用。
由文献[2,3]可知,测量温度的方式有很多,常用的温度计多为管式温度计,不仅读数很不方便,还容易损坏。为此在DS18B20数字温度传感器技术的基础上制作了数字温度计,数码管直接显示温度,读数方便快易,而且电路简单、安全可靠。
1 系统方案设计
1.1 温度测量系统的总体设计
该温度测量系统主要通过传感器数字采集电路对周边环境进行温度测量及运算处理,并将处理的数据通过接口电路传送给单片机,单片机根据用户要求即设计人员设计开发的软件程序对数据进行运算,储存等,最后通过显示电路进行显示。整体设计框图如图1所示。
该系统的核心是集成温度传感器DS18B20,其核心技术就是可以直接输出数字信号[3]。由于温度传感器DS18B20是单线通信,所以软件设计部分必须考虑它的时序问题,以便更好地读数据和写数据。
在DS18B20间的任何通信都需要以初始化序列开始,如图2所示。一个复位脉冲跟着一个存在脉冲表明DS18B20已经准备好发送和接收数据。当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10 μs。由于单线制只有一根线,因此发送接口必须是三态的。外电源供电的好处是I/O线上不需要加强上拉,而且总线控制器不用在温度转换期间总保持高电平。这样在转换期间可以允许在单线总线上进行其他数据往来。
1.2 系统设计的电路图
系统工作时先由使用者设定温度值的上下限值,温度值输入后,这时LED显示器显示设定温度,以便操作人员核对设定温度,然后温度检测电路将测点的温度输入单片机,经软件滤波后作为实测温度,此后显示器将一直显示实测温度。本系统硬件主要包括单片机的最小系统、温度采集电路、键盘接口、显示电路、报警电路、驱动电路及串口通信等。数字温度计的电路图分为3部分:第1部分是温度传感器DS18B20与单片机之间的连接,该部分只有3根线,一根接地,一根接电源,还有一根接到单片机的P3.7只读端,该温度传感器是一块集成的芯片,所以温度处理以后直接由单片机读取即可;第2部分是温度的设置,选择矩阵式键盘,用8个I/O控制了16个按钮开关。由P00~P03循环输出低电平,然后检测P04~P07的状态,且都加上上拉电阻;第3部分就是电路的显示部分,温度上下限设置好了以后,传感器将温度值送到单片机进行处理,处理结果与设定值进行比较,然后在数码管上显示处理的结果。数码管的显示除了数字的显示外,还有处理结果的显示,即在进行软件设计的时候要进行代码处理。
文献[4]介绍了DS18B20可以采用2种方式供电,一种是采用寄生电源供电方式;另一种是外接电源供电方式。根据实际应用中的需要,选择寄生电源供电方式,可在无本地电源的情况下进行远距离测温。文献[5]介绍了传感器和单片机的接口技术,基于本文采用的温度传感器的单线通信,所以只需要在单片机中找一个通信口分配给它即可。综合以上信息,参考文献[6,7,8]完成了上述电路图。
2 软件设计
进行温度程序的设计应考虑如下几个问题:
(1) 实时采集温度;
(2) 温度显示:采用4位LED显示当前温度;
(3) 按键处理;
(4) 越限报警和处理:将采集到的温度值与预先设置值进行比较,若当前温度值越限,则产生报警信号。
软件设计主要有:主程序、键盘设定子程序、LED显示子程序、温度读取子程序等。初值设定子程序完成对温度上下限的设定及数据保存;温度读取子程序完成对温度传感器数据的读取,并通过LED显示子程序显示温度值。
参考文献[9]分别对温度的采集和处理进行了编程,并采取了文献中按键设计的一种,在其已有的程序上进行相关处理和改进,便得到的整个设计的软件设计部分。主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,其程序流程图如图3所示。
3 结 语
DS18B20集温度测量、A/D转换于一体,具有体积小、动态范围宽、测量精度高、单总线结构等特点。设计简单,控制方便,测量准确,测温范围宽,完全可以取代水银温度计和热敏电阻测量。利用单总线具有很强的扩展性,还可以组建多点的温度检测网络。
本文用8051单片机作为核心处理器对数字进行处理和控制,不但可以利用10进制实时显示温度值,还可根据需要设置控制温度的上下限,当温度超过设定值时,系统自动产生报警指示。由于DS18B20与微处理器间采用串行数据传送,因此,在对DS18B20进行程序编写时,必须严格保证读写时序,否则将无法读取测量结果。
参考文献
[1]徐爱钧.智能化测量控制仪表原理与设计[M].北京:北京航空航天大学出版社,2003.
[2]孙传友.感测技术基础[M].北京:电子工业出版社,2001.
[3]孙传友.现代检测技术及仪表[M].北京:高等教育出版社,2007.
[4]沙占友.智能化集成温度传感器原理与应用[M].北京:机械工业出版社,2002.
[5]来清民.传感器与单片机接口及实例[M].北京:北京航空航天大学出版社,1985.
[6]康华光.电子技术基础(模拟部分)[M].北京:高等教育出版社,1999.
[7]何宏.单片机原理与接口技术[M].北京:国防工业出版社,2006.
[8]周立功.单片机实验与实践[M].北京:北京航空航天大学出版社,2004.
[9]姜志海.单片机原理与应用[M].北京:电子工业出版社,2005.
数字温度计设计 篇2
摘 要: DS18B20是一款经典的单总线数字温度传感器芯片,较传统的温度传感器具有结构简单、体积小、功耗小、抗干扰能力强、使用简单、可组网实现多点温度测量等优点。本设计简要介绍了数字温度传感器DS18B20 的特性及工作原理,着重论述了用FPGA实现对此传感器的控制,并将测到的温度在LED数码管上显示出来。
关键词:DS18B20;温度传感器;FPGA;LED数码管
Abstract: DS18B20 is a classic single-bus digital temperature sensor chip, the more traditional temperature sensor has a simple structure, small size, low power consumption, and anti-interference ability, easy to use networking to achieve multi-point temperature measurement.The design brief describes the features and working principle of the digital temperature sensor DS18B20, focuses on the control of this sensor using FPGA, and the measured temperature is displayed on the LED digital tube.Keywords: DS18B20;temperature sensor;FPGA;LED digital tube 引言
传统的温度传感器系统大都采用放大、调理、A/ D 转换, 转换后的数字信号送入计算机处理, 处理电路复杂、可靠性相对较差, 占用计算机的资源较多。DS18B20 是一线制数字温度传感器, 它可将温度信号直接转换成串行数字信号送给微处理器, 电路简单, 成本低, 每一只DS18B20 内部的ROM 存储器都有唯一的64位系列号, 在1 根地址/ 信号线上可以挂接多个DS18B20, 易于扩展, 便于 组网和多点测量。
随着科技的发展 ,温度的实时显示系统应用越来越广泛 ,比如空调遥控器上当前室温的显示、热水器温度的显示等等。实现温度的实时采集与显示系统有很多种解决方案 ,本文使用全数字温度传感器DS18B20来实现温度的实时采集FPGA作为控制中心与数据桥梁;LED数码管作为温度实时显示器件。其中DS18B20作为FPGA的外部信号源,把所采集到的温度转换为数字信号,通过接口(113脚)传给FPGA,FPGA启动ROM内的控制程序驱动LED数码管,通过IO口和数据线把数据传送给LED数码管,将采集到的温度实时显示出来。该设计结构简单、测温准确,成本低,工作稳定可靠,具有一定的实际应用价值。DS18B20数字温度传感器介绍
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。DS18B20的性能特点如下:
2.1 DS18B20的性能特点
1独特的单线接口仅需要一个端口引脚进行通信; ○2多个DS18B20可以并联在惟一的三线上,实现多点组网功能; ○3无须外部器件; ○4可通过数据线供电,电压范围为3.0~5.5V; ○5零待机功耗; ○6温度以9或12位数字; ○7用户可定义报警设置; ○8报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件; ○9负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;○ 2.2 DS18B20的内部结构图
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2-1所示。
图2-1 DS18B20内部结构框图 图2-2 DS18B20字节定义
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2-2所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图3-4所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分率。2.3 DS18B20测温原理
DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一个频率稳定的计数脉冲。
高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。初始时,温度寄存器被预置成-55℃,每当计数器1从预置数开始减计数到0时,温度寄存器中寄存的温度值就增加1℃,这个过程重复进行,直到计数器2计数到0时便停止。初始时,计数器1预置的是与-55℃相对应的一个预置值。以后计数器1每一个循环的预置数都由斜率累加器提供。为了补偿振荡器温度特性的非线性性,斜率累加器提供的预置数也随温度相应变化。计数器1的预置数也就是在给定温度处使温度寄存器寄存值增加1℃计数器所需要的计数个数。
DS18B20内部的比较器以四舍五入的量化方式确定温度寄存器的最低有效位。在计数器2停止计数后,比较器将计数器1中的计数剩余值转换为温度值后与0.25℃进行比较,若低于0.25℃,温度寄存器的最低位就置0;若高于0.25℃,最低位就置1;若高于0.75℃时,温度寄存器的最低位就进位然后置0。这样,经过比较后所得的温度寄存器的值就是最终读取的温度值了,其最后位代表0.5℃,四舍五入最大量化误差为±1/2LSB,即0.25℃。
温度寄存器中的温度值以9位数据格式表示,最高位为符号位,其余8位以二进制补码形式表示温度值。测温结束时,这9位数据转存到暂存存储器的前两个字节中,符号位占用第一字节,8位温度数据占据第二字节。
DS18B20测量温度时使用特有的温度测量技术。DS18B20内部的低温度系数振荡器能产生稳定的频率信号;同样的,高温度系数振荡器则将被测温度转换成频率信号。当计数门打开时,DS18B20进行计数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性度加以补偿。测量结果存入温度寄存器中。一般情况下的温度值应该为9位,但因符号位扩展成高8位,所以最后以16位补码形式读出。2.4 DS18B20供电方式
DS18B20有两种供电方式,一种是寄生电源强上拉供电方式,一种是外部供电方式,如下图:
图2-3 寄生电源强上拉供电方式电路图
在寄生电源供电方式下,DS18B20 从单线信号线上汲取能量:在信号线 DQ 处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来再给寄生电源(电容)充电。为了使 DS18B20 在动态转换周期中获得足够的电流供应,当进行温度转换或拷贝到 E2 存储器操作时,用 MOSFET 把 I/O 线直接拉到 VCC 就可提供足够的电流,在发出任何涉及到拷贝到 E2 存储器或启动温度转换的指令后,必须在最多 10μS 内把 I/O 线转换到强上拉状态。在强上拉方式下可以解决电流供应不走的问题,因此也适合于多点测温应用,缺点就是要多占用一根 I/O 口线进行强上拉切换。
图2-4 外部电源供电方式电路图
在外部电源供电方式下,DS18B20 工作电源由 VDD 引脚接入,此时 I/O 线不需要强上拉,不存在电源电流不足的问题,可以保证转换精度,同时在总线上理论可以挂接任意多个 DS18B20 传感器,组成多点测温系统。在外部供电的方式下,DS18B20的GND引脚不能悬空,否则不能转换温度,读取的温度总是 85℃。3 设计需求
1温度测量范围:-55℃~+125℃ ○2可编程为9位~12位A/D转换精度 ○3测温分辨率可达0.0625℃ ○4 LED数码管直读显示 ○4 设计方案
4.1 硬件设计
将[DF2C8]FPGA 核心板和[EB-F2]基础实验板连接在一起,同时使能DS18B20 模块和数码管模块:数码管使能:用“短路帽”将实验板上的JP4和JP5全部短接。DS18B20 温度传感器使能跳线JP10 全部短接,元件安装示意如下图4-1和4-2(注意方向,半圆形的一边朝板子内部,平面朝外,和板上的图示一致)。
图 4-1:数码管使能图示 图 4-2:温度传感器安装和使能图示
4.1.1 温度传感器 DS18B20 电路
基础实验板上提供了一个由DS18B20构成的温度测量模块,其原理如图4-3所示。该电路选择外部供电方式。外部电源供电方式工作稳定可靠,抗干扰能力强。
图4-3 单线制温度传感器 DS18B20 电路图
DS18B20与[DF2C8]FPGA核心板的连接关系如表4-1所示
表 4-1:DS18B20与[DF2C8]FPGA核心板连接时的管脚对应关系
4.1.2 数码管显示电路
基础实验板上具有2个共阳极的位七段数码管,构成8位构,其电路如图4-4 所示。
图 4-4:七段数码管显示电路图
数码管的控制引脚由两个跳线JP4和JP5使能(如图4-1所示)R10~R17是段码上的限流电阻,位码由于电流较大,采用了PNP三极管驱动。当位码驱动信号为低电平(0)时,对应的数码管才能操作;当段码驱动信号为低电平(0)时,对应的段码点亮。数码管不核心板连接时的管脚对应如表4-2所示:
表 4-2:数码管与[DF2C8]FPGA核心板连接时的管脚对应关系
4.2 HDL编码 4.2.1 时序
(1)复位: 使用DS18B20 时, 首先需将其复位, 然后才能执行其它命令。复位时, 主机将数据线拉为低电平并保持480Ls~ 960Ls, 然后释放数据线, 再由上拉电阻将数据线拉高15~ 60Ls, 等待DS18B20 发出存在脉冲, 存在脉冲有效时间为60~ 240Ls, 这样, 就完成了复位操作。其复位时序如图4-5所示。
图4-5:初始化时序
图4-6:写时序
(2)写时隙: 在主机对DS18B20 写数据时, 先将数据线置为高电平, 再变为低电平, 该低电平应大于1us。在数据线变为低电平后15us 内, 根据写“1”或写“0” 使数据线变高或继续为低。DS18B20 将在数据线变成低电平后15us~ 60us 内对数据线进行采样。要求写入DS18B20 的数据持续时间应大于60us 而小于120us, 两次写数据之间的时间间隔应大于1us。写时隙的时序如图4-6 所示
(3)读时隙 :当主机从DS18B20 读数据时, 主机先将数据线置为高电平, 再变为低电平, 该低电平应大于1us, 然后释放数据线, 使其变为高电平。DS18B20 在数据线从高电平变为低电平的15us 内将数据送到数据线上。主机可在15us 后读取数据线。读时隙的时序如图4-7 所示。
图4-7 :读时隙
4.2.2 DS18B20 的操作命令
主机可通过一线端口对DS18B20 进行操作, 其步骤为: 复位(初始化命令)-> ROM 功能命令-> 存储器功能命令-> 执行/ 数据, DS18B20 的ROM 命令有5个(见表1), 存储器命令有6个(见表2)。命令的执行都是由复位、多个读时隙和写时隙基本时序单元组成。因此, 只要将复位、读时隙、写时隙的时序了解清楚, 使用DS18B20 就比较容易了, 时序如上文所述。
表4-3: 存储器命令操作表 表4-4:ROM命令功能操作表
4.2.3 Verilog HDL编码
详细Verilog HDL代码参见工程文件:DF2C8_13_DS18B20 工程文件中含有三个v 文件,LED_CTL.v 是数码管显示功能模块,DS18B20_CTL.v 是温度传感器的控制模块,TEMP.v 为顶层模块,实例化了前面两个模块,并将采集的温度值送至数码管中进行显示。其中最主要的温度传感器的控制模块,DS18B20_CTL.v。该程序对DS18B20 进行控制, 不仅可以简化程序, 还可以缩短1 次温度转换所需的时间.这样的话, 1 次温度转换和数字温度值输出循环所涉及到的控制命令、数据交换和所需时隙如图4-8所示。
.图4-8:1次温度转换的控制命令和时隙 仿真测试结果
5.1 仿真波形
温度测量模块仿真结果如图6-1所示:
图5-1:仿真波形
5.2 结果显示
下载配置文件后,可在数码管上观察到带一位小数的温度数值。如果用手捏住传感器,会发现显示的温度在升高。如下图:
图5-2 测温效果图示
参考文献:
[1] 沙占友 集成传感器的应用[M].中国电力出版社.[2] 罗钧,童景琳.智能传感器数据采集与信号处理[M].化学工业出版社
数字有温度 篇3
这里,就是今日中关村国家自主创新示范区的核心区——中关村科技园区海淀园。这方热土,不仅奇迹,成长的每一步足迹都将被记录。不久前,记者慕名来到海淀园信息统计中心,这里的主人正是园区发展之路的忠实记录者。饱含着中关村人的激情与使命感,他们捧出的每一笔数据仿佛都有了生命、有了温度。
精准定位谋发展
海淀园信息统计中心(以下简称中心)究竟是一个怎样的统计机构?如何开展工作?面对记者抛出的问题,中心常务副主任张凌云打开了话匣子。在她的娓娓道来中,这支13人团队的轮廓逐渐清晰起来。
“我们中心的身份有些特殊,它隶属于海淀区统计局、调查队,同时又服务于中关村科技园区海淀园管理委员会,受海淀局队和海淀园管委会的双重领导和管理。一方面,负责局队的日常统计工作;另一方面,也承担着海淀园管委会的统计服务工作。”作为中关村最早也是最大的科技园区,海淀园的发展情况一直备受瞩目。在“焦点”之下工作,压力自然更大。2012年4月接手中心的管理工作以来,张凌云对此深有感触。
“基层的工作量大,梳理业务主线很关键。从三千多家规上企业的采集工作来说,海淀局队实施两级管理,中心负责数据的审核、汇总、上报,属于局队专业科室的性质;从六千余家规下企业的采集工作来说,由我们直接管理,相当于统计所的性质;从为海淀园管委会及其他委办局提供数据和信息分析服务来说,我们又相当于局队综合业务部门。”
简短几句介绍,不难发现基层统计部门头绪多、任务重的现实,然而得益于中心负责人对园区统计“一体三翼”的精准定位,各项工作都有了切入点和落脚点。“现在,所有工作都能有条不紊地按制度运行、按规范操作,我对大家也越来越放心了!”
内外兼修控数字
统计工作永远要把“数字准”放在第一位,对此,中心的每个人都有切身体会。“确保数据质量,首先面临的挑战是如何保障9300多家企业应统尽统。”张凌云详解道,“按中关村制度的要求,除了规上单位,规下高新技术企业也要参加年报。6000多家规下单位的查找、年报培训、数据审核上报都由中心独立完成。尽管市局并不考核规下单位上报率,但去年年报我们尽了最大努力,最终上报率接近100%。”
与中心工作人员交谈,大家说得最多的也是年报。张然说:“印象最深的是年报布置会,要一连开三四天,都是近千人的大场面。我们轮流上去讲,既要把报表讲解到位,还要镇得住场,像张小明,全程站着讲且完全脱稿。这对我们年轻人来说,真是极大的考验,但大家都挺住了!”张丽忠最难忘年报时大家共同奋斗的一幕幕。“记得前几年年报,这间办公室坐了20多人,人手一台电脑,简直就是一个机房,辐射特别强,电话声此起彼伏,屋里热得只能穿短袖,但大家愣是在这么艰苦的环境下取得了一个又一个年报好成绩。今年,通过领导积极争取,办公环境大为改善,我们更有干劲儿了。”
创新是中关村的灵魂,统计人对数据质量的追求同样彰显着创新的精神。规下企业由于数量大、情况杂、基础弱,向来是统计报送的老大难。为了把这项工作做得更扎实,中心自主设计了园区规下企业的季报表,并在海淀园管委会外网开辟了报送窗口。“每一季度,我们都按年报的标准来做,这样坚持下来,不但能够保证年报的上报率,对数据质量心里也更有底了”,张凌云说。
李国良等几位年轻人还利用国家联网直报平台的数据计算查询功能,针对企业在报表过程中出现的共性问题,设计了相应的查询模板。如针对部分企业将出口总额单位千美元误认为千元的情况,将出口总额乘以汇率折算为人民币与总收入进行对比,然后对出口总额超出总收入的单位进行核实。“通过这些模板审核查询,我们能及时反馈企业上报中出现的问题,审核效率明显提高,对数据质量又多了一层保障。”
积极作为强服务
如果说“数字准”是立身之本,那么“强服务”就是统计人的腾飞之翼。随着2009年海淀园正式升级为中关村国家自主创新示范区核心区,大家在服务核心区发展方面积极作为,并得到了海淀园管委会的充分认可。如今,统计服务已成为中心业务中的一张“王牌”。
身为搞分析研究的行家里手,有着17年综合统计工作经验的张凌云抓起这项工作可谓得心应手,从制度规范到内容形式再到反应速度,各个环节都要“智求卓越”。负责数据提供工作的马沛沛介绍说,中心专门建立了来电来函备案登记制度,对提供出去的每笔数据进行备案,内容包括数据加工科室、提供对象、提供时间、提供人、提供内容等。2012年全年共提供各类数据300多万笔。此外,还建立了分类提供制度,如每月28日左右,第一时间把全园区主要经济指标大数及简短分析以手机快报形式发到局领导和海淀园管委会领导手中;每月30日左右,以《海淀区情手册》为载体,向区领导和相关部门发布园区数据;每年编发《海淀园数据手册》等。“这些制度既保证了数据发布的及时性又保证了全面性,满足了不同层面、不同类型的需求。”
开展统计分析,中心更是“唱得响亮”。张小明、宋淼,一个司职进度分析,一个主攻专题研究,这让两位研究生找到了用武之地,也收获了一份小小的成就感。现在中心每年能“产出”60余篇经济信息和20期统计专报,这些统计成果从不同层面反映出海淀园高新技术企业以及核心区重点创新型企业的发展情况,提出的很多建议都被决策部门采纳。“区领导拿到今年一季度园区经济运行情况监测报告后,第二天就召开了专题会议研究讨论。统计产品受重视、有价值,就是对我们工作的最大肯定。”张小明不无兴奋地说。
深入一线,为调查对象服务,同样是中心的常规动作。“海淀园管委会组织的赴企业调研活动,我们都不会错过,且常常是全体参加,今年上半年就走访了32家企业。中心自己也组织了多种形式和内容的座谈会,面对面了解企业的需求、倾听他们的意见和建议,对提高统计服务的质量起到了积极的作用。”张凌云如是说。
全力以赴为明天
“爱拼才会赢”,在海淀局队的重视和支持下,中心在全局工作中渐渐创出了品牌。揭开团队成功的秘诀,其实不外乎中关村创业教父柳传志所提出的“建班子、定战略、带队伍”。由常务副主任张凌云、科长刘海东、书记高松超和副科长汤向东构成的班子是中心的指挥中枢,统筹协调各项工作。作为团队的核心,四个人有一个共同的理念:“知人善用,打造让年轻人脱颖而出的平台”。
今年,全中心人员被分为数据采集规上组、数据采集规下组、数据提供发布组、分析研究组、执法组、科技组、后勤保障组、党工团组等8个小组。每个小组由1名组长负责,组长同时也是其他组的组员。“这意味着人人都是负责人,要具备独当一面的能力,同时又能在工作中培养团结协作精神。实践证明,这种安排极大地调动了每个人工作的积极性,进一步凝练了团队的战斗力。”刘海东由衷表示。
高松超说,“中心全体人员13人,党员就占了11名,作为海淀局队的第六党支部,我们重在发挥党员的先锋模范作用,塑造中心共同的价值观,同时想尽办法为大家排忧解难,让每个人都能快乐地生活在这个集体中。”在采访中,赵萍、刘珊珊、杨建斌等几位同志说得最多的是感谢,和谐的团队氛围带给每个人以“家”的感觉。
更让人动容的是深藏在他们身上那份统计人特有的情怀。恰如张凌云所说:“当我们把自己置身于区域发展的坐标系中,再来审视眼前的这些数时,它们便不再是冷冰冰的数字。认同统计的价值,就会觉得这份工作伟大。”
今天的海淀园正昂首迈向全球科技创新中心,统计人同样全力以赴。他们收藏的每一个昨天都将属于明天。明天还会上演新的奇迹!
编辑:单之卉 / 邮箱:szh@bjstats.gov.cn
基于单片机的数字温度计设计 篇4
本设计控制器为单片机STC89C52, 温度传感器为DS18B20和4位共阴极数码管来实现温度显示。
1.1 控制器STC89C52
主电源引脚:VCC电源输入, 接+5V电源。GND接地线外接晶振引脚:XTAL1片内振荡电路的输入端;XTAL2片内振荡电路的输出端。控制引脚:RST/VPP复位引脚, 引脚上出现2个机器周期的高电平将使单片机复位。ALE/PROG (Pin30) 地址锁存允许信号。PSEN外部存储器读选通信号。EA/VPP (Pin31) 程序存储器的内外部选通, 接低电平从外部程序存储器读指令, 如果接高电平则从内部程序存储器读指令。可编程输入/输出引脚:PO口8位双向I/O口线, 名称为P0.0~P0.7。P1口8位准双向I/O口线, 名称为P1.0~P1.7。P2口8位准双向I/O口线, 名称为P2.0~P2.7。P3口8位准双向I/O口线, 名称为P3.0~P3.7。
1.2 显示电路
显示电路采用4位共阴极LED数码管, 其中P0口输出段码, P2.0~P2.3作为片选端。如果在焊接电路板的时候发现数码管亮度不够, 可以在P2.0~P2.3端口接四个10K的电阻和NPN的三极管, 使数码管高亮显示。
1.3 温度传感器
采用DS18B20温度传感器它能直接读出被测温度, 可根据实际要求实现9~12位的数字值读数方式。
(1) 电压范围3.0~5.5V, 在寄生电源方式下可由数据线供电;
(2) DS18B20支持多点组网功能, 多个DS18B20可以并联在唯一的三线上;
(3) DS18B20在使用中不需要任何外围元件;
(4) 测温范围-55℃~+125℃, 在-10~+85℃时精度为±0.5℃;
(5) 在9位分辨率时最多在93.75ms内把温度转换为数字, 12位分辨率时最多在750ms内把温度值转换为数字;
(6) 测量结果直接输出数字温度信号;
(7) 电源极性接反时, 芯片不会因发热而烧毁, 但不能正常工作。
2、系统仿真与调试
系统设计完成之后, 要进行硬件调试和软件设计。软件设计可以利用仿真系统进行。
(1) 硬件调试:利用万用表检查电路中各器件以及引脚是否连接正确, 是否有短路故障。先要将单片机STC89C52芯片取下, 对电路板进行通电检查, 通过观察看是否有异常, 然后用万用表测试各电源电压, 若这些都没问题, 则接上仿真机进行联机调试观察各接口线路是否正常。
(2) 软件设计:主程序的任务是控制单总线, 实现系统的初始化、DS18B20的初始化、数码管的初始化, 并调用温度采集、数据处理、数码管显示等子程序。其中DS18B20初始化、数码管初始化的流程图不再画出。主程序流程:开始→系统初始化→DS18B20初始化→数码管初始化→读18B20的温度→数据处理函数→显示函数→读18B20的温度 (循环) (如图1) 。
读取DS18B20温度值的子程序流程:设置采集分辨率→启动温度转换→延时函数→写入读温度命令→延时函数→读入温度值。
3、结语
本文对STC89C52、DS18B20、数码管的功能及特点进行了详细阐述, 设计出了温度采集, 最小系统, 显示电路等电路原理图, 并进行说明, 最后给出了主要程序流程图。实践证明本系统硬件电路设计简单, 程序简洁, 通用性强, 具有人机交互界面。
摘要:本文将介绍一种基于单片机控制的数字温度计, 该温度计属于多功能温度计, 可以设置上下报警温度, 当温度不在设置范围内时, 可以报警, 且具有读数方便, 测温范围广, 测温精确, 数字显示, 适用范围宽等特点。
温度和温度计教学设计 篇5
教学目标
知识与技能:
1、知道温度的概念和温度的常用单位及国际单位制单位。
2、能说出生活环境中常见的温度。
3、了解液体温度计的工作原理,会测量温度。
过程与方法:
对比三种温度计,比较异同
情感态度价值观:
1、了解环境温度对人们生活的影响。
2、培养学生关注科学技术对人类生存环境的影响的意识。
教学过程
一、引入:
师:在学习新课之前,我们先一起来观看好莱坞巨片《后天》的精彩片段,影片讲述的是由于温室效应造成地球气候突变,全球即将陷入第二次冰河世纪的故事。请欣赏。(播放影片)
伴随影片介绍:自由女神被淹没,冲天巨浪涌进纽约,转瞬间气温骤降,纽约速冻,茫茫冰原上,只留下了自由女神的头像。人类世界在大自然面前显现的如此渺小。
师:的确,温度的.变化对人类的影响会如此之大,今天我们就一起探讨一下有关温度的知识。
二、温度在生活中的例证:
师:温度与我们的生活是息息相关的。温度表示物体的冷热程度。你还能列举一些生活中与温度有关的实例或现象吗?
学生举例。
三、温度
师:温度与生活密切相关,就连我们出门该穿什么衣服都与温度有关。
师:明天的气温都是32度,如果你就在当地,那明天你会穿什么呢?要穿一件外套家一条围巾呢,还是只要穿件短袖衫或T恤就可以了?
学生回答,引导得出温标。
师:做决定前要先弄清楚这个温度的单位是什么,即温标。中国天气预报中32度指32摄氏度,世界各国一般都使用摄氏温标,有同学知道摄氏温标是如何规定的吗?
生:把水的冰点规定为0度,水的沸点规定为100度,0-100度之间等分100份,每份为1摄氏度。
师:什么是热力学温度呢?
生:在物理学中广泛使用的是开尔文温标,它也是温度的国际单位,它规定水的冰点为273.15K,水的沸点为373.15K。与摄氏温度关系:T=t+273.15K
四、常用温度值
师:生活中的一些常用温度值,你们熟悉吗?下面我们就通过一个小游戏来考察一下。想必同学们都看过央视正大综艺吧,其中有一个环节为《真真假假》。下面我们也来一回真真假假,我们分A、B、C、D四个团队,希望大家团结协作,共同完成这个环节。
五、温度计:
师:那我们怎样准确地得出它的温度呢?你能描述温度计的形状构造吗?
生:它是个玻璃管,下端有一玻璃泡,里面装有某种液体。
师:发温度计给大家,好好观察它的构造,看看还有什么要补充完善的?
学生进一步观察
生:玻璃泡大,玻璃管的管壁厚但内径细,管外有刻度。
师:内径细有什么好处?
学生思考,讨论
生:温度有微小变化,液体就有明显变化。
学生演示使用温度计测水的温度。
出示图片
引导:使用前观察:量程,分度值
使用时注意:玻璃泡浸入
读数时,稳定后读,玻璃泡不离开,视线相平。
师:生活中你还使用过什么温度计?看图区分并说明理由。
生:回答
师:体温计使用与实验用温度计有什么不同?
生:用前要甩一甩,读数时可以拿出来读。
师:请学生课下查阅资料了解体温计的缩口的作用。实验用温度计,寒暑表
体温计,他们虽然用途不同,但却有着共同的工作原理,谁能说说它们有什么共同特点?
生:利用了液体的热胀冷缩。
师:生活中还有其他类型的温度计,他们的工作原理就有所不同了,但是都是利用某种性质与温度的关系制成的,例如:数字式温度计就是根据物质导电性与温度关系制成的。随着科学技术的发展和现代工业技术的需要,测温技术也在不断地改进和提
高,测量范围越来越广,有的能测量到3000摄氏度以上的高温,而且测量结果也越来越精确,希望有兴趣的同学利用课余时间搜集这方面的科学技术信息,对于不同温度计进行分类,搜索,研究,写出研究计划如方案,设想,建议等。
板书:
一、温度表示物体的冷热程度。
二、温标
1、摄氏温标
把水的冰点规定为0度,水的沸点规定为100度,0-100度之间等分100份,每份为1摄氏度。
2、热力学温标
三、温度计
1、实验用温度计
(1)原理
(2)结构
(3)使用方法:使用前观察:量程,分度值
使用时注意:玻璃泡浸入
读数时,稳定后读,玻璃泡不离开,视线相平
(3)与体温计的区别
2、寒暑表
数字温度计设计 篇6
【关键词】微机原理 8086 TC77 Proteus 仿真
电子、通信、物联网等相关专业在选修课学习中大多有传感器技术等课程,而对传感器的相关实验有仿真和实际制作两大类,即使是实际制作,之前先做仿真也是一个比较好的选择。目前高校的教学中以8088为重点的微机原理课程一般安排在单片机之前,以致学习传感器课程时单片机课程尚未学完,故用微机原理的知识进行传感器的仿真成为一种选择,同时也能深化对微机原理课程的理解。
1 8086最小系统
微机原理课程大多以8088为核心进行讲解,但遗憾的是目前Proteus软件里没有8088CPU,只有8086,故要稍作修改,幸好改的地方不多。
图1 8086最小系统图
图1为8086最小系统图,该图提供了16根地址线A0~A15,8根数据线D0~D7,理论上8086可提供16根数据线,但本应用中有8根即可,所以D8~D15没有画出。注意8086的READY端要接VCC,否则系统运行时只运行1条语句,8086的CLK端未接,时钟用的是内部仿真时钟,一般用5MHz即可。
2 系统的控制信号
图2 8086系统的控制信号
图2为系统的控制信号,CS0为8255的片选信号,IOR和IOW为8255的读选通和写选通信号。另外要注意8086的28脚M/IO信号和8088不一样,该脚为低电平时表示IO接口,高电平时表示存储器,该表示方法正好和8088相反。
3 IO接口及传感器和显示部分
图3 8255接口、TC77和显示部分
图3为8255接口和数字传感器TC77及数码管显示部分,8255的A口接数码管的段码,B口低4位接数码管的位码,本应用中用的是共阳数码管。8255的PC7接TC77的CS,PC6接TC77的SCK,PC0接TC77的SI/O。
采用数码管显示是因为程序比较简单,毕竟8086CPU要用汇编进行编程。
4 数字温度传感器TC77
如图3所示,TC77有5个引脚,另外2个是电源和地。
图4 TC77的时序图
图5 TC77的数据格式
图4为TC77的时序图,图5为TC77的数据格式。由图5可看出TC77有16位数据,但其中后3位不用,一直为1,所以有效位为13位,故图4时序图中为13位数据,注意其中第1位为符号位,最低有效位表示0.0625℃。
5 数码管显示子程序
display proc ;输出一位数码管
mov dx,8020h
mov bx,offset seg7
xlat
xor al,0FFh
out dx,al ;输出段码
mov dx,8022h
mov al,ah
out dx,al ;输出位码
call delay
mov al,00h ;清位码
out dx,al
ret
display endp
org 0400h ;数码管段码
seg7 db 03fh,006h,05bh,04fh,066h,06dh,07dh,007h,
db 07fh,06fh,077h,07ch,039h,05eh,079h,071h
上述程序为显示子程序,注意seg7段放在程序的代码段里,因为在Proteus中分段比较麻烦,为简单考虑就一起放在代码段里了。8255的控制口地址为8026h,A口地址为8020h,B口地址为8022h,C口地址为8024h。该子程序的入口AL中放入要输出的00~0F字符,AH中放入位码,第1个数码管为01h,第2、3、4数码管分别为02h、04h、08h。
6 读取TC77数据子程序
Getdataproc
mov ah,0h
mov dx,8024h
mov al,80h ;CS:1,SCK:0
out dx,al
mov al,00h ;CS:0,SCK:0
out dx,al
mov cx,9
g10: in al,dx
and al,01h
shl ah,1
add ah,al
mov al,40h ;SCK:1
out dx,al
mov al,00h ;SCK:0
out dx,al
loop g10
mov al,80h ;CS:1
out dx,al
ret
getdata endp
上述程序为TC77读取数据程序,为简单起见,未考虑小数和负数的情况。返回的TC77数据放在AH中。该程序先把TC77的CS置1,SCK清0,再把CS清0,然后开始串行读取数据,总共读了9位,其中第1位为符号位,为简单考虑丢弃了,最后1位正好代表1℃。
7 主循环程序
start proc far
mov sp,800h
mov dx,8026h
mov al,81h
out dx,al
s10: call getdata ;ah:温度值
mov al,ah
mov ah,0
mov bl,10
div bl
push ax
mov al,ah
mov ah,4
call display
pop ax
mov ah,2
call display
jmp s10
start endp
上述程序为主循环程序,第1行设置了SP,后3行对8255进行初始化。循环体中的程序为调用读取TC77数据子程序及把返回的AH值用十进制方式显示在数码管的2、3位上。
7 仿真结果
图6 仿真结果
图6为仿真结果,如调整TC77的上下按钮可看到数码管上的数据相应变化,TC77每一次变化0.5℃,连续变化2次就可看到数码管上变化1℃。图6中示波器上的3个信号分别为TC77的CS、SCK、SI/O信号,图6中SI/O的数据为000011100,第1位为符号位,后面8位转换为十进制即为28,和数码管中显示的一致。
本文给出了一个用Proteus软件仿真8086系统下数字温度传感器TC77的实例,很好地理解了数字温度传感器的使用方法,为以后的实际制作打下了良好的基础,同时用8086CPU做主控系统在高校的本科教学中也起到了承上启下的效果。
【参考文献】
一种可编程数字温度计的设计 篇7
1 问题分析
原温度计由数字式温度传感器SWC、单稳态触发电路、计数电路、译码与LED数码显示电路等组成。其设计原理图如图1所示:
其中,SWC数字式温度传感器又称为集成数字脉冲式探头,对外接口分别为控制线K,信号线S和公共线G,是一种三端器件。具有加电启动和宽脉冲触发2种启动方式,在此设计电路中使用宽脉冲触发形式。定时(单稳态触发)电路以NE555为核心产生定时宽度为50 ms的闸门脉冲电压,一路加至SWC的K端作为启动信号;另一路经过微分电路后加置MC14533的13脚进行计数器清零。用MC14533的11脚作为输入,第1,2,15脚作为输出,完成计数功能。最后用具有锁存/译码/驱动功能的MC14511实现BCD译码,使数码管SM4205显示出温度数值,完成测温。详细工作原理见参考文献[1]。
用该电路实现测温每次加电后必须启动按钮开关AN,而且每按1次只能实现单次测温,如要连续测温则操作比较繁琐。由MC14533,MC14511集成块构成计数、显示功能的电路比较复杂,且连线多,可靠性不好,将电路级联、焊接好后进行调试和修改都比较复杂。相对于用较多的集成电路,用单片机可以实现测温电路的控制,实现可编程功能,电路简单且易于调试。另外,原电路是一次性读数并显示,没有对所测得的数据进行任何处理,所以数据的可信度不高。
2 硬件电路的改进
电路控制部分的核心为单片机AT89C2051,外接SWC、显示电路和按键。
2.1 单片机AT89C2051
单片机AT89C2051是整个电路的中心控制单元,是一个低电压高性能的8位单片机,与MCS-51单片机的内部结构基本一致,区别是增加了1个模拟比较器,减少了2个对外的端口(P0,P2口),双向端口P1,P3有独特的功能,因而使芯片的外部输入引脚大大减小。指令系统与MCS-51兼容,内含2 kB FLASH Memory和128 B的随机存取存储器(RAM),15个可编程I/O线,2个16位定时器/计数器,5个两级中断源,1个可编程全双工串行通信口。故其功能十分强大,可提供给许多高性价比的应用场合。所以本设计的控制部分采用AT89C2051,完全能够满足系统中要求的控制、数据处理和译码显示的需要。
2.2 改进电路原理图
电路原理图如图2所示。
AT89C2051单片机采用最小化应用设计。数字温度传感器SWC的K端接P1.2,用作连接50 ms高电平触发电平,G端接地,S端作为SWC的信号端连接AT89C2051片内模拟比较器的正向输入即P1.0,P1.1连接R2,R3后外接5 V电压作为反向输入端;通过调整R2和R3的阻值,可以使模拟比较器的反向输入端电压是同向输入端即SWC的S输入端电压的1/2,这样可以有效地提高测量的可靠性。显示采用动态扫描方式实现,P1口输出段码数据,P3.2,P3.3,P3.4作输出扫描位码。为提供LED 数码管的驱动电路,用三极管9012作电源驱动输出。P3.0连接外部按键,用于接收用户的命令,切换不同的测温模式,实现温度计的可编程功能。单片机时钟采用内部振荡器外配12 MHz晶振,复位采用上电自动复位电路。
3 软件设计
3.1 设计思想
总体设计思想是用单片机AT89C2051实现以前复杂的集成电路实现的功能,并设计自动测温等编程模式。温度传感器SWC采用单线输出方式,当K端使用50 ms宽脉冲触发后,S端输出一串脉冲,每个脉冲为0.1 ℃增量,脉冲个数代表了被测温度的数字量。用程序将计数/定时器T0的计数输入端和单片机AT89C2051的内置模拟比较器输出端P3.6短接(用P3.6读入直接写到P3.4来实现);单片机采用T0为计数工作方式,T1为定时工作方式,即设计每50ms定时时间到达后,统计出T0计数的脉冲值,即是数字温度传感器SWC所测得的温度值。将此数值存入预先开辟的内存单元,在测量3次后,对所测数值取平均后送到P1口显示,即为所测出的温度值。图3是系统总流程框图。当检测到P3.0外接的按键按下,P3.0为低电平时,实现点动式测温模式,如P3.0按下时间大于1 s后,进入自动测温模式。
3.2 50 ms定时初值设置
当系统加电后,首先对单片机进行初始化。设50 ms计数初值为X,根据公式X=M-定时时间/T,有X=216-50 ms/1 μs,计算的初始值X=15 536,二进制表示为11110010110000 B,16进制表示为3CBOH,即TL0初始化置B0H,TH0置3CH。并置P1.0,P1.1为0,用作内置模拟比较器的输入。
MOV SP,#70H;
MOV TMOD,15H;
设置T0计数模式、T1为定时、工作方式1
MOV TH1,#03CH;
MOV TL0,#0B0H;
CLR P1.0; 模拟比较器同向输入端设置
CLR P1.1; 模拟比较器反向输入端设置
SETB EA; 开总中断
3.3 键盘处理子程序设计
在每次测量完成后,都要检测键盘的状况,当检测到P3.0的键盘按下时,启动延时程序。在延时的过程中,一直监测键盘的状况,如在延时结束前键盘被释放,则进入测温程序,测量1次温度,这样就可以实现点动测温。而在延时的过程中键一直被按下,则延时结束后转去执行自动测温子程序。在自动测温子程序中,每执行完1次测温,就检测1次键盘,如键被按下,就推出自动测温模式,否则继续执行测温程序。
部分程序如下:
DELAY: MOV R5,#50H;
DEL0: MOV R6,#100H;
DEL1: MOV R7,#100H;
DEL2: JB P3.0,FINISH
DJNZ R7,DEL2;
DJNZ R6,DEL1;
DJNZ R5,DEL0;
JMP AUTO
3.4 数据处理
由于SWC已经过了非线性处理,所以数据处理部分主要完成3次测量结果平均值的计算和译码显示。单次测量结果最大为500,所以用8位MCU时需要注意,应该用2个存储单元进行存储。对于译码显示较为简单,只需要对计数结果,用查表的方式送显就可以实现。
4 结 语
传统的温度检测大都以热敏电阻作为温度传感器,但是热敏电阻的可靠性较差、测量温度准确率低,并且还必须经过专门的电路转化成数字信号后才能用单片机进行处理。本文相当于文献[1],基于单片机AT89C2051和数字温度传感器SWC实现的数字温度计比原设计电路简单、需要元器件少,主要依靠单片机实现原来复杂的集成电路实现的功能;在软硬件设计中,都采用了提高可靠性的措施,所以,测量数据可靠性大大加强。另外,用软件实现原硬件实现的功能,可以降低成本,方便调试。用文中设计的温度计具有硬件连接简单、体积小、测量精度高、可以实现自动和点动测温2种方式;抗干扰能力强,测得温度准确,可以根据具体要求添加不同的测温模式等特点,可广泛应用于温度测量和性价比要求较高的领域。
参考文献
[1]杨延宁,张志勇,张虎,等.一种基于SWC的数字温度计的设计[J].现代电子技术,2007,30(21):104-105.
[2]余锡存,曹国华.单片机原理及接口技术[M].西安:西安电子科技大学出版社,2004.
[3]赫建国,郑燕,薛延侠.单片机在电子电路设计中的应用[M].北京:清华大学出版社,2005.
[4]杨伟涛,苗风东,倪邦发.基于ARM的热敏电阻温度计的设计[J].现代电子技术,2007,30(8):59-61.
[5]沙春芳.红外温度计MLX90614及其应用[J].现代电子技术,2007,30(22):36-37,40.
数字温度计设计 篇8
单片机控制已成为今天电子设计追求的目标之一[1,2,3,4,5],本文将这种控制技术应用于温度测量中。AT89C2051是美国Atmel公司生产的低电压、高性能CMOS 8位单片机[6,7],片内含有2 KB的反复擦写的只读程序存储器和128 B的随机存取数据存储器(RAM)。美国DALLAS半导体公司生产的DS18B20型单线智能温度传感器,属于新一代适配微处理器的智能传感器[8,9]。数字温度计是以DS18B20为检测元件,由AT89C2051作为主控制器的温度计,具有功耗低、结构简单、读数方便、测温范围广、测温准确的特点。
1 电路构成及工作原理
1.1 硬件设计
由 AT89C2051构成的温度计主要由三部分组成:DS18B20温度传感器、单片机AT89C2051、由LED数码管构成的显示模块。其系统原理框图如图1所示。DS18B20作为单片机AT89C2051的外部信号源,把所采集到的温度转换为数字信号,通过I/O接口传给2051,2051启动ROM内的控制程序驱动LED数码管,通过I/O接口和数据线(单片机和数码管的接口)把数据传送给数码管,将采集到的温度显示出来。
1.2 总电路图
基于AT89C2051的温度测量系统电路图把温度转化成带符号的数字信号(以十六位补码形式,占两个字节),若采用带屏蔽的双绞电缆线,连线的长度可以达到150 m,输出脚I/O直接与单片机的P3.4相连,R1为上拉电阻,传感器采用外部电源供电。AT89C2051是整个系统的核心部分,内含2 KB的FLASH ROM,用户程序存放在这里。显示器模块由四位一体的共阳数码管和四个9012组成。系统程序分传感器控制程序和显示器程序两部分,传感器控制程序是按照DS18B20的通信协议编制。系统的工作是在程序控制下,完成对传感器的读写和对温度的显示。
产品的主要技术指标:测量范围: -55~+125 ℃,测量精度:0.5 ℃;反应时间小于等于500 ms。
2 软件设计
2.1 采集模块
该模块选用单线温度传感器DS18B20完成温度采集。单片机AT89C51对DS18B20访问流程如下:先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。根据DS18B20的通讯协议,需经三个步骤:每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令(指令代码CCH)并置标志位,根据标志位来判断是否初始化成功,最后发送RAM指令(指令代码44H)DS18B20开始转换,再读出温度转换值(指令代码BEH),读取的温度值高位字节送27H单元,低位字节送26H单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。
2.2 主处理模块
主处理模块主要是将各个模块进行协调处理以实现数据交互。主处理模块首先完成初始化工作,初始化后进入循环处理,在循环过程中获得采集模块的数据,并将数据进行处理,根据处理后的结果进行显示。主处理的流程图如图3所示。
2.3 显示模块
采用动态扫描的方法,其中P3.0,P3.1,P3.2,P3.3控制位选,P1控制段选。由P3.0,P3.1,P3.2,P3.3向各位轮流输出扫描信号,使每一瞬间只有一个数码管被选通,然后由P1送入该位所要显示的字形码,点亮该位字形段显示的字形。在P1送出的码段和P3.0,P3.1,P3.2,P3.3送出的位段的配合控制下,使各个数码管轮流点亮显示各自的字形。
3 结 语
该设计测温传感器采用改进型智能温度传感器DS18B20,测温范围为-55~+125 ℃,最大分辨率可达0.062 5 ℃,可以直接读出被测温度值,而且采用单线制与单片机相连,减少了外部的硬件电路,同时可直接将温度转化成串行数字信号供微机处理。
摘要:利用单片机AT89C2051作为控制器,以及用改进型智能温度传感器DS18B20作为温度采集器,设计了一款数字温度计。该数字温度计能够测出-55~+125℃之间的温度,与传统的温度计相比,具有读数方便、测温范围广、测温准确等特点,适合日常生活、工业生产和科学研究等领域对温度测量的需要。
关键词:温度测量,DS18B20,AT89C2051,数字温度计
参考文献
[1]彭为,黄科,雷道仲.单片机系统设计实例精讲[M].北京:电子工业出版社,2006.
[2]余锡存,曹国华.单片机原理及接口技术[M].西安:西安电子科技大学出版社,2000.
[3]刘畅生,史俊杰.新型集成电路简明手册及典型应用(下册)[M].西安:西安电子科技大学出版社,2005.
[4]沙占友,孟志永,王彦明.单片机外围电路设计[M].北京:电子工业出版社,2006.
[5]任家才.单片机实验与实践[M].北京:高等教育出版社,2006.
[6]郑敏,杨坤涛.用AT89C2051自身接口实现温度检测数码管动态显示和键盘扫描[J].安徽科技学院学报,2006,20(1):18-21.
[7]吕宏强.基于DS1620和AT89C2051的数字温度计[J].现代电子技术,2003,26(6):81-86.
[8]王明慧.数字温度传感器DS18B20在化学工业现场温度检测中的应用[J].计算机与化学应用,2007,24(9):1249-1251.
[9]江世明,刘先任.基于DS18B20的智能温度测量装置[J].邵阳学院学报:自然科学版,2004,1(4):28-29.
基于ARM的数字温度系统设计 篇9
1 数字温度传感器DS18B20
DS18B20是一种基于片上温度测量技术的数字温度传感装置, 根据传感器数据传输协议由微控制器通过软件在单线总线上产生复位及数据读写时序, 并通过时序进行数据通信。
DS18B20有以下特点:
(1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。
(2)测温范围为-55℃~+125℃,固有测温分辨率0.5℃。
(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温。
(4)工作电源:3~5V/DC。
(5)在使用中不需要任何外围元件。
(6)测量结果以9~12位数字量方式串行传送。
在计算温度值时用资料里面给定的公式:实际温度(触摸屏显示的温度)=测量的温度(温度传感器测量的温度值在存储区)×0.0625。
2 硬件设计
总线控制器采用三星公司的3 2位ARM9微控制器2440, 它有正常,慢速,空闲,睡眠几种模式, 并且性能稳定, 可靠性高。内核为ARM920T, 控制器主频400MHZ。
数字温度传感器输出的是数字信号,可以直接与ARM连接,而不需要ADC。ARM读取DS18B20的数据,每秒提取一次ARM中的数据,进行处理,转化为实际温度。当温度超过35℃时,四个LED全亮,蜂鸣器响,屏幕显示警告对话框。硬件结构如图1所示:
3 软件设计
该设计使用的是TX2440开发板,在实验之前,首先在PC机上搭建软件设计的平台。
VMware6.5中安装Red Hat Linux9.0操作系统。配置Samba服务器,PC机的windows就可以跟虚拟机的Linux共享磁盘。配置nfs服务器,下位机和PC机就可以像访问本地文件一样访问远端系统上的文件。通过nfs挂载, 不需要下载程序,开发板可以运行在PC机上编译好的程序。
安装gcc和arm-linux-gcc。gcc编译出来的程序在本地(PC机)执行,arm-linux-gcc编译出来的程序在目标机 (ARM平台) 上执行。安装Qt和Qt/E。Qt是一个跨平台的C++图形用户界面应用程序框架,它提供给应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt/E是Qt的嵌入式版本。
4 运行结果
等待测温时的状态如图3所示:
正常测温时的状态如图4所示:
5 在设备中的应用
在许多设备中,需要实时温度监控。使用数字式温度传感器和合理的现场总线技术,加上系统设计上采用完善的软硬件抗干扰措施,使系统有很强的抗干扰能力.该系统具有投资省,安装施工方便,维护工作量小,测温精度高,运行稳定可靠.性能远优于传统的模拟巡回检测系统.本系统具有广阔的应用前景。
6 结语
本文设计是以S3C2440为控制器,采用数字温度传感器DSl8820进行温度测量。DSl8820集温度测量和A/D转换于一体,直接输出数字信号。大大简化了硬件电路;现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗十扰性,适合于恶劣环境的现场温度测量;而且在一根通信线上可以挂很多这样的数字温度计,能方便地实现多点测温功能。
该测温系统简单,软件界面友好,测温精度高,连接方便,占用口线少,转换速度快,与处理器的接口简单,给硬件设计工作带来了极大的方便,能有效地降低成本,缩短开发周期。
摘要:为了满足测温系统系统对处理速度、实时性和可扩展性等技术指标方面的更高需求, 以高性能的嵌入式ARM9芯片为处理器, 采用嵌入式操作系统Linux, 本文设计了一种软硬件易移植、易裁减, 结构优化的电子交易信息终端。根据资源需求, 给出了测温系统系统设计的硬件结构。在硬件目标平台上移植了Linux操作系统, 构建了嵌入式软件开发平台, 提出了新颖的带中间件模块设计的系统软件结构, 确定了系统任务划分及优先级设定, 并给出了主程序执行流程, 同时阐述了系统实现的一些关键技术。
关键词:ARM,Linux,ds18b20,测温系统
参考文献
[1]宋宝华.设备驱动开发详解[M].人民邮电出版社, 2008.02::21-93
[2]曾庆钟, 温志渝, 陈伯胜.基于ARM的多点测温系统设计[J].现代电子技术, 2007 (17) :127-129
[4]戴振华, 杨海涛, 康云.温室智能温度控制系统设计[J].电子质量, 2007 (12) :31-34
数字温度计设计 篇10
关键词:PIC单片机,数字式温度计,电路设计
本设计主控制芯片采用16F877A单片机, 该单片机内置I2C总线模块, 利用该模块可以更方便地跟I2C芯片进行通信, 简化了C程序代码设计。利用I2C器件TC-74将温度转变为电信号, 然后发给单片机, 单片机对数据进行分析和计算等处理, 最后通过1602液晶显示屏显示温度值。
(一) 各元件简介
1. PIC16F877A单片机
PIC16F877A单片机是美国Microchip公司生产的8位单片机, 具有独特的RISC结构, 即数据总线和指令总线分离的哈佛结构, 该结构具有执行效率高和速度快等优点。另外, 片内带有EEPROM、A/D转换器、USART通信模块、MSSP通信模块等, 功能强大, 可以简化外围硬件电路设计和程序设计。本次电路设计应用了其内部的I2C通信功能模块, 作为I2C通信硬件电路中的主控制器件使用, 按照I2C通信协议与I2C从控制器件TC-74进行数据通信, 实现温度信号的传输。
2. 温度传感器TC-74
TC-74是适用于低成本和小尺寸应用场合的可串行读取的数字温度传感器, 内部温度检测元件将周围环境温度转变为模拟信号, 再通过内部电路转换成数字信号对外输出。该芯片为I2C芯片, 内部置有I2C通信协议, 作为I2C通信硬件电路中的从控制器件使用, 数据按照该通信协议与主控制器件进行数据交换。图2为TC-74各引脚的功能说明, 其中VDD和GND分别接电源正极和电源负极, SDA和SCLK为I2C数据传输接口。
3. 字符型1602液晶
字符型1602液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD, 目前常用的有16×1、16×2、20×2和40×2等模块, 该电路设计采用的是16×1型号, 该模块采用标准的16引脚接口, 如图3所示。其中, DB0—DB7八个引脚为并行数据传输接口, 各引脚功能见表1。
(二) 电路设计与仿真
1. 硬件电路设计
应用proteus电路仿真软件对硬件电路进行了设计与仿真, 图4所示, 1602液晶芯片的并行数据接口DB0—DB7与单片机B端口的8个引脚连接, TC74的数据接口SCLK和SDA分别与单片机SCL、SDA引脚连接。R1和R2为I2C总线上的上拉电阻。打开仿真按钮, 液晶屏能够正确显示温度传感器上显示的模拟温度值。
2. 程序设计
采用C语言编程, 按照结构化程序设计和模块化思想, 分别对1602液晶和TC74进行编程, C程序代码如下:
(三) 结论
通过对电路进行仿真, 证明该电路设计是正确的, 具有较强的实用性, 并且电路硬件接线简单, 测量精度高, 温度测量范围广泛, 抗干扰能力强, 误差较小。可广泛应用于对温度的检测和控制等领域。
参考文献
[1]徐玮, 沈建良, 庄建清.PIC单片机快速入门[M].北京:北京航空航天大学出版社, 2010.
[2]李学海.PIC单片机实用教程—提高篇[M].北京:北京航空航天大学出版社, 2002.
[3]张明峰.PIC单片机入门与实战[M].北京:北京航空航天大学出版社, 2004.
[4]李广弟, 朱月秀, 冷祖祈.单片机基础 (第三版) [M].北京:北京航空航天大学出版社, 2007.
数字温度计设计 篇11
温度作为一种最基本的环境参数,与人民的生活有着密切关系[1]。温度的测量和控制在工业、农业、国防、医疗等各个领域中应用普遍[2]。温度测量仪是利用物质各种物理性质随温度变化的规律,把温度转换为电量并显示的一种仪器,有着广泛的适用范围[3]。
本文利用FPGA器件与DS18B20温度传感器设计实现了一种数字温度测量仪,用于检测室温。与其它系统相比较,此测量仪具有结构简单、抗干扰能力强、精确性高、转换速度快、扩展性好等优点。
1 软件程序设计
根据系统的设计要求,将程序部分设计分为5个模块,包括分频模块、DS18B20通信模块、控制模块、数制转换模块、显示模块,如图1所示。利用VHDL语言在Quartus II开发平台上完成程序设计。
1.1 分频模块
分频模块是FPGA设计项目中的基本模块之一。针对50MHz的时钟频率进行分频产生1MHz频率信号,分频模块如图2所示。
图2 分频模块图(参见右栏)
系统提时钟信号进入分频模块clock引脚,经过分频后得到信号从clk_1m输出。分频模块仿真结果如图3所示。
由图3可知,输入端的50MHz时钟信号被50分频后得到输出端的1MHz信号。
1.2 DS18B20通信模块
图4中时钟clock为输入端口,DS18B20数据总线口dq[0..0]为双向端口,使能端enable为输出端口,led[11..1]为测试时的指示端口,在实际操作中无需接出。
DS18B20采用一根I/O总线读写数据,因此它对读写数据位有严格的时序要求,如图5所示[4]。
从分频模块的clk_1m输出1MHz到通信模块的clock作为时钟信号;根据DS18B20所遵循的初始化时序、读时序、写时序等通信协议将程序完成;将获取的12位的温度信号传送给下一个模块。
1.3 控制模块
通过控制模块,将从DS18B20读取的二进制温度信息传给数制转换模块,如图6所示。
程序中设定了三个状态(清除clear、使能enable、显示display),当ena为'1'时,状态从显示转到清除;e n a为'0'时,状态一直为显示,把输入数据win[11..1]从输出端口wout[11..1]输出到下一模块,之间的转换关系如图7所示。
控制模块仿真结果如图8所示。
图8中,clock输入为1MHz信号,经过500分频后,得到频率为1k Hz的信号clk_1k,此时累加器cnt0为'0'。当cnt0为'1'时,系统状态由原来的清除状态转变为使能状态,此时enb为'1',cnt0进行累加;当cnt0='1'时,系统状态从使能状态转变到显示状态,系统就把win[11..1]输入的数据通过wout[11..1]输出到下一模块。
1.4 数制转换模块
利用数制转换模块将输入的11位二进制的温度数据转换为3位十进制表示,如图9所示。
图9 数制转换模块(参见右栏)
图9中,clear为清零输入端口,enable为使能输入端口,indata[11..1]为数据输入端口,b1[3..0]、b2[3..0]、b3[3..0]为三个输出端口。如果clear输入信号为'1'时,程序将清除暂存寄存器中数据;反之则不清除。enable输入信号出现上升沿时,程序开始进行数制转换,并通过b1[3..0]、b2[3..0]、b3[3..0]端口将得到的十进制数输出到相应的显示模块中。数制转换模块仿真见图10。
由图10知,输入数据为“01001110000”,clear端为低电平,当enable信号有上升沿时,数据开始转换。转换后数据为b1=0、b2=9、b3=3,符合设计值。
1.5 显示模块
从数制转换模块输出的十进制数接入到显示模块中,将其译码为七段值,输出到共阴数码管上显示,模块如图11所示。
由图12可知,当输入为0时,输出为"1111110";当输入为1时,输出为"0000110";当输入为2时,输出为"1101101";当输入为3时,输出为"1111001"等,在七段数码管上正好显示相同数字,表明所编写的程序正确。
1.6 总体电路框图
整体电路图如图13所示。
图13 整体电路图(参见下页)
输入50MHz信号接入分频模块的clock端口,经过分频后的信号输入到DS18B20通信和数制转换模块的clock端,作为模块的时钟信号。DS18B20将测得的温度数据传给控制模块的win[11..1],通过数制转换模块将数据转换为3位十进制表示,最后利用显示模块译码后由共阴数码管显示。
2 硬件电路设计
设计采用FPGA器件和DS18B20实现温度测量仪,FPGA电路板主要由FPGA器件、时钟电路、下载电路、电源电路、显示电路、指示灯和按键等构成。核心芯片采用ALTERA公司生产的Cyclone II系列EP2C5T144C8芯片。在设计温度传感器部分时,由于DS18B20进行精确转换时需要I/O引脚保持大电流供电,这样对FPGA芯片引脚造成很大压力,所以要使DS18B20的VDD引脚接外部电源[5]。电路框图如图14所示。
3 下载调试
选择下载FPGA芯片为EP2C5T144C8,在菜单中选择Pins项设定引脚,在弹出的窗口中设置好各个输入输出端与硬件相对应的引脚,并编译通过。
将FPGA的下载数据线一端连接FPGA电路板,一端接计算机USB口,在命令栏里Programmer项,在弹出的窗口中选择Hardware Setup,确认计算机已与DE2板连接好后,点击Start开始下载运行。
连接好DS18B20温度传感器电路,即可测量室内温度,实物电路图如图15所示。由实测知,当前室温为24.2℃。
图15 实物电路图(参见右栏)
4 结束语
本文利用FPGA与DS18B20设计并实现了一种用于检测室温的简易的数字温度测量仪。在Quartus II开发平台上,利用VHDL语言完成软件程序设计,并完成硬件电路板设计,最后下载验证。实现的测量仪具有结构简单、测量精确性高、使用方便、扩展性能好的优点。
摘要:温度测量仪是一种常用的检测仪器,文章中利用FPGA器件和DS18B20传感器设计实现了一种数字温度测量仪,用于室温的检测。该测量仪具有结构简单、抗干扰能力强、精确性高、转换速度快、扩展性好等优点。
关键词:温度测量,现场可编程逻辑门阵列,DS18B20,VHDL语言
参考文献
[1]姜君威,齐蓉.基于FPGA和DS18B20的多路温度测量系统[J].机电一体化,2009(11):67-69.
[2]包妍,袁宏,高明亮,等.基于FPGA的温控系统在制冷工况中的应用研究[J].大庆师范学院学报,2010,30(6):26-28.
[3]颜丽娜,张铁民.基于DS18B20测温系统的设计[J].机械与电子,2010(11):80-81.
[4]袁伟亭,周润景.FPGA与DS18B20组成的测温系统的设计[J].内蒙古大学学报(自然科学版),2006,37(4):459-463.
【数字温度计设计】推荐阅读:
数字湿度计01-31
数字温度检测系统09-14
单线数字温度传感器06-04
智能数字温度控制器09-09
微型温度测量的数字化方案07-21
单片机温度计课程设计11-10
设计温度10-06
室内空调设计温度01-27
温度检测与控制设计09-10
温度智能检测系统设计论文07-12