温度报警器课程设计.docx

上传人:b****3 文档编号:6037326 上传时间:2023-05-09 格式:DOCX 页数:14 大小:255.42KB
下载 相关 举报
温度报警器课程设计.docx_第1页
第1页 / 共14页
温度报警器课程设计.docx_第2页
第2页 / 共14页
温度报警器课程设计.docx_第3页
第3页 / 共14页
温度报警器课程设计.docx_第4页
第4页 / 共14页
温度报警器课程设计.docx_第5页
第5页 / 共14页
温度报警器课程设计.docx_第6页
第6页 / 共14页
温度报警器课程设计.docx_第7页
第7页 / 共14页
温度报警器课程设计.docx_第8页
第8页 / 共14页
温度报警器课程设计.docx_第9页
第9页 / 共14页
温度报警器课程设计.docx_第10页
第10页 / 共14页
温度报警器课程设计.docx_第11页
第11页 / 共14页
温度报警器课程设计.docx_第12页
第12页 / 共14页
温度报警器课程设计.docx_第13页
第13页 / 共14页
温度报警器课程设计.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

温度报警器课程设计.docx

《温度报警器课程设计.docx》由会员分享,可在线阅读,更多相关《温度报警器课程设计.docx(14页珍藏版)》请在冰点文库上搜索。

温度报警器课程设计.docx

温度报警器课程设计

一温度报警器系统总体设计方案

通过PT100热敏电阻对温度进行采集,随着温度的变化,PT100的阻值也会随着变化,则通过自制的桥式测温电路的分压也会发生变化,由于变化的分压不是很大,所以采取UA741CN放大器将变化的电压进行放大,放大到AD0801模数转换器能够处理的范围之内。

经模数转换后的温度信号传入到AT89S52单片机,再由单片机控制继电器、蜂鸣器和数码管来实现温度控制、报警、显示的功能。

当温度在18度至70度之间时,系统正确显示温度,当温度超出这个范围时系统在显示温度的同时发出警报声。

系统原理图见图1-1所示:

 

图1-1温度报警器系统

 

二系统硬件

2.1单片机

由于温度报警器的核心就是单片机,单片机的选择将直接关系到控制系统的工作是否有效和协调。

本设计采用MCS-51系列的AT89S52单片机,因为AT89S52单片机应用广泛,性能稳定,抗干扰能力强,性价比高。

8051包含了8位CPU,片内振荡器,8K字节ROM,256字节RAM,3个16位定时器/计数器等。

AT89S52的管脚分配如图2-1

图2-1AT89S52的管脚分配图

2.2温度采集电路

2.2.1PT100温度传感器

PT100温度传感器为正温度系数热敏电阻传感器,主要技术参数如下:

测量范围:

-200℃~+850℃;

允许偏差值△℃:

A级±(0.15+0.002|t|),B级±(0.30+0.005|t|);

最小置入深度:

热电阻的最小置入深度≥200mm;

允通电流≤5mA。

因为PT100是将温度转换为电阻,而单片机处理的为数字电压信号,则要将电阻转换为电压,同时对电压信号进行放大后输入A/D转换ADC0801的VI+端口。

 

2.2.2桥式测温电路

桥式测温的典型应用电路如图2-2所示

图2-2桥式测温电路

测温原理:

采用R1、R2、VR2、Pt100构成测量电桥(其中R1=R2,VR2为100Ω精密电阻),当Pt100的电阻值和VR2的电阻值不相等时,电桥输出一个mV级的压差信号,这个压差信号经过运放UA741放大后输出期望大小的电压信号,该信号可直接连AD转换芯片。

差动放大电路中R3=R4、R5=R6、放大倍数=R5/R3,运放采用单一5V供电。

2.3A/D转换电路

2.3.1ADC0801介绍

ADC0801是8位全MOS中速A/D转换器、它是逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接口接。

其主要引脚功能如下:

(1)RD,WR:

读选通信号和选通信号(低电平有效)。

(2)CLK:

时钟脉冲输入端,上升有效。

(3)DB0—DB7是输入信号。

(4)CLKR:

内部时钟发生器外接电阻端,与CLKIN端配合可由芯片自身产生时钟脉冲,其频率为1/1.1RC。

(5)CS:

片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动。

(6)WR:

写信号输入,接受微机系统或其它数字系统控制芯片的启动输入端,低电平有效,CS、WR同时为低电平时,启动转换。

(7)INTR:

转换结束输出信号,低电平有效,输出低电平表示本次转换已完成。

该信号常作为向微机系统发出的中断请求信号。

(8)CLK:

为外部时钟输入端,时钟频率高,A/D转换速度快。

允许范围为10-1280KHZ,典型值为640KHZ,此时,A/D转换时间为10us。

通常由MCS—51单片机ALE端直接或分频后与其相连。

当MCS单片机与读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片外接的晶振为6MHZ,则1/6为1MHZ。

2.3.2A/D转换电路工作原理

ADC0801的A/D转换结果输出端DB0—DB7与8051的P0.0-P0.7相连。

RD与AT89S52RD相连,WR也是跟AT89S52WR相连。

CS、VIN+接地。

(低电平有效)ADC0801的两模拟信号输入端,用以接受单极性、双极性和差摸输入信号,与WR同时为低电平A/D转换器被启动切在WR上升沿后100模数完成转换,转换结果存入数据锁存器,同时,INTR自动变为低电平,表示本次转换已结束。

如CS、RD同时来低电平,则数据锁存器三态门打开,数字信号送出,而在RD高电平到来后三态门处于高阻状态。

A/D转换电路如图2-3所示。

图2-3A/D转换电路图

 

2.4温度显示电路

2.4.1LED数码管显示原理

共阴数码管管脚分配如图2-4所示:

图2-4数码管显示原理

三、系统软件设计

3.1软件设计思路

软件设计的任务包括启动A/D转换、读A/D转换结果、温度显示等,其中启动A/D转换、读A/D转换结果、温度显示、温度控制等工作都在主程序中完成。

3.2程序流程

程序流程图如图3-1所示:

图3-1程序流程图

 

 

电路原理图

3.3.源程序清单:

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

sbitwr=P3^6;

sbitrd=P3^7;

sbitJRC=P3^1;

sbitFM=P3^0;

uchardataled[4];

unsignedcharcodetab[]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};

/******************1ms延时函数************/

delay(intt)

{

inti,j;

for(i=0;i

for(j=0;j<50;j++);

}

voidstart()

{

wr=1;

wr=0;

wr=1;

}

/************************************************

LED数码管(显示)功能子函数

*************************************************/

voiddisplay(uinttvdata)

{

uintk,temp;

P2=0x00;

k=tvdata%10;

temp=tab[k];

P2=temp;

delay

(1);

P1=0x00;

k=tvdata/10;

temp=tab[k];

P1=temp;

delay

(1);

}

/************主函数开始************/

voidmain()

{

uchark,wendu;

uintadvalue;

while

(1)

{

start();

k=k;

k=k;

rd=0;

advalue=P0;

rd=1;

k=k;

k=k;

advalue=advalue*(1.94);

switch(advalue)

{

case448:

d=18;break;

case449:

d=19;break;

case450:

d=20;break;

case451:

d=21;break;

case452:

d=22;break;

case453:

d=23;break;

case454:

d=24;break;

case455:

d=25;break;

case456:

d=26;break;

case457:

d=27;break;

case458:

d=28;break;

case459:

d=29;break;

case460:

d=30;break;

case461:

d=31;break;

case462:

d=32;break;

case463:

d=33;break;

case464:

d=34;break;

case465:

d=35;break;

case466:

d=36;break;

case467:

d=37;break;

case468:

d=38;break;

case469:

d=39;break;

case470:

d=40;break;

case471:

d=41;break;

case472:

d=42;break;

case473:

d=43;break;

case474:

d=44;break;

case475:

d=45;break;

case476:

d=46;break;

case477:

d=47;break;

case478:

d=48;break;

case479:

d=49;break;

case480:

d=50;break;

case481:

d=51;break;

case482:

d=52;break;

case483:

d=53;break;

case484:

d=54;break;

case485:

d=55;break;

case486:

d=56;break;

case487:

d=57;break;

case488:

d=58;break;

case489:

d=59;break;

case490:

d=60;break;

case491:

d=61;break;

case492:

d=62;break;

case493:

d=63;break;

case494:

d=64;break;

case495:

d=65;break;

case496:

d=66;break;

case497:

d=67;break;

case498:

d=68;break;

case499:

d=69;break;

case500:

d=70;break;

}

wendu=d;

display(advalue);

if(wendu<18)

{

JRC=0;

FM=0;

}

if(wendu>70)

{

FM=0;

}

delay

(1);

}

}

 

四结论

热敏电阻采集到温度后经A/D转换成信号送入单片机,经过数码管显示出温度,同时判断是否超出了18度至70度的范围,超出了则断开开关并启动蜂鸣器发出警报声,若没有超出就自然显示温度。

该温度报警器在proteus中仿真理论上基本可以实现,但是在仿真过程中还是发现了LED数码管显示并没有按照程序设定的一个温度值一个温度值的变化,而是两个温度值两个温度值的变换。

 

五心得体会:

我个人觉得可能是proteus数字仿真软件在仿真过程中存在延迟或者是误差,还有一个原因就是LED动态显示程序的延迟程序存在一些问题。

在制作过程中我们也体验了从电路图的绘制到元器件的焊接组装调试的全过程。

为做设计我查阅了大量资料:

PT100铂金属温度传感器实用说明书、AT89S52单片机数据手册、LED数码管资料、继电器工作原理、proteus单片机仿真入门、keiluvision3学习资料、AD0801的数据手册等等。

在这个过程中我遇到了很多问题,也解决了很多问题,对提升我发现问题并解决问题的能力有很大的帮助,也是我参加工作前的一次大练兵,让我在以后从事相关工作的时候更得心应手。

 

 

六参考文献

[1]何立民.单片机应用系统设计[M].北京:

清华大学出版社,2005

[2]吴金戎.8051单片机实践与应用[M].北京:

清华大学出版社,2005

[3]胡斌.图表细说电子元器件[M].北京:

电子工业出版社,2005

[4]王福瑞.单片微机测控系统设计大全[M].北京:

电子工业出版社,2006

[5]姜志海.单片机原理及应用[M].北京:

电子工业出版社,2005

[6]黄正祥,邓怀雄,郭延文,周书.基于MCS-51单片机的温度控制系统[J].现代电子技术,2005,6:

20-21

[7]李伙友.基于MCS-51的温度控制器的设计[J].龙岩学院学报,2006,24(6):

16-18

[8]关平,刘红,林强.可实现的基于MCS-51单片机的恒温控制系统的设计[J].自动化技术与应用,2008,27(10):

108-110

[9]北京亿学通电子.PT100铂金属温度传感器使用说明书

[10]马忠梅,籍顺心,张凯,马岩.单片机的C语言应用程序设计[M].北京:

北京航空航天大学出版社,2007

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2