好好学习,天天向上,一流范文网欢迎您!
当前位置:首页 >> 最新范文 内容页

简易温度计项目报告

简易温度计项目报告 本文关键词:温度计,简易,报告,项目

简易温度计项目报告 本文简介:简易温度计团队成员:蒋颂刘其聪摘要【关键词】单片机DS18B20LCD1602使用STC89C52控制处理温度传感器DS18B20的信号,并驱动1602显示实时温度。[keyword]single-chipDS18B20LCD1602UsingSTC89C52tocontrolandprocesss

简易温度计项目报告 本文内容:

简易温度计

团队成员:蒋颂

刘其聪

摘要

【关键词】

单片机

DS18B20

LCD1602

使用STC89C52控制处理温度传感器DS18B20的信号,并驱动1602显示实时温度。

[keyword]

single-chip

DS18B20

LCD1602

Using

STC89C52

to

control

and

process

signal

that

DS18B20

generates

,meanwhile

it

drive

LCD1602

display

contemporary

temperature

目录

摘要

………………………………………………………………………………1

前言

………………………………………………………………………………3

设计要求…………………………………………………………………………3

任务分析…………………………………………………………………………3

总体设计…………………………………………………………………………4

硬件设计…………………………………………………………………………5

软件设计…………………………………………………………………………6

检测调试…………………………………………………………………………7

总结

………………………………………………………………………………8

参考文献…………………………………………………………………………8

附录

………………………………………………………………………………9

前言

本作品电源部分采用一块节3.7V

18650锂电池,温度测量范围-55℃~+55℃,电路板及各元件使用厚纸板固定及包装定型。

设计要求

利用单片机软硬件资源控制温度传感器完成温度检测,并将转换结果在液晶显示屏上显示。具体要求如下:

1.

温度测量范围-30℃~

+60℃

2.

测量精度:

#include“lcd.h“#include“temp.h“void

LcdDisplay(int);

void

main()

{

LcdInit();

//初始化LCD1602

LcdWriteCom(0x88);//写地址

80表示初始地址

LcdWriteData(

C

);

while(1)

{

LcdDisplay(Ds18b20ReadTemp());

//Delay1ms(1000);//1s钟刷一次

}

}

void

LcdDisplay(int

temp)

//lcd显示

{

unsigned

char

datas[]

=

{0,0,0,0,0};

//定义数组

float

tp;

if(temp<

0)//当温度值为负数

{

LcdWriteCom(0x80);//写地址

80表示初始地址

LcdWriteData(

-

);

//显示负

//因为读取的温度是实际温度的补码,所以减1,再取反求出原码

temp=temp-1;

temp=~temp;

tp=temp;

temp=tp*0.0625*100+0.5;}

else

{

LcdWriteCom(0x80);//写地址

80表示初始地址

LcdWriteData(

+

);

//显示正

tp=temp;//因为数据处理有小数点所以将温度赋给一个浮点型变量

//如果温度是正的那么,那么正数的原码就是补码它本身

temp=tp*0.0625*100+0.5;}

datas[0]

=

temp

/

10000;

datas[1]

=

temp

%

10000

/

1000;

datas[2]

=

temp

%

1000

/

100;

datas[3]

=

temp

%

100

/

10;

datas[4]

=

temp

%

10;

LcdWriteCom(0x82);

//写地址

80表示初始地址

LcdWriteData(

0

+datas[0]);

//百位

LcdWriteCom(0x83);

//写地址

80表示初始地址

LcdWriteData(

0

+datas[1]);

//十位

LcdWriteCom(0x84);//写地址

80表示初始地址

LcdWriteData(

0

+datas[2]);

//个位

LcdWriteCom(0x85);//写地址

80表示初始地址

LcdWriteData(

.

);

//显示

‘.’

LcdWriteCom(0x86);

//写地址

80表示初始地址

LcdWriteData(

0

+datas[3]);

//显示小数点

LcdWriteCom(0x87);

//写地址

80表示初始地址

LcdWriteData(

0

+datas[4]);

//显示小数点

}

TAG标签: