温度采集与显示系统.
基于can总线的温度采集与显示系统

基于can总线的温度采集与显示系统作者:程锦来源:《硅谷》2012年第06期摘要:介绍基于CAN总线的智能温度传感器DS10B20的设计。
系统以单片机AT89S51作为处理器,DS10B20数字温度采集器采集温度数据。
单片机接收并处理数据,LED数码管分时显示温度值。
通过外扩的CAN总线控制器SJA1000和报文收发器PCA82C250,该控制器可直接作为CAN总线的一个从结点工作。
关键词: CAN总线;温度采集;显示系统中图分类号:TP273文献标识码:A文章编号:1671-7597(2012)0320031-011 硬件设计1.1 硬件技术方案。
系统主要包括五大模块:通信、CAN总线控制、智能节点、显示。
其中通信模块采用的是CAN总线通讯,CAN总线的控制模块主要由SJA1000控制器,82C250接发器组成,此外还有用于隔离的6N137光电耦合器;主控制器采用AT89C51芯片;温度采集部分采用温度传感器DS18B20;显示部分采用数码显示管。
1.2 设计思想。
系统采用主从分布的思想,系统上位机为人机交互界面,本文主要研究下位机的智能节点部分,主要由单片机及其外围电路组成。
下图中所给出的是一个节点的示意图。
图1是CAN总线与单片机的温度检测系统连接图。
上位机部分CAN适配卡与上位机通过PCI总线通信。
上位机与单片机通过通讯接口传输信息。
CAN总线通讯控制模块控制单片机。
下位机智能节点模块,温度传感器将输出信号传输给单片机,经信号处理电路变成0-5V直流信号,并且将直流信号送入单片机进行数据分析和处理。
图1系统结构图1.3 CAN总线通讯设计。
89C51作为CAN总线系统智能节点的微处理器,在CAN总线通信接口中采用的是PHILIPS公司的SJA1000和82C250芯片。
SJA1000是CAN通信控制器,82C250是CAN总线的收发器。
为了使总线上各个CAN节点之间实现隔离,SJA1000与P82C250之间要通过高速光电耦合器6N137相连。
基于PLC的温湿度采集显示系统

术 作 一 下 介绍 。
1 系统 硬 件 结构
大 屏 幕 温 湿度 显 示 系 统 主要 有 三 部 分 组 成 :温 湿 度 传 感 器 信号 采 集 、 湿 度 信 号 处 理 和 显 示 扫 描 输 出 、 驱 动 和大 屏 幕 数 温 位 码管 显 示 屏 。 其 中温 湿 度 传 感 器 采 集 由 温 湿度 变送 器 和 温湿 度 巡 检模 块 完 成 , 生产 车 间 在 东 部 、 部 、 部 各 安 置 一 个 温 湿 度 中 西 变送 器 , 温湿 度 变 送 器 信 号 送 入 现 场 控 制 箱 , 场模 拟 量 模 块 完 现 成 巡 检 , 且 把 信 号 通 过 R 4 5总 线 送 入 中 心 控 制 箱 ; 并 S8 中心 控 制箱 内 的 P C 接 收 模 拟 模 块 现 场 总 线 的温 湿 度 信 号 , 在 P C L L 内完成 数 据 处 理 , 算 出 显 示 的温 湿 度 , P C 软 件 译 码 , 过 计 经 L 通 晶 体 管 扫 描 输 出数 码 管 七 段 输 出 和 温 湿 度 显 示 位 驱 动 信 号 , 将 数 码 管 七 段 输 出 和 温 湿 度 显 示 位 驱 动 信 号 输 送 到 大 屏 幕 显 示 屏 ; 屏 幕 显 示屏 内有 位 驱 动 直 流 固体 继 电器 完 成 位 驱 动 , 大 由五 个 大 数码 管和 三 个 汉 字 显 示 完成 温 湿 度 显 示 和 东 、 、 位 置 显 中 西 示 。 具体 温湿 度 显 示屏 结 构 图如 图 1 。
2 温 湿度 信 号 的 转 换 和 变 送
图 1 温 湿 度 显 示 屏 结 构 图
基于DS18B20的温度采集显示系统的设计

目录1.引言 (1)1.1绪论 (1)1.2课程设计任务书 (1)2.设计方案 (3)3.硬件设计方案 (3)3.1最小系统地设计 (3)3.2LED发光报警电路 (5)3.3DS18B20地简介及在本次设计中地应用 (5)3.3.1 DS18B20地外部结构及管脚排列 (5)3.3.2 DS18B20地工作原理 (6)3.3.3 DS18B20地主要特性 (7)3.3.4 DS18B20地测温流程 (8)3.3.5 DS18B20与单片机地连接 (8)3.4报警温度地设置 (8)3.5数码管显示 (9)3.5.1数码管工作原理 (9)3.5.2数码管显示电路 (10)3.6硬件电路总体设计 (11)4.软件设计方案 (12)4.1主程序介绍 (12)4.1.1主程序流程图 (12)4.1.2主流程地C语言程序 (13)4.2部分子程序 (17)4.2.1 DS18B20复位子程序 (17)4.2.2 写DS18B20命令子程序 (18)4.2.3读温度子程序 (20)4.2.4计算温度子程序 (22)4.2.5显示扫描过程子程序 (23)5.基于DS18B20地温度采集显示系统地调试 (25)6.收获和体会 (27)7.参考文献 (27)1.引言1.1绪论随着科学技术地发展,温度地实时显示系统应用越来越广泛,比如空调遥控器上当前室温地显示,热水器温度地显示等等,同时温度地控制在各个领域也都有积极地意义.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.本文介绍了基于DS18B20地温度实时采集与显示系统地设计与实现.设计中选取单片机AT89C51作为系统控制中心,数字温度传感器DS18B20作为单片机外部信号源,实现温度地实时采集.并且用精度较好地数码管作为温度地实时显示模块.利用单片机程序来完成对DS18B20与AT89C51地控制,最终实现温度地实时采集与显示.采用单片机对温度进行控制不仅具有控制方便、简单、灵活性大等特点,而且还可以大幅度提高被控温度地技术指标.1.2课程设计任务书《微机原理与接口技术》课程设计任务书(二)题目:基于DS18B20地温度采集显示系统地设计一、课程设计任务传统地温度传感器,如热电偶温度传感器,具有精度高,测量范围大,响应快等优点.但由于其输出地是模拟量,而现在地智能仪表需要使用数字量,有些时候还要将测量结果以数字量输入计算机,由于要将模拟量转换为数字量,其实现环节就变得非常复杂.硬件上需要模拟开关、恒流源、D/A转换器,放大器等,结构庞大,安装困难,造价昂贵.新兴地IC温度传感器如DS18B20,由于可以直接输出温度转换后地数字量,可以在保证测量精度地情况下,大大简化系统软硬件设计.这种传感器地测温范围有一定限制(大多在-50℃~120℃),多适用于环境温度地测量.DS18B20可以在一根数据线上挂接多个传感器,只需要三根线就可以实现远距离多点温度测量.本课题要求设计一基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块(可用数码管或液晶显示)和键盘输入模块及报警模块.所设计地系统可以从键盘输入设定温度值,当所采集地温度高于设定温度时,进行报警,同时能实时显示温度值.二、课程设计目地通过本次课程设计使学生掌握:1)单总线温度传感器DS18B20与单片机地接口及DS18B20地编程;2)矩阵式键盘地设计与编程;3)经单片机为核心地系统地实际调试技巧.从而提高学生对微机实时控制系统地设计和调试能力.三、课程设计要求1、要求可以从键盘上接收温度设定值,当所采集地温度高于设定值时,进行报警(可以是声音报警,也可是光报警)2、能实时显示温度值,要求保留一位小数;四、课程设计内容1、人机“界面”设计;2、单片机端口及外设地设计;3、硬件电路原理图、软件清单.五、课程设计报告要求报告中提供如下内容:1、目录2、正文(1)课程设计任务书;(2)总体设计方案(3)针对人机对话“界面”要有操作使用说明,以便用户能够正确使用本产品;(4)硬件原理图,以便厂家生成产(可手画也可用protel软件);(5)程序流程图及清单(子程序不提供清单,但应列表反映每一个子程序地名称及其功能);(6)调试、运行及其结果;3、收获、体会4、参考文献六、课程设计进度安排七、课程设计考核办法本课程设计满分为100分,从课程设计平时表现、课程设计报告及课程设计答辩三个方面进行评分,其所占比例分别为20%、40%、40%.2.设计方案本次地课题设计要求是基于DS18B20地温度采集显示系统,该系统要求包含温度采集模块、温度显示模块和键盘输入模块及报警模块.其中温度采集模块所选用地是DS18B20数字温度传感器进行温度采集,温度显示模块用地四位八段共阴极数码管进行温度地实时显示,键盘输入模块采用地是按钮进行温度地设置,报警模块用地是LED灯光报警.具体方案见图2-1.图2-1 总体设计方案3.硬件设计方案3.1最小系统地设计本次设计单片机采用地是AT89C51系列地,它由一个8位中央处理器(CPU),4k 字节Flash 闪速存储器,128字节内部RAM,32 个I/O 口线,两个16位定时/计数器,一个串行I/O口及中断系统等部分组成.其结构如图3-1所示:图3-1 AT89C51系列单片机引脚排列图3-2 单片机最小系统接线图图3-2为单片机最小系统地接线图,其中C1、C2均选用20PF 地,晶振X1用地是11.0592MHZXTAL1XTAL2 RST EA地.晶振电路中外接电容C1,C2地作用是对振荡器进行频率微调,使振荡信号频率与晶振频率一致,同时起到稳定频率地作用,一般选用10~30pF地瓷片电容.并且电容离晶振越近越好,晶振离单片机越近越好.晶振地取值范围一般为0~24MHz,常用地晶振频率有6MHz、12 MHz、11.0592 MHz、24 MHz 等.晶振地振荡频率直接影响单片机地处理速度,频率越大处理速度越快.图3-2中C3,R1及按键构成了最小系统中地复位电路,本次设计选择地是手动按钮复位,手动按钮复位需要人为在复位输入端RST上加入高电平.一般采用地办法是在RST端和正电源Vcc之间接一个按钮.当人为按下按钮时,则Vcc地+5V电平就会直接加到RST端.由于人地动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位地时间要求.在单片机最小系统中还要将EA地非接高电平,如图3-2也有体现出来.3.2 LED发光报警电路P1.7图3-3 LED发光报警电路图3-3为LED报警电路地接法,其中一根线接单片机地8号P1.7口,另外一根接地.当温度超过预设温度值时LED灯被接通发光报警.3.3 DS18B20地简介及在本次设计中地应用3.3.1 DS18B20地外部结构及管脚排列DS18B20地管脚排列如图3-4所示:DS18B20引脚定义:(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VDD为外接供电电源输入端(在寄生电源接线方式时接地)图3-4 DS18B20地引脚排列及封装3.3.2 DS18B20地工作原理DS18B20地读写时序和测温原理与DS1820相同,只是得到地温度值地位数因分辨率不同而不同,且温度转换时地延时时间由2s减为750ms. DS18B20测温原理如图3-5所示.图中低温度系数晶振地振荡频率受温度影响很小,用于产生固定频率地脉冲信号送给计数器1.高温度系数晶振随温度变化其振荡率明显改变,所产生地信号作为计数器2地脉冲输入.计数器1和温度寄存器被预置在-55℃所对应地一个基数值.计数器1对低温度系数晶振产生地脉冲信号进行减法计数,当计数器1地预置值减到0时,温度寄存器地值将加1,计数器1地预置将重新被装入,计数器1重新开始对低温度系数晶振产生地脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值地累加,此时温度寄存器中地数值即为所测温度.图中地斜率累加器用于补偿和修正测温过程中地非线性,其输出用于修正计数器1地预置值.图3-5 DS18B20测温原理图3.3.3 DS18B20地主要特性(1)适应电压范围更宽,电压范围:3.0~5.5V,在寄生电源方式下可由数据线供电;(2)独特地单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20地双向通讯;(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一地三线上,实现组网多点测温;(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管地集成电路内;(5)温范围-55℃~+125℃,在-10~+85℃时精度为±0.5℃;(6)可编程地分辨率为9~12位,对应地可分辨温度分别为0.5℃、0.25℃、0.125℃和0.0625℃,可实现高精度测温;(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;(8)测量结果直接输出数字温度信号,以"一线总线"串行传送给CPU,同时可传送CRC校验码,具有极强地抗干扰纠错能力;(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作.3.3.4 DS18B20地测温流程图3-6 DS18B20地测温流程图3.3.5 DS18B20与单片机地连接图3-7 DS18B20与单片机地连接电路图如上图为DS18B20温度传感器与单片机之间地接法,其中2号接单片机地17号P3.7接口.DS18B20通过P3.7口将采集到地温度实时送入单片机中.3.4 报警温度地设置P2.5 P2.6 P2.7P3.7图3-8 报警温度地设置电路图3-8为报警温度地设置电路,其中K1,K2,K3分别接到单片机地P2.5,P2.6,P2.7口.其中K1用于报警温度设定开关,K2用于报警温度地设置时候地加温度(每次加一),K3用于报警温度地设置时地减温度(每次减一).实现了报警温度地手动设置.3.5 数码管显示3.5.1数码管工作原理图3-9 数码管地引脚排列及结构图3-9为数码管地外形及引脚排列和两种接法(共阴极和共阳极)地结构图.共阳极数码管地8个发光二极管地阳极(二极管正端)连接在一起.通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为低电平时,则该端所连接地字段导通并点亮.根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能吸收额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.共阴极数码管地8个发光二极管地阴极(二极管负端)连接在一起.通常,公共阴极接低电平(一般接地),其它管脚接段驱动电路输出端.当某段驱动电路地输出端为高电平时,则该端所连接地字段导通并点亮,根据发光字段地不同组合可显示出各种数字或字符.此时,要求段驱动电路能提供额定地段导通电流,还需根据外接电源及额定段导通电流来确定相应地限流电阻.要使数码管显示出相应地数字或字符,必须使段数据口输出相应地字形编码.字型码各位定义为:数据线D0与a字段对应,D1与b字段对应……,依此类推.如使用共阳极数码管,数据为0表示对应字段亮,数据为1表示对应字段暗;如使用共阴极数码管,数据为0表示对应字段暗,数据为1表示对应字段亮.如要显示“0”,共阳极数码管地字型编码应为:11000000B(即C0H);共阴极数码管地字型编码应为:00111111B(即3FH).依此类推,可求得数码管字形编码如表3-5所示.表3-5数码管字符表显示地具体实施是通过编程将需要显示地字型码存放在程序存储器地固定区域中,构成显示字型码表.当要显示某字符时,通过查表指令获取该字符所对应地字型码.3.5.2数码管显示电路图3-10 四位八段数码管动态显示电路图3-10为本次设计所用到地四位八段数码管动态显示,其中段选接到单片机地P0口,位选接到单片机地P2口地低四位.其中P0口也接地有上拉电阻,图中未标示出来,会在下面地总体电路中标示出来.采用地是动态显示方式.3.6 硬件电路总体设计图3-11为本次设计地硬件总体设计图,其中利用K1,K2,K3处进行报警温度地设置,然后有DS18B20进行实时温度采集,并在数码管上同步显示,若采集到地温度达到或者超过预设地报警温度,则LED 灯会发光报警,若低于该报警温度,则不会报警.P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 P2.0 P2.1P2.2 P2.3图3-11 硬件电路总体设计图4.软件设计方案4.1主程序介绍4.1.1主程序流程图本次设计首先对程序进行初始化,然后打开报警温度设定开关,对报警温度进行设定,确认设定值后,DS18B20温度传感器进行温度采集并送入单片机中,单片机将传感器所检测到地温度同步显示在数码管上,并且与设置地报警温度进行比较,若达到或者超过报警温度时,LED灯发光报警,如果没有达到,则继续进行温度采集.图4-1主程序流程图4.1.2主流程地C语言程序main (){ALERT=0。
温度采集电子系统设计报告

温度采集电子系统设计报告1. 简介本报告介绍了一个温度采集电子系统的设计。
该系统可以实时采集环境温度,并将数据传输到计算机进行处理和显示。
本报告将详细介绍系统的硬件设计和软件实现。
2. 硬件设计2.1 传感器选择为了实时采集温度数据,我们选择了一款精度高、响应快的温度传感器。
该传感器具有数字输出和I2C接口,能够方便地与单片机进行通信。
2.2 单片机选择我们选用了一款功能强大的单片机作为系统的主控芯片。
该单片机具有丰富的外设接口和强大的计算能力,能够满足系统的需求。
同时,该单片机还有丰富的开发资源和社区支持,使得开发过程更加便捷。
2.3 电路设计系统的电路设计主要包括传感器和单片机之间的连接电路和稳压电路。
传感器与单片机的连接采用了I2C接口,通过外部电阻进行电平转换和保护。
稳压电路采用了线性稳压芯片,确保供电电压的稳定性。
3. 软件实现3.1 硬件驱动为了与传感器进行通信,我们编写了相应的硬件驱动程序。
该驱动程序通过配置单片机的I2C接口,实现了与传感器的数据交换和控制。
3.2 数据采集与处理在软件实现中,我们使用了单片机的定时器和ADC模块来定期采集温度数据。
通过ADC转换,我们可以将模拟温度信号转换成数字信号。
随后,我们对这些数据进行滤波和校准,以获取准确的温度值。
3.3 数据传输与显示为了将采集到的温度数据传输到计算机,我们使用了串口通信。
通过配置单片机的UART模块和计算机的串口接口,我们可以实现数据的传输。
在计算机端,我们编写了相应的数据接收和显示程序,实现了温度数据的实时显示。
4. 实验结果与分析经过实验测试,系统能够准确、稳定地采集温度数据,并进行实时显示。
通过与其他温度计的比较,我们发现系统的测量误差在可接受范围内。
系统的响应速度也非常快,能够在短时间内实时更新温度数据。
5. 总结通过设计和实现温度采集电子系统,我们成功地实现了温度数据的实时采集和显示。
该系统具有稳定性高、响应速度快的特点,可以满足实际应用的需求。
温度采集与显示设计程序详解

温度采集与显示设计程序详解程序流程如下:1.初始化温度传感器:连接温度传感器至控制器,并进行初始化。
这包括设置传感器接口和模式,设置精度等。
2.采集温度数据:通过温度传感器读取环境温度数据,并将其存储在变量中。
3.数据处理:对采集到的温度数据进行一定的处理,例如进行单位转换、滤波处理等。
4.数据显示:将处理后的温度数据通过显示器显示出来。
可以使用LCD液晶显示器、LED数码管、数码管等不同的显示器设备。
5.重复采集与显示:循环执行步骤2-4,以实现实时监测和显示环境温度。
实现细节如下:1. 初始化温度传感器:根据具体采用的温度传感器型号和接口类型,选择相应的初始化函数进行初始化。
例如,如果使用OneWire接口的DS18B20温度传感器,可以使用Arduino库中的OneWire库进行初始化。
2.采集温度数据:通过读取温度传感器的输出,可以获取到环境温度的原始数据。
具体的采集方法和代码取决于所采用的传感器和控制器类型。
3.数据处理:在采集到的温度数据上进行一定的处理,以满足实际需求。
例如,对于DS18B20传感器输出的12位数据,可以通过位运算进行小数点处理,从而得到实际的温度值。
4. 数据显示:根据设计需求选择相应的显示器设备,并使用相应的显示库函数将处理后的温度数据显示出来。
例如,使用LiquidCrystal库操作LCD液晶显示器进行显示。
5. 重复采集与显示:使用循环语句,如while循环,不断执行数据采集和显示的步骤,以实现实时监测和显示环境温度。
可以根据实际需求设置采集和显示的时间间隔。
总结:温度采集与显示设计主要包括温度传感器的初始化、温度数据的采集、数据的处理和显示器的选择与操作。
通过合理的程序设计和选择适合的硬件设备,可以实现实时监测和显示环境温度。
具体的实现细节和程序代码取决于具体的传感器和控制器类型,以及所采用的显示器设备。
labview温度采集系统实验报告

温度采集系统
一、实验目的
1.建立温度检测系统,对温度进行实时采集与显示;
2.掌握循环结构、数学函数、时间结构、顺序结构、对话框、公式节点的综合使用;
二、实验内容
建立用户温度监测系统,要求对温度进行实时采集、实时温度、具有华氏、摄氏显示功能、中途暂停等功能、温度报警记录功能;
三、实验步骤
(1).启动Labview
(2).建立温度采集与报警模块(如图1(a)所示),建立
图1 温度采集与报警模块
(3).采用条件结构与公式节点建立温度华氏、摄氏显示转换模块,显示包括数值显示与温度计显示
图 2 华氏、摄氏转换模块
(4)采用进度条与数字显示空间显示温度采集的次数
图 3 温度采集次数显示
(5).采用事件结构与对话框建立温度采集暂停模块
图 4 暂停模块及其对话框
(6)要求:加入事件结构的Filter事件,禁止在程序运行过程中关闭前面板。
图 5 Filter事件
(7)最终建立的温度采集系统,如图6、7所示。
图6 温度采集系统前面板
图7 温度采集系统程序框图
四、实验要求
1.认真做实验,注意老师提出的额外的修改程序要求(黑体字部分);
2.写出“程序修改”的工作思路、步骤(可用框图表示);
3.写出调试程序中出现的问题,并指出如何解决;
4.写出实验报告。
五、思考题
bVIEW中如何产生11.5-23.6范围内的随机数?
2.图7所示程序框图中,正常工作模式下,每次循环需延时多久?。
温度采集与显示系统

温度采集与显示系统1 课程设计内容1.1设计要求利用STC89C52、DS18B20、LCD1602、AT24C02等元器件设计温度采集与显示系统。
系统具有以下功能:1)能正确检测温度;2)在1602上实时显示温度;3)每隔10秒采集一次温度数据并保存到AT24C02;4)按键按下后,可逐个显示之前采集到的数据;5)其他功能可根据系统上的资源自行设定。
1.2设计任务1)根据设计内容与要求,弄清系统及各个模块的工作流程,完成电路原理图,包括单片机最小系统模块、LCD显示模块、存储模块、串行口下载模块和电源模块,最终在万用板上焊接,完成整个系统硬件设计。
2)根据设计内容与要求,弄清系统及各个模块的工作流程,完成系统的软件设计,包括系统主程序、温度读取子程序、LCD显示子程序、存储子程序等,可使用汇编语言或是C语言编写,建议使用C语言编写。
3)完成系统的仿真与调试,使得系统在脱机情况下,能稳定可靠的工作。
1.3 课程设计原理基于DS18B20的数字温度计设计主要由数字温度传感器、单片机控制电路、数码显示电路组成。
DS18B20 测量温度采用了特有的温度测量技术。
它是通过计数时钟周期来实现的。
低温度系数振荡器输出的时钟信号通过由高温度系数振荡器产生的门周期而被计数。
计数器被预置在与- 55 ℃相对应的一个基权值。
如果计数器在高温度系数振荡周期结束前计数到零,表示测量的温度值高于- 55℃,被预置在- 55 ℃的温度寄存器的值就增加1℃,然后重复这个过程,直到高温度系数振荡周期结为止这时温度寄存器中的值就是被测温度值,这个值以16 位形式存放在便笺式存贮器中,此温度值可由主机通过发存贮器读命令而读出,读取时低位在前,高位在后。
斜率累加器用于补偿温度振荡器的抛物线特性。
读出的二进制数可以直接转换为十进制由单片机驱动数码管显示输出。
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
18B20 温度采集系统硬件电路(二)方案设计

SetOutput()设置缓冲区输出数据等。
MSComm 使用时主要注意的就是数据形式的变换,代码如下:
VARIANT variant_inp = m_ctrlComm.GetInput(); //读缓冲区
COleSafeArray safearray_inp = variant_inp;
//VARIANT 型 变 量 转 换 为
位置,layer 为显示的层,width 为要显示的宽度
void Init_DS18B20(void);
//18B20 初始化
uchar ReadOneChar(void);
//从 18B20 读一个字节
void WriteOneChar(unsigned char dat); //向 18B20 写一个字节
的形式,列表框适合表示实时温度,曲线图适合观察长期的温度变化和温度变化范围。 ( 2 ) 默 认 使 用 COM1 、 19200bps 波 特 率 , 可 以 进 行 设 定 , 串 口 可 选 择
COM1/COM2/COM3,波特率可以选择 4800bps/9600bps/19200bps/38400bps。 (3)可以设定温度采集时间间隔,单位是 S,最小值是 1。(定时使用的是 SetTimer
三、上位机软件 上位机软件使用 .0 编写: 1、由于需要做出温度曲线,采用 Window API 画图较为繁琐且不易控制,这里采用专
业的图表控件 TeeChart Pro ActiveX 8.0 试用版: TeeChart Pro 是西班牙 Steema Software 公司开发的图表图形控件,它适用于 VB、
-1-
(三)实习报告
一、实现的功能: 1、下位机程序 (1)在没有连接上位机软件的时候,可以按通讯键来采集温度并用液晶显示出来,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图
根据图2.4可用线性插值法在线性区间建立函数关系,随着电压的改变输出温度值。
三、
图3.1 热敏电阻温度采集电路图
图3.1中J1、J2、J3分别对应于模块上的V1、Vzero、Vout插孔,R3对应与 ZERO电位器,用于偏置电压调节;R9对应于GAIN电位器,用于增益调节。 使用时,可先将电路增益调节为1,具体做法如下:调节ZERO电位器,使Vzero=0V,用万用表分别测量V1、Vout端电压,调节GAIN电位器,使V1=Vout,此时电路增益为1。由此可得出电压与电阻之间的关系:
不足之处:
实验台提供的可调输出电压的范围是0-4.5V,正确来说显示的温度范围应为-35 至90 。这样选定的线性区间才能较小误差,更趋近与表格提供的数值。所以,更细分的取线性部分得到的数值会更好。
六、
通过此次实习,使我对所学知识进行了实践。掌握了A/D转换芯片性能及编程方法、单片机系统中扩展LCD显示的方法以及温度传感器和LCD的工作原理及综合应用。在数据处理部分学会了线性插值法。在编写程序时,也发现对一些程序中的函数的处理不够合理,在自己的多次运行下,还是能够实现温度监控的功能。本次单片机实训让我很有成就感,并对以前所学的单片机知识做了一个小结。
1、显示模块方案选择:
方案一:数码管显示,采用动态扫描的方式。优点是编程容易,硬件电路调试简单,显示两部分也比较好控制。缺点是显示的内容不够丰富,本系统需要实时显示电压AD值,放大后的十进制值以及温度值,实验台上提供的数码管数就达不到实时显示的效果。
方案二:用LCD液晶显示器显示,优点是功耗低,还能显示更多的字符,有着良好的人机界面,缺点是控制比较复杂。实验台上提供的是OCMJ2*8的中文模块系列液晶显示器,内含汉字字库和英文字库,可以实汉字、ASCII码的同屏显示,能够达到实时显示的效果。
温度采集与显示系统的设计
姓名:
学号:
摘要:
一、
温度采集与显示系统在人们的日常生活中的应用越来越广泛,如花卉栽培温湿度控制、大棚温室控制系统、粮库温室控制系统、现代化居室温湿度控制等等。
随着半导体技术的不断发展,热敏电阻作为一种新型感温元件应用越来越广泛。他具有体积小、灵敏度高、重量轻、热惯性小、寿命长以及价格便宜等优点。单片机在测控系统中的作用是对信息进行处理、运算和发出控制命令等,但所要处理的信息是从外界拾取的,拾取的信号可以分为开关量和模拟量两种。开关量只需放大、整形和电平转换等处理后,即可直接送入单片机系统。但输入量如果是模拟量,处理的复杂程度就大大地增加了,由于模拟输入信号一般很微弱,需要进行放大,对于一个测控范围较大的仪器,还要有多级可变放大电路。另外,在放大有用信号的同时,干扰信号也被同时放大,还要进行必要的滤波处理。所以要设计出一个真正实用的单片机测控系统,必须先设计好适用的前向通道。根据被测对象输出信号的类型、大小、数量不同,前向通道的结构类型也各不相同。
本系统基于51单片机设计的温度采集与显示系统是A/D转换器、热敏电阻温度传感器、LCD显示屏及相应接口的综合应用。
二、
图
该系统是以NTC型热敏电阻为传感器的信号采集端,将温度信号转换成电压信号,再经ADC0809进行模数转换,进一步将电压信号转换成单片机可以处理的00H~FFH数字信号,并保证温度与数字信号实时同步,经单片机8051进行数据处理(查表和线性插值法),再进一步转换成与实际温度相符合的数字信号,并在LCD显示屏上实时跟踪显示。
电压(V)
3.99936010
4.25061633
4.43852640
4.57766465
4.68015800
4.75474999
4.81037501
4.85210775
4.88367095
4.90768641
电压AD
205
218
228
235
240
244
247
249
250Βιβλιοθήκη 252在上面列的表格中,温度与阻值的关系是已知的,电压是根据式3-1得出的,电压的AD值是根据式2-1得出的。
温度(℃)
-30
-20
-10
0
10
20
25
30
40
50
阻值(K)
176.0
96.29
54.85
32.41
19.80
12.47
10.00
8.066
5.342
3.618
电压(V)
0.26881720
0.47041113
0.77101002
1.17896722
1.67785234
2.22518914
2.5
2.76762980
3.25902750
3.67161110
电压AD
14
24
39
60
86
114
128
142
167
188
温度(℃)
60
70
80
90
100
110
120
130
140
150
阻值(K)
2.502
1.763
1.265
0.9226
0.6834
0.5158
0.3942
0.3048
0.2382
0.1881
附件
#include <reg51.h>
#include <stdio.h>
2、
AD0809型8位MOS型A/D转换器,可实现8路模拟信号的分时采集,片内有8路模拟选通开关,以及相应的通道地址锁存用译码电路,其转换时间为100微秒左右。
图2.2 AD0809逻辑图
由图
图2.3 AD0809时序图
如图2.3,其工作过程是:
1)
2)
3)
4)
5)
6)
3、数据处理部分----查表和线性插值法
四、
图4.1 主函数程序流程图
图4.2 LCD显示流程图
图4.3 A/D转换流程图
图4.3 中断服务程序
五、
出现的问题及解决方法:
在数据处理部分,之前是建立电压值V与温度值T的关系来显示温度,发现再怎么细分线性部分,输出的温度误差还是很大,而且显示的温度值一直在跳变。于是决定找电压值AD与温度之间的关系,这样减小了误差,显示的温度值也几乎不再跳变了。
热敏电阻为一种阻值随温度变化的电阻,按其变化关系可分为两类:正温度系数(简称PTC)和负温度系数(简称NTC)。PTC元件的阻值随温度的上升而上升,NTC元件的阻值随温度的上升而下降。本模块中使用的为NTC型热敏电阻,在常温(25℃)下其阻值为10K,其阻值与温度的关系、阻值与电压的关系、电压值与电压AD值得关系如下表所示: