温度采集与显示系统
基于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相连。
基于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位的数字值读数方式。
基于LabVIEW的实时温度采集系统设计

基于LabVIEW的实时温度采集系统设计1. 概述实时温度采集系统是一种用于实时监测和记录环境温度变化的设备,可以广泛应用于工业自动化、实验室监测等领域。
本文将介绍一种基于LabVIEW的实时温度采集系统设计方案。
2. 硬件设计2.1 传感器选择在实时温度采集系统中,传感器的选择十分重要。
常用的温度传感器有热电偶和热敏电阻。
在本系统中,我们选择了DS18B20温度传感器,这是一种数字温度传感器,具有精确度高、精度稳定等特点,适合于实时温度采集系统的应用。
2.2 数据采集模块数据采集模块负责将传感器采集到的模拟信号转换为数字信号,并通过接口与上位机进行通信。
在本系统中,我们选择了Arduino Uno 作为数据采集模块,它不仅具有良好的性能和稳定性,而且可以通过串口通信与LabVIEW进行数据交互。
2.3 信号调理电路温度传感器输出的模拟信号需要经过信号调理电路进行放大和滤波处理,以提高系统的稳定性和准确性。
常用的信号调理电路包括放大电路、滤波电路等。
2.4 数据通信模块数据通信模块负责将采集到的温度数据通过网络或串口等方式实时传输给上位机。
在本系统中,我们选择了以太网模块ENC28J60与LabVIEW进行数据通信。
3. 软件设计3.1 LabVIEW界面设计LabVIEW是一种图形化编程环境,可以通过拖拽元件来组装控制面板和数据处理模块。
在本系统中,我们通过LabVIEW来实现人机交互、数据实时显示和数据存储等功能。
3.2 数据处理及算法设计在实时温度采集系统中,数据处理和算法设计是十分重要的部分。
根据采集到的温度数据,我们可以进行实时的数据处理、异常检测和报警等操作。
通过结合LabVIEW的图形化编程特点,我们可以方便地设计和调试各种数据处理算法。
4. 系统实施与测试根据以上的硬件和软件设计方案,我们可以开始进行系统的实施和测试工作。
首先,按照硬件设计要求进行电路的搭建和连接,然后进行LabVIEW程序的开发和调试。
基于单片机的温度采集与液晶显示

1 绪论1.1 本课题研究的背景和意义温度,一个在日常生活和生产过程甚至科学实验中普遍而且重要的物理参数。
近年来,随着社会的发展和科技的进步,温度控制系统以及测温仪器已经广泛应用于社会生活的各个领域,尤其是在工业自动化控制中占有非常重要的地位。
人们通过温度计来采集温度,经过人工操作进行加热、通风和降温。
从而来控制温度,但是对于这些控制对象惯性大,滞后性严重,而且还存在有许多不定的因素,从而根本难以建立精确的数学模型。
这样不仅控制精度低、实时性差,而且操作人员的劳动强度大,并且有许多工业生产环节是人们不能直接介入的。
因此智能化已然成为现代温度控制系统发展的主流方向。
针对这一种实际情况,设计个温度控制系统,具有非常广泛的应用前景和实际意义[1]。
随着电子信息技术和微型计算机技术的飞速发展。
单片机技术也得到了飞速的发展。
尤其是在高集成度、高速度、低功耗还有高性能方面取得了巨大的进展。
使得单片机在电子产品当中的应用越来越广泛。
使用单片机对温度进行控制的技术也油然而生。
它不仅可以克服温度控制系统中存在的严重的滞后现象,同时还可以在提高采样频率的基础上很大程度的提高控制的效果和控制的精度。
并且随着技术日益发展和完善,相信越来越能显现出它的优越性。
1.2 目前国内外研究现状在国内外温度控制成了一门广泛应用于很多领域的技术。
像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等。
温度控制系统虽然在国内各行各业的应用已十分广泛,但是从温度控制器的生产角度来看,总体的发展水平仍不高。
跟美德日等先进国家相比,仍有着较大的差距。
“点位”控制和常规的PID控制器占领了成熟产品的主体份额。
但它只可以适用于一般的温度系统控制,而难于控制复杂、滞后、时变的温度控制系统。
此外,适于较高控制场合的智能化、自适应控制仪表,目前在国内还没有取得较好的研究成果。
并且,在形成商品化和仪表控制参数的自整定方面,一些先进国家虽已经有一批成熟的产品。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
光电与通信工程学院课程设计报告书课设名称:温度采集与显示系统年级专业及班级:姓名:学号:组号:温度采集与显示系统摘要温度是一种最基本的环境参数,也是一个十分重要的物理量,对它的测量与控制有十分重要的意义。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;粮仓温度的检测,防止粮食发霉,最大限度地保持粮食原有新鲜品质,达到粮食保质保鲜的目的;工业易燃品的存放。
温度测量在物理实验、医疗卫生、食品生产等领域,尤其在热学试验中,有特别重要的意义。
随着人们生活水平的不断提高,,人们对温度计的要求越来越高,传统的温度计功能单一、精度低,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。
本次课程设计介绍了以STC89C51单片机为核心的温度检测报警系统的工作原理和设计方法。
温度信号由温度传感器芯片DS18B20采集,并以数字信号的方式传送给单片机,单片机再控制数码管驱动芯片74LS573驱动4位分立式数码管显示实时温度,当检测到的温度超出了给定的温度范围(默认下限为20℃,默认上限为35℃),系统将输出报警声。
本系统的主要硬件电路包括:温度检测电路,数码管驱动电路,报警电路。
另外本系统的软件部分占了很大的比重,主要的软件模块包括:温度传感器程序,数码管驱动及显示程序,报警程序。
关键词:温度测量,单片机,温度传感器目录一、序论 (1)(一)设计背景与课程目的 (1)(二)设计任务要求 (1)二、系统的主要功能及工作流程 (1)(一)系统具有以下功能 (1)(二)系统的工作流程 (2)三、硬件电路原理描述 (2)(一)实验步骤 (2)(二)所用芯片及其功能 (3)1、STC89C52 (4)2、MAX232CPE (4)(三)硬件电路原理 (4)1、控制部分 (4)2、测量部分 (6)3、显示部分 (7)4、报警部分 (7)四、软件设计流程及描述 (8)五、心得体会 (10)参考文献 (12)致谢 (13)附录(一)系统总硬件电路原理图 (14)(二)系统源程序代码(要有注释) (14)一、序论(一)设计背景与课程目的温度是一种最基本的环境参数,也是一个十分重要的物理量,对它的测量与控制有十分重要的意义。
随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;粮仓温度的检测,防止粮食发霉,最大限度地保持粮食原有新鲜品质,达到粮食保质保鲜的目的;工业易燃品的存放。
本次课程设计介绍了以STC89C51单片机为核心的温度检测报警系统的工作原理和设计方法。
温度信号由温度传感器芯片DS18B20采集,并以数字信号的方式传送给单片机,单片机再控制数码管驱动芯片74LS573驱动4位分立式数码管显示实时温度,当检测到的温度超出了给定的温度范围(默认下限为20℃,默认上限为35℃),系统将输出报警声。
本系统的主要硬件电路包括:温度检测电路,数码管驱动电路,报警电路。
另外本系统的软件部分占了很大的比重,主要的软件模块包括:温度传感器程序,数码管驱动及显示程序,报警程序。
(二)设计任务要求1、根据设计内容与要求,弄清系统及各个模块的工作流程,完成电路原理图,包括单片机最小系统模块、LCD显示模块、存储模块、串行口下载模块和电源模块,最终在万用板上焊接,完成整个系统硬件设计。
2、根据设计内容与要求,弄清系统及各个模块的工作流程,完成系统的软件设计,包括系统主程序、温度读取子程序、LCD显示子程序、存储子程序等,可使用汇编语言或是C语言编写,建议使用C语言编写。
3、首先使用Proteus进行仿真和调试,在仿真通过后,将程序通过串行口下载电路下载到单片机中,最终使得系统在脱机情况下,能稳定可靠地工作。
二、系统的主要功能及工作流程(一)系统具有以下功能:1、能正确检测温度;2、在1602上实时显示温度;3、每隔10秒采集一次温度数据并保存到AT24C024、按键按下后,可逐个显示之前采集到的数据;5、其他功能可根据系统上的资源自行设定。
利用STC89C52、DS18B20、LCD1602、AT24C02等元器件设计温度采集与显示系统。
扩展功能:温度超过设定值,蜂鸣器报警;时间日期的显示;按键按下,重新开始采集温度等等。
(二)系统的工作流程总体设计框图:系统设计思路为以单片机为控制中心,通过实时采集温度传感器DBS18B20获得当前的温度值,通过LED显示当前温度,同时使用键盘设定温度阈值,当测定温度大于温度阈值后,利用蜂鸣器报警。
系统包括包括单片机最小系统模块、LED显示模块、蜂鸣器报警模块、矩阵键盘模块、串行口下载模块和电源模块。
三、硬件电路原理描述(1)实验步骤系统的主要功能是实现温度信号的采集,在4位LED显示器上显示当前的温度和通道号。
模拟现场两个点的温度巡回检测,温度范围0-510摄氏度。
每隔0.5秒检测一次,经标度变换后送LED显示器显示,4路循环显示,每路持续两秒。
实验步骤如下:1、从PC机引出两根电缆连接在试验平台上。
2、编写程序然后编译连接。
3、按照附录一电路图所示连接试验线路。
4、运行参考程序,观察LED显示器上的通道号和温度值。
(二)所用芯片及其功能1、STC89C52STC89C52RC引脚功能说明VCC(40引脚):电源电压VSS(20引脚):接地P0端口(P0.0~P0.7,39~32引脚):P0口是一个漏极开路的8位双向I/O口。
作为输出端口,每个引脚能驱动8个TTL负载,对端口P0写入“1”时,可以作为高阻抗输入。
P1端口(P1.0~P1.7,1~8引脚):P1口是一个带内部上拉电阻的8位双向I/O 口。
P1的输出缓冲器可驱动(吸收或者输出电流方式)4个TTL输入。
P2端口(P2.0~P2.7,21~28引脚):P2口是一个带内部上拉电阻的8位双向I/O端口。
P2的输出缓冲器可以驱动(吸收或输出电流方式)4个TTL输入。
P3端口(P3.0~P3.7,10~17引脚):P3是一个带内部上拉电阻的8位双向I/O 端口。
P3的输出缓冲器可驱动(吸收或输出电流方式)4个TTL输入。
RST(9引脚):复位输入。
当输入连续两个机器周期以上高电平时为有效,用来完成单片机单片机的复位初始化操作。
看门狗计时完成后,RST引脚输出96个晶振周期的高电平。
ALE/(30引脚):地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。
(29引脚):外部程序存储器选通信号是外部程序存储器选通信号。
当AT89C51RC从外部程序存储器执行外部代码时,在每个机器周期被激活两次,而访问外部数据存储器时,将不被激活。
VPP(31引脚):访问外部程序存储器控制信号。
为使能从0000H到FFFFH的外部程序存储器读取指令,必须接GND。
注意加密方式1时,将内部锁定位RESET。
为了执行内部程序指令,应该接VCC。
在Flash编程期间,也接收12伏VPP电压。
XTAL1(19引脚):振荡器反相放大器和内部时钟发生电路的输入端。
XTAL2(18引脚):振荡器反相放大器的输入端。
2、MAX232CPEMAX232CPE是16针SMD封装IC,用于完成计算机232端口数据电平转换,连接CMOS电路的,换言之,如果离开它,我们就无法用软件监控电源状态了(需要串口返回信号)。
而PIC16F870则为24脚8位CMOS闪存控制器。
用于可监控UPS当中。
MAX232CPE完成232电平与TTL电平转换,提供一个本地接口,为调试和维护提供方便。
TXD接SX52的RA2脚,RXD接SX52的RA3脚,RS-RXD和RS-TXD是RS232电平,为标准串口电平。
数据可以从串口输入到单片机SX52,SX52再把数据送到RTL8019AS传出去。
用于嵌入式设备上的应用(三)硬件电路原理系统总硬件电路原理图见附录一1、控制部分控制部分是采用单片机STC89C52。
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。
另外STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
单片机总控制电路如下图:1.2 复位操作本系统的复位电路采用按键电平复位方式,通过使复位端经电阻与Vcc电源接通而实现的,其电路如下图所示上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。
1.3 STC89C52主要功能,如下表所示STC89C52主要功能STC89C52管脚介绍:①主电源引脚(2根)VCC(Pin40):电源输入,接+5V电源GND(Pin20):接地线②外接晶振引脚(2根)XTAL1(Pin19):片内振荡电路的输入端XTAL2(Pin20):片内振荡电路的输出端③控制引脚(4根)RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位。
ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,接高电平则从内部程序存储器读指令。
④可编程输入/输出引脚(32根)STC89C52单片机有4组8位的可编程I/O口,分别位P0、P1、P2、P3口,每个口有8位(8根引脚),共32根。
PO口(Pin39~Pin32):8位双向I/O口线,名称为P0.0~P0.7P1口(Pin1~Pin8):8位准双向I/O口线,名称为P1.0~P1.7 P2口(Pin21~Pin28):8位准双向I/O口线,名称为P2.0~P2.7 P3口(Pin10~Pin17):8位准双向I/O口线,名称为P3.0~P3.72、测量部分测量部分我们采用美国DALLAS公司生产的DS18B20温度传感器。