基于单片机的温度控制显示系统设计.docx

上传人:b****8 文档编号:10450562 上传时间:2023-02-11 格式:DOCX 页数:19 大小:249.20KB
下载 相关 举报
基于单片机的温度控制显示系统设计.docx_第1页
第1页 / 共19页
基于单片机的温度控制显示系统设计.docx_第2页
第2页 / 共19页
基于单片机的温度控制显示系统设计.docx_第3页
第3页 / 共19页
基于单片机的温度控制显示系统设计.docx_第4页
第4页 / 共19页
基于单片机的温度控制显示系统设计.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

基于单片机的温度控制显示系统设计.docx

《基于单片机的温度控制显示系统设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的温度控制显示系统设计.docx(19页珍藏版)》请在冰豆网上搜索。

基于单片机的温度控制显示系统设计.docx

基于单片机的温度控制显示系统设计

基于单片机的数字温度控制系统设计

摘要

本设计是一种基于AT89C51单片机的温度测量及控制报警系统,该系统采用DS18B20作为温度采集、监测元件,将采集到的信号送到单片机进行处理,判断是否控制与报警,再将数据送到LCD1602液晶显示屏显示出来,该设计可以设置温度上下限,实时温度高于设置温度上限时,对应的降温设备指示灯亮,蜂鸣器报警,实时温度低于设置温度下限时,对应的加温设备指示灯亮,蜂鸣器报警。

文中介绍了集成温度传感器DS18B20的原理,AT89C51单片机的功能和应用,着重给出了软硬件系统的各部分电路。

该系统具有功能强大、结构简单和体积小等优点。

关键词:

单片机、温度计、LCD1602、DS18B20、AT89C51

Abstract

ThisdesignisbasedontheAT89C51single-chiptemperaturemeasurementandalarmsystem,thesystemusesDS18B20asthetemperatureacquisition,monitoringdevice,thecollectedsignalissenttothesinglechipprocessor,judgingwhetheranalarm,andthenthedataissenttothedigitaltubedisplay,thisdesigncanbearbitrarilysettemperaturealarmlimits.ThispaperintroducestheprincipleofDS18B20integratedtemperaturesensor,AT89C51MCUfunctionandapplication,especiallygiventhehardwareandsoftwaresystemofeachpartofcircuit.Thesystemhastheadvantagesofnovel,powerful,simplestructureandsmallvolumeetc..

Keywords:

Singlechipmicrocomputer,thermometer,DS18B20,AT89C51

 

目录

第1章绪论1

1.1研究意义及背景1

1.2设计目的1

1.3主要工作1

第2章系统概述2

2.1系统方案2

2.2系统组成2

第3章系统硬件设计3

3.1AT89C51单片机的介绍3

3.2数码管显示4

3.3DS18B20介绍4

3.4系统工作原理5

3.5系统整体电路6

第4章系统软件设计7

4.1主程序设计7

4.2DS18B20初始化8

4.3DS18B20温度传感器与单片机的接口电路10

4.4数码管显示与单片机对接10

4.5仿真结果12

总结15

致谢16

参考文献:

17

第1章绪论

1.1研究意义及背景

随着新技术的不断开发与应用,近年来单片机发展十分迅速,一个以微机应用为主的新技术革命浪潮正在蓬勃兴起,单片机的应用已经渗透到电力、冶金、化工、建材、机械、食品、石油等各个行业。

传统的温度采集方法不仅费时费力,而且精度差,单片机的出现使得温度的采集和数据处理问题能够得到很好的解决。

本设计使用单片机作为核心进行控制。

单片机具有集成度高,通用性好,功能强,特别是体积小,重量轻,耗能低,可靠性高,抗干扰能力强和使用方便等独特优点,在数字化、智能化方面有广泛的用途。

1.2设计目的

1.温度显示基本范围0.00℃—99.99℃。

2.精度误差小于0.01℃。

3.所测温度值由LCD1602液晶显示屏显示。

4.可以设定温度的上下限控制及报警功能。

1.3主要工作

本设计的研究重点是设计一种基于单片机的数字温度计控制系统。

设计采用数字温度传感器DS18B20,此传感器读取被测量温度值,并进行转换。

将转换后的数据送到单片机处理,再通过LCD1602液晶显示屏显示出来。

第2章系统概述

2.1系统方案

数字温度传感器DS18B20输出信号全数字化,便于单片机处理及控制,省去传统测温方法的很多外围电路。

且该芯片的物理性、化学性很稳定,能用做工业测温元件。

采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,硬件实现简单,体积小,安装方便。

所以该系统利用AT89C51芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可根据需要设定上下限控制及报警温度。

2.2系统组成

本设计是以AT89C51单片机为核心的一种数字温度显示控制系统,系统整体硬件电路包括:

采集模块、显示模块、设置模块和单片机最小系统模块四大模块组成。

系统框图如图2-1所示。

 

 

 

 

图2-1系统基本方框图

第3章系统硬件设计

3.1AT89C51单片机的介绍

AT89C51有40个引脚,4个8位并行I/O口,1个全双工异步串行口,同时内含5个中断源,2个优先级,2个16位定时/计数器。

AT89C51的存储器系统由4K的程序存储器(掩膜ROM),和128B的数据存储器(RAM)组成,具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计,使用系统可用USB供电。

AT89C51单片机的基本组成框图见图3-1。

图3-1AT89C51单片机结构

由图3-1可见,AT89C51单片机主要由以下几部分组成:

1.CPU系统

8位CPU,含布尔处理器;

时钟电路;

总线控制逻辑。

2.存储器系统

4K字节的程序存储器(ROM/EPROM/Flash,可外扩至64KB);

128字节的数据存储器(RAM,可再外扩64KB);

特殊功能寄存器SFR。

3.I/O口和其他功能单元

4个并行I/O口;

2个16位定时计数器;

1个全双工异步串行口;

中断系统(5个中断源,2个优先级)。

3.2显示电路

3.2.11602液晶简介

LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图3-2所示。

图3-2LCD1602规格

引脚功能

LCD1602采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表3.1所示。

表3.1LCD1602引脚说明

编号

符号

引脚说明

编号

符号

引脚说明

1

VSS

电源地

9

D2

数据

2

VDD

电源正极

10

D3

数据

3

VL

液晶显示偏压

11

D4

数据

4

RS

数据/命令选择

12

D5

数据

5

R/W

读/写选择

13

D6

数据

6

E

使能信号

14

D7

数据

7

D0

数据

15

BLA

背光源正极

8

D1

数据

16

BLK

背光源负极

3.2.2指令说明

LCD1602液晶模块内部的控制器共有11条控制指令,如表3.2所示。

表3.2LCD1602内部控制器

序号

指令

RS

R/W

D7

D6

D5

D4

D3

D2

D1

D0

1

清显示

0

0

0

0

0

0

0

0

0

1

2

光标返回

0

0

0

0

0

0

0

0

1

*

3

置输入模式

0

0

0

0

0

0

0

1

I/D

S

4

显示开/关控制

0

0

0

0

0

0

1

D

C

B

5

光标或字符移位

0

0

0

0

0

1

S/C

R/L

*

*

6

置功能

0

0

0

0

1

DL

N

F

*

*

7

置字符发生存贮器地址

0

0

0

1

字符发生存贮器地址

8

置数据存贮器地址

0

0

1

显示数据存贮器地址

9

读忙标志或地址

0

1

BF

计数器地址

10

写数到CGRAM或DDRAM)

1

0

要写的数据内容

11

从CGRAM或DDRAM读数

1

1

读出的数据内容

3.3DS18B20介绍

DS18B20引脚如图3-3所示。

图3-3DS18B20引脚图

数字温度传感器DS18B20是一种新型的“一线器件”,采用单总线的数据传输,其体积小,输出信号全数字化,便于单片机处理及控制,在0—100摄氏度时,其最大线形偏差小于1摄氏度。

工作电源既可以在远端引入,也可以采用寄生电源方式产生。

多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。

因此用它来组成一个测温系统,线路十分简单。

3.3.1温度传感器测温原理

低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。

高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。

计数器1和温度寄存器被预置在-55℃所对应的一个基数值。

计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。

其内部结构图如图3-4所示。

图3-4DS18B20内部结构

3.4系统工作原理

温度传感器DS18B20将模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,单片机将处理后的数据通过LCD1602显示屏显示出来,同时判断测得的温度和设置控制及报警的温度限进行比较,超过限度则通过蜂鸣器发出报警声音。

3.5系统整体电路

图3-5系统电路

第4章系统软件设计

4.1主程序设计

整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。

从软件的功能不同可分为两大类:

一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。

二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示、通讯等。

每一个执行软件也就是一个小的功能执行模块。

这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。

主程序流程见图4-1。

 

图4-1主程序流程图

主程序如下:

voidmain()

{

ReadTemperature();

init_lcd();//初始化液晶1602

disp_start();//显示字符

while

(1)

{

Display();

disp_t_h();//显示温度

key_scan();

bijiao();

}

}

4.2DS18B20初始化

DS18B20初始化流程图见图4-2。

图4-2DS18B20初始化流程图

初始化子程序:

{

unsignedcharx=0;

DQ=1;

Delay(8);

DQ=0;

Delay(80);

DQ=1;

Delay(14);

x=DQ;

Delay(20);

}

4.3DS18B20温度传感器与单片机的接口电路

当DS18B20处于写存储器操作和温度A/D转换操作时,总线上必须有强的上拉,上拉开启时间最大为10us。

传感器与单片机接口如图4-3所示:

图4-3DS18B20与单片机的接口电路

温度读取子程序:

{

unsignedchara=0;

unsignedcharb=0;

unsignedintt=0;

floattt=0;

Tmpchange();

Init_DS18B20();

WriteOneChar(0xCC);

WriteOneChar(0xBE);

a=ReadOneChar();

b=ReadOneChar();

t=b;

t<<=8;

t=t|a;

tt=t*0.0625;

t=tt*100+0.5;

return(t);

}

4.4数码管显示与单片机对接

如图4-4所示。

用AT89C51的P0口作为数据端口,P2.5-P2.7为液晶显示使能控制端。

P0口接上上拉电阻,拉高信号使液晶显示。

图4-4LCD1602显示屏与AT89C51对接

显示子程序:

voiddisp_t_h()

{

write_cmd(0xcc);

write_dat(tab_lcd_num[a]);//显示温度十位

write_cmd(0xcd);

write_dat(tab_lcd_num[b]);//显示温度个位

write_cmd(0xce);

write_dat(tab_lcd_xsd[0]);//显示小数点

write_cmd(0xcf);

write_dat(tab_lcd_num[c]);//显示温度小数位

}

4.5仿真结果

设置温度上限为38度,温度下限为8度。

1.如图4-5所示。

此时温度为7度,低于下限温度,蜂鸣器实现报警,加温器指示灯D2亮,表示加温器工作。

图4-5仿真图1

2.如图4-6所示。

此时温度为39度,超过上限温度,蜂鸣器实现报警,降温器指示灯D3亮,表示降温器工作。

图4-6仿真图2

3.如图4-7所示。

此时温度为30度,在所设范围内,蜂鸣器没有报警,说明温度正常。

图4-7仿真图3

总结

本文介绍了基于AT89C51单片机的数字温度计控制系统的设计,对整个硬件电路和软件程序设计做了分析。

并介绍了本设计中的几大模块和设计软件仿真,更直观地反映设计的正确性。

通过这次设计,不仅巩固了知识,而且让所学的知识通过实践的形式转化为相应的产品和成果,提高了自己的动手能力。

参考文献:

[1]杨素行.模拟电子技术基础[M].北京:

高等教育出版社,2006:

77-78.

[2]阎石著.数字电子技术基础[M].北京:

高等教育出版社,2006:

23-26.

[3]李全利,仲伟峰,徐军著.单片机原理及应用[M].北京:

清华大学出版社

2006:

46-48.

[4]何立民著.单片机高级教程[M].北京:

航空航天大学出版社,2000:

55-57.

[5]杨路明著.C语言程序设计教程[M].北京:

邮电大学出版社,2005:

124-132.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 管理学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1