单片机课程设计-——多路温度检测及报警系统

单片机课程设计-——多路温度检测及报警系统
单片机课程设计-——多路温度检测及报警系统

辽东学院信息技术学院

微控制器原理与接口技术课程设计报告

设计题目:多路温度检测及报警系统

专业班级:电子信息工程、B1006

姓名:田洪雨

教师评语:

成绩评阅教师张俊芳日期

一、摘要

本课程设计是基于DS18B20在LCD1602液晶显示的多路温度检测及报警系统。本课题以AT89C51单片机系统为核心,能对多点温度进行实时巡检。DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松的组建起传感器网络,并可使多点温度测量电路变得简单、可靠。本文结合实际使用经验,介绍了DS18B20温度传感器在单片机下的硬件连接及软件编程,并给出了软件流程图。

关键词:DS18B20、LCD1602、高低温报警

二、课程设计目的

通过《单片机原理与应用》课程设计,使学生掌握单片机及其扩展系统设计的方法和设计原则及相应的硬件调试的方法。进一步加深单片机及其扩展系统设计和应用的理解。

三、课程设计题目

多路温度检测及报警系统

四、课程设计内容及要求

1、设计内容:

1)有上电指示灯;

2)能正确手动复位;

3)有4位数码管显示,能按照分秒进制显示时间;

4)自定义的扩展功能。

2、设计要求:

1)独立设计原理图及相应的硬件电路。

2)针对选择的设计题目,设计系统软件。软件要做到:操作方便,实用性强,稳定可靠。

3)设计说明书格式规范,层次合理,重点突出。并附上设计原理图及相应的源程序。

五、系统硬件电路设计

系统主要由硬件和软件两大部分构成,当接收到系统发出的温度转换命令后, DS18B20开始进行温度转换操作并把转化后的结果放到16 位暂存寄存器中的温度寄存器内,然后与系统进行数据通信,系统将温度读出并驱动LED 数码管显示。如果温度值低于设定下限值或高于设定上限值,则自动启动报警装置。

由于DS18B20 单总线通信功能是分时完成的,它有严格的时隙概念,因此

读写时序很重要。该系统结构图

1、单片机最小系统电路设计

AT89S51 是低电压,高性能 CMOS 8

位单片机,片内含 8k

bytes 的可反复擦写的

Flash 只读程序存储器和

256 bytes

的随机存取数据存储器(RAM ),器件采用高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及8052产品引脚兼容,片内置通用8位中央处理器(CPU )和 Flash 存储单元,功能强大 AT89S51单片机适合于许多较为复杂控制应用场合。AT89S51单片机为40引脚双列直插芯片,有四个I/O 口P0、P1、P2、P3,每一条I/O 线都能独立地作输出或输入。AT89S51 DIP 管脚封装

单 片 机 AT89S51

按键电路

复位电路

报警电路

显示电路

测温电路

AT89S51其结构图如图所示

(1)一个8位微处理器CPU

(2)片内数据存储器RAM和特殊功能寄存器SFR

(3)片内程序存储器ROM

(4)两个定时/计数器T0、T1,可用作定时器,也可用以对外部脉冲进行计数(5)四个8位可编程的并行I/O端口,每个端口既可作输入,也可作输出(6)一个串行端口,用于数据的串行通信

(7)中断控制系统

(8)内部时钟电路

功能特性概述:AT89S51 提供以下标准功能:8k字节 Flash 闪速存储器,256字节内部 RAM,32 个 I/O 口线,3 个 16 位定时/计数器,一个 6 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S52 可降至 0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

单片机AT89S52的P0口作为输入口。P0与DS12887的AD相连,进行时间图2-3数据的采集;P3.7(RD)与DS12887的17脚DS相连,P3.3与DS12887的19脚IRQ相连,P2.7与DS12887的13脚CS相连;30脚ALE与DS12887的14脚AS相连。单片机的第18引脚和19引脚接时钟电路,XTAL1接外部晶振和微调电容的一端,XTAL2接外部晶振和微调电容的另一端。对外接电容的值虽然没

图2-4 主控电路及其最小系统电路图

有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。因此,此系统电路的晶体振荡器的值为11.0592MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。第9引脚为复位输入端,接上电容,电阻后构成上电复位电路。20引脚为接地端,40引脚为电源端。/EA 端(31引脚)接+5V电压。由此就构成了单片机主控模块的最小系统,如图2-4

所示。

2、DS18B20电路设计

DSl820数字温度计是美国Dallas公司生产的数字温度计,它提供9位(二进制)温度读数,指示器件的温度。信息经过单线接口送入DSl8B20或从DSl8B20送出,因此从主机CPU到DSl8B20仅需一条线。DSl820的电源可以由数据线本身提供而不需要外部电源。因为每一个DSl820在出厂时已经给定了唯一的序号,因此任意多DSl820可以存放在同一条单线总线上。这允许在许多不同的地方放置温度敏感器件。DSl820的测量范围从-55到+125,增量值为0.5,可在l s(典型值)内把温度变换成数字。每一个DSl820包括一个唯一的64位长的序号,该

序号值存放在DSl820内部的ROM(只读存贮器)中。开始8位是产品类型编码(DSl820编码均为10H)。接着的48位是每个器件唯一的序号,最后8位是前面56位的CRC(循环冗余校验)码。

以下是DS18b20的内部结构图。

DS18B20有4个主要的数据部件:

① 64位激光ROM。64位激光ROM从高位到低位依次为8位CRC、48位序列号和8位家族代码(28H)组成。

②温度灵敏元件。

③非易失性温度报警触发器TH和TL。可通过软件写入用户报警上下限值。

④配置寄存器。配置寄存器为高速暂存存储器中的第五个字节。DS18B20在0工作时按此寄存器中的分辨率将温度转换成相应精度的数值

DS18B20的测温范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃。在电压低于3.4v时精度误差较大。在本系统中使用了两个DS18b20温度传感器,测温范围为0℃~100℃,另外根据器件稳定工作的特点,考虑到驱动能力的不足,采用外加5V电源以满足传感器精度高的要求。

本系统为多点温度测试。DS18B20采用外部供电方式,理论上可以在一根数据总线上挂256个DS18B20,但实际应用中发现,如果挂接20个以上的DS18B20就会产生功耗问题。另外单总线长度也不宜超过0.5M,否则会影响到数据的传输。在这种情况下我们可以采用分组的方式,用单片机的多个I/O来驱动多路DS18B20。在实际应用中还可以使用一个MOSFET将I/O口线直接和电源相连,起到上拉的作用。在本电路板的设计中考虑到初步实践的准确性,暂使用2个DS18B20连接单片机的P3.2口。

对DS18B20的设计,需要注意以下问题

(1)对硬件结构简单的单线数字温度传感器DS18B20 进行操作,需要用较为复杂的程序完成。编制程序时必须严格按芯片数据手册提供的有关操作顺序进行,读、写时间片程序要严格按要求编写。尤其在使用DS18B20 的高测温分辨力时,对时序及电气特性参数要求更高。

(2)有多个测温点时,应考虑系统能实现传感器出错自动指示,进行自动DS18B20 序列号和自动排序,以减少调试和维护工作量。

(3)测温电缆线建议采用屏蔽4 芯双绞线,其中一对线接地线与信号线,另一组接VCC和地线,屏蔽层在源端单点接地。DS18B20 在三线制应用时,应将其三线焊接牢固;在两线应用时,应将VCC与GND接在一起,焊接牢固。若VCC脱开未接,传感器只送85.0 ℃的温度值。

(4)实际应用时,要注意单线的驱动能力,不能挂接过多的DS18B20,同时还应注意最远接线距离。另外还应根据实际情况选择其接线拓扑结构。

3、LCD1602电路设计

由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。体积小、重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。LCD1602的实物图如图4,主要参数如下:

·显示容量:16×2个字符

·芯片工作电压:4.5—5.5V

·工作电流:2.0mA(5.0V)

·模块最佳工作电压:5.0V

·字符尺寸:2.95×4.35(W×H)mm

1602液晶显示采用标准的16脚接口,其中:(模块背面有标注)

第1脚:VSS为地电源

第2脚:VDD接5V正电源

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:RW为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址;当RS为高电平、RW 为低电平时可以写入数据。

第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。

第7~14脚:D0~D7为8位双向数据线。

第15~16脚:空脚

1602液晶模块内部的字符发生存储器(CGROM)已经存储了不同的点阵字符图形,这些字符有,阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,其中数字与字母同ASCII码兼容。

它的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明:1为高电平、0为低电平)

指令1:清显示,指令码01H,光标复位到地址00H位置

指令2:光标复位,光标返回到地址00H

指令3:光标和显示模式设置I/D:光标移动方向,高电平右移,低电平左移S:屏幕上所有文字是否左移或者右移。高电平表示有效,低

电平则无效

指令4:显示开关控制。D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示C:控制光标的开与关,高电平表示有光标,低

电平表示无光标B:控制光标是否闪烁,高电平闪烁,低电平不闪

指令5:光标或显示移位S/C:高电平时移动显示的文字,低电平时移动光标

指令6:功能设置命令DL:高电平时为4位总线,低电平时为8位总线N:

低电平时为单行显示,高电平时双行显示F: 低电平时显示5x7

的点阵字符,高电平时显示5x10的点阵字符(有些模块是DL:

高电平时为8位总线,低电平时为4位总线)

指令7:字符发生器RAM地址设置指令8:DDRAM地址设置

指令9:读忙信号和光标地址BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。

指令10:写数据

指令11:读数据

指令表:

序号指令RS RW 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 字符发生存贮器地址

发生器地址

0 0 1 显示数据存贮器地址

8 置数据

存贮器地址

0 1 BF 计数器地址

9 读忙标志

和地址

10 写数据到指令

1 0 要写的数据

7.8所设地址

1 1 读出的

11 从指令7.8所设

的地址读数据

六、系统软件设计

软件是系统的主要组成部分,也是整个调试的重点和难点工作。本系统的软件由C语言编写,程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量的当前温度值。

开始

执行初始化时序

发出跳过ROM

匹配命令

启动温度转换

延时750mS等待

温度转换完成

执行初始化时序

发出匹配

ROM命令

1

CRC 校练

正确?

温度数据格式转换

结束

读取便笺存储器内

容并进行CRC 校练

发出读便笺

存储器命令

发出64位序列号

1

N

Y

七、实验结果

当温度小于10度或者高于60度时,报警灯亮。

八、心得体会

本次课程设计再一次的加深了我们对控制理论与单片机控制技术的理解,锻炼了我们的实践能力。在本次课程设计以前,我一直认为我已经把单片机学懂了,谁知道到了课程设计的时候才发现原来并不是那么一回事,学海无涯,我也终于对这句话有了更深刻的认识。

通过两周的单片机综合课程设计,我巩固了以前学的知识,并学了些新的东西,做课设之前我们找了很多的资料,仔细研究了所需器件的说明书,通过看说明书我知道了各个部件的连线,主要是串口通信的研究,以前我们做系统都是由单机组成的,这种只能是很小的系统,大系统为了实现其功能常常需要多机通信。从做这次课设,我收获还是很多的,要问从这次课设学到什么,那就是持之以恒,无论遇到多大的难题都要想办法去解决。而且任何难题都有解决的办法,只要你坚持不懈,努力探索,终会找到。

通过这次课设,我们学到的不仅是理论知识,并且学到了很多的生活知识,每天我都在付出没有浪费这三周的时间,付出才有收获,当我们成功时内心很高兴。我们只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做多机通信,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固,通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在此要感谢胡老师对我们悉心的指导与帮助。在设计过程中,我通过查阅大量有关资料,与同学交流经验和自学,并上网查找等方式,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。在整个设计中我懂得了许多东西,也培养了我独立工作的能力。相信会对今后的学习工作生活有非常重要的影响。而且大大提高了缜密思考的能力,使我充分体会到了在创造过程中探索的艰难和成功时的喜悦。虽然这个设计做的也不太好,但是在设计过程中所学到的东西是这次课程设计的最大收获和财富,使我受益颇多。

附录A:电路原理图

附录B:程序清单

#include

#include

#define uint unsigned int

#define uchar unsigned char

#define data 1000

#define lcd_date P0

sbit lcd_en=P2^2;

sbit lcd_rw=P2^1;

sbit lcd_rs=P2^0;

sbit key0=P1^0;

sbit key1=P1^1;

sbit led=P1^7;

uchar code lcdtable[]={"0123456789- "};

uchar code error[12]={"no facility"};

uchar rom_id[3][8]={ {0x28,0xc4,0x14,0x11,0x00,0x00,0x00,0x89},

{0x28,0xc4,0x14,0x10,0x00,0x00,0x00,0x06}}; uchar dispbuf[8];

uchar dispbuf1[8];

uint data1=50000;

uchar tem1,tem2,temt1,temt2;

uint temper1;//温度寄存器

uint temper11;

uint temper22;

uint temper2;

uint tempert1;//温度阀值R-min

uint tempert2;//温度阀值R-max

uint tempert11;

uint tempert22;

#define NOP3() _nop_();_nop_();_nop_()

sbit DQ=P3^3;

bit flag_init; //DS18B20是否存在标志

void delay_us(unsigned int tt)

{

while(tt--)

{

;

}

}

void delay_ms(unsigned int tms) {

unsigned char i;

while(tms--)

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

;

}

void Write_com(uchar com)

{

lcd_rs=0;

lcd_rw=0;

lcd_date=com;

delay_ms(2);

lcd_en=1;

delay_ms(2);

lcd_en=0;

}

void Write_dat(uchar dat)

{

lcd_rs=1;

lcd_rw=0;

lcd_date=dat;

delay_ms(2);

lcd_en=1;

delay_ms(2);

lcd_en=0;

}

void lcd_init()

{

lcd_rw=0;

lcd_en=0;

delay_ms(15);

Write_com(0x38);

delay_ms(5);

Write_com(0x38);

delay_ms(5);

Write_com(0x38);//显示模式设置Write_com(0x08);//显示关闭

Write_com(0X01);//清屏

Write_com(0x06);//显示光标移动设置

Write_com(0X0c);//显示开及光标设置

}

/****DS18B20初始化**************************************/ void reset()

{

flag_init=1;

EA=0;

DQ=1;

NOP3();

DQ=0;

delay_us(60);//480~960us 556

DQ=1;

delay_us(5);//60us

flag_init=DQ;

delay_us(25);//241us

EA=1;

}

/****写一个字节函数*************************************/ void Write_Byte(uchar dat)

{

uchar i;

DQ=1;

EA=0;

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

{

DQ=0;

DQ=(bit)(dat&0x01);

delay_us(5);//61us

DQ=1;

dat>>=1;

}

EA=1;

}

/*****读数据函数*****************************/

uchar Read_Byte()

{

uchar i,date;

date=0;

DQ=1;

EA=0;//关中断

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

{

DQ=0;

date>>=1;

DQ=1;

NOP3();

if(DQ)

{

date|=0x80;

}

delay_us(5);//61us

}

EA=1;//开中断

return(date);

}

void match_rom(uchar rom_id[])

{

uchar n;

reset();

Write_Byte(0x33);

for(n=0;n<8;n++)

rom_id[n]=Read_Byte();

}

void get_tem()

{

uchar teml,temh;

reset();

Write_Byte(0xcc);

Write_Byte(0x44);//启动温度转换

delay_ms(800);//750ms

match_rom(0);

Write_Byte(0xbe);//读取温度转换结果teml=Read_Byte();

temh=Read_Byte();

temper11=(temh*256+teml);

if(temper11&0x8000)

{

temper1=(~temper11+1)*0.625;

tem1=1;

}

else

{

temper1=(temh*256+teml)*0.625;

tem1=0;

}

}

void get1_tem()

{

uchar teml,temh;

reset();

Write_Byte(0xcc);

Write_Byte(0x44);//启动温度转换

delay_ms(800);//750ms

match_rom(1);

Write_Byte(0xbe);//读取温度转换结果teml=Read_Byte();

temh=Read_Byte();

temper22=(temh*256+teml);

if(temper22&0x8000)

{

temper2=(~temper22+1)*0.625;

tem2=1;

}

else

{

temper2=(temh*256+teml)*0.625;

tem2=0;

}

}

update()

{

if(tem1)

{

dispbuf[0]=10;

if(temper1/100)

dispbuf[1]=temper1/100;

else

dispbuf[1]=11;

dispbuf[2]=temper1%100/10;

dispbuf[3]=temper1%10;

}

else

{

if(temper1/1000)

{

dispbuf[0]=temper1/1000;

dispbuf[1]=temper1%1000/100;

}

else

{

dispbuf[0]=11;

if(temper1/100)

dispbuf[1]=temper1/100;

else

dispbuf[1]=11;

}

dispbuf[2]=temper1%100/10;

dispbuf[3]=temper1%10;

}

if(tem2)

{

dispbuf[4]=10;

if(temper2/100)

dispbuf[5]=temper2/100;

else

dispbuf[5]=11;

dispbuf[6]=temper2%100/10;

dispbuf[7]=temper2%10;

}

else

{

if(temper2/1000)

{

dispbuf[4]=temper2/1000;

dispbuf[5]=temper2%1000/100;

}

else

{

dispbuf[4]=11;

if(temper2/100)

dispbuf[5]=temper2/100;

else

dispbuf[5]=11;

}

dispbuf[6]=temper2%100/10;

dispbuf[7]=temper2%10;

}

}

update_1()

{

if(tempert1/1000)

{

dispbuf1[0]=tempert1/1000;

dispbuf1[1]=tempert1%1000/100;

}

else

{

dispbuf1[0]=11;

if(tempert1/100)

dispbuf1[1]=tempert1/100;

else

dispbuf1[1]=11;

}

dispbuf1[2]=tempert1%100/10;

dispbuf1[3]=tempert1%10;

if(tempert2/1000)

{

dispbuf1[4]=tempert2/1000;

dispbuf1[5]=tempert2%1000/100;

}

else

{

dispbuf1[4]=11;

if(tempert2/100)

dispbuf1[5]=tempert2/100;

else

dispbuf1[5]=11;

}

dispbuf1[6]=tempert2%100/10;

dispbuf1[7]=tempert2%10;

}

ds_inti()

{

一种新型多点测温系统的设计

一种新型多点测温系统的设计 一种新型多点测温系统的设计 1温度传感器DS18B20介绍 DALLAS公司单线数字温度传感器DS18B20是一种新的“一线器件”,它具有体积小、适用电压宽等特点。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20支持“一线总线”接口,测量温度范围为-55℃~+125℃,在-10℃~+85℃范围内,精度为±0.5℃;通过编程可实现9~12位的数字值读数方式;可以分别在93.75ms和750ms内将温度值转化为9位和12位的数字量。每个DS18B20具有唯一的64位长序列号,存放于DS18B20内部ROM只读存储器中。 DS18B20温度传感器的内部存储器包括1个高速暂存RAM和1个非易失性的电可擦除E2RAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。暂存存储器包含了8个连续字节,前2字节为测得的温度信息,第1个字节为温度的低8位,第2个字节为温度的高8位。高8位中,前4位表示温度的正(全“0”)与负(全“1”);第3个字节和第4个字节为TH、TL的易失性拷贝;第5个字节是结构寄存器的易失性拷贝,此三个字节内容在每次上电复位时被刷新;第6、7、8个字节用于内部计算;第9个字节为冗余检验字节。所以,读取温度信息字节中的内容,可以相应地转化为对应的温度值。表1列出了温度与温度字节间的对应关系。 2系统硬件结构 系统分为现场温度数据采集和上位监控PC两部分。图1为系统的结构图。需要指出的是,下位机可以脱离上位PC机而独立工作。增加上位机上位机的目的在于能够更方便地远离现场实现监控、管理。现场温度采集温度采集部分采用8051单片机作为中

温度监测报警系统设计报告

目录 一、设计任务与设计要求 (1) 二、设计原理 (1) 2.1 主要硬件介绍 (1) 2.1.1 DS18B20数字温度传感器 (1) 2.1.2 AT89C51单片机芯片 (3) 2.2 系统原理结构 (3) 三、设计方案 (4) 3.1 硬件部分 (4) 3.1.1 温度测量模块 (4) 3.1.2 LED数码管显示模块 (4) 3.1.3 按键模块 (5) 3.1.4 系统整体结构仿真图 (5) 3.2 软件部分 (5) 3.2.1DS18B20传感器程序 (5) 3.2.2键盘读取及确认程序 (7) 3.2.3DS18B20操作流程图 (8) 四、调试与性能分析 (9) 4.1 proteus仿真结果 (9) 4.2实物测试 (9) 4.2.1正常情况 (9) 4.2.2报警状态 (10) 五、心得体会 (10) 六、成品展示 (11) 七、附录部分 (12) 附件一、电路设计原理图 (12) 附件二、系统设计原始代码程序 (13)

一、设计任务与设计要求 本设计主要利用单片机AT89C51 芯片和以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20相结合来实现装置周围温度的采集,其中以单片机AT89C51 芯片为核心,辅以温度传感器DS18B20和LED数码管及必要的外围电路,构成一个结构简单、测温准确、具有一定控制功能的温度监视警报装系统。 功能要求: 添加温度报警功能,通过4个按键来设置温度的上下限值,当用DS18B20 测得的温度不在所设置的温度范围内,蜂鸣器开始鸣报。 二、设计原理 2.1 主要硬件介绍 2.1.1 DS18B20数字温度传感器 DS18B20 数字温度传感器提供9~12 位摄氏温度的测量,拥有非易失性用户可编程最高与最低触发点告警功能。DS18B20 通过单总线实现通信,单总线通常是DS18B20连接到中央微控制器的一条数据线(和地)。它能够感应温度的范围为-55℃~+125℃,在-10℃~+85℃的测量的精度是±0.5℃,而且DS18B20 可以直接从数据线上获取供电(寄生电源)而不需要一个额外的外部电源。 DS18B20 使用DALLAS 独有的单总线(1—wire)协议使得总线通信只需要一根控制线,控制线需要一个较小的上拉电阻,因为所有的期间都是通过三态或开路端口连接在总线上的(DS18B20 是这种情况)。在这种总线系统中,微控制器(主器件)识别和寻址挂接在总线上具有独特64 位序列号的器件。因为每个器件拥有独特的序列号,因此挂接到总线上的器件在理论上是不受限制的,单总线(1-wire)协议包括指令的详细解释和“时隙”。这个数据表包含在单总线系统(1-WIRE BUS SYSTEM)部分。DS18B20 的另外一个特征是能够在没有外部供电的情况下工作。当总线为高的时候,电源有上拉电阻通过DQ 引脚提供,高总线信号给内部电容(Cpp)充电,这就使得总线为的时候给器件提供电源,这种从单总线上移除电源的方法跟寄生电源有关,作为一种选择,DS8B20 也可以采用引脚VDD 通过外部电源给器件供电。 DS18B20 引脚定义: (1) GND为电源地; (2) DQ为数字信号输入/输出端; (3)VDD 为外接供电电源输入端(在寄生电源接线方式时接地) 图2.1.1 DS18B20 引脚排列图

多路温度采集系统

小型多路温控采集系统设计一.系统说明

本系统采用51单片机作为控制器,控制温度采集及显示。 温度传感器选用DS18B20,其单总线的通信方式可以减少系统的线路连接。DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温。DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路。内温范围-55℃~+125℃,在-10~+85℃时精度为±℃可编程的分辨率为9~12位,对应的可分辨温度分别为℃、℃、℃和℃,可实现高精度测温。 同时本系统选用LCD1602作为显示器件,能够同时显示16x02即32个字符(16列2行)。其显示清晰,并可以显示阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,满足了系统要求。 二.系统电路图 三、程序流程图 四、程序解读 注:程序分两部分。可以先用程序二读出各个器件的序列号,再将序列号填入程序一的SN[4][8]数组中,若要加入更多的器件可以扩大数组,并在程序中增加读显的循环次数。 1.程序一:已知各个器件序列号读取温度 #include<> #define uchar unsigned char #define uint unsigned int uchar TMP[4]; 0”1”0c1”2”3”4”序二:读取DS18B20序列号程序 注:读ROM时,只能有一个器件与单片机通信。可以逐个相连来读出其ROM #include<> #define uchar unsigned char #define uint unsigned int uint sn[8]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10}; sbit DQ=P3^7;//ds18b20与单片机连接口 sbit RS=P3^0; sbit RW=P3^1; sbit EN=P3^2; void delay1ms(unsigned int ms)//延时1毫秒(不够精确的)

多路温度采集系统设计与实现

学校代码:11517 学号:201150712117 HENAN INSTITUTE OF ENGINEERING 毕业设计(论文) 题目多路温度采集系统设计与实现 学生姓名高宇照 专业班级电气工程及其自动化1121 学号201150712117 系(部)电气信息工程学院 指导教师(职称) 张秋慧(讲师) 完成时间2012 年 5 月13日

目录 摘要................................................................................................... I ABSTRACT ........................................................................................... II 1 前言 . (1) 1.1 背景介绍 (1) 1.2 研究设计意义及目的 (1) 1.3 发展情况 (2) 1.4 本设计主要内容 (3) 2 设计任务及方案论证 (4) 2.1 设计任务 (4) 2.2 设计方案的论证 (4) 2.3系统框图设计 (6) 3 多路温度采集系统硬件电路设计 (7) 3.1系统模块及模块介绍 (7) 3.1.1 系统整体模块控制 (7) 3.1.2 模块介绍及原理 (7) 3.2 系统基本硬件组成设计 (14) 3.2.1微机芯片工作电路设计 (14) 3.2.2 温度采集电路设计 (15) 3.2.3LCD1602的显示设计 (17) 3.2.4 报警电路的设计 (18) 3.2.5 电源部分的设计 (19) 3.3 系统设计的电路结构图 (21) 4 系统的软件设计 (22) 4.1 主程序设计 (22) 4.2 子程序设计 (23) 5 系统调试与性能分析 (27) 5.1 系统调试 (27) 5.2 性能分析 (29) 结论 (31) 致谢 (32)

温度检测系统汇总

机电专业课程设计温度检测系统 学生姓名李晓晓 学院中国矿业大学年级专业2011机电专本指导教师孙长青完成日期2012年6月 前言

温度是表征物体冷热程度的物理量,是工业生产和自动控制中最常见的工艺参数之一,生产过程中常常需要对温度进行检测和监控。在传统的温度测控系统设计中,往往采用模拟技术进行设计,这样就不可避免地遇到诸如传感器外围电路复杂及抗干扰能力差等问题;而其中任何一环节处理不当,就会造成整个系统性能的下降。采用数字温度传感器与单片机组成的温度检测系统进行温度检测、数值显示和数据存储,体积减小,精度提高,抗干扰能力强,并可组网进行多点协测,还可以实现实时控制等技术,在现代工业生产中应用越来越广泛。 本设计就采用以51单片机为核心,和单总线数字式温度传感器DS18B20 模拟出一温度控制系统,当温度没有超过预设温度时数码管显示当前温度,此本系统就是一个温度计。当温度超过预设温度时电路中的发光二极管就会闪烁报警,当温度降下时就停止闪烁,此时本系统就是一个温度监控器。以DS18B20 为代表的新型单总线数字式温度传感器集温度测量和A/D转换于一体,直接输出数字量,与单片机接口电路结构简单,广泛使用于距离远、节点分布多的场合,具有较强的推广应用价值。 目录

前言 (1) 1 总体设计方案 (3) 1.1设计的目的及意义 (3) 1.2总体设计思路 (3) 1.3总体设计方案设计 (3) 2 系统的硬件结构设计 (4) 2.1器件的选择 (4) 2.2电路设计及功能 (8) 2.3单片机的内部资源 (9) 2.4芯片DS18B20器件介绍 (10) 3 系统的软件设计 (13) 3.1设计的流程图 (13) 3.2系统部分程序的设计和分析 (14) 结论 (16) 附录Ⅰ程序设计 (17) 附录Ⅱ参考文献 (21) 附录Ⅲ结束语 (22) 附录Ⅳ实物照片 (23) 1 总体方案设计

温度检测和报警系统方案

目录 一、选题背景及研究意义 二、总体设计 2.1控制部分 2.2测量部分 2.3显示部分 2.4报警部分 三、硬件设计 四、软件设计 五、总结与展望

一、选题背景及研究意义 温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。 温度是一个十分重要的物理量,对它的测量与控制有十分重要的意义。随着现代工农业技术的发展及人们对生活环境要求的提高,人们也迫切需要检测与控制温度:如大气及空调房中温度的高低,直接影响着人们的身体健康;粮仓温度的检测,防止粮食发霉,最大限度地保持粮食原有新鲜品质,达到粮食保质保鲜的目的;工业易燃品的存放。 测温技术在生产过程中,在产品质量控制和监测以及节约能源等方面发挥了着重要作用。本实验设计实现了工业测温基本功能,同时,在设计实验过程中,运用到单片机、模电、数电、传感器和C++程序设计等知识,这既能加强我们的理论知识与实践的结合,也能够提高我们应用交叉学科知识进行综合设计的能力。 二、总体设计

总体设计框图: 2.1控制部分 控制部分是采用单片机STC89C52。 2.1.1 STC89C52简介 STC89C52是一种带8K字节闪烁可编程可檫除只读存储器的低电压,高性能COMOS8的微处理器,俗称单片机。该器件采用ATMEL搞密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。 单片机总控制电路如下图4—1:

2.1.2 复位操作 复位操作有上电自动复位相按键手动复位两种方式。 上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图4-2(a)所示。这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。 按键手动复位有电平方式和脉冲方式两种。其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图4-2(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的, 其电路如图4-2(c)所示:

简单多点温度测量系统课程设计

课程设计报告(2010 —2011 年度第2学期) 题目:基于DS18B20的多点温度测量系统 院系: 姓名: 学号: 专业: 指导老师: 2011年5 月22 日

目录 1设计要求…………………………………………………………………………2设计的作用、目的………………………………………………………………3设计的具体实现…………………………………………………………………. 3.1系统概述……………………………………………………………………. 3.2单元电路设计与分析……………………………………………………… 3.3电路的安装与调试…………………………………………………………4心得体会及建议………………………………………………………………… 4.1心得体会…………………………………………………………………… 4.2建议…………………………………………………………………………5附录………………………………………………………………………………6参考文献…………………………………………………………………………

基于DS12B20的多点温度测量系统设计报告 1设计要求 运用DS12B20温度测量芯片实现一个多点温度测量系统,要求如下: (1).测量点为两点。 (2).测量的温度为-40~+40°C (3).温度测量的精度为±0.5°C (4).测量系统的响应时间要小于1S。 (5).温度数据的传输方式采用串行数据传送的方式。 2 设计的作用、目的 通过本设计可以进一步了解熟悉单片机的控制原理以及外设与单片机的数据通信方法,尤其是串行通信方法以及单片机与外设间的接口问题。 本设计旨在提高学生的实际应用系统开发能力,增长学生动手实践经验,激起学生学以致用的兴趣。 3设计的具体实现 3.1系统概述 本系统分为温度采集模块、核心处理模块、控制模块和显示模块。温度采集模块由DS18B20温度测量芯片构成,它负责测量温度后将温度量转化为数字信号,传输到数据处理模块;核心处理模块由AT89S52单片机组成,它负责与温度采集模块进行数据通信、对数据进行操作处理已经对各种外设的响应与控制;控制模块由几个按键组成,实现对测量点的选择以及电路复位的操作;显示模块由一块四位的八段译码显示管和驱动芯片组成,它的作用是显示测量的温度值。 系统模块组成图:

温度测量与报警系统设计.

课程设计说明书 题目:温度测量与报警系统设计 姓名: 学号: 指导教师: 专业年级: 所在学院和系: 完成日期: 课程名称:机电一体系统设计

目录 1绪论 (1) 1.1 背景 (1) 1.1 设计要求 (1) 1.3 设计任务 (1) 2系统总体方案设计 (2) 2.1 设计思想 (2) 2.2 方案论证 (2) 2.2.1 电源模块 (2) 2.2.2 温度检测模块 (3) 2.2.3 控制模块 (3) 2.2.4 显示模块 (3) 2.2.5 报警模块 (4) 2.2.6 按键模块 (4) 2.3 芯片选择 (4) 2.3.1电源模块 (4) 2.3.2 温度检测模块 (4) 2.3.3 控制模块 (5) 2.3.4 显示模块 (5) 3系统硬件设计 (6) 3.1 单片机最小系统 (6) 3.2 传感检测电路 (6) 3.3 显示模块 (7) 3.4 报警模块 (8) 3.5 按键模块 (8) 3.6 总电路 (8) 3.6.1 绘图软件简介 (8)

3.6.2 电路原理图 (9) 3.6.3 电路PCB图 (10) 4系统软件设计 (12) 4.1 程序设计思路 (12) 4.2 主程序流程图 (12) 4.3 获取温度程序流程图 (13) 4.4 报警程序流程图 (14) 4.5 显示程序流程图 (15) 4.6 数据处理程序流程图 (15) 4.7 编程软件简介 (16) 5总结 (17) 参考文献 (18) 附录A (19) 附录B (20) 附录C (21)

1绪论 1.1 背景 温度温度是工业生产中主要的被控参数之一,与之相关的各种温度控制系统广泛应用于冶金、化工、机械、食品等领域。温度控制是工业生产过程中经常遇到的过程控制,有些工艺过程对其温度的控制效果直接影响着产品的质量;同时,温度超过了系统工作正常范围将直接影响系统的寿命,甚至损坏系统;甚至可以说任何一个系统都必须工作在一定的温度范围内,因而设计一种较为理想的温度控制系统是非常有价值的。 自18世纪工业革命以来,工业的飞速发展离不开温度参量在控制系统中的应用。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑着温度的因素。在工业生产中人们都需要对各类加热炉、热处理炉、反应炉和锅炉中的温度进行检测和控制,常用的控制电路根据应用场合和所要求的性能指标有所不同, 在工业企业中,如何提高温度控制对象的运行性能一直以来都是控制人员和现场技术人员努力解决的问题。这类控制对象惯性大,滞后现象严重,存在很多不确定的因素,难以建立精确的数学模型,从而导致控制系统性能不佳,甚至出现控制不稳定、失控现象。 1.1 设计要求 设计要求:实现温度的测量与控制。 测温范围:0~1000C;测量精度:0.10C; 设有上、下限报警温度;数码显示; 1.3 设计任务 设计任务:硬件设计(元器件选择、电路原理图与电路板图绘制等)、软件设计。

基于单片机的多路温度采集系统毕业设计(论文)外文翻译

华南理工大学学院 本科毕业设计(论文)外文翻译 外文原文名Structure and function of the MCS-51 series 中文译名MCS-51系列的功能和结构 学院电子信息工程学院 专业班级自动化一班 学生黎杰明 学生学号 3 指导教师吴实 填写日期2016年3月10日 页脚.

外文原文版出处:《association for computing machinery journal》1990, V ol.33 (12), pp.16-ff 译文成绩:指导教师(导师组长)签名: 译文: MCS-51系列的功能和结构 MSC-51系列单片机具有一个单芯片电脑的结构和功能,它是英特尔公司的系列产品的名称。这家公司在1976年推出后,引进8位单芯片的MCS-48系列计算机后于1980年推出的8位的MCS-51系列单芯片计算机。诸如此类的单芯片电脑有很多种,如8051,8031,8751,80C51BH,80C31BH等,其基本组成、基本性能和指令系统都是相同的。8051是51系列单芯片电脑的代表。 一个单芯片的计算机是由以下几个部分组成:(1)一个8位的微处理器(CPU)。(2)片数据存储器RAM(128B/256B),它只读/写数据,如结果不在操作过程中,最终结果要显示数据(3)程序存储器ROM/EPROM(4KB/8KB).是用来保存程序一些初步的数据和切片的形式。但一些单芯片电脑没有考虑ROM/EPROM,如8031,8032,80C51等等。(4)4个8路运行的I/O接口,P0,P1,P2,P3,每个接口可以用作入口,也可以用作出口。(5)两个定时/计数器,每个定时方式也可以根据计算结果或定时控制实现计算机。(6)5个中断(7)一个全双工串行的I/UART(通用异步接收器I口/发送器(UART)),它是实现单芯片电脑或单芯片计算机和计算机的串行通信使用。(8)振荡器和时钟产生电路,需要考虑石英晶体微调能力。允许振荡频率为12MHz,每个上述的部分都是通过部数据总线连接。其中CPU是一个芯片计算机的核心,它是计算机的指挥中心,是由算术单元和控制器等部分组成。算术单元可以进行8位算术运算和逻辑运算,ALU单元是其中一种运算器,18个存储设备,暂存设备的积累设备进行协调,程序状态寄存器PSW积累了2个输入端的计数等检查暂时作为一个操作往往由人来操作,谁储存1输入的是它使操作去上暂时计数,另有一个操作的结果,回环协调。此外,协调往往是作为对8051的数据传输转运站考虑。作为一般的微处理器,解码的顺序。振荡器和定时电路等的程序计数器是一个由8个计数器为2,总计16位。这是一个字节的地址,其实程序计数器,是将在个人电脑进行。从而改变它的容可以改变它的程序进行。在8051的单芯片电脑的电路,

多路温度检测.显示与报警系统设计

课程设计报告 课题多路温度检测、显示与报警系统设计小组成员 指导老师

目录 一、前言2222222222222222222222222222222222222222222222221 二、方案论证222222222222222222222222222222222222222222221 2.1测温元件的选择2222222222222222222222222222222222221 2.1.1热电偶和热电阻的选择222222222222222222222222221 2.1.2热电偶的分类22222222222222222222222222222222222 2.2采集模块的选择2222222222222222222222222222222222223 2.2.1多功能采集卡22222222222222222222222222222222223 2.2.2 USB采集卡2222222222222222222222222222222222224 2.2.3采集模块ADAM-4000系列2222222222222222222222224 2.2.4采集模块ADAM-5000系列2222222222222222222222225 三、硬件电路设计22222222222222222222222222222222222222222226 3.1系统结构方框图2222222222222222222222222222222222227 3.2采集模块与主机电路222222222222222222222222222222227 3.3采集模块与设备电路222222222222222222222222222222228 四、软件设计222222222222222222222222222222222222222222222229 4.1组态界面的设计2222222222222222222222222222222222229 4.2报警系统的设计2222222222222222222222222222222222229 4.3实时温度数据曲线的设计22222222222222222222222222211

多点温度检测系统设计

摘要 环境温度对工业、农业、商业与人们得日常生活都有很大得影响,而温度得测量也就成为人们生产生活中一项必不可少得工作。随着单片机技术得不断发展,单片机在日用电子产品中得应用越来越广泛,温度传感器DS18B20具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度得测量与控制。 本设计所介绍得数字温度计使用单片机AT89s52单片机,测温传感器使用DS18B20,用4位共阴极LED数码管以动态方式实现温度显示,分时轮流通电,从而大大简化了硬件线路,同时,采用串口通信方式可大大简化硬件电路与软件程序得设计,节省了I/O口。DS18B20数字温度传感器就是单总线器件与51单片机组成得测温系统,具有线路简单、体积小等特点,而且在一根通信线上,可以挂接多个DS18B20,因此可以构成多点温度测控系统。 关键词:单片机;多点检测;串口通信

Abstract Environmental temperature to industry, agriculture, merce, and people's daily life has a lot of influence, and the measurement of the temperature will bee an indispensable people production and life of the work、 Along with the development of the single chip microputer technology, microputer in the daily electronic products is more and more extensive application, the temperature sensor DS18B20 have good linear, stable performance, high sensitivity, anti-interference ability strong, easy to use, widely used in the refrigerator, air conditioner, granaries, etc in daily life temperature measurement and control、 The design of the digital thermometer introduced use single chip puter 89 s52 microcontroller, temperature sensor DS18B20 use, with a total of 4 cathode tube LED digital display to realize dynamic way temperature, in turn time-sharing electricity, which greatly simplified the hardware circuit, and at the same time, the serial interface munication mode can greatly simplified the hardware circuit and software program design, save the I/O port、 Digital temperature sensor DS18B20 is the single bus devices and 51 SCM position, temperature measurement system, with simple line, little volume features, but at a munications line, can be articulated multiple DS18B20, so can form multi-point temperature measurement and control system、 Key Words:Single Chip Microputer; Multi-point detection; Serial mun- -ication

温度监测报警系统

温度监测报警系统

目录 毕业论文(设计)任务书.................................................................................................... - 1 - 摘要.................................................................................................................................... - 6 - 关键词.................................................................................................................................... - 7 - 第一章绪论 (1) 1.1 课题背景 (1) 1.2 课题研究的目的和意义 (1) 1.3 温度检测系统在国内外状况 (1) 第二章硬件系统的总体设计方案 (3) 2.1 总体设计方案 (3) 2.2 温度检测及参数 (3) 2.2.1 温度检测 (3) 2.2.2 温度参数 (4) 2.3 A/D转换模块 (4) 2.4 传感器 (5) 2.4.1传感器的简介 (5) 2.4.2 AD590性能特点与内部结构 (5) 2.5 温度显示电路 (8) 2.6 单片机简介 (9) 2.6.1 AT89C51特性 (9) 2.6.2 引脚图 (10) 2.6.3 管脚说明 (10) 2.6.4 复位键控制模块 (12) 2.7 报警电路 (12) 第三章软件设计 (13) 第四章系统的仿真与实现 (15) 4.1 概述 (15) 4.2 功能特点 (15) 4.3 电路功能仿真 (16)

多路温度采集器设计

J I A N G S U U N I V E R S I T Y 《嵌入式项目应用实践》 恭喜你 学院名称:计算机科学与通信工程学院 班级:计院的孩子 小组成员:雷锋 教师姓名:你猜猜 2016年 5 月 10日

一.实验题目 多路温度采集系统的设计。 二.实验要求 a)使用PROTEUS 8和ARDUINO IDE 进行硬件电路设计和MCU程序设 计 b)使用ALTIUM DXP 进行PCB版图设计 c)三个人一组,完成项目。每组交一份报告,一份PPT并答辩。 1.使用PROTEUS 8和ARDUINO IDE 进行硬件电路设计和MCU程序设计: 将三种温度采集的温度值显示在屏幕上,同时利用串口输出温度值。 d)分别使用LM35、DS18B20、MAX6657器件进行温度采集,使用ARDUINO 设计MCU程序。 e)时用拨动开关进行温度来源选择,开关导通时,对应LED点亮,采到的 温度要输出到液晶屏和串口。即最多可以同时显示3个器件采集的温度,最少1个。当一个都没选时,用蜂鸣器提示。 f)设计时可能数字引脚不够,此时,A0可以做为14脚处理,A1做为15 脚,以此类推。 2.使用ALTIUM DXP进行PCB版图设计 a)在DXP中绘制原理图。 b)注意:DXP中没有MAX6675芯片,需自己创建原理图元件和PCB封装。 c)液晶屏用合适的接线座替代或自行设计。 d)增加电源变压器插座(假设输入为8V)和LM7805稳压芯片将电压稳定在 5V,并做为系统供电。 e)进行PCB版图设计,即进行PCB层数设置、元件布局和布线。设计时要 考虑线宽、布线规定、防噪声设计等。 f)注意:元件位置要合理,便于用户使用。

基于单片机的多路温湿度检测系统设计

基于单片机的多路温湿度检测系统设计 潘磊 (天津冶金职业技术学院电气工程系,天津300400) 摘要:介绍了以C8051F120单片机和PC 机为核心的温湿度检测系统,论述了系统的组成,各模块硬件电路设计以及系统上位机、下位机的软件设计。系统下位机实时收集多路SHT71传感器采集的数据并显示上传,上位机利用VB 中MSComm 控件完成数据接收和处理,实现了对环境温湿度的现场显示和远距离控制。 关键词:温湿度检测;C8051F120;SHT71;VB 中图分类号:TP274文献标识码:A 文章编号:1673-1131(2013)01-0065-02 随着社会生产的不断发展进步,许多工农业生产过程以 及民用场合都需要对环境的温度和湿度进行检测并控制,比 如:粮仓、温室蔬菜大棚、通信基站、电力变电房、药厂、图书馆、 博物馆等。为此本文设计了一个系统实现对环境温度湿度的 检测控制。 1系统结构 本系统主要由电源模块、单片机系统、键盘及LCD 显示 模块、温度湿度传感器采集模块、时钟芯片模块、语音报警模 块、通信模块以及上位机系统组成。系统能够实时采集四处 检测环境的温度和湿度,并把采集数据显示在LCD 屏上,通 过键盘预先设置温湿度上下限数值,当所检测的温度或湿度 超过所设定的数值语音报警模块报警。同时,下位机上传温 度湿度数据,上位机对数据进行存储、显示以及数据分析。系 统框图如图1 所示。 图1系统框图 2系统硬件设计 2.1单片机系统 本系统选用Cygnal 公司的C8051F120单片机作为核心 处理器,此款单片机有64位I/O 口,满足本系统外设较多的需 求,减少系统I/O 扩展,也为增加检测通路和系统扩展预留接 口。单片机峰值处理速度达到100Mips ,大大提高了系统的实 时性,内部带有128KB FLASHROM 能够满足多路实时数据 的大容量存储,集成2个UART ,1个I 2C ,1个SPI 接口便于与 外围设备及上位机传输数据。 2.2温度湿度传感器采集模块 传统模拟式温湿传感器的测量精度和分辨率很低,只有 1%左右,同时要获得高精度还需要更高精度的基准电压。另 外,所测得的模拟量还要进过A/D 转换才能送入微处理器 进行处理。为避免上述问题本系统采用全校准数字输出相 对湿度和温度传感器SHT71,与单片机接口电路图如图2所 示。图2 温度湿度传感器采集模块图3LCD 显示模块为了实现多点同时测量减少采集等待时间,同时尽量少的占用I/O 口资源,本系统将SHT71的时钟线SCK 都连接到P1.0口,数据线DATA 分别连接到P1口其他4个I/O 口上,并在数据线DATA 端加入上拉电阻。通过软件程序写入命令 即可完成温湿度数据采集,但传感器输出的测量量并不是实 际值,还需进行数据转换。2013年第1期 (总第123期)2013(Sum.No123) 信息通信INFORMATION &COMMUNICATIONS

基于单片机的多点温度监测系统设计

基于单片机的多点温度监测系统设计 摘要:DS18B20是一种可组网的高精度数字式温度传感器,由于其具有单总线的独特优点,可以使用户轻松地组建起传感器网络,并可使多点温度测量电路变得简单、可靠。PL2303是Prolific公司生产的一种高度集成的RS232-USB接口转换器,可提供一个RS232全双工异步窜行通信装置与USB功能接口便利连接的解决方案。 该系统由上位机和下位机两大部分组成。下位机实现温度的检测并提供标准RS232通信接口,芯片使用了A TMEL公司的AT89S52单片机和DALLAS公司的DS18B20数字温度传感器。上位机部分使用了通用PC。该系统可应用于仓库测温、楼宇空调控制和生产过程监控等领域。 关键字:温度测量;单总线;数字温度传感器;单片机;转换器 Based on SCM more temperature monitoring system design Abstract:DS18B20 is a network of high precision digital temperature sensor, since it has the unique advantages single bus, users can easily set up sensor network, and can make more temperature measurement circuit become simple and reliable. PL2303 Prolific company is the production of a highly integrated RS232-USB interface converter, can provide a RS232 full-duplex asynchronous channeling line of communication equipment and the USB interface convenient connection function of the solution. The system consists of PC and a machine under two main components. A machine to implement the temperature detection and provide standard RS232 communication interface, ATMEL company used chip AT89S52 SCM and DALLAS company DS18B20 digital temperature sensor. PC parts used the general PC. This system can be used in storage temperature measurement, building the air conditioning control and production process monitoring, etc。 Key words:temperature measurement; Single bus; Digital temperature sensors; Single chip microcomputer; converter

嵌入式系统课程设计汇本(温度检测报警系统)

嵌入式系统课程设计 : 班级: 学号:

目录: 一.系统要求 二.设计方案 三.程序流程图 四.软件设计 五.课程总结与个人体会

一、系统要求 使用STM32F103作为主控CPU设计一个温度综合测控系统,具体要求: 1、使用热敏电阻或者部集成的温度传感器检测环境温度,每0.1秒检测一次温度,对检测到的温度进行数字滤波(可以使用平均法)。记录当前的温度值和时间。 2、使用计算机,通过串行通信获取STM32F103检测到的温度和所对应的时间。 3、使用计算机进行时间的设定。 4、使用计算机进行温度上限值和下限值的设定。 5、若超过上限值或者低于下限值,则STM32进行报警提示。

二、设计方案 本次课程设计的要使用STM32F103设计一个温度测控系统,这款单片机集成了很多的片上资源,功能十分强大,我使用了以下部分来完成课程设计的要求: 1、STM32F103置了3个12位A/D转换模块,最快转换时间为1us。本次课程设计要求进行温度测定,于是使用了其中一个ADC对片上温度传感器的部信号源进行转换。当有多个通道需要采集信号时,可以把ADC配置为按一定的顺序来对各个通道进行扫描转换,本设计只采集一个通道的信号,所以不使用扫描转换模式。本设计需要循环采集电压值,所以使用连续转换模式。 2、本次课程设计还使用到了DMA。DMA是一种高速的数据传输操作,允许在外部设备和储存器之间利用系统总线直接读写数据,不需要微处理器干预。使能ADC的DMA接口后,DMA控制器把转换值从ADC 数据寄存器(ADC_DR)中转移到变量ADC_ConvertedValue中,当DMA 传输完成后,在main函数中使用的ADC_ConvertedValue的容就是ADC转换值了。 3、STM32部的温度传感器和ADCx_IN16输入通道相连接,此通道把传感器输出的电压值转换成数字值。STM部的温度传感器支持的温度围:-40到125摄氏度。利用下列公式得出温度 温度(°C) = {(V25 - VSENSE) / Avg_Slope} + 25 式中V25是 VSENSE在25摄氏度时的数值(典型值为1.42V) Avg_Slope是温度与VSENSE曲线的平均斜率(典型值为4.3mV/C) 利用均值法对转换后的温度进行滤波,将得到的温度通过串口输出。

《多路温度检测系统》

《多路温度检测系统》 设计报告 一:统整体设计 多路温度检测系统以8051单片机系统为核心,能对多点的温度进行实时控制巡检。各检测单元(从机)能独立完成各自功能,根据主控机的指令对温度进行实时或定时采集,测量结果不仅能在本地储存、显示,而且可以利用单片机串行口,通过RS-485总线及通信协议将将采集的数据传送到主控机,进行进一步的分析、存档、处理和研究。主控机负责控制指令发送,控制各个从机进行温度采集,收集测量数据,并对测量结果(包括历史数据)进行整理、显示和打印。主控机与各从机之间能够相互联系、相互协调,从而达到了系统整体统一、和谐的控制效果。系统框图如下: 温度测点1温度测点2温度测点3温度测点4丛机1 丛机2 丛机3 丛机4 4 8 5 通 讯 电 缆主 控 机 键盘 显示器 打印机图1 系统框图 声光报警 本系统的特点是: ?具有实时检测功能,能够同时检测4路温度,检测温度范围0℃~400℃; ?使用12位AD转换,采用过采样和工频周期求均值技术,分辨率达到16位,检测温度变化最小值达到0.007℃; ?使用RS-485串行总线进行传输,MAX485驱动芯片进行电平转换,传送距离大于1200m,抗干扰能力强; ?可由主控机统一设置系统时间和温度修正值; ?可由主控机分别设置各从机的温度报警上下限,主机、从机均具有声光报警功能; ?具有定时、整点收集各从机数据功能,使用I2C串行E2PROM,可保存各从机以往24小时的数据,具有数据更新 与掉电保护功能; ?具有数据分析功能,能显示各从机以往24小时的温度变化曲线与平均值; ?从机可显示当前温度、时间、报警阈值等信息; ?从机之间可通过主机中转进行通信,根据用户需要观察其他从机实时温度值; ?主从机均采用中文点阵式液晶显示器,人机界面友好; ?具有打印功能; ?自制了主控机和从机所使用的直流稳压电源。

基于单片机的多路温度采集控制系统设计方案

基于51单片机的多路温度采集控制系统设计 前言 随着现代信息技术的飞速发展,温度测量控制系统在工业、农业及人们的日常生活中扮演着一个越来越重要的角色,它对人们的生活具有很大的影响,所以温度采集控制系统的设计与研究有十分重要的意义。 本次设计的目的在于学习基于51单片机的多路温度采集控制系统设计的基本流程。本设计采用单片机作为数据处理与控制单元,为了进行数据处理,单片机控制数字温度传感器,把温度信号通过单总线从数字温度传感器传递到单片机上。单片机数据处理之后,发出控制信息改变报警和控制执行模块的状态,同事将当前温度信息发送到LED进行显示。本系统可以实现多路温度信号采集与显示,可以使用按键来设置温度限定值,通过进行温度数据的运算处理,发出控制信号达到控制蜂鸣器和继电器的目的。 我所采用的控制芯片为AT89C51,此芯片功能较为强大,能偶满足设计要求。通过对电路的设计,对芯片外围扩展,来达到对某一车间温度的控制和调节功能。 关键词:温度多路温度采集驱动电路 正文: 1、温度控制器电路设计 本电路由89C51单片机温度传感器、模数转换器ADC0809、串入并出移位寄存器74LS164、数码管和LED显示电路等组成。由热敏电阻温度传感器测量环境温度,将其电压值送入ADC0809的IN0通道进行模数转换,转换所得的数字量由数据端D0- D7输出到89C51的P0口,经软件处理后将测量的温度值经单片机的RXD端串行输出到74LS164,经74LS164串并转换后,输出到数码管的7个显示段,用数字形式显示出当前的温度值。89C51的P2.0、P2.1、P2.2分别接入ADC0 809通道地址选择端A、B、C,因此ADC0809的IN0通道的地址为F0FFH。输出驱动控制信号由P1.0输出,4个LED为状态指示,其中,LED1为输出驱动

相关文档
最新文档