基于单片机的温度测量系统
- 格式:docx
- 大小:20.96 KB
- 文档页数:4
引言:无线测温系统是一种基于单片机技术的智能温度监测系统。
它通过无线传输技术,能够远程监测和采集温度数据,具有高精度、实时性和便捷性等优点。
本文将详细介绍基于单片机的无线测温系统的设计。
概述:无线测温系统是近年来发展迅速的一种温度监测技术,它可以广泛应用于各种需要进行温度监测的场合,如工业生产、农业种植、建筑监测等。
基于单片机的无线测温系统充分利用了单片机的高集成度、低功耗和强大的数据处理能力,能够实现对温度的高精度监测和数据传输。
本文将从硬件设计、软件设计、通信模块选择、温度传感器选择和功耗优化五个方面详细介绍基于单片机的无线测温系统的设计。
正文内容:1.硬件设计1.1单片机选择1.2电源设计1.3温度传感器接口设计1.4数据存储设计1.5外部设备接口设计2.软件设计2.1系统架构设计2.2温度数据采集算法设计2.3数据处理算法设计2.4数据传输协议设计2.5用户界面设计3.通信模块选择3.1无线通信技术概述3.2通信距离和速率需求分析3.3无线通信模块选择准则3.4常用无线通信模块介绍3.5通信模块选择与集成4.温度传感器选择4.1温度传感器分类4.2温度传感器选型准则4.3常用温度传感器介绍4.4温度传感器接口设计4.5温度传感器校准方法5.功耗优化5.1功耗分析与需求5.2系统功耗优化策略5.3硬件设计功耗优化5.4软件设计功耗优化5.5基于睡眠模式的功耗优化总结:基于单片机的无线测温系统的设计主要涉及硬件设计、软件设计、通信模块选择、温度传感器选择和功耗优化等方面。
通过合理的硬件设计和通信模块选择,能够实现高精度的温度监测和远程数据传输。
同时,通过优化软件设计和功耗管理,能够降低系统的功耗,延长系统的使用寿命。
基于单片机的无线测温系统的设计在智能化温度监测领域具有广阔的应用前景。
单片机课程设计报告题目名称:多路数字温度温度测量系统设计院:专业:电气工程及其自动化班级:电学号:学生姓名:指导教师:职称:讲师成绩:20年07月05日目录摘要 (1)一、系统总体方案设计 (1)1.1 系统总体框图 (1)1.2 基本原理及设计思想 (2)二、系统的硬件设计 (2)2.1. 单片机AT89S51 (2)2.2 温度传感电路设计 (5)2.3 报警温度调节电路设计 (6)2.4 显示电路的设计 (7)2.5 键盘电路 (8)2.6 晶振电路 (9)2.7 单片机I/O口功能说明 (9)2.8 复位模块电路......................................................................... . (9)三、系统的软件设计 (10)3.1 系统程序流程图 (10)3.2 键盘管理 (11)3.3 噪声处理 (12)四、结论 (13)五、参考文献 (14)六、附录 (14)6.1程序 (14)6.2系统主电路图 (19)摘要:本设计是AT89S51.单片机为核心的温度测量系统,温度信号由模拟温度传感器采集后传送给单片机AT89S51.。
文中介绍了该控制系统的硬件部分,包括:单片机最小系统、温度传感电路、报警电路、键盘电路、显示电路。
文中还着重介绍了软件设计部分,在这里采用模块化结构,主要模块有:数码管显示程序、键盘扫描及按键处理程序、温度信号处理程序、超温报警程序。
整个系统结构紧凑、简单可靠、操作灵活、功能强、本温度计功能:1、可以监测8路环境温度;2、键盘控制,可随时查看指定通道的温度值;3、可以设置上下报警温度,当温度超过设置范围时报警。
一、系统总体方案设计1.1 系统总体框图温度计电路设计系统总体方框图如图1.1所示,控制器采用单片机AT89S51,AD 转换器ADC0809,温度传感器采用LM35,用单片机的串口和74LS164扩展并口实现LED 静态驱动温度显示。
基于单片机的智能体温检测系统设计摘要:由于新冠疫情的爆发给大众的生活带来了巨大变化,为了满足疫情条件下对温度快速测量的需求,采用无接触式测温既有效规避病毒传染风险,又可以第一时间检测疑似病例。
在此基础上添加口罩识别功能极大减轻了工作人员人工识别的负担,为防疫工作提供保障。
目前市场现有系统存在价格高以及不易携带的问题,并且目前市场应用的大部分装置都是单独的口罩识别或是无接触测温系统。
与之相比该系统将两种功能结合在同一系统中,具有体积小、便携、易操作等优点,为操作人员提供了极大便利。
此装置适用于学校、工厂、商场等人流密集场所,可以为进出人员提供检测服务。
人机交互式装置在疫情防控中发挥重要作用,节省人力物力,并且其效率远高于人工检测。
关键词:单片机;智能体温;检测系统;设计引言患新冠肺炎的主要症状是发热,因此体温检测是疫情防控的第一道防线。
以当今人流密集场所疫情防控情况为背景,设计并实现了一款基于STM32单片机的非接触式体温测量与身份识别系统。
该系统利用OPENMV对目标人脸进行快速检测,精准识别目标身份信息和口罩佩戴情况,利用MLX90614准确测量目标体表温度,实时将测量信息通过显示屏直观地展示并通过蓝牙发送到手机App上,实现系统逻辑结构的完整性与任务完成的效率最优解。
1系统的组成及其工作原理1.1系统的组成以单片机作为系统控制基础,利用传感器测量温度,通过通信和控制技术,形成温度测量控制系统。
具体可分为基于MLX90614红外测温传感器的温度检测模块、LCD12864液晶屏显示模块、4X4矩阵键盘模块、电源模块、复位模块、晶振模块、报警模块、继电器控制模块和震动传感器模块。
1.2系统工作原理该系统基于STC12C5A60S2单片机进行设计,包括电源电路、复位电路、晶振电路、红外测温传感器、震动传感器、LCD显示电路、蜂鸣器报警电路、键盘输入电路和继电器控制电路,通过MLX90614红外温度传感器实现温度数据的处理。
基于单片机的室内温湿度检测系统的设计
一、系统简介
本系统基于单片机,能够实时检测室内的温度和湿度,显示在
液晶屏幕上,并可通过串口输出到PC端进行进一步数据处理和存储。
该系统适用于家庭、办公室和实验室等场所的温湿度检测。
二、硬件设计
系统采用了DHT11数字温湿度传感器来实时检测室内温度和湿度,采用STC89C52单片机作为控制器,通过LCD1602液晶屏幕显示
温湿度信息,并通过串口与PC进行数据通信。
三、软件设计
1、采集数据
系统通过DHT11数字温湿度传感器采集室内的温度和湿度数据,通过单片机IO口与DHT11传感器进行通信。
采集到的数据通过计算
得到实际温湿度值,并通过串口发送给PC端进行进一步处理。
2、显示数据
系统将采集到的室内温湿度数据通过LCD1602液晶屏幕进行显示,可以实时观察室内温湿度值。
3、通信数据
系统可以通过串口与PC进行数据通信,将数据发送到PC端进
行存储和进一步数据处理。
四、系统优化
为了提高系统的稳定性和精度,需要进行优化,包括以下几点:
1、添加温湿度校准功能,校准传感器的测量误差。
2、添加系统自检功能,确保系统正常工作。
3、系统可以添加温湿度报警功能,当温湿度超过设定阈值时,系统会自动发送报警信息给PC端。
以上是基于单片机的室内温湿度检测系统的设计。
单片机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 一、设计功能·由单片机、温度传感器以及液晶显示器等构成高精度温度监测系统。
引言:温度是一个常见的物理量,对于许多领域的应用来说,准确地测量温度非常重要。
单片机作为一种常见的嵌入式系统,具有强大的数据处理和控制能力。
本文将介绍基于单片机的温度测量技术及其应用。
概述:温度测量是一项广泛应用于工业自动化、环境监测、医疗设备等领域的技术。
传统的温度测量方法主要基于热敏电阻、热电偶、红外线等。
而基于单片机的温度测量技术则结合了传感器、单片机和通信等技术,能够实时、精确地监测和控制温度。
正文:1. 传感器选择1.1 热敏电阻热敏电阻是一种根据温度变化导致电阻值变化的传感器。
它的特点是响应速度快、精度高,但对环境温度和供电电压的稳定性要求较高。
1.2 热电偶热电偶是一种使用两个不同金属的导线连接的传感器。
它的优点是测量范围广,适用于极高或极低温度的测量,但精度较低,受电磁干扰影响较大。
1.3 红外线传感器红外线传感器是一种测量物体表面温度的传感器。
它可以通过接收物体发出的红外辐射来测量温度,适用于无接触测量,但精度受物体表面性质影响较大。
2. 单片机选择2.1 嵌入式系统单片机作为一种常见的嵌入式系统,集成了处理器、存储器和外设接口。
它具有较强的计算和控制能力,适用于温度测量应用中的数据处理和控制任务。
2.2 选择合适的单片机型号选择合适的单片机型号是确保系统稳定运行的关键。
应根据温度测量的要求确定所需要的计算能力、引脚数量、通信接口等因素,选择合适的单片机型号。
3. 温度采集与处理3.1 模拟信号采集通过选定的传感器,将温度信号转换为模拟电压信号。
使用单片机的模拟输入接口,对模拟电压信号进行采集,获取温度数据。
3.2 数字信号处理单片机通过内置的模数转换器(ADC)将模拟信号转换为数字信号。
根据所选单片机型号的计算能力,可以进行进一步的数据处理和算法运算,包括滤波、校正等。
4. 数据存储与通信4.1 存储器选择根据温度测量系统的要求,可以选择合适的存储器类型,如闪存、EEPROM等。
摘要本次实验是软硬件相结合的实验,通过传感器得到的阻值与其它电阻,可以搭建一个电桥,将水温转化为电压,然后通过放大器将电压放大到所需要的值,将所得的电压送入单片机的AD转换电路,将模拟信号转换成数字信号,从而在单片机的液晶屏上显示当前的温度。
此烧水壶是可控制的,即设定温度,使水加热到设定温度且保温,此控制算法采用PID控制算法来控制继电器的通断,来保证水温恒定在设定温度处。
一、设计要求1.传感器:Pt100铂热电阻2.测量放大器:自己设计与搭建3.被控对象:400W电热杯,约0.5公斤自来水4.执行机构:12V驱动,5A负载能力的继电器5.控制系统:51单片机6.控制算法:PID7.温度范围:环境温度~100度8.测量误差1度,控制误差2度二、设计原理及方案1.热电阻传感器热电阻传感器是利用导体或半导体的电阻值随温度变化而变化的原进行测温的。
热电阻的工作原理:温度升高,金属内部原子晶格的振动加剧,从而使金属内部的自由电子通过金属导体时的阻碍增大,宏观上表现出电阻率变大,电阻值增加,我们称其为正温度系数,即电阻值与温度的变化趋势相同。
2.实验原理框图3.测量放大器电路图说明:电位器R10用来调节偏置电压,而电位器R7则用来调节增益。
实验时,用R10来调节零点,用R7来调节满度。
该电路将0℃-100℃转换为0-5V 电压。
上述电路图采用仪表放大器,将铂热电阻两端的电压U2与电位器R10两端的电压U1差放大,放大器输出电压U0与电压差的关系为:)-)(2(1127248U U R RR R U o ⨯+=由铂热电阻阻值与水温的关系可知,铂热电阻的范围是ΩΩ140~100。
则100)10012(12-140)140(1212)-(100)10012(12-100)10012(1212⨯+⨯+≤≤⨯+⨯+K K U U K K 整理得:V U U 04.0)-(012≤≤而仪表放大器的输出电压为0~5V ,所以放大倍数大约为:5/0.04=125。
基于单片机的温度测控系统的设计在现代的工业领域和生活中,温度测控系统被广泛应用,以监测和控制温度。
本文将介绍一个基于单片机的温度测控系统设计。
1.系统概述该系统的设计目标是能够测量和监控环境中的温度,并能自动调节温度以保持设定的温度。
该系统由传感器模块、数据处理模块和执行器模块组成。
2.传感器模块传感器模块用于测量环境中的温度。
在该系统中,我们可以使用温度传感器来实现温度测量。
常见的温度传感器有热电偶、热电阻等。
传感器模块将温度数据传输给数据处理模块。
3.数据处理模块数据处理模块基于单片机来实现。
单片机通过接收传感器模块传输的温度数据,进行数据处理和判断,并决定是否需要调节温度。
数据处理模块还可以设置一个温度阈值,当环境温度超过或低于该阈值时,触发执行器模块进行温度调节。
4.执行器模块执行器模块是用来调节环境温度的关键。
在该系统中,我们可以使用电热器或制冷器来调节温度。
执行器模块会根据数据处理模块的控制信号来决定是否打开或关闭电热器或制冷器,以达到设定的温度。
5.界面设计为了方便用户的操作和监控,我们可以设计一个用户界面模块。
用户界面模块可以通过LCD显示屏展示当前环境温度和设定的温度,并提供一些按键用于设置温度阈值。
用户可以通过按键来设置温度阈值,同时可以看到当前温度和设定的温度。
6.系统工作流程系统的工作流程如下:-传感器模块测量环境温度,并将温度数据传输给数据处理模块。
-数据处理模块接收温度数据,并进行处理和判断。
-如果环境温度超过或低于设定的温度阈值,数据处理模块触发执行器模块进行温度调节。
-执行器模块根据数据处理模块的控制信号,打开或关闭电热器或制冷器,以调节环境温度。
-用户可以通过用户界面模块设置温度阈值,同时可以实时监控当前温度和设定的温度。
7.系统优化为了进一步优化系统的性能,我们可以考虑以下几个方面:-引入PID控制算法,以提高温度的稳定性和控制精确度。
-添加温度报警功能,当环境温度超过一定范围时,触发警报。
基于单片机的温度检测系统的设计一、引言随着科技的发展和社会的进步,温度检测在各个领域中起着至关重要的作用。
为了实现对温度变化的准确监测和控制,本文将介绍一种基于单片机的温度检测系统的设计方案。
二、系统概述本系统通过采集环境温度数据,并通过单片机进行处理和控制,实现对温度的实时监测和报警功能。
三、硬件设计3.1传感器选择在温度检测系统中,传感器是获取环境温度信息的关键部件。
本系统选择了精度高、稳定性好的数字温度传感器DS18B20作为温度采集装置。
3.2单片机选择单片机是系统的核心控制部分,负责采集传感器数据、处理数据并输出相应信号。
为了满足系统的实时性和稳定性要求,本系统选择了常用的S T M32系列单片机作为控制器。
3.3电路设计基于上述选择的传感器和单片机,我们设计了相应的电路接口和连接方式,确保传感器能够正常采集数据,并将数据传输给单片机进行处理。
四、软件设计4.1系统架构本系统采用分层架构设计,包括传感器数据采集层、数据处理层和用户界面层。
每一层都有相应的功能模块,实现温度数据的采集、处理和显示。
4.2数据采集和处理系统通过定时中断方式,周期性地读取传感器数据,并通过计算得到温度值。
采集到的数据经过滤波和校正处理后,传递给用户界面层进行显示。
4.3用户界面为了方便用户操作和监测温度变化,系统设计了简洁直观的用户界面。
用户可以通过L CD显示屏上的菜单操作,查看温度数值和设置相关参数,同时系统还具备温度报警功能。
五、系统测试与结果分析5.1硬件测试在硬件实现完毕后,进行了必要的硬件测试。
通过测量不同环境下的温度,并与实际温度进行比对,验证了系统的准确性和可靠性。
5.2软件测试系统软件的测试主要包括功能测试和性能测试。
通过模拟实际使用场景,测试了系统在不同条件下的温度检测和报警功能是否正常。
六、总结与展望本文介绍了基于单片机的温度检测系统的设计方案。
通过合理的硬件选型和软件设计,实现了对温度数据的实时监测和报警功能。
随着现代信息技术的飞速发展和传统工业改造的逐步实现,温度自动检测和显示系统在很多领域得到广泛应用。
人们在温度检测的准确度、便捷、快速等方面有着越来越高的要求。
而传统的温度传感器已经不能满足人们的需求,其渐渐被新型的温度传感器所代替。
本文设计并制作了一个简易温度计。
本设计采用了单片机AT89S52和温度传感器DS18B20组成了温度自动测控系统,可根据实际需要任意设定温度值,并进行自动控制。
在此设计中利用了AT89S52单片机作为主控制器件,DS18B20作为测温传感器通过LCD数码管串口传送数据,实现温度显示。
通过DS18B20直接读取被测温度值,进行数据转换,能够设置温度上下限来设置报警温度。
并且在到达报警温度后,系统会自动报警。
本文设计是从测温电路、主控电路、报警电路等几个方面来分析说明的。
该器件可直接向单片机传输数字信号,便于单片机处理及控制。
另外,该温度计还能直接采用测温器件测量温度。
从而简化数据传输与处理过程。
此设计的优点主要体现在可操作性强,结构基础简单,拥有很大的扩展空间等。
关键词:单片机;温度传感器;温度计;报警With the rapid development of modern information technology and the gradual transformation of traditional industries to achieve, automatic temperature detection and display systems are widely used in many fields. People in the temperature measurement accuracy, convenient, rapid, and has a growing demand.This article was designed and produced a simple thermometer. This design uses a microcontroller AT89S52 and temperature sensor DS18B20 automatic temperature control system formed can be arbitrarily set the temperature according to the actual value and for automatic control. In this design using the AT89S52 microcontroller as the main control device, DS18B20 as an LCD digital temperature sensor tube through the serial transmission of data, to achieve temperature display. DS18B20 measured by direct reading temperature values, data conversion, to set the temperature to set the alarm on the lower temperature. And the temperature reaching the alarm, the system will automatically alarm.This design is from the temperature measurement circuit, main control circuit, alarm circuit, and several other aspects of the note. The device can transmit digital signals directly to the microcontroller, easy to handle and control MCU. In addition, the thermometer temperature measurement device can be used directly to measure temperature. The major advantages of this design is reflected in operable structural basis is simple, lots of expansion space.Keywords:AT89S52;DS18B20;thermometer;alarm目录摘要 (I)Abstract (II)目录 (III)1 引言 (1)1.1 选题的背景 (1)1.2 选题的目的及意义 (2)1.3 论文结构 (2)2 设计的整体方案 (3)2.1 设计的主要内容 (3)2.2 设计性能要求 (4)3 器件的选择 (5)3.1 单片机的选择 (5)3.1.1 AT89S52的特点及选择原因 (5)3.1.2 AT89S52的工作模式及注意事项 (6)3.2 温度传感器的选择 (8)3.2.1 DS18B20的特点及选择原因 (8)3.2.2DS18B20的测温原理 (12)3.3 显示器的选择 (15)4 电路原理 (17)4.1 晶振电路与复位电路 (17)4.2 温度采集电路 (20)4.3 显示电路 (21)4.4 报警系统 (22)4.5 按键电路和指示灯电路 (23)5 程序原理及系统流程图 (23)5.1 主程序 (23)5.2 读出温度子程序 (24)5.3 温度数据显示子程序 (27)5.4设置温度上下限程序 (28)5.4 计时时间设置 (29)6 软件仿真 (31)6.1 软件介绍 (31)6.2 仿真过程 (32)7 实物的焊接与调试 (34)8 体会与展望 (36)8.1 设计总结 (36)8.2设计前景 (37)致谢 (38)参考文献 (39)附录A 系统总图 (40)1 引言1.1 选题的背景随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的。
基于51单片机的温度测量系统来源:微计算机信息作者:赵娜赵刚于珍珠郭守清摘要: 单片机在检测和控制系统中得到广泛的应用, 温度则是系统常需要测量、控制和保持的一个量。
本文从硬件和软件两方面介绍了AT89C2051单片机温度控制系统的设计,对硬件原理图和程序框图作了简洁的描述。
关键词: 单片机AT89C2051;温度传感器DS18B20;温度;测量引言单片机在电子产品中的应用已经越来越广泛,并且在很多电子产品中也将其用到温度检测和温度控制。
为此在本文中作者设计了基于atmel公司的AT89C2051的温度测量系统。
这是一种低成本的利用单片机多余I/O口实现的温度检测电路, 该电路非常简单, 易于实现, 并且适用于几乎所有类型的单片机。
一.系统硬件设计系统的硬件结构如图1所示。
1.1 数据采集数据采集电路如图2所示, 由温度传感器DS18B20采集被控对象的实时温度, 提供给AT89C2051的P3.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所示DS18B20的2脚DQ为数字信号输入/输出端;1脚GND为电源地;3脚VDD为外接供电电源输入端。
AT89C2051(以下简称2051)是一枚8051兼容的单片机微控器,与Intel的MCS-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规格且只要两根引脚就能读写。
由于单片机2051的P1是一个双向的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上作为数码管的显示。
此外,由于单片机2051的P3端口有特殊的功能,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%10;//先给第一个七段数码管赋值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度,则蜂鸣器叫,发光二极管闪烁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;(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。