温度传感器设计报告.docx

上传人:b****3 文档编号:5960830 上传时间:2023-05-09 格式:DOCX 页数:25 大小:1.38MB
下载 相关 举报
温度传感器设计报告.docx_第1页
第1页 / 共25页
温度传感器设计报告.docx_第2页
第2页 / 共25页
温度传感器设计报告.docx_第3页
第3页 / 共25页
温度传感器设计报告.docx_第4页
第4页 / 共25页
温度传感器设计报告.docx_第5页
第5页 / 共25页
温度传感器设计报告.docx_第6页
第6页 / 共25页
温度传感器设计报告.docx_第7页
第7页 / 共25页
温度传感器设计报告.docx_第8页
第8页 / 共25页
温度传感器设计报告.docx_第9页
第9页 / 共25页
温度传感器设计报告.docx_第10页
第10页 / 共25页
温度传感器设计报告.docx_第11页
第11页 / 共25页
温度传感器设计报告.docx_第12页
第12页 / 共25页
温度传感器设计报告.docx_第13页
第13页 / 共25页
温度传感器设计报告.docx_第14页
第14页 / 共25页
温度传感器设计报告.docx_第15页
第15页 / 共25页
温度传感器设计报告.docx_第16页
第16页 / 共25页
温度传感器设计报告.docx_第17页
第17页 / 共25页
温度传感器设计报告.docx_第18页
第18页 / 共25页
温度传感器设计报告.docx_第19页
第19页 / 共25页
温度传感器设计报告.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

温度传感器设计报告.docx

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

温度传感器设计报告.docx

温度传感器设计报告

 

温度传感器设计报告

 

XX工程学院

班级

姓名

 

 

一、设计电路

1、设计要求

1)、温度低于或超出设定温度范围时发出报警。

2)、温度值可在数码管上实时数字显示。

3)、报警温度可以由人工自由设定。

2、设计目的

1)、在学完了《电子设计与制作》课程的基本理论,基本知识后,能够综合运用所学理论知识、拓宽知识面,系统地进行电子电路的工程实践训练,锻炼动手能力,培养工程师的基本技能,提高分析问题和解决问题的能力。

2)、熟悉集成电路的引脚安排,掌握各芯片的逻辑功能及使用方法了解面包板结构及其接线方法,了解数字钟的组成及工作原理

3)、培养独立思考、独立准备资料、独立设计规定功能的数字系统的能力。

4)、培养书写综合设计实验报告的能力

 

二、设计原理

1、设计模块图

图1:

模块图

 

2、溫度感測器LM35

1)、LM35简介:

LM35是由NationalSemiconductor所生產的溫度感測器,其輸出電壓與攝氏溫標呈線性關係,轉換公式如式

(1),0時輸出為0V,每升高1°,輸出電壓增加10mV。

LM35有多種不同封裝型式,外觀如圖1所示。

在常溫下,LM35不需要額外的校準處理即可達到C°CC41°±的準確率。

其電源供應模式有單電源與正負雙電源兩種,其接腳如圖2所示,正負雙電源的供電模式可提供負溫度的量測;兩種接法的靜默電流-溫度關係如圖3所示,單電源模式在25°下靜默電流約50μA,非常省電。

2)、LM35封装介绍:

图2:

封装形式1图3:

封装形式2

 

图4:

封装形式4(此次采用的封装)

 

3、单片机AT89C51

AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元,功能强大AT89C51单片机可为您提供许多高性价比的应用场合,可灵活应用于各种控制领域。

功能特性概述:

AT89C51提供以下标准功能:

4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89C51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。

引脚功能说明:

1、Vcc:

电源电压

2、GND:

3、P0口:

P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用。

在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。

在FIash编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。

4、P1口:

P1是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。

作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

FIash编程和程序校验期间,P1接收低8位地址。

5、P2口:

P2是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。

在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVX@DPTR指令)时,P2口送出高8位地址数据。

在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。

Flash编程或校验时,P2亦接收高位地址和其它控制信号。

6、P3口:

P3口是一组带有内部上拉电阻的8位双向I/O口。

P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。

对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。

作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。

P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如下表所示:

图5

P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。

7、RST:

复位输入。

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

8、ALE/PROG:

当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。

即使不访问外部存储器,ALE仍以时钟振荡频率的l/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。

要注意的是:

每当访问外部数据存储器时将跳过一个ALE脉冲。

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

)。

如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的DO位置位,可禁止ALE操作。

该位置位后,只有一条MOVX和MOVC指令ALE才会被激活。

此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。

9、PSEN:

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

在此期间,当访问外部数据存储器,这两次有效的PSEN信号不出现。

10、EA/VPP:

外部访问允许。

欲使CPU仅访问外部程序存储器(地址为0000H—FFFFH),EA端必须保持低电平(接地)。

需注意的是:

如果加密位LB1被编程,复位时内部会锁存EA端状态。

如EA端为高电平(接VCC端),CPU则执行内部程序存储器中的指令。

Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。

11、XTAL1:

振荡器反相放大器的及内部时钟发生器的输入端。

12、XTAL2:

振荡器反相放大器的输出端。

图6AT89C51引脚图

4、ADC0809介绍

1).主要特性

1)8路8位A/D转换器,即分辨率8位。

  2)具有转换起停控制端。

  3)转换时间为100μs

  4)单个+5V电源供电

  5)模拟输入电压范围0~+5V,不需零点和满刻度校准。

  6)工作温度范围为-40~+85摄氏度

  7)低功耗,约15mW。

2).内部结构

  ADC0809是CMOS单片型逐次逼近式A/D转换器,内部结构如图13.22所示,它由8路模拟开关、地址锁存与译码器、比较器、8位开关树型D/A转换器、逐次逼近

3).外部特性(引脚功能)

图7ADC0809引脚图

ADC0809芯片有28条引脚,采用双列直插式封装,如图13.23所示。

下面说明各引脚功能。

  IN0~IN7:

8路模拟量输入端。

  2-1~2-8:

8位数字量输出端。

  ADDA、ADDB、ADDC:

3位地址输入线,用于选通8路模拟输入中的一路

ALE:

地址锁存允许信号,输入,高电平有效。

  START:

A/D转换启动信号,输入,高电平有效。

  EOC:

A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。

  OE:

数据输出允许信号,输入,高电平有效。

当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。

  CLK:

时钟脉冲输入端。

要求时钟频率不高于640KHZ。

  REF(+)、REF(-):

基准电压。

  Vcc:

电源,单一+5V。

  GND:

地。

  ADC0809的工作过程是:

首先输入3位地址,并使ALE=1,将地址存入地址锁存器中。

此地址经译码选通8路模拟输入之一到比较器。

START上升沿将逐次逼近寄存器复位。

下降沿启动A/D转换,之后EOC输出信号变低,指示转换正在进行。

直到A/D转换完成,EOC变为高电平,指示A/D转换结束,结果数据已存入锁存器,这个信号可用作中断申请。

当OE输入高电平时,输出三态门打开,转换结果的数字量输出到数据总线上。

三、原理图

1、温度采集模块

图8温度采集模块

2、单片机控制及AD转换模块

图9单片机控制及AD转换模块

3、显示模块

图9显示模块

4、报警模块

图10报警模块

5、电源模块

图11电源模块

6、总电路原理图

图12-1总电路原理图①

图12-2电路总原理图②

四、PCB图

图13-1PCB封装图①

图13-2PCB封装图②

五、程序

#include

sbitCLK=P2^2;

sbitLED_Red=P2^6;

sbitBee=P2^5;

sbitLED_Green=P2^7;

sbitON=P1^0;

sbitCLK_164=P2^0;

sbitDATA_164=P2^1;

sbitST=P3^5;

sbitEOC=P3^7;

sbitOE=P3^6;

sbitPinA=P3^0;

sbitPinB=P3^1;

sbitPinC=P3^2;

sbitS1=P1^1;

sbitS2=P1^2;

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

unsignedcharb[]={0x76,0x38,0x3f,0x71,0x73};

unsignedintt1,t2,tp1,tp2,tp,i,g,f,z,h=30,l=10;

longdelay()

{

for(g=0;g<32600;g++);

}

delayz()

{

}

delayf()

{

for(f=0;f<2600;f++);

}

voiddelay(unsignedintt)

{

unsignedchark;

while(t--)

{

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

}

}

voidwrite164(unsignedcharn)

{

unsignedchari,tmp;

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

{

tmp=n;

DATA_164=tmp&0x80;

CLK_164=0;

delayz();

n<<=1;

CLK_164=1;

}

}

voidInitIO()

{

P0=0xff;

PinA=0;

PinB=0;

PinC=0;

ST=1;

OE=1;

EOC=1;

}

voidLongDelay(unsignedinti)

{

unsignedintj;

for(;i>0;i--)

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

}

voidStartADC(unsignedcharAddress)

{

PinC=(bit)(Address&0x04);

PinB=(bit)(Address&0x02);

PinA=(bit)(Address&0x01);

ST=0;

LongDelay(5);

ST=1;

}

unsignedintReadData(void)

{

unsignedinttemp;

while(!

EOC);

OE=0;

delay(4);

temp=P0&0xff;

return(temp);

}

voidmain(void)

{

write164(b[3]);

write164(b[3]);

write164(b[2]);

while(ON==1);

while(ON==0);

TMOD=0x02;

EA=1;

ET0=1;

TH0=0xFE;

TL0=0xFE;

InitIO();

TR0=1;

while

(1)

{

write164(a[h%10]);

write164(a[h/10]);

write164(b[0]);

longdelay();

longdelay();

write164(a[l%10]);

write164(a[l/10]);

write164(b[1]);

longdelay();

longdelay();

if(S1==0)

{

write164(a[tp1%10]);

write164(a[tp1/10]);

write164(a[1]);

while(S1==1);

while(S1==0);

}

if(S2==0)

{

write164(a[tp2%10]);

write164(a[tp2/10]);

write164(a[2]);

while(S2==1);

while(S2==0);

}

StartADC(0);

t1=ReadData();

tp1=(t1*100/255);

StartADC

(1);

t2=ReadData();

tp2=(t2*100/255);

tp=(tp1+tp2)/2;

write164(a[tp%10]);

write164(a[tp/10]);

write164(b[4]);

longdelay();

longdelay();

longdelay();

if(tp>h)

{

LED_Red=0;

Bee=0;

delayf();

Bee=1;

delayf();

Bee=0;

delayf();

Bee=1;

delayf();

Bee=0;

delayf();

Bee=1;

delayf();

Bee=0;

delayf();

Bee=1;

}

elseif(tp

{

LED_Green=0;

Bee=0;

delayf();

Bee=1;

delayf();

Bee=0;

delayf();

Bee=1;

delayf();

Bee=0;

delayf();

Bee=1;

delayf();

Bee=0;

delayf();

Bee=1;

}

else

{

LED_Red=1;LED_Green=1;Bee=1;

}

}

}

voidINTT0()interrupt1

{

CLK=~CLK;

}

六、实物展示

1、完成品

图14

图15

2、接电展示

图14-1接电实际展示

图14-2接电实际展示

 

图14-3接电实际展示

 

图14-4调节展示

七、元器件清单

八、总结

通过对温度传感器的设计和制作,我觉得自己学习到了很多,我对温度传感器的结构与原理有了很好的理解,知道了AT89C51,LM35,LM324等芯片的基本应用和原理,并能进行一些简单的使用。

加深了对数字电路的认识和理解,能将过去学到的理论知识进行运用。

再次,加强了对PROTEL等软件的应用。

在焊接电路板过程中,加强了焊接技术,以及加强我的细心和耐心。

电路板焊接要求很高,不能出错。

这点很重要。

在学习过程中,我得到了同学和老师的很多帮助,再次,对他们表示衷心的感谢,学习是要互帮互助的,这样可以共同进步。

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

当前位置:首页 > PPT模板 > 商务科技

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

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