基于单片机温度传感器课程设计.docx
- 文档编号:10000429
- 上传时间:2023-02-07
- 格式:DOCX
- 页数:24
- 大小:96.06KB
基于单片机温度传感器课程设计.docx
《基于单片机温度传感器课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机温度传感器课程设计.docx(24页珍藏版)》请在冰豆网上搜索。
基于单片机温度传感器课程设计
HUBEINORMALUNIVERSITY
单片机课程设计
所在院系
教育信息与技术学院
专业名称
电子信息工程
班级
1005
题目
基于数字温度传感器的数字温度计
指导教师
成员
完成时间
2012.12.27
一、设计任务及要求:
设计任务:
基于数字温度传感器的数字温度计的设计。
要求:
1.利用数字温度传感器DS18B20与单片机结合来测量温度;
2.利用数字温度传感器DS18B20测量温度信号,计算后在LCD数码管上显示相应的温度值。
其温度测量范围为−55℃~125℃,精确到0.5℃;
3.数字温度计所测量的温度采用数字显示,控制器使用单片机AT89C51,测温传感器使用DS18B20;
4.用蜂鸣器设置警告音。
指导教师签名:
2012年12月28日
二、指导教师评语:
指导教师签名:
2012年12月28日
三、成绩
验收盖章
2012年12月28日
基于数字温度传感器的数字温度计的设计
1.芯片DS18B20的说明
美国Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支持"一线总线"接口的温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。
全部传感元件及转换电路集成在形如一只三极管
的集成电路内。
一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。
现在,新一代的DS18B20体积更小、更经济、更灵活。
使你可以充分发挥“一线总线”的优点。
DS18B20的主要特性
1.1芯片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,同事科传送SRC检验码,菊友极强的抗干扰校正能力。
(9)负压特性:
电源极性接反时芯片不会因发热而烧毁,但不会正常工作。
2.液晶显示器LM016L的说明
接口信号说明:
编号
符号
引脚说明
编号
符号
引脚说明
1
VSS
电源地
9
D2
DataI/0
2
VDD
电源正极
10
D3
DataI/0
3
VL
液晶显示偏压信号
11
D4
DataI/0
4
RS
数据/命令选择端
12
D5
DataI/0
5
R/W
读/写选择端
13
D6
DataI/0
6
E
使能信号
14
D7
DataI/0
7
D0
DataI/0
15
BLA
背光级正极
8
D1
DataI/0
16
BLK
背光级负极
下表为控制命令表:
序号
指令
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
读出的数据内容
●液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。
要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,图一是016L的内部显址。
图一
液晶显示简介
①液晶显示原理
液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。
液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。
②液晶显示器的分类
液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。
除了黑白显示外,液晶显示器还有多灰度有彩色显示等。
如果根据驱动方式来分,可以分为静态驱动(Static)、单纯矩阵驱动(SimpleMatrix)和主动矩阵驱动(ActiveMatrix)三种。
③字符的显示
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。
这样一来就组成某个字符。
但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
3.总体电路流程图
4.总体电路设计
LCD与AT89C51的连接,(如图一所示)将LCD的D0~D7引脚分别与单片机的P0.1~P0.7相连,使LCD能接受来自单片机的信号。
电路如图二所示
如图可见,电路主要是由AT89C51芯片和LM016L和蜂鸣器构成了主要电路。
开关的控制,可调整温度的范围。
5.系统程序设计
程序清单:
#include
#include
#include
#defineuintunsignedint
#defineuncharunsignedchar
unchartempl,temph,i,y,z,n;
unchara,b;//LCD的变量
uncharsign=0;//标志变量
bitk;//判断正负变量
sbitdq=P3^5;
sbitrs=P2^0;//LCD显示的定义取值
sbitrw=P2^1;
sbite=P2^2;
sbitbf=P0^7;
sbitDQ=P2^5;
//键盘定义
sbitread=P3^0;
sbitincH=P3^2;
sbitdesH=P3^3;
sbitreset=P3^4;
//蜂鸣器
sbitBUZZER=P2^6;
floatt4,t5,t6,t7,tt;//温度转换的变量
uinttp;
unchartemperature,Htemp,Ltemp;
uncharD1,D2,D3;
uintD4,D5,D6,D9,D7,D8;
uncharcodedis1[]={"0123456789"};
uncharcodedis2[]={"temp:
"};
uncharcodedis3[]={"WARN"};
uncharcodedis4[]={"Htemp:
"};
uncharcodedis5[]={"working"};
uncharcodedis6[]={"Ltemp:
"};
bitflag_1820_1;
bitflag_1820_2;
voiddelay_ms(unsignedchartime);
voidledshow(void);
voidkeypress(void);
voidinit(void);
voidgettemp();
voidinit1820(void);
voidwrite1820(unchar);
unsignedcharread1820(void);
voiddelay_us(unchar);
voiddelay3(unchar);
/*延时*/
voiddelay(uintt)
{uinti;
while(t--)
{for(i=0;i<125;i++)
{}
}
}
//LCD显示函数
voiddelay1(unchartime)
{uncharn;
n=0;
while(n
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 温度传感器 课程设计