当前位置:文档之家› 单片机 温度传感器设计

单片机 温度传感器设计

单片机 温度传感器设计
单片机 温度传感器设计

基于FPGA温度传感器DS18B20的设计

摘要: 本文利用数字温度传感器 DS18B20 的数据接口和特点 ,阐述了一种基于现场可编程门阵列( FPGA)控制DS18B20的方法。使用 FPGA 作为控制器 ,严格控制DS18B20 的时序 ,在单总线上实现读写功能 ,完成测量数字温度的功能。将测量的二进制数转换为BCD码 ,并通过数码管显示。系统设计使用 Verilog 语言。

关键字:DS18B20;LED

1、前言

目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。

单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。

2、设计任务及要求

2.1 设计任务

现代社会生活中,多功能的数字温度计可以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,以ATMEL公司的

AT89S52为控制器设计的DS18B20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。

此次课程设计,就是用单片机[现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于单片机的数字温度计的设计。

2.2设计要求

设计一个基于单片机的DS18B20数字温度计。课程设计要求:

5V供电;

温度采集采用DS18B20;

4位LED显示;

2个按键;

设计温度控制器原理图,学习用protel画出该原理图,并用proteus进行仿真;

设计和绘制软件流程图,用C语言进行程序编写。

2.3 课程谁方案及方案论证

2.3.1课程设计方案

这次设计的数字温度计设计采用智能温度传感器DS18B20作为检测元件,测温范围为-55°C至+125°C,最大分辨率可达0.0625°C。DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路。按照系统设计功能的要求,确定系统由三个模块组成:主控制器AT89C51,温度传感器DS18B20,驱动显示电路。总体电路框图如下:

主控制器

驱动显示电路DS18B20 Array

AT89C51

2.3.2 方案论证

此设计使用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。

3、总体设计框图 3.1总框图

温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED 数码管以串口传送数据实现温度显示。

总体设计方框图

主控制器:单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。

显示电路:显示电路采用3位共阳LED 数码管,从P3口RXD,TXD 串口输出段码。

控 制

LED

感 器

单片机复位

时钟振荡

报警点按键调整

3.2器材选用

3.2.1 DS18B20

本设计的测温系统采用芯片DS18B20,DS18B20是DALLAS公司的最新单线数字温度传感器,它的体积更小,适用电压更宽,更经济。其特点如下:

●独特的单线接口仅需要一个端口引脚进行通信;

●多个DS18B20可以并联在惟一的三线上,实现多点组网功能;

●无须外部器件;

●可通过数据线供电,电压范围为3.0—5.5V;

●零待机功耗;

●温度以9位或12位数字;

●用户可定义报警设置;

●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;

●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;

DS18B20内部结构主要由四部分组成:64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图2-3-1所示。64位光刻ROM是出厂前被光刻好的,它可以看作是该DS18B20的地址序列号。不同的器件地址序列号不同。 64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器TH和TL,可通过软件写入户报警上下限。

DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为8字节的存储器,结构如图2-3-2所示。头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如下图所示。低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,

TM R11

R011

11

.

..

.

DS18B20的字节定义

DS18B20高速暂存器共9个存存单元,如表所示:

另外,由于DS18B20单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20(发复位脉冲)→发ROM 功能命令→发存储器操作命令→处理数据。

由于DS18B20采用的“一线总线”结构,所以数据的传输与命令的通讯只要通过微处理器的一根双向I /o 口就可以实现。DSl8B20约定在每次通信前必须对其复位。 图中tRSTL 为主机发出的低电平信号,本文中有AT89c52提供,tRSTL 的最小时延为

480us ,然后释放总线,检查DSl8B20的返回信号,看其是否已准备接受其他操作,其中tPDHIGH 时间最小为15us ,最长不能超过60us ,否则认为DS18B20没有准备好,主机应继续复位,直到检测到返回信号变为低电平为止。

DS18B20的ROM 操作指令

序号 寄存器名称

作 用

序号 寄存器名称 0 温度低字节 以16位补码形式存放

4、5 保留字节1、2 1 温度高字节

6 计数器余值 2 TH/用户字节

1

存放温度上限

7

计数器/℃

3 HL/用户字节

2

存放温度下限

8

CRC

操作指令 33H 55H CCH F0H ECH

含义

读ROM

匹配ROM

跳过ROM 搜索ROM 报警搜索ROM

DS18B20的存储器操作指令

操作指令4EH BEH 48H 44H D8H B4H 含义写读内部复制温度转换重新调出读电源

主机一旦检测到DS18B20的存在,根据DS18B2的工作协议,就应对ROM进行操作,接着对存储器操作,最后进行数据处理。在DS18B20中规定了5条对ROM的操作命令。主机在发送完ROM操作指令之后,就可以对DS18B20内部的存储器进行操作,同样DS18B20规定了6条操作指令。

3.3 AT89C51单片机介绍

3.3.1 单片机主要性能

他有8K字节在系统可编程Flash存储器、 1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、 32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。

3.3.2. AT89c51的功能特性

AT89C51 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。AT89S52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。

3.3. 3 引脚说明

P0 口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL 逻辑电平。对P0端口写“1”时,引脚用作高阻抗输入。

当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。

在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。

P1 口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,P1 输出缓冲器能驱动4 个TTL 逻辑电平。对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX)。

在flash编程和校验时,P1口接收低8位地址字节。

引脚号第二功能

P1.0 T2(定时器/计数器T2的外部计数输入),时钟输出

P1.1 T2EX(定时器/计数器T2的捕捉/重载触发信号和方向控制)

P1.5 MOSI(在系统编程用)

P1.6 MISO(在系统编程用)

P1.7 SCK(在系统编程用)

P2 口:P2 口是一个具有内部上拉电阻的8 位双向I/O 口,P2 输出缓冲器能驱动4 个。

TTL 逻辑电平。对P2 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。在访问外部程序存储器或用16位地址读取外部数据存储器(例如执行MOVX @DPTR)时,P2 口送出高八位地址。在这种应用中,P2 口使用很强的内部上拉发送1。在使用8位地址(如MOVX @RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

P3 口:P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89c51特殊功能(第二功能)使用,如下所示。在flash编程和校验时.

端口引脚第二功能

P3.0 RXD(串行输入口)

P3.1 TXD(串行输出口)

P3.2 INT0(外中断0)

P3.3 INT1(外中断1)

P3.4 T0(定时/计数器0)

P3.5 T1(定时/计数器1)

P3.6 WR(外部数据存储器写选通)

P3.7 RD(外部数据存储器读选通)

此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。

RST——复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将是单片机复位。

ALE/PROG——当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。一般情况下,ALE仍以时钟振荡频率的1/6输出固定的脉冲信号,因此它可对外输出时钟或用于定时目的。要注意的是:每当访问外部数据存储器时将跳过一个ALE脉冲。

对FLASH存储器编程期间,该引脚还用于输入编程脉冲(PROG)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE禁止位无效。

PSEN——程序储存允许(PSEN)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次PSEN有效,即输出两个脉冲,在此期间,当访问外部数据存储器,将跳过两次PSEN信号。

EA/VPP——外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H-FFFFH),EA端必须保持低电平(接地)。FLASH存储器编程时,该引脚加上+12V 的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

3.4 软件流程图

系统程序主要包括主程序,读出温度子程序,温度转换命令子程序,计算温度子程序,显示数据刷新子程序等。

3.4.1主程序流程图

主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度

发DS18B20复位命令

发跳过ROM 命令

发温度转换开始命令

结束

值,温度测量每1s 进行一次。这样可以在一秒之内测量一次被测温度,其程序流程见图所

示。

主程序流程图

读温度流程图

3.4.2 度温度子程序

读出温度子程序的主要功能是读出RAM 中的9字节,在读出时需进行CRC 校验,校验有错时不进行温度数据的改写。

Y

发DS18B20复位命令

发跳过ROM 命令

发读取温度命令

读取操作,CRC 校验

9字节完?

CRC 校验正?

移入温度暂存器

结束

N

N

Y

初始化

调用显示子程序

1S 到?

初次上电

读出温度值温度计算处理显示数据刷新

发温度转换开始命令 N

Y

N

Y

3.4.3 温度转换子程序

温度转换命令子程序主要是发温度转换开始命令,当采用12位分辨率时转换时间约为750ms ,在本程序设计中采用1s 显示程序延时法等待转换的完成。 3.4.4 计算温度子程序

计算温度子程序将RAM 中读取值进行BCD 码的转换运算,并进行温度值正负的判定,其程序流程图如图

计算温度流程图 显示数据刷新流程图

4、DS18B20显示程序

#include

#define uint unsigned int

#define uchar unsigned char //宏定义 sbit p34=P2^4; sbit p35=P2^5; sbit p36=P2^6; sbit dp=P0^7; sbit p37=P2^7;

sbit DQ=P2^2; //定义DS18B20总线I/O

sbit SET=P3^1; //定义选择报调整警温度上限和下限(1为上限,0为下限) /****P3.2和P3.3为调整温度报警增加键和减少键******/

开始

温度零下?

温度值取补码置

计算小数位温度BCD 值

计算整数位温度BCD 值

结束

置“+”标志

N

Y

温度数据移入显示寄存器

十位数0?

百位数0?

十位数显示符号百位数不显示

百位数显示数据(不显示符号)

结束

N

N

Y

Y

sbit LING=P2^0; //定义响铃

signed char m; //温度值全局变量

bit sign=0; //外部中断状态标志

signed char shangxian=38; //上限报警温度,默认值为38

signed char xiaxian=6; //下限报警温度,默认值为5

uchar code LEDData[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff,0xbf};

/*****延时子程序*****/

void Delay(uint i)

{

while( i-- );

}

/*****初始化DS18B20*****/

void Init_DS18B20(void)

{

unsigned char x=0;

DQ=1;

Delay(8); //稍做延时

DQ=0; //单片机将DQ拉低

Delay(80); //精确延时,大于480us

DQ=1; //拉高总线

Delay(14);

x=DQ; //稍做延时后,如果x=0则初始化成功,x=1则初始化失败

Delay(20);

}

/*****读一个字节*****/

unsigned char 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);

}

/*****写一个字节*****/

void WriteOneChar(unsigned char dat)

{

unsigned char i=0;

for (i=8; i>0; i--)

{

DQ=0;

DQ=dat&0x01;

Delay(5);

DQ=1;

dat>>=1;

}

}

void Tmpchange(void) //发送温度转换命令

{

Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0x44); //启动温度转换

}

/*****读取温度*****/

unsigned int ReadTemperature(void)

{

unsigned char a=0;

unsigned char b=0;

unsigned int t=0;

float tt=0;

Tmpchange();

Init_DS18B20();

WriteOneChar(0xCC); //跳过读序号列号的操作 WriteOneChar(0xBE); //读取温度寄存器

a=ReadOneChar(); //读低8位

b=ReadOneChar(); //读高8位

t=b;

t<<=8;

t=t|a;

tt=t*0.0625;

t= tt*100+0.5; //放大10倍输出并四舍五入 return(t);

}

/*****显示开机初始化等待画面*****/

Disp_init()

{

P0 = 0x80; //显示-

p34=1;p35=0;p36=0;p37=0;

Delay(200);

P0 = 0x80;

p34=0;p35=1;p36=0;p37=0;

Delay(200);

P0 = 0x80;

p34=0;p35=0;p36=1;p37=0;

Delay(200);

P0 = 0x80;

p34=0;p35=0;p36=0;p37=1;

Delay(200);

P0 = 0x80;

}

/*****显示温度子程序*****/

Disp_Temperature() //显示温度

{

uint a,b,c,d,e;

e=ReadTemperature(); //获取温度值

a=e/1000; //计算得到十位数字

b=e/100-a*10; //计算得到个位数字

d=e%10; //计算得到小数点后两位

c=(e%100)/10; //计算得到小数点后一位

m=e/100;

if(m>shangxian || m

p34=0;p35=0;p36=0;p37=0;

P0 =LEDData[d]; //显示小数点后两位

p34=1;p35=0;p36=0;p37=0;

Delay(300);

p34=0;p35=0;p36=0;p37=0;

P0 =LEDData[c]; //显示小数点后一位

p34=0;p35=1;p36=0;p37=0;

Delay(300);

p34=0;p35=0;p36=0;p37=0;

P0 =LEDData[b]; //显示个位

dp=0;

p34=0;p35=0;p36=1;p37=0;

Delay(300);

p34=0;p35=0;p36=0;p37=0;

P0 =LEDData[a]; //显示十位

p34=0;p35=0;p36=0;p37=1;

Delay(300);

p34=0;p35=0;p36=0;p37=0; //关闭显示

}

disptiaozheng()

{

uchar f,g,j,k;

f=shangxian/10;

g=shangxian%10;

j=xiaxian/10;

k=xiaxian%10;

p34=0;p35=0;p36=0;p37=0;

P0 =0xc0; //显示0

p34=1;p35=0;p36=0;p37=0;

Delay(200);

p34=0;p35=0;p36=0;p37=0;

P0 =0xc0; //显示0

p34=0;p35=1;p36=0;p37=0;

Delay(200);

p34=0;p35=0;p36=0;p37=0;

if(SET==1)

{

P0 =LEDData[g];

dp=0; //显示上限温度个位

}

else

{

P0 =LEDData[k];

dp=0;

}

p34=0;p35=0;p36=1;p37=0;

Delay(200);

p34=0;p35=0;p36=0;p37=0;

if(SET==1) P0 =LEDData[f]; //显示上限温度十位 else

{

if(f==0) P0=0x00; //不显示下限温度十位

else P0 =LEDData[j]; //显示下限温度十位

}

p34=0;p35=0;p36=0;p37=1;

Delay(200);

p34=0;p35=0;p36=0;p37=0; //关闭显示

Delay(20);

}

/*****外部中断0服务程序*****/ void int0(void) interrupt 0 {

EX0=0; //关外部中断0

sign=1;

if(SET==1) shangxian++;

else xiaxian++;

Delay(500);

EX0=1;

}

/*****外部中断1服务程序*****/ void int1(void) interrupt 2 {

EX1=0; //关外部中断0

sign=1;

if(SET==1) shangxian--;

else xiaxian--;

Delay(500);

EX1=1;

}

/*****主函数*****/

void main(void)

{

uint z;

IT0=1;

IT1=1;

EX0=1;

EX1=1;

EA=1;

ReadTemperature();

LING=0;

for(z=0;z<100;z++)

{

Disp_init();

}

while(1)

{

Disp_Temperature();

if(sign==1)

{

for(z=0;z<300;z++)

disptiaozheng();

sign=0;

}

}

}

5.软件仿真

5.1 QUARTUS II仿真

程序编写完以后,我们先对其进行仿真,初步验证电路图和程序的可行性和正确性。

打开Quartus II软件。

创建程序:有三个v文件,LED_CTL.v 是数码管显示功能模块,DS18B20_CTL.v 是温度传感器的控制模块,TEMP.v 为顶层模块,实例化了前面两个模块,并将采集的温度值送至数码管进行显示。

编译无误后,下载调试,如图9所示:

5.2 proteus仿真图

6、课程设计心得

本次的课程设计花了大量的时间,分别进行了BS18D20电路原理图的设计,电路仿真图的设计以及实物电路板的焊制三个过程。我知道,课程设计一般强调能力培养为主,在独立完成设计任务的同时,还要注意其他几方面能力的培养与提高,如独立工作能力与创造力;综合运用专业及基础知识的能力,解决实际工程技术问题的能

力;查阅图书资料、产品手册和各种工具书的能力;工程绘图的能力;书写技术报告和编制技术资料的能力。在专业知识与研究方法方面为日后的毕业设计乃至毕业后的工作奠定良好的基础

这次课设让我对单片机有了进一步的了解,而且对Proteus仿真软件的有了一定了解。体会到了Proteus仿真软件的强大。

通过本次课设,能够使我们熟练掌握单片机控制电路的设计、程序编写和整体焊接及系统调试,从而全面地提高我们对单片机的软件、硬件等方面的理解,进而增强我们在实践环节的动手操作能力。譬如,我们可以根据实验指导书的要求,完成BS18D20电路的硬件设计、电路器件的选择、单片机软件的运行、以及整体系统调试,并写出完善的设计报告。在进行课设之前,要求我们具备数字电路、模拟电路、电路基础、微机原理、电力电子、电机学和单片机等相关课程的知识,并具备一些基本的实践操作水平,为以后的就业打好一定的基础。

7.参考文献

[1]张五一,张道光.微机原理与接口技术.郑州:河南科学技术出版社,2006

[2]李广弟.单片机基础. 北京:北京航空航天大学出版社,1994

[3]廖常初.现场总线概述.电工技术,1999.

[4] 倪晓军.单片机原理与接口技术教程.北京:清华大学出版社,2009

[5]姚年春向华Protel99SE基础教程. 北京.人民名邮电出版社,2009

[6]韩颖; Proteus在单片机技术实训教学中的应用[J];中国科教创新导刊;2008年31期

[7] 周灵彬;张靖武.PROTEUS的单片机教学与应用仿真[J].单片机与嵌入式系统应用;2008年01期

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

基于51单片机及DS18B20温度传感器的数字温度计程序(详细注释)

电路实物图如下图所示: C 语言程序如下所示: /******************************************************************** zicreate ----------------------------- Copyright (C) https://www.doczj.com/doc/9e10393172.html, -------------------------- * 程序名; 基于DS18B20的测温系统 * 功 能: 实时测量温度,超过上下限报警,报警温度可手动调整。K1是用来 * 进入上下限调节模式的,当按一下K1进入上限调节模式,再按一下进入下限 * 调节模式。在正常模式下,按一下K2进入查看上限温度模式,显示1s 左右自动 * 退出;按一下K3进入查看下限温度模式,显示1s 左右自动退出;按一下K4消除 * 按键音,再按一下启动按键音。在调节上下限温度模式下,K2是实现加1功能, * K1是实现减1功能,K3是用来设定上下限温度正负的。 * 编程者:Jason * 编程时间:2009/10/2 *********************************************************************/ #include //将AT89X52.h 头文件包含到主程序 #include //将intrins.h 头文件包含到主程序(调用其中的_nop_()空操作函数延时) #define uint unsigned int //变量类型宏定义,用uint 表示无符号整形(16位) #define uchar unsigned char //变量类型宏定义,用uchar 表示无符号字符型(8位) uchar max=0x00,min=0x00; //max 是上限报警温度,min 是下限报警温度 bit s=0; //s 是调整上下限温度时温度闪烁的标志位,s=0不显示200ms ,s=1显示1s 左右 bit s1=0; //s1标志位用于上下限查看时的显示 void display1(uint z); //声明display1()函数 #include"ds18b20.h" //将ds18b20.h 头文件包含到主程序 #include"keyscan.h" //将keyscan.h 头文件包含到主程序 #include"display.h" //将display.h 头文件包含到主程序

基于51单片机的DS18B20数字温度计的实训报告

电子信息职业技术学院 暨国家示性软件职业技术学院 单片机实训 题目:用MCS-51单片机和 18B20实现数字温度计 姓名: 系别:网络系 专业:计算机控制技术 班级:计控 指导教师: * 伟 时间安排:2013年1月7日至 2013年1月11日

摘要 随着国民经济的发展,人们需要对各中加热炉、热处理炉、反应炉和锅炉中温度进行监测和控制。采用单片机来对他们控制不仅具有控制方便,简单和灵活性大等优点,而且可以大幅度提高被控温度的技术指标,从而能够大大的提高产品的质量和数量。 在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。 我们采用美国DALLAS半导体公司继DS18B20之后推出的一种改进型智能温度传感器DS18B20作为检测元件,温度围为-55~125 oC,最高分辨率可达0.0625 oC。DS18B20可以直接读出北侧温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。 本文介绍一种基于AT89C51单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量围0℃-~+100℃,使用LED模块显示,能设置温度报警上下限。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,AT89C51单片机功能和应用。该电路设计新颖、功能强大、结构简单。 关键词:单片机,数字控制,温度计, DS18B20,AT89S51

基于单片机的温度测量系统设计

基于STC单片机的温度测量系统的研究 摘要:本文针对现有温度测量方法线性度、灵敏度、抗振动性能较差的不足,提出了一种基于STC单片机,采用Pt1000温度传感器,通过间接测量铂热电阻阻值来实现温度测量的方案。重点介绍了,铂热电阻测量温度的原理,基于STC实现铂热电阻阻值测量,牛顿迭代法计算温度,给出了部分硬件、软件的设计方法。实验验证,该系统测量精度高,线性好,具有较强的实时性和可靠性,具有一定的工程价值。 关键词:STC单片机、Pt1000温度传感器、温度测量、铂热电阻阻值、牛顿迭代法。 Study of Temperature Measurement System based on STC single chip computer Zhang Yapeng,Wang Xiangting,Xu Enchun,Wei Maolin Abstract:A method to achieve temperature Measurement by the Indirect Measurement the resistance of platinum thermistor is proposed. It is realized by the single chip computer STC with Pt1000temperature sensor.The shortcomings of available methods whose Linearity, Sensitivity, and vibration resistance are worse are overcame by the proposed method. This paper emphasizes on the following aspects:the principle of temperature measurement by using platinum thermistor , the measurement of platinum thermistor’s resistance based on STC single chip computer, the calculating temperature by Newton Iteration Method. Parts of hardware and software are given. The experimental results demonstrate that the precision and linearity of the method is superior. It is also superior in real-time character and reliability and has a certain value in engineering application. Keywords: STC single chip computer,Pt1000temperature sensor,platinum thermistor’s resistance,Newton Iteration Method 0 引言 精密化学、生物医药、精细化工、精密仪器等领域对温度控制精度的要求极高,而温度控制的核心正是温度测量。 目前在国内,应用最广泛的测温方法有热电偶测温、集成式温度传感器、热敏电阻测温、铂热电阻测温四种方法。 (1) 热电偶的温度测量范围较广,结构简单,但是它的电动势小,灵敏度较差,误差较大,实际使用时必须加冷端补偿,使用不方便。 (2) 集成式温度传感器是新一代的温度传感器,具有体积小、重量轻、线性度好、性能稳定等优点,适于远距离测量和传输。但由于价格相对较为昂贵,在国内测温领域的应用还不是很广泛。 (3) 热敏电阻具有灵敏度高、功耗低、价格低廉等优点,但其阻值与温度变化成非线性关系,在测量精度较高的场合必须进行非线性处理,给计算带来不便,此外元件的稳定性以及互换性较差,从而使它的应用范围较小。 (4)铂热电阻具有输出电势大、线性度好、灵敏度高、抗振性能好等优点。虽然它 的价格相对于热敏电阻要高一些,但它的综合性能指标确是最好的。而且它在0~200°C范

基于AT89C51单片机的温度传感器

基于AT89C51单片机的温度传感器 目录 摘要.............................................................. I ABSTRACT........................................................... I I 第一章绪论 (1) 1.1 课题背景 (1) 1.2本课题研究意义 (2) 1.3本课题的任务 (2) 1.4系统整体目标 (2) 第二章方案论证比较与选择 (3) 2.1引言 (3) 2.2方案设计 (3) 2.2.1 设计方案一 (3) 2.2.2 设计方案二 (3) 2.2.3 设计方案三 (3) 2.3方案的比较与选择 (4) 2.4方案的阐述与论证 (4) 第三章硬件设计 (6) 3.1 温度传感器 (6) 3.1.1 温度传感器选用细则 (6) 3.1.2 温度传感器DS18B20 (7) 3.2.单片机系统设计 (13)

3.3显示电路设计.................................错误!未定义书签。 3.4键盘电路设计................................错误!未定义书签。 3.5报警电路设计.................................错误!未定义书签。 3.6通信模块设计.................................错误!未定义书签。 3.6.1 RS-232接口简介..............................错误!未定义书签。 3.6.2 MAX232芯片简介.............................错误!未定义书签。 3.6.3 PC机与单片机的串行通信接口电路.............错误!未定义书签。 第四章软件设计..................................错误!未定义书签。 4.1 软件开发工具的选择..........................错误!未定义书签。 4.2系统软件设计的一般原则.......................错误!未定义书签。 4..3系统软件设计的一般步骤......................错误!未定义书签。 4.4软件实现....................................错误!未定义书签。 4.4.1系统主程序流程图.........................错误!未定义书签。 4.4.2 传感器程序设计...........................错误!未定义书签。 4.4.3 显示程序设计.............................错误!未定义书签。 4.4.4 键盘程序设计.............................错误!未定义书签。 4.4.5 报警程序设计.............................错误!未定义书签。 4.4.6 通信模块程序设计.........................错误!未定义书签。 第五章调试与小结..................................错误!未定义书签。致谢...............................................错误!未定义书签。参考文献...........................................错误!未定义书签。附录...............................................错误!未定义书签。系统电路图.......................................错误!未定义书签。系统程序.........................................错误!未定义书签。

基于51单片机的温度警报器的设计

西安文理学院物理与机械电子工程学院课程设计任务书

目录 摘要 (3) 1 引言 (3) 1.1课题背景 (3) 1.2研究内容和意义 (5) 2 芯片介绍 (5) 2.1 DS18B20概述 (5) 2.1.1 DS18B20封装形式及引脚功能 (6) 2.1.2 DS18B20内部结构 (6) 2.1.3 DS18B20供电方式 (9) 2.1.4 DS18B20的测温原理 (10) 2.1.5 DS18B20的ROM命令 (11) 2.2 AT89C52概述 (13) 2.2.1单片机AT89C52介绍 (13) 2.2.2功能特性概述 (13) 3 系统硬件设计 (13) 3.1 单片机最小系统的设计 (13) 3.2 温度采集电路的设计 (14) 3.3 LED显示报警电路的设计 (15) 4 系统软件设计...................................................15 4.1 流程图........................................................15 4.2 温度报警器程序.................................................16 4.3 总电路图..................................................... 19 5总结 (20)

摘要 随着时代的进步和发展,温度的测试已经影响到我们的生活、工作、科研、各个领域,已经成为了一种非常重要的事情,因此设计一个温度测试的系统势在必行。 本文主要介绍了一个基于AT89C52单片机的数字温度报警器系统。详细描述了利用数字温度传感器DS18B20开发测温系统的过程,重点对传感器在单片机下的硬件连接,软件编程以及各模块系统流程进行了详尽分析,对各部分的电路也一一进行了介绍,该系统可以方便的实现温度的采集和报警,并可以根据需要任意上下限报警温度,它使用起来相当方便,具有精度高、量程宽、灵敏度高、体积小、功耗低等优点,适合于我们日常生活和工、农业生产中的温度测量,也可以当做温度处理模块潜入其他系统中,作为其他主系统的辅助扩展。DS18B20与AT89C52结合实现最简温度报警系统,该系统结构简单,抗干扰能力强,适合于恶劣环境下进行现场温度测量,有广泛的应用前景。 关键词:单片机;温度检测;AT89C52;DS18B20; 1 引言 1.1课题背景 温度是工业对象中主要的被控参数之一,如冶金、机械、食品、化工各类工业生产中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的温度处理要求严格控制。随着科学技术的发展,要求温度测量的范围向深度和广度发展,以满足工业生产和科学技术的要求。 基于AT89C51单片机提高了系统的可移植性、扩展性,利于现代测控、自动化、电气技术等专业实训要求。以单片机为核心设计的温度报警器,具有安全可靠、操作简单方便、智能控制等优点。 温度对于工业生产如此重要,由此推进了温度传感器的发展。温度传感器主要经过了三个发展阶段[1]: (1)模拟集成温度传感器。该传感器是采用硅半导体集成工艺制成,因此亦称硅传感器或单片集成温度传感器。此种传感器具有功能单一(仅测量温度)、

WZPK型温度传感器使用说明书

WZPK型温度传感器 使用说明书 泰兴市热工仪表厂2015年01月10日

隔爆温度传感器 ■应用 通常和显示仪表、记录仪表、电子计算机等配套使用。直接测量生产现场存在碳氢化合物等爆炸的0~500℃范围内液体、蒸汽和气体介质以及固体表面温度。 ■特点 ●压簧式感温元件,抗振性能好; ●测量范围大; ●毋须补偿导线,节省费用; ●进口薄膜电阻元件,性能可靠稳定。 ●防爆标志:Ex dⅡBT1~T5,防爆合格证号:GYB ■主要技术参数 ●产品执行标准 JB/T8622-1997 《工业铂热电阻技术条件》 《爆炸性气体环境用电气设备第1部分:设备通用要求_部分2》和《爆炸性气体环境用电气设备第2部分:隔爆型“d”保护的设备》,《设备保护等级(EPL)为Gb级的设备产品防爆标志为Ex d ⅡB T1~T5 Gb ■常温绝缘电阻 防爆热电阻在环境温度为15~35℃,相对湿度不大于80%,试验电压为10~100V(直流)电极及外套管之间的绝缘电阻≥100MΩ.m。

■测温范围及允差 ●测温范围及允差 注:t为感温元件实测绝对值。 ●防爆分组形式 d Ⅱ□ T □ 温度组别:T1~T5 防爆等级:A、B、C 工厂用电气设备 d:隔爆型 ai:本质安全型 ○电气设备类别 Ⅰ类——煤矿井下用电气设备 Ⅱ类——工厂用电气设备 ○防爆等级 防爆热电偶的防爆等级按其使用于爆炸性气体混合物最大安

全间隙分为A、B、C三级。 ○温度组别 防爆热电偶的温度组别按其外漏部分允许最高表面温度分为T1~T5 ●防爆等级 ●Exd Ⅱ□T□ ●Exia Ⅱ□T□ ●防护等级:IP65 ■接线盒形式

基于51单片机DS18B20温度传感器的C语言程序和电路

基于51单片机DS18B20温度传感器的C语言程序和电路 DS18B20在外形上和三极管很像,有三只脚。电压范围为3.0 V至5.5 V 无需备用电源测量温度位温度转换为12位数字格式最大值为750毫秒用户可定义的非易失性温度报警设置应用范围包敏感系统。 下面是DS18B20的子程序,本人用过完全可行的: #include #include #define uchar unsigned char #define uint unsigned int sbit DQ=P2^0; void reset(); //DS18B20 void write_byte(uchar val); //DS18B20写命令函数 uchar read_byte(void); //DS18B20读1字节函数 void read_temp(); //温度读取函数 void work_temp(); //温度数据处理函数 uchar data temp_data[2]={0x00,0x00}; uchar data display[5]={0x00,0x00,0x00,0x00,0x00}; //对于温度显示值值 uchar code ditab[16]={0x00,0x01,0x01,0x02,0x03,0x03,0x04,0x04,0x05,0x06,0x06,0x07,0x0数部分查表 main() { while(1) { 自己添加; } } void delay1(uint t) { for(;t>0;t--); } ///////温度控制子函数 void reset() { uchar presence=1; while(presence) { while(presence) {

单片机温度传感器设计报告

泰州职业技术学院 电子与信息工程系 课程名称: 51单片机开发 课题名称:用1602LCD与DS18B20设 计的温度报警器 班级: 10信息 课题小组成员:林淑云朱翠竹 刘苏慧 指导老师:蔡菁

摘要 现代社会是信息社会,随着现代农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度,所以对于温度的测量控制具有十分重要的意义。 随着全球温度的普遍升高,高温火灾更是无处不在:电气线路短路、过载、接触电阻过大等引发高温火灾;静电产生高温火灾;雷电等强电入侵导致高温火灾;最主要是机房内电脑、空调等用电设备长时间工作,导致设备老化,空调发生故障,而不能降温。因此,机房内所属的电子产品发热快,在短时间内机房温度升高超出设备正常温度,导致系统瘫痪或产生火灾,这时温度报警系统就会发挥应有的功能。 本课题介绍的就是利用温度传感DS18B20制作的温度报警器,自动测量当前环境温度。由单片机AT89C52控制,并通过1602LCD显示,若当前环境温度超过此温度,系统发出报警。

目录 一、系统总体设计要求 二、系统硬件设计 三、系统程序设计 四、调试与性能分析 五、源程序清单 六、心得体会

一、系统总体设计要求 1. 本设计采用集成温度传感器的的s18b20,设计一个数字显示的温度报警器。定安全温度值范围为20°C~30°C(可根据具体需要在程序中进行调整),对在这一范围内的温度变化采集后送入A/D转换器,A/D转换器的模拟电压范围为0~5V。例如传感器采集的温度为25°C,则对应液晶显示器的显示值为25°C。而温度高出30°C或者低于20°C时,不在安全温度范围之内,喇叭会进行报警、二极管发光显示 2 总体设计框图 本设计采用AT89C52作为主控芯片,蜂鸣器作为输出设备产生报警声,LCD1602能够实时的显示当前的的温度。其中P3.3和P3.2外接按键,P0口用作LCD输出数据端口,P2.3接蜂鸣器端口。详细原理图见附件 设计框图如图一所示。

GFSIGNET2350温度传感器操作说明书.

? SIGNET 2820 Series Conductivity Sensor Instruction Manual ENGLISH 1. Wiring 2. Recommended Position 3. 2819/2820/2821 In-line Installation SAFETY INSTRUCTIONS FOR IN-LINE ELECTRODE INSTALLATION 1.Do not remove from pressurized lines.2.Do not exceed maximum temperature/pressure specifications.3.Wear safety goggles or face shield during installation/service.4.Do not alter product construction. Failure to follow safety instructions may result in severe personal injury! Customer supplied pipe tee/reducer Standard fitting kit Hole up Mark hole position 3/4 in. NPT Hand tighten only! Optional fitting kit Hole up Mark hole position

Customer supplied pipe tee/reducer 1/2 in. NPT Hand tighten only! O-ring O-ring Sealant Sealant +GF + SIGNET 5800CR ?Use three conductor shielded cable for cable extensions up to 30 m (100 ft max.? Shield must be maintained through cable splice RED WHITE BLACK SILVER (SHLDS h l d S i g n a l I N T e m p . I N I s o . G n d CH 2 CH 1 RED SILVER (SHLD BLACK

基于51单片机的数字温度报警器

摘要:随着传感器在生产生活中更加广泛的应用,一种新型的数字式温度传感器实现对温度的测试与控制得到了更快的开发。本文设计了一种基于单片机AT89C52的温度检测及报警系统。该系统将温度传感器DS18B20接到单片机的一个端口上,单片机对温度传感器进行循环采集。将采集到的温度值与设定的上下限进行比较,当超出设定范围的上下限时,通过单片机控制的报警电路就会发出报警信号,从而实现了本次课程设计的要求。该系统设计和布线简单、结构紧凑、体积小、重量轻、抗干扰能力较强、性价比高、扩展方便,在工农业等领域的温度检测中有广阔的应用前景。本次课程设计的测量范围为0℃--99℃,测量误差为±2℃。 关键字:温度传感器、单片机、报警、数码管显示 一、概述 本次设计可以应用到许多我们用过的软件设计,将前面所学的知识融汇在一起实现温度监测及其报警的功能,来提醒农民当前大棚内温度是否适合农作物的生长。 电子技术是在十九世纪末、二十世纪初开始发展起来的新兴技术,在二十世纪发展最迅速,应用最广泛,成为近代科学技术发展的一个重要标志。 随着电子技术的飞速发展,电子技术在日常生活中得到了广泛的应用,各类转换电路的不断推出以及电子产品的快速更新,电子技术已成为世界发展和人们生活中必不可少的工具。 本次课设应用Protues软件设计一个温度检测报警系统,用温度传感器DS18B20采集大棚内的温度,当大棚内的温度高于30℃。或低于15℃。时,电路发出报警信号并显示当前温度,达到提醒农民的效果。 本次课设要求设计一个温度监测报警显示电路,要求温度范围:0℃--99℃;测量误差为±2℃;报警下限温度为:15℃;报警上限温度为:30℃。 二、方案论证 设计一个用于温室大棚温度监测系统。大棚农作物生长时,其温度不能太低,也不能太高,太低或太高均不适合农作物生长。该系统可实时测量、显示大棚的温度,当大棚温度超过农作物生长的温度范围时,报警提醒农民。 方案一: 方案一原理框图如图1所示。 图1 大棚温度检测系统的原理框图 方案二: 方案二原理框图如图2所示。

基于单片机数字控温器实验报告

重庆交通大学 课外实践报告 题目:基于单片机数字控温器 姓名:罗杰 专业:电子信息工程 班级:2011 级4 班 学号:631106020405 指导老师:王淑良

目录 设计目的-------------------------------------------------------------------------- 1 设计要求----------------------------------------------------------- ---------------1 设计方案--------------------------------------------- 1 系统工作原理-------------------------------------------------------------------- 2 各部分电路的设计和芯片的结构功能作用-------------------------------- 2 单片机程序(C语言程序)------------------------------------------------------ 11 设计总结------------------------------------------- 20 一、设计目的

1、系统地运用已学的理论知识解决实际问题的能力和查阅资料的能力。培养一定 的自学能力和独立分析问题、解决问题的能力,和团队协作能力,能通过独立思考、查阅工具书、参考文献,寻找解决方案。 2、能设计、安装和调试数显温度测试控制系统,并能利用模拟和数字电路和单片 机的知识分析和解决设计、安装和调试中遇到的实际问题。 3、能熟练的设计并良好的印制PCB电路板。 4、对温度的控制要求尽量的高效,精确。 二、设计要求 1、 (1)温度控制范围为30度~100度之间; (2)可键盘设置控制温度值,并显示; (3)数字显示水的实际温度; (4)设置温度控制值和检测值之间的误差在±1度; 2、发挥部分 (1)设计温度报警电路; (2)升温或降温在5—10分钟之内完成; 三、设计方案 方案:用控制器MCS-51系列单片机和数字传感器DS18B20来进行控制,并用七段数码显示管来显示温度,在程序中来设置温度的上下限,当温度超出上下限时,由单片机发出控制信号,外界控制电路接收信号并作相应的响应来调节温度。此为全控制型,最为简便。 四、系统工作原理 1、系统的总体结构图如下:

AT89C51单片机温度控制系统

毕业设计(论文) 论文题目:AT89C51单片机温度控制系统 所属系部:电子工程系 指导老师:职称: 学生姓名:班级、学号: 专业:应用电子技术 2012 年05 月15 日

毕业设计(论文)任务书 题目:AT89C51单片机温度控制系统 任务与要求:设计并制作一个能够控制1KW电炉的温度控制系统,控制温度恒定在37--38度之间。 时间:年月日至年月日 所属系部:电子工程系 学生姓名:学号: 专业:应用电子技术 指导单位或教研室:测控技术教研室 指导教师:职称: 年月日

摘要 本设计是以一个1KW电炉为控制对象,以AT89C51为控制系统核心,通过单片机系统设计实现对保电炉温度的显示和控制功能。本温度控制系统是一个闭环反馈调节系统,由温度传感器DS18B20对保炉内温度进行检测,经过调理电路得到合适的电压信号。经A/D转换芯片得到相应的温度值,将所得的温度值与设定温度值相比较得到偏差。通过对偏差信号的处理获得控制信号,去调节加热器的通断,从而实现对保温箱温度的显示和控制。本文主要介绍了电炉温度控制系统的工作原理和设计方法,论文主要由三部分构成。①系统整体方案设计。②硬件设计,主要包括温度检测电路、A/D转换电路、显示电路、键盘设计和控制电路。③系统软件设计,软件的设计采用模块化设计,主要包括A/D转换模块、显示模块等。 关键词:单片机传感器温度控制

目录 绪论 (1) 第一章温度控制系统设计和思路 (2) 1.1温度控制系统设计思路 (2) 1.2 系统框图 (2) 第二章 AT89C51单片机 (3) 2.1 AT89C51单片机的简介 (3) 2.2 AT89C51单片机的主要特性 (3) 2.3 AT89C51单片机管脚说明 (4) 第三章温度控制的硬件设备 (6) 3.1温度传感器简介 (6) 3.2 DS18B20工作原理 (7) 3.3 DS18B20使用中注意事项 (8) 第四章系统硬件设计 (9) 4.1温度采集电路 (9) 4.2 数码管温度显示电路 (9) 4.2.1 数码管的分类 (9) 4.2.2 数码管的驱动方式 (10) 4.2.3 恒流驱动与非恒流驱动对数码管的影响 (11) 4.3 单片机接口电路 (12) 4.3.1 P0口的上拉电阻原理 (12) 4.3.2 上拉电阻的选择 (14) 4.4 单片机电源及下载线电路 (14) 4.5 温度控制电路 (15) 第五章温度控制的软件设计 (17) 5.1 数码管动态显示 (17) 5.2 DS18B20初始化 (17) 5.3 系统流程图 (19) 谢辞 (20) 参考文献 (21) 附录 (22)

T255温度传感器使用说明

T255温度传感器使用说明 T255温度传感器是一款用来检测功率半导体温升的理想模拟器件,主要配合运放整形或直接送入单片机A/D口采集温度信息,并作出实时显示或过温保护等动作。 T255是以其阻值变化来反映温度变化的,故选用相应电阻分压来获取对应电压值是非常重要的参数。 典型:R(25℃)=5.000kΩ ,静动态特性好,灵敏度高。 阻值-温度特性表 温度℃ 阻值KΩ 温度℃ 阻值KΩ 温度℃ 阻值KΩ 温度℃ 阻值KΩ -20 37.49 11 8.801 42 2.674 73 0.980 -19 35.53 12 8.439 43 2.582 74 0.951 -18 33.76 13 8.093 44 2.493 75 0.923 -17 32.09 14 7.764 45 2.409 76 0.896 -16 30.52 15 7.451 46 2.327 77 0.870 -15 29.03 16 7.151 47 2.249 78 0.844 -14 27.62 17 6.866 48 2.174 79 0.820 -13 26.29 18 6.593 49 2.102 80 0.796 -12 25.03 19 6.333 50 2.032 81 0.773 -11 23.84 20 6.085 51 1.966 82 0.751 -10 22.72 21 5.848 52 1.902 83 0.729 -9 21.65 22 5.621 53 1.840 84 0.709 -8 20.64 23 5.405 54 1.780 85 0.689 -7 19.68 24 5.198 55 1.723 86 0.670 -6 18.77 25 5.000 56 1.668 87 0.650 -5 17.91 26 4.811 57 1.615 88 0.632 -4 17.10 27 4.630 58 1.564 89 0.614 -3 16.32 28 4.457 59 1.514 90 0.597 -2 15.59 29 4.291 60 1.467 91 0.581 -1 14.89 30 4.132 61 1.421 92 0.565 0 14.23 31 3.980 62 1.376 93 0.549 1 13.60 3 2 3.835 6 3 1.33 4 94 0.534 2 13.01 3 3 3.696 6 4 1.292 9 5 0.520 3 12.4 4 34 3.562 6 5 1.252 9 6 0.506 4 11.90 3 5 3.434 6 6 1.214 9 7 0.492 5 11.39 3 6 3.311 6 7 1.177 9 8 0.479 6 10.90 3 7 3.194 6 8 1.141 9 9 0.466 7 10.44 38 3.081 69 1.107 100 0.453 8 10.00 39 2.973 70 1.073 9 9.580 40 2.869 71 1.041 10 9.181 41 2.769 72 1.010

温度传感器实验设计概要

成都理工大学工程 技术学院 单片机课程设计报告 数字温度计设计

摘要 在这个信息化高速发展的时代,单片机作为一种最经典的微控制器,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,作为自动化专业的学生,我们学习了单片机,就应该把它熟练应用到生活之中来。本文将介绍一种基于单片机控制的数字温度计,本温度计属于多功能温度计,可以设置上下报警温度,当温度不在设置范围内时,可以报警。本文设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。 关键词:单片机,数字控制,数码管显示,温度计,DS18B20,AT89S52。

目录 1概述 (4) 1.1设计目的 (4) 1.2设计原理 (4) 1.3设计难点 (4) 2 系统总体方案及硬件设计...................................................... 错误!未定义书签。 2.1数字温度计设计方案论证 (4) 2.2.1 主控制器 (5) 2.4 系统整体硬件电路设计 (7) 3系统软件设计 (8) 3.1初始化程序 (8) 3.2读出温度子程序 (9) 3.3读、写时序子程序 (10) 3.4 温度处理子程序 (11) 3.5 显示程序 (12) 4 Proteus软件仿真 (13) 5硬件实物 (14) 6课程设计体会 (15) 附录1: (14) 附录2: (21)

1概述 1.1设计目的 随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展。 本设计所介绍的数字温度计与传统的温度计相比,具有读数方便,测温范围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,可广泛用于食品库、冷库、粮库、温室大棚等需要控制温度的地方。目前,该产品已在温控系统中得到广泛的应用。 1.2设计原理 本系统是一个基于单片机AT89S52的数字温度计的设计,用来测量环境温度,测量范围为-50℃—110℃度。整个设计系统分为4部分:单片机控制、温度传感器、数码显示以及键盘控制电路。整个设计是以AT89S52为核心,通过数字温度传感器DS18B20来实现环境温度的采集和A/D转换,同时因其输出为数字形式,且为串行输出,这就方便了单片机进行数据处理,但同时也对编程提出了更高的要求。单片机把采集到的温度进行相应的转换后,使之能够方便地在数码管上输出。LED采用三位一体共阳的数码管。 1.3设计难点此设计的重点在于编程,程序要实现温度的采集、转换、显示和上下限温度报警,其外围电路所用器件较少,相对简单,实现容易。 2 系统总体方案及硬件设计 2.1数字温度计设计方案论证 由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D 转换电路,感温电路比较麻烦。进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。 2.2总体设计框图 温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,用3位共阴LED数码管以串口传送数据实现温度显示。

基于单片机的温度传感器的设计说明

基于单片机的温度传感器 的设计 目录 第一章绪论-------------------------------------------------------- ---2 1.1 课题简介 ----------------------------------------------------------------- 2 1.2 设计目的 ----------------------------------------------------------------- 3 1.3 设计任务 ----------------------------------------------------------------- 3 第二章设计容与所用器件 --------------------------------------------- 4第三章硬件系统设计 -------------------------------------------------- 4 3.1单片机的选择------------------------------------------------------------- 4 3.2温度传感器介绍 ---------------------------------------------------------- 5 3.3温度传感器与单片机的连接---------------------------------------------- 8 3.4单片机与报警电路-------------------------------------------------------- 9 3.5电源电路----------------------------------------------------------------- 10 3.6显示电路----------------------------------------------------------------- 10 3.7复位电路----------------------------------------------------------------- 11 第四章软件设计 ----------------------------------------------------- 12 4.1 读取数据流程图--------------------------------------------------------- 12 4.2 温度数据处理程序的流程图 -------------------------------------------- 13 4.3程序源代码 -------------------------------------------------------------- 14

单片机实训实验报告

单片机实训实验报告 课题:单片机实训 院系:电子信息工程学院 班级 学号: 姓名: 指导老师:熊老师、罗老师 日期:2011.6.10

一、硬件系统 1、自制单片机实验板由七部分组成: (1).8路跑马灯 (2)动态扫描共阳型数码管 (3)4X4矩阵键盘 (4)蜂鸣器 (5)4路独立键盘 (6)温度传感器 (7)I2C通信方式的EEPROM芯片24C02 二、Keil C u Vision2 简述与使用 1.打开 u Vision2 2.新建工程:菜单【project】→【New Project】选择工程存放的路径,并输入工程文件名,然后点“保存” 3.进入器件选择界面树列表框内选择“Atmel”→“AT89C52”,然后点“确定”完成器件选择。 4.编辑源程序: 新建文件:菜单【File】→【new…】。然后输入代码,编辑完成后菜单【File】→【Save】或【Save As…】把代码文件存入硬盘。C源文件存为.C后缀,汇编源文件存为.a或.src后缀,并存放在同一个工程文件夹下。 5.加入源文件到工程中: 在左边浮动窗口【File】选项卡里展开“Target 1”树,在“Source Group 1”上右键单击,弹出菜单,选【Add File to Group“Source Group 1”】,选择需要加入的源文件,点“Add”按钮加入,加入完成后按“Close”关闭。 6.设置编译选项:先选中左边浮动窗口【File】选项卡里“Target1“树节点,然后选菜单【Project】→【Options for Target “Target 1”】。 7.在弹出的“Options for Target “Target 1””对话框中选择[output]选项卡,勾选“Create HEX File”然后按“确定”完成设置。 8.按“F7”开始编译,编译成功后会在工程文件夹内生成.Hex目标文件生成的.hex文件就可以用来对AT89S52芯片进行编程和运行了。 三.STC-ISP V29 Beta5 下载软件的使用 1.连接好电源线与串口线(附件中的九孔对九孔线分别连接电脑和点偏激开发板)。 2.检查电源板上电源指示灯是否亮起,如果亮起则检查USB电源线,如果已亮则关掉电源看后面的步骤。 3.启动软件。 4.选择好STC单片机的型号(STC89CF52RC). 5.选择好你使用的计算机串口号. 6.点击OPEN FILE选择你用KEIL编译好的HEX文件.

相关主题
文本预览
相关文档 最新文档