论文部分内容阅读
【摘 要】本文介绍了一种基于单片机的多用途温度测量系统,控制器为单片机STC89C51,测温模块使用了温度传感器DS18B20,所测温度值实时显示在七段数码管上。为了使本系统功能更加完善,特为其配置了报警功能和语言提示功能,当温度达到预设温度时,蜂鸣器开始报警,提示语言显示在12864液晶显示屏上。此温度测量系统具有多用途、实时性、精度高、低功耗、测温范围广等诸多优点。
【关键词】单片机; DS18B20; 实时; 多用途
1 引言
随着信息技术和电子工业的不断发展,单片机和传感器技术也越来越成熟,应用范围也更加广阔。温度与人们的生活息息相关,本文就介绍了基于单片机和温度传感器的温度测量系统,相比于市场上我们常见的温度计,本温度测量系统具有多用途、实时性、精度高、低功耗、测温范围广等诸多优点。我们不仅可以在家庭使用本系统,还可以将本系统应用于工业、养殖业、大棚种植等多种行业。通过数码管以数字的形式实时显示当前温度值,让我们读数非常方便,更具特色的是此系统具有报警功能,我们可以在程序里设置温度限定,当温度达到此限制值时,蜂鸣器立马报警,以提醒人们注意,可以通过功能按键关闭报警器。而且在液晶显示屏上显示必要的提示语言使得本设计更加的人性化。
2 总体方案设计
测温系统的总体设计框图如图1所示。单片机选用的是宏晶公司的STC89C51,温度传感器采用DS18B20,温度传感器将采集到的温度模拟量转换为数字量传送给单片机,单片机处理后将温度值送到4个七段数码管显示。当温度超过限定值(过高或过低)时,报警器立刻报警,通过按键可以关闭报警器。在温度限定范围内与范围外LCD液晶显示屏都可以显示必要的提示信息。
图1 总体设计框图
3 系统硬件结构
系统硬件主要由以下几部分组成:单片机、温度传感器、七段数码管、LCD液晶显示屏、蜂鸣器、按键,下面分别对这几部分加以介绍,整体硬件原理图见图2。
3.1单片机
单片机选用的是宏晶公司的STC89C51,此款单片机具有低成本、低功耗、高速、工作稳定等优点,其片内置有四个8位 的并行端口、3个定时器、FLASH、RAM、看门狗等,可以3V~5V供电。
3.2温度传感器
温度传感器采用DS18B20,它是目前常用的温度传感器,具有体积小、成本低、抗干扰能力强、精度高等优点,具体归纳如下:
独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
测温范围 -55℃~+125℃,固有测温误差为1℃;
支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温;
在使用中不需要任何外围元件;
工作电源: 3.0~5.5V/DC;
测量结果以9~12位数字量方式串行传送;
应用范围广:可以用于冷冻库、粮仓、电机房、空调、蔬果大棚、养殖圈、家庭室温测量等多种领域。
表1 DS18B20温度值格式表
表2 DS18B20温度数据表
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625℃/LSB形式表达,其中S为符号位。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0, 这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际 温度。 例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃的数字输出为FC90H 。单片机通过P3_7与DS18B20连接。
3.3七段数码管
采用4个七段数码管来显示实时温度,数码管的位选由单片机的P1_4、P1_5、P1_6、P1_7 这4个I/O口来控制,单片机的P0口(P0_0~P0_7)控制数码管的8个段选。
3.4LCD液晶显示屏
LCD选用的是12864液晶显示屏,其以并行的工作方式可以显示汉字、数字、字母等字幕,LCD的作用就是显示一些人性化的提示语言,本测温系统用作家庭温度计时,如当温度在20℃左右时,提示“气温适宜,今天是个不错的日子!”,当夏日炎热时,提示”气温偏高,注意防暑降温!”。
3.5蜂鸣器与按键
蜂鸣器用来报警,可以在程序中设置我们规定的温度限定值,当实时温度值越过限定值时,蜂鸣器就会鸣响报警,单片机的P1_3端口控制蜂鸣器。通过功能按键key1可以停止蜂鸣器报警,由单片机P2_4端口来控制按键。
图2 硬件原理图
4 系统软件设计
C51程序在Keil 4软件中编写,编译通过后下载到单片机,执行温度测量系统的测温工作。整个程序分为主程序与子程序,子程序包括温度传感器子程序、数码管显示子程序、LCD液晶显示子程序、蜂鸣器及按键子程序。在温度传感器子程序里完成对温度采集、温度转换、温度计算等操作,数码管子程序处理显示实时温度,LCD子程序处理数据的读写,显示提示语言,蜂鸣器子程序实现报警功能(P1_3置1),按键按下后停止报警,主函数通过调用子函数实现所需功能。
5 结语
本测温系统在设计方面分为硬件设计和软件设计两大块,经过多次调节与测试后工作正常且稳定,精度高,操作简便。整个系统功耗小,成本低,用途广泛,可为人们的生活和工作带来便利,建议推广使用。
参考文献:
[1]郭天祥 .新概念51单片机C语言教程[M].北京:电子工业出版社,2009.
[2]张俊谟 .单片机中级教程——原理与应用[M].北京:北京航空航天大学出版社,2006.
[3]王建,宋永昌,魏福江.单片机实用技术[M].北京:机械工业出版社,2011.
[4]杨欣,王玉凤,刘湘黔.电路设计与仿真[M].北京:清华大学出版社,2006.
【关键词】单片机; DS18B20; 实时; 多用途
1 引言
随着信息技术和电子工业的不断发展,单片机和传感器技术也越来越成熟,应用范围也更加广阔。温度与人们的生活息息相关,本文就介绍了基于单片机和温度传感器的温度测量系统,相比于市场上我们常见的温度计,本温度测量系统具有多用途、实时性、精度高、低功耗、测温范围广等诸多优点。我们不仅可以在家庭使用本系统,还可以将本系统应用于工业、养殖业、大棚种植等多种行业。通过数码管以数字的形式实时显示当前温度值,让我们读数非常方便,更具特色的是此系统具有报警功能,我们可以在程序里设置温度限定,当温度达到此限制值时,蜂鸣器立马报警,以提醒人们注意,可以通过功能按键关闭报警器。而且在液晶显示屏上显示必要的提示语言使得本设计更加的人性化。
2 总体方案设计
测温系统的总体设计框图如图1所示。单片机选用的是宏晶公司的STC89C51,温度传感器采用DS18B20,温度传感器将采集到的温度模拟量转换为数字量传送给单片机,单片机处理后将温度值送到4个七段数码管显示。当温度超过限定值(过高或过低)时,报警器立刻报警,通过按键可以关闭报警器。在温度限定范围内与范围外LCD液晶显示屏都可以显示必要的提示信息。
图1 总体设计框图
3 系统硬件结构
系统硬件主要由以下几部分组成:单片机、温度传感器、七段数码管、LCD液晶显示屏、蜂鸣器、按键,下面分别对这几部分加以介绍,整体硬件原理图见图2。
3.1单片机
单片机选用的是宏晶公司的STC89C51,此款单片机具有低成本、低功耗、高速、工作稳定等优点,其片内置有四个8位 的并行端口、3个定时器、FLASH、RAM、看门狗等,可以3V~5V供电。
3.2温度传感器
温度传感器采用DS18B20,它是目前常用的温度传感器,具有体积小、成本低、抗干扰能力强、精度高等优点,具体归纳如下:
独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
测温范围 -55℃~+125℃,固有测温误差为1℃;
支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温;
在使用中不需要任何外围元件;
工作电源: 3.0~5.5V/DC;
测量结果以9~12位数字量方式串行传送;
应用范围广:可以用于冷冻库、粮仓、电机房、空调、蔬果大棚、养殖圈、家庭室温测量等多种领域。
表1 DS18B20温度值格式表
表2 DS18B20温度数据表
DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以 0.0625℃/LSB形式表达,其中S为符号位。12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0, 这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际 温度。 例如+125℃的数字输出为07D0H,+25.0625℃的数字输出为0191H,-25.0625℃的数字输出为FE6FH,-55℃的数字输出为FC90H 。单片机通过P3_7与DS18B20连接。
3.3七段数码管
采用4个七段数码管来显示实时温度,数码管的位选由单片机的P1_4、P1_5、P1_6、P1_7 这4个I/O口来控制,单片机的P0口(P0_0~P0_7)控制数码管的8个段选。
3.4LCD液晶显示屏
LCD选用的是12864液晶显示屏,其以并行的工作方式可以显示汉字、数字、字母等字幕,LCD的作用就是显示一些人性化的提示语言,本测温系统用作家庭温度计时,如当温度在20℃左右时,提示“气温适宜,今天是个不错的日子!”,当夏日炎热时,提示”气温偏高,注意防暑降温!”。
3.5蜂鸣器与按键
蜂鸣器用来报警,可以在程序中设置我们规定的温度限定值,当实时温度值越过限定值时,蜂鸣器就会鸣响报警,单片机的P1_3端口控制蜂鸣器。通过功能按键key1可以停止蜂鸣器报警,由单片机P2_4端口来控制按键。
图2 硬件原理图
4 系统软件设计
C51程序在Keil 4软件中编写,编译通过后下载到单片机,执行温度测量系统的测温工作。整个程序分为主程序与子程序,子程序包括温度传感器子程序、数码管显示子程序、LCD液晶显示子程序、蜂鸣器及按键子程序。在温度传感器子程序里完成对温度采集、温度转换、温度计算等操作,数码管子程序处理显示实时温度,LCD子程序处理数据的读写,显示提示语言,蜂鸣器子程序实现报警功能(P1_3置1),按键按下后停止报警,主函数通过调用子函数实现所需功能。
5 结语
本测温系统在设计方面分为硬件设计和软件设计两大块,经过多次调节与测试后工作正常且稳定,精度高,操作简便。整个系统功耗小,成本低,用途广泛,可为人们的生活和工作带来便利,建议推广使用。
参考文献:
[1]郭天祥 .新概念51单片机C语言教程[M].北京:电子工业出版社,2009.
[2]张俊谟 .单片机中级教程——原理与应用[M].北京:北京航空航天大学出版社,2006.
[3]王建,宋永昌,魏福江.单片机实用技术[M].北京:机械工业出版社,2011.
[4]杨欣,王玉凤,刘湘黔.电路设计与仿真[M].北京:清华大学出版社,2006.