单片机智能体温计课程设计.doc

上传人:wj 文档编号:4844545 上传时间:2023-05-07 格式:DOC 页数:24 大小:1,009.50KB
下载 相关 举报
单片机智能体温计课程设计.doc_第1页
第1页 / 共24页
单片机智能体温计课程设计.doc_第2页
第2页 / 共24页
单片机智能体温计课程设计.doc_第3页
第3页 / 共24页
单片机智能体温计课程设计.doc_第4页
第4页 / 共24页
单片机智能体温计课程设计.doc_第5页
第5页 / 共24页
单片机智能体温计课程设计.doc_第6页
第6页 / 共24页
单片机智能体温计课程设计.doc_第7页
第7页 / 共24页
单片机智能体温计课程设计.doc_第8页
第8页 / 共24页
单片机智能体温计课程设计.doc_第9页
第9页 / 共24页
单片机智能体温计课程设计.doc_第10页
第10页 / 共24页
单片机智能体温计课程设计.doc_第11页
第11页 / 共24页
单片机智能体温计课程设计.doc_第12页
第12页 / 共24页
单片机智能体温计课程设计.doc_第13页
第13页 / 共24页
单片机智能体温计课程设计.doc_第14页
第14页 / 共24页
单片机智能体温计课程设计.doc_第15页
第15页 / 共24页
单片机智能体温计课程设计.doc_第16页
第16页 / 共24页
单片机智能体温计课程设计.doc_第17页
第17页 / 共24页
单片机智能体温计课程设计.doc_第18页
第18页 / 共24页
单片机智能体温计课程设计.doc_第19页
第19页 / 共24页
单片机智能体温计课程设计.doc_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

单片机智能体温计课程设计.doc

《单片机智能体温计课程设计.doc》由会员分享,可在线阅读,更多相关《单片机智能体温计课程设计.doc(24页珍藏版)》请在冰点文库上搜索。

单片机智能体温计课程设计.doc

数理与信息工程学院《单片机原理及应用》期末课程设计——单片机控制的节水灌溉系统

数理与信息工程学院

《单片机原理及应用》期末课程设计

题目:

智能体温计

专业:

电子信息工程

班级:

电信061

姓名:

学号:

指导老师:

成绩:

(2008.12)

目录

第1节引言……………………………………………………………………………3

1.1智能体温计概述………………………………………………………………3

1.2本次设计要求…………………………………………………………………4

1.3系统主要功能…………………………………………………………………4

第2节系统主要硬件电路设计………………………………………………………5

2.1主要模块的设计方案论证………………………………………………………5

2.1.1温度传感器的选择……………………………………………………5

2.1.2A/D转换器的选择……………………………………………………5

2.1.3语音提示模块…………………………………………………………5

2.2总系统设计方案………………………………………………………………6

2.2.1系统设计框图…………………………………………………………6

2.2.2系统整体硬件电路……………………………………………………6

2.3系统硬件组成…………………………………………………………………8

2.3.1电源电路模块…………………………………………………………8

2.3.2温度检测和放大模块…………………………………………………8

2.3.3A/D转换模块…………………………………………………………9

2.3.4温度设置、显示及报警电路模块…………………………………10

2.3.5串行通信模块………………………………………………………10

2.3.6语音播放模块………………………………………………………11

第3节系统软件设计…………………………………………………………………13

3.1系统主程序设计………………………………………………………………13

3.2程序清单………………………………………………………………………14

第4节结束语…………………………………………………………………………24

参考文献…………………………………………………………………………………25

智能体温计

数理与信息工程学院06电子信息工程陶如红

指导教师:

余水宝

第1节引言

随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它在日用电子产品中的应用越来越广泛,给人带来的方便也是不可否定的,其中智能体温计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。

传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点,温度传感器AD590具有线性优良、性能稳定、灵敏度高、抗干扰能力强、使用方便等优点,广泛应用于冰箱、空调器、粮仓等日常生活中温度的测量和控制。

本论文利用集成温度传感器AD590设计并制作了一款基于AT89S52的3位数码管显示的智能体温计,其电路简单,软硬件结构模块化,易于实现。

1.1智能体温计概述

随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的智能体温。

本智能体温计采用AT89S52作为核心器件实现对系统的自动控制,采用双单片机串行处理结构。

外界温度经AD590集成温度传感器采集,温度变化转换为线性电压信号,再经由OP07构成高精度低温漂的放大电路处理后,作为ADC0809的模拟输入信号,由ADC0809完成A/D转换,得到8位的数字信号送入单片机1(AT89S52)。

单片机1将采集到温度值在LED数码管上显示出来,也通过串口通信将温度信号传到单片2(AT89S52)。

此外温度预置,报警电路模块功能也由单片机1完成。

单片机2完成温度值的语音播放功能。

通过系统的设计与实现说明本设计方案切实可以,能够完成题目所要求的基本功能部分,并留有相应的接口,为完成扩展功能打下基础。

1.2本次设计要求

单片机在日用电子产品中的应用越来越广泛,温度则是人们日常生活中常常需要测量和控制的一个量。

本论文通过AT89S52单片机和温度传感器AD590从硬件和软件两方面进行了设计。

  

本次设计的设计要求:

(1)基本范围0℃-50℃;

(2)精度误差小于0.1℃;

(3)LED数码直读显示;

扩展功能:

(1)实现语音报温功能;

(2)实现报警功能; 

1.3系统主要功能

本设计完成了以下功能:

(1)温度信号的采集与归一化处理;

(2)A/D转换;

(3)温度值的显示,显示的误差与实际的温度值误差在±0.1℃内;

(4)语音播报温度与声音报警功能。

第2节系统主要硬件电路设计

2.1主要模块的设计方案论证

2.1.1温度传感器的选择

方案一:

采用热敏电阻。

热敏电阻价格便宜,对温度灵敏,原理简单,但线性度不好,如不进行线性补偿,对于本设计归一化输出的要求,难以达到设计精度;如要对非线性进行补偿,则电路结构复杂,难以调整。

故不采用。

方案二:

采用热电偶。

热电偶在测温范围内热电性质稳定,不随时间变化而变化,电阻温度系数小,导电率高,比热小,但热电偶一般体积较大,使用不方便,价格相对较高。

作为一个智能体温计的温度传感器,要求体积小,使用方便,便于携带,故此方案不合适。

方案三:

采用集成温度传感器。

集成温度传感器一般且有具有线性好、精度高、灵敏度高、体积小、使用方便等优点。

根据实验室现有材料可选取AD590。

AD590的测温范围为-55℃~+150℃,能满足本设计的0~50度测量要求。

根据相关技术资料:

AD590线性电流输出为1µA/K,正比于绝对温度;AD590的电源电压范围为4V~30V,并可承受44V正向电压和20V反向电压,因而器件反接也不会被损坏。

该方案能完全满足此设计的要求,故采用此方案。

2.1.2A/D转换器的选择

方案一:

选用AD574。

AD574的数字量位数可设成8位也可以设为12位,且无需外接CLOCK时钟,转换时间达到25μs,输出模拟电压可以是单极性的0-10V或0-20V,也可以是双极性的±5V或±10V之间。

AD574精度高,但与8位的单片机接口较复杂,且价格昂贵,考虑到体温计是对温度的测量,其响应时间的要求不高。

故不选用此方案。

方案二:

选用ICL7135。

这类芯片比较适合于低速测量仪器,适用于精度高,速度要求不高的系统设计中。

ICL7135的输出为动态扫描BCD码,与单片机的接口较复杂。

且它的满量程输入为2V电压,如在本设计中使用要进行衰减,较难保证转换精度。

方案三:

选用ADC0809。

ADC0809数字量是8位,转换时间为100μs,输入模拟电压为单极性的0-5V。

由于本设计的要求精度不是很高,ADC0809可以达到要求,故选用此方案。

2.1.3语音提示模块

方案一:

通过A/D转换器、单片机,存储器,D\A转换器实现声音信号的采样、处理、存储和实现。

首先将声音信号放大,通过AD转换器采样将语音模拟信号转换成数字信号,并由单片机和处理存放到存储器中,实现录音操作。

在录、放音过程中由单片机控制D/A转换器,将存储器中的数据转化成声音信号。

此方案安装调试复杂,集成度低。

方案二:

采用ISD2560语音录放集成电路。

该芯片采用多电平直接模拟量存储专利技术,每个采样值可直接存储在片内单个EEPROM单元中,因此能够非常真实、自然地再现语音、音乐、音调和效果声。

此外,ISD2560还省去了A/D和D/A转换器。

其集成度较高,内部包括前置放大器、内部时钟、定时器、采样时钟、滤波器、自动增益控制、逻辑控制、模拟收发器、解码器和480K字节的EEPROM。

ISD2560可不分段,也可按最小段长为单位来任意组合分段。

因此,选择方案二。

2.2总系统设计方案

2.2.1系统设计框图

根据设计要求,可将系统分为若干模块,以单片机为核心,完成多项功能。

图2-1系统框图

系统框图如图2-1,AD590把采集的外部温度信号转换成相应的电压,再经过OP07运放放大后作为ADC0809的模拟输入信号,ADC0809将此模拟信号转换成数字信号,通过并口送入到单片机1。

单片机1把这些信号处理后通过LED数码管显示出来。

同时单片机1还处理按键、报警模块。

单片机1把温度值通过串行通信传送给单片机2,控制语音芯片报出相对应的温度值。

2.2.2系统整体硬件电路

如图2-2所示,该电路主要由电源电路,温度检测、放大电路,A/D转换电路,双单片机串行通信电路,按键输入、报警电路,数码管扫描显示电路以及语音芯片电路组成。

图2-2系统电路原理图

2.3系统硬件组成

2.3.1电源电路模块

图2-3电源电压电路

如图2-3所示,220V交流电经变压器市降压、桥式整流、电容滤波后经7812、7805、7905三端集成稳压管分别得到+12V、+5V、-5V电压,给整个电路供电。

2.3.2温度检测、放大模块

图2-4AD590温度检测、放大电路图

如图2-4所示,温度检测、放大电路主要器件的作用:

OP1、OP2:

电压跟随器;

OP3:

差分放大电路;AD590:

温度传感器;SVR:

零位调整。

(1)AD590简介

AD590是电流输出型的半导体温度感测组件,主要特性如下:

1.具有线性输出电流。

2.宽广的操作温度范围(-55℃~150℃)。

3.宽广的工作电压范围(+4V~+30V)。

4.良好的隔离性。

AD590的包装与等效电路如图4所示,是TO-52型金属外壳包装。

他是两端子的半导体温度感测组件,另有一端子是外壳接脚,可接地以减少噪声干扰。

AD590如同一个随温度而改变输出电流的定电流源,输出电流与外壳的开氏(K)温度成正比。

开氏温度与摄氏温度的单位相等,0℃等于273.2K,100℃等于373.2K。

当温度为0℃时,AD590的输出电流是273.2μA。

而温度为100℃时,输出电流是373.2μA。

温度每升高1℃,输出电流增加1μA,其温度系数为1μA/℃。

图2-5AD590包装与等效电路图

(2)温度检测、放大电路原理

AD590的温度系数为1μA/℃。

所以在T(℃)时的电流I1(T)为

I1(T)=I1(0)+1μA/℃*T(2-1)

而温度每变化1℃时,V2的电压变化是为1μA/℃*10K=10mV/℃,即温度每增加1℃,V2会增加10mV。

在0℃时V2就已经有电压存在,其值为

V2(0)=273.2μA*10KΩ=2.732V(2-2)

则T℃时

V2(T)=V2(0)+10mV/℃*T(2-3)

如图2-3所示,OP3组成差动放大器,电压增益为

R2/R1=100K/20K=5(2-4)

零位调整SVR1则用于抵补0℃的电压值,由差动放大器的公式

V0=R2/R1*(V2-V1)(2-5)

可得知,若调整SVR1使V1的电压为2.732V,则0℃时,差动放大器的输出VO为0V。

也就是说,若温度是在0℃至50℃之间,则差动放大器的输出电压是在0V至5V之间,亦即每0.1V的输出代表温度上升1℃。

与设计要求相符合。

2.3.3A/D转换模块

如图2-6:

ADC0809把从放大电路传送过来的模拟信号转变成数字信号,并行传送给单片机的P0口,让单片机处理。

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

2.3.4温度设制、显示及报警电路模块

如图2-7:

通过按键可以事先设定报警温度值,当显示的温度值超过设定的温度值时,单片机就会从INT0脚发出一连串脉冲,驱动蜂鸣器发出报警声。

图2-7温度设制、显示及报警电路图

2.3.5串行通信模块

如图2-8所示,单片机1把温度值发送数据到单片机2,单片机2接收数据并控制语音芯片报出当前的温度值。

图2-8串行通信电路图

2.3.6语音播放模块

语音播放模块如图2-9所示。

主要由单片机AT89S51与语音芯片ISD2560组成。

图2-9录音、放音电路图

(1)录音、放音简介

如图2-9所示,首先通过麦克风向语音ISD256录入“0,1,2,3,4,5,6,7,8,9,10,点,度”等音符。

当单片机2接收到单片机串行发送过来的温度值时,就会自动地去寻找相对应音符的地址,并把这些音符通过扬声器播放出来。

(2)硬件电路设计

ISD器件选用录音时间为60s的ISD2560器件,以单片机为处理机,外接控制每个语音段录音开始与停止按键,外部存储器EEPROM用于保存每个语音首地址。

ISD的外围电路及其与单片机连接的硬件电路如图2-9所示。

ISD2560与AT89S52的接口部分包含输入地址线A0~A9、片选CE(CE=0选中ISD芯片)、芯片低功耗状态控制PD、录放音控制选择P/R(P/R=0为录音;P/R=1为放音)、录放音结束信号输出EOM,将它作为AT89S51外部中断0的输入信号,放音时通过它告知本语音段结束,便于单片机立即播放另一个语音段。

ISD2560引脚封装如图2-10所示.

图2-10ISD2560管脚图

(3)本方法的特点

能进行在系统现场录音,随录随放,修改语音方便。

修改录音内容时,可以从其中任意一段开始,修改其后的所有录音内容,不必从第一段开始全部修改。

这对一些需要厂家固定一些语音段的系统很有好处,将固定的语音段放置在前面的段落中,允许用户录制的放在后面,用户修改录音内容时只需修改后面的语音段即可,不影响厂家录制的语音。

分段灵活。

单片ISD2560可分1~600个段,若多片级联还可更多;各个录音段的长度任意,只要总录音时间在所用器件的总时间之内即可。

第3节系统的软件设计

3.1系统程序流程

如图3-1:

单片机1为主机,负责温度显示、按键扫描、BCD码转换、串行发送数据给单片机2。

以定时器定时1ms,每定时100次即1秒钟就启动A/D转换、BCD码转换,串行发送2进制数给单片机2。

图3-1单片机1程序主流程图

如图3-2,3-3所示:

单片机2为从机,只负责接收数据并播报温度,以T0定时器定时,结合延时程序定时1分钟,使每1分钟更新一次语音音素地址,即每1分钟更新一次温度值,并在中断程序处理过程度中报一次温度。

图3-2单片机2程序主流程图图3-3单片机2的T0中断程序流程图

3.2程序清单

/**********单片机1程序*********************/

#include

#include

#include

#defineucharunsignedchar

#defineuintunsignedint

ucharcodedis_code[10]={0xc0,0xf9,0xa4,0xb0,//0,1,2,3

0x99,0x92,0x82,0xf8,0x80,0x90};//4,5,6,7,8,9,off

uchardataset_data[3]={0x00,0x07,0x03};//预设37.0度

uchardataad_data;//AD转换结果

uchardatadis_buf[3]={0x00,0x00,0x00};//显示缓冲区

uchardatabcd_buf[3]={0x00,0x00,0x00};//十进制BCD码转换存放

uchardataTIMER0_NUM;

bitTIMER0_flag;

bitdataset_flag=0;

sbitALE=P2^4;

sbitOE=P2^5;

sbitSTART=P2^6;

sbitEOC=P2^7;

sbitP30=P3^0;

sbitselect0=P3^7;

sbitselect1=P3^6;

sbitselect2=P3^5;

sbitK1=P2^0;

sbitK2=P2^1;

sbitK3=P2^2;

sbitK4=P2^3;

sbitbep=P3^3;

sbitSET_IND=P3^4;

sbitP17=P1^7;//小数点

uintdatatemp;

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

/*函数声明

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

voiddelay1ms(uchart);

voidadc(void);

voidBCD(void);

voidkeyscan(void);

voidsend_str(void);

voidbeep(void);

voiddisplay(void);

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

/*按键蜂鸣函数

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

voidbeep2(void)

{uchardataj,k;

for(j=26;j>0;j--)

{

for(k=254;k>0;k--);

bep=!

bep;

}

bep=1;

}

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

/*蜂鸣报警

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

voidbeep(void)

{

uchardataj,k;

for(j=100;j>0;j--)

{

for(k=254;k>0;k--)

bep=0;

}

bep=1;//关蜂鸣器

}

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

/*延时1ms函数

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

voiddelay1ms(uchart)

{ucharj,k;

for(j=0;j

for(k=0;k<120;k++);

}

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

/*AD转换函数

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

voidadc(void)

{ALE=1;

_nop_();

_nop_();

ALE=0;

START=1;

_nop_();

_nop_();

START=0;

_nop_();

_nop_();

_nop_();

_nop_();

while(EOC==0);//等待转换结束

OE=1;

ad_data=P0;//读入转换数据

OE=0;

}

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

/*十进制BCD码转换函数

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

voidBCD(void)

{

bcd_buf[2]=(ad_data/51);//十位

temp=(ad_data%51);

temp=(temp*10);

bcd_buf[1]=(temp/51);//个位

temp=(temp%51);

temp=temp*10;

bcd_buf[0]=(temp/51);//小数位

if(bcd_buf[2]>set_data[2])//报警值检测

beep();

elseif(bcd_buf[2]==set_data[2])

{

if(bcd_

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

当前位置:首页 > 幼儿教育 > 幼儿读物

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

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