基于热敏电阻的数字温度计Word格式.docx

上传人:b****5 文档编号:19610674 上传时间:2023-01-08 格式:DOCX 页数:22 大小:1.23MB
下载 相关 举报
基于热敏电阻的数字温度计Word格式.docx_第1页
第1页 / 共22页
基于热敏电阻的数字温度计Word格式.docx_第2页
第2页 / 共22页
基于热敏电阻的数字温度计Word格式.docx_第3页
第3页 / 共22页
基于热敏电阻的数字温度计Word格式.docx_第4页
第4页 / 共22页
基于热敏电阻的数字温度计Word格式.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

基于热敏电阻的数字温度计Word格式.docx

《基于热敏电阻的数字温度计Word格式.docx》由会员分享,可在线阅读,更多相关《基于热敏电阻的数字温度计Word格式.docx(22页珍藏版)》请在冰豆网上搜索。

基于热敏电阻的数字温度计Word格式.docx

P0口:

P0口是一个8位漏极开路的双向I/O口。

作为输出口,每位能驱动8个TTL逻辑电平。

对P0端口写“1”时,弓I脚用作高阻抗输入。

当访问夕卜部程序和数据存储器时,P0口也被作为低8位地址/数据复用。

在这种模式下,P0具有内部上拉电阻。

P1口:

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

对P1端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2的触发输入(P1.1/T2EX)。

P2口:

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

对P2端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

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

在这种应用中,P2口使用很强的内部上拉发送1。

在使用8位地址(如MOVX@RI)访问外部数据存储器时,P2口输出P2锁存器的内容。

在flash编程和校验时,P2口也接收高8位地址字节和一些控制信号。

P3口:

P3口是一个具有内部上拉电阻的8位双向I/O口,对P3端口写

“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。

作为输入使用

时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。

P3口亦作为

AT89C51特殊功能(第二功能)使用,如表一所示。

表一AT89C51引脚号第二功能

P3.0

RXD(串行输入)

P3.1

TXD(串行输出)

P3.2

INT0(外部中断0)

P3.3

P3.4

T0(定时器0外部输入)

P3.5

T1(定时器1外部输入)

P3.6

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

P3.7

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

RST:

复位输入,晶振工作时,RST脚持续2个机器周期高电平将使单片机

复位。

ALE/PROG:

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器配置为片内振荡器时,石晶振荡和陶瓷振荡均可采用。

2、ADC0804

ADC0804是属于连续渐进式(SuccessiveApproximationMethod)的

A/D转换器,这类型的A/D转换器除了转换速度快(几十至几百us)、分辨率高外,还有价钱便宜的优点,普遍被应用于微电脑的接口设计上,其引脚图如图二所示。

C5-匸

1

20

丽U

2

1?

ZZICLKR

WR匚

5

18

二]1八「騷川

CLK1二

4

17

二1I1H]

1NTR匸

16

_ID3J

曲匸

$

15:

二1

f

14

二1他

13

pDBs

比汕Z匚

9

12

二(叭

L0

二ITH:

M9E'

图二ADC0804引脚图

芯片参数:

工作电压:

5V,即VCC=5V。

模拟输入电压范围:

0〜5V,即0<

Vin<

5V。

分辨率:

8位,即分辨率为1/2=1/256,转换值介于0〜255之间。

转换时间:

100us(fCK=640KHz时)。

转换误差:

土1LSB。

参考电压:

2.5V,即Vref=2.5V。

各个管脚的作用:

D0-D7:

数字量输出端,输出结果为八位二进制结果;

CLK:

为芯片工作提供工作脉冲,时钟电路如图所示,时钟频率计算方式是:

FCK=1/(1.1XRXC)

CS:

片选信号;

WR:

写信号输入端;

RD:

读信号输入端;

INTR:

转换完毕中断提供端;

其他管脚连接如图,是供电和提供参考电压的管脚输入端。

3、铂热电阻PT100

铂热电阻PT100,它的阻值跟温度的变化成正比。

PT100的阻值与温度变化关系为:

当PT100温度为0C时它的阻值为100欧姆,在100C时它的阻值约为138.5欧姆。

它的工业原理:

当PT100在0摄氏度的时候他的阻值为100欧姆,它的阻值会随着温度上升而成匀速增长的。

在高温下其物理、化学性质都非

常稳定,因此它具有精度高、稳定性好、性能可靠的特点。

它的电阻一温度关系

的线性度非常好,在-200〜650C温度范围内线性度已经非常接近直线,电阻与温度的关系:

R=订+100。

4、LM324

LM324系列器件带有差动输入的四运算放大器。

它采用14脚双列直插塑料封装。

它的内部包含四组形式完全相同的运算放大器,除电源共用外,四组运放相互独立。

它们有一些显著优点。

该四放大器可以工作在低到3.0伏或者高到32伏的电源下,静态电流为MC1741的静态电流的五分之一。

引脚图如图三所示。

14no121130

1235&

7

图三LM324引脚图

三、方案论证

本次设计以AT89C51和ADC0804为核心,利用热敏电阻的热敏效应,把温度变化转换成阻值变化,进而电压变化,把转换过来的模拟电压输送给模数转换电路ADC0804,将模拟量转换成数字量,再将数字量输送给单片机,单片机进行数据处理,处理的结果是,使输出的数据给数码管,数码管能够显示当前温度。

其各个元器件的主要职能如下:

铂热电阻PT100:

温度传感器,将非直接测量的温度转换成可测量可用的模拟电压电压信号。

LM324:

由于测温电路输出的电压信号很微小,如果直接输送给模数转换器将会造成很大的误差,LM324主要用来放大测温电路的输出电压,使

其输出的电压能够进行模数转换。

ADC0804:

模数转换器,将LM324输送来的模拟电压转换成数字量,并输送给单片机进行数据处理。

AT89C51单片机:

对ADC0804输送过来的数字信号,进行数据处理,处理结果送给数码管,使其能够显示当前的温度。

另外,他还控制着ADC0804模数转换器的工作状态如控制着模数转换器的选通、开启、转换和完成输出等。

数码管:

显示当前的温度值。

其设计思路如图四所示。

ADC0804

模数转换

电路

图四设计方框图

四、电路设计

1、PT100测温电路

铂热电阻PT100采用恒流源测量电路,其测量电路如图五所示

图五PT100测温电路

PT100温度与电阻值的对应关系如表二所示。

温度/C

-50

-30

-10

10

阻值/

Q

80.31

88.22

96.09

100.00

103.90

107.79

温度/r

30

50

70

90

100

110

111.67

119.40

130.90

134.71

138.51

142.29

表二PT100温度与电阻值的对应关系

当温度的变化范围是-50C-110C,则电阻由80.31Q变化到142.29Q。

据U=IR可得,则电压变化范围为0.2048v~0.3628v,电压变化为0.1580v。

2、ADC0804模数转换器的连接

芯片片选信号,低电平有效,高电平时芯片不工作。

启动ADC0804进行ADC采样,该信号低电平有效,即信号由低电平变成高电平时,触发一次ADC转换。

低电平有效,即=0时,DAC0804把转换完成的数据加载到DB口,可以通过数据端口DB0〜DB7读出本次的采样结果。

INTR:

转换完成输出端,输出低电平。

CLKIN和CLKR:

外接RC振荡电路产生模数转换器所需的时钟信号,VREF/2:

参考电压接入引脚,该引脚可外接电压也可悬空,若外接电压,则ADC的参考电压为该外界电压的两倍,如不外接,贝UVref与Vcc

共用电源电压,此时ADC的参考电压即为电源电压Vcc的值。

其连接电路如图六所示。

图六ADC0804的电路连接

3、AT89C51单片机的连接电路

单片机作为控制中心和数据处理中心,他连接着ADC0804模数转换器和数码管显示电路,其中P0.0~P0.3分别连接四个数码管,作为数码管的选通控制端,P3的八个输出端口作为数码管的数据输入端,P2.5~P2.7四个端口连接

ADC0804控制着模数转换器的选通、转换、输出等等,P1口连接着ADC0804的八位输出端口。

其他端口的功能:

复位输入,晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。

地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。

XTAL1和XTAL2分别为反向放大器的输入和输出。

该反向放大器配置为片内振荡器时,石晶振荡和陶瓷振荡均可采用。

其连接电路如图七所示。

图七ATC89C51的连接电路

五、PROTEUS设计

1、创建新工程

双击Proteus8Professional图标,点击File(文件)中NewProject项,新建一个工程项目,在Name项输入项目名,在Path项中选择保存路径,点击Newproject,再点击Next设置完成,如图八所示。

*NewProjectWizard:

Start?

BlwJkFtr^jc^t

图八创建新工程

2、设置原理图

在原理图设计Schematicdesign对话框中选择创建原理图(Createa

Schematicfromtheselectedtemplate),如果不需要绘制原理图,可直接选

择Donotcreateaschematic。

在此选择创建原理图,原理图大小可以根据需要选择,本次选择默认(DEFAULT),如图九所示

NewProjectWizard:

SchematicDesign

(jDonotcreateaschematic.

•Createascherrati匚fromtheselectedtemplate.

DesignTemplates

default

LatidscapeAD

LardscapeA1

LardsvapeA2

Lar±

capeA3

LandscapeA4

LandscapeUSA

LandscapeUSA

Lari±

capaUSC

图九创建原理图

4、创建PCB设计

本次设计不需要PCB板,可以直接选择(DonotcreateaPCBlayout),如果需要可以选择(CreateaPCBlayoutfromtheselectedtemplate),如

图十所示。

DonotcreateaPCBlayout,

CieateaPCBlayoiMfromthesdecUdtonplata

L也川litTemplaej

DEFAULT

DoubleEurocard(2L則刨

DoubleEdracarJ(4Laper]

ExtendedDoubleEuiucard(2Layer)

ExtendedDoubleEurocard(4La^er]GeneticSingltLayer

SingleEurocard[2La^et]

SingleEurocard(4Lapef)

SingleEurocardwithCorrectof

图十创建PCB设计

5、选择芯片

在CreateFirmwareProject界面中,设置Family(系列)-8051,Contoller控制器-AT89C51,Compiler(编译器)-ASEM-51,也就是在此设计外部代码编译器。

如果不需要进行仿真,则可直接选择NoFirmwareProject即可。

按下Next,设置完成,如图所示。

图十一选择芯片

6、所有设置完之后,进入Protues原理图绘制界面,中间大部分网格区域是原

理图绘制区,左侧为工具栏,各种元器件、各种仪表等等,可以在此工具栏中查

找。

原理图绘制界面如图十二所示

图十二原理图绘制界面

7、添加元器件

点击工具栏中的P按钮,将会弹出元器件搜索界面(PickDivce),在Keyword一栏中输入将要查找的元器件的关键词,在搜索界面将会出现有关的元器件,选择想要的元器件,按下0K则添加成功,如图十三所示。

图十三添加元器件

8、布局布线

选中元器件,将元器件放进原理图绘制界面,双击放下,所有元器件都放进之后,并进行布局布线,原理图绘制结果如图十四所示。

图十四电路原理图

六、程序流程图

软件设计采用C语言编程,运用模块化程序设计思想,对整个程序分为四

个模块,分别是初始化单片机、定时器、显示器模块,获得AD转换数据模块,

数据处理模块和显示模块,对不同功能模块的程序进行分别编程,其流程图如图

十五所示。

结束

图十五程序流程图

在初始化AT89C51,初始化显示器,定时器TO时,首先进行函数说明和管脚定义,例如定义P1口作为AD的数据口,定义P2.4、P2.5、P2.6和P2.7口作为AD的控制端口等等。

初始化话程序完成后,将是数据采集装换程序,其流程图如图十六所示。

 

图十六AD数据采集转换

AD转换后的数字信号保存在了单片机,单片机将对保存的数字信号进行数

据处理,数据处理的结果输送给数码管,使数码管显示当前温度值,其流程图如

图十七所示。

T=8.124*addata-655.7

数码管显示

图十七数据处理流程图

七、生成.Hex文件

启动Keil软件,编译源文件,并对源文件进行编译,如果有错误,从错误

的第一条开始改正,直到编译没有错误,编译完成后,会产生.Hex文件,其源

文件编译如图十八所示

图十八源文件编译

八、Proteus仿真

1、导入.Hex文件

双击原理图中的单片机,将会弹出编辑元器件对话框,在对话框中的

Programfile中导入生成的.Hex文件,点击0K,导入成功,如图十九所示

图十九导入.Hex文件

2、电路仿真

符合设计要求,仿真结果如图二十所示

arm:

砂e血cmuace

L■血

mpprim■^ouabi

0rfedl世十廂■nUKkWUfc』

图二十仿真结果

九、总结

本次课设我学会了Protues软件的基本应用,首先创建新工程,创建原理图,选择芯片,添加元器件,布局连线,向单片机导入.Hex文件,最后对电路进行仿真。

除此之外,通过这次课设,我懂得了数字温度计的工作原理,了解了各个部分电路的职能作用,同时也加深了我对单片机、数电和模电的学习,同时我也发现了自己的不足,在软件编程发面存在一些不足的知识,以后要加强这方面的学习。

十、参考文献

【1】张毅刚,刘杰.MCS-51单片机原理及应用.[M]哈尔滨工艺大学出版社,2004年.

【2】郭天祥.51单片机C语言教程.[M]电子工业出版社,2012年.

【3】童师白.模拟电子技术基础.[M]高等教育出版社.2006年.

【4】阎石.数字电子技术基础.[M]高等教育出版社,2006年.

【5】张靖武.周灵杉.单片机系统的PROTUSE设计与仿真.[M]电子工业出版社,2007年

【6】张毅刚.基于Proteus的单片机课程的基础实验与课程设计.[M]人民邮电出版社,2012年.

【7】周润景,张丽娜.基于PROTUSE的电路及单片机系统设计与仿真.[M]北京航空航天大学出版社,2006年.

附录I仿真电路图

»

|

:

!

-*

-

1i•I

ti■■*

•-

—i

—1

si

T

'

t-i

•・

J

」B

•+

1S

雹1X1=

II

C

Q[Fl苦

■UAsa

HH;

ll2聶亠$OH.G™曹mar

«

Mn~£

•Ur:

■1-llIAJ;

Eg月-ijdqNU.H^FJa-471113直HH-別

L!

□r

~n-p

1—

E

->

F

11

2.

a

RT-

附录II程序

#include<

reg51.h>

#include<

intrins.h>

#defineucharunsignedchar#defineuintunsignedint

#define

ad0_7

P1

sbit

cs=P2A4;

rd=P2A7;

wr=P2A6;

intr=P2A5;

uchari;

ucharled[11]={

//"

0"

0x06,

1"

0x5B,

2"

0x4F,

3"

0x66,

4"

0x6D,

5"

0x7D,

6"

0x07,

7"

0x7F,

8"

0x6F,

9"

0x40,

-"

0x3F,

};

uchardat_AD[4]={0};

voidstart_ad(void)//启动AD

{cs=0;

wr=0;

_nop_();

wr=1;

while(intr);

cs=1;

}

read_ad()

{uintad_data;

ad0_7=0xff;

cs=0;

rd=0;

ad_data=ad0_7;

rd=1;

return(ad_data);

}

voiddata_shout(uintad_data)

{

floattemp;

uintT;

if(ad_data<

79)

temp=614.422-7.811*ad_data;

T=(uint)temp;

dat_AD[0]=10;

}//负温度dat_AD[0]中为温度符号数据

elseif(ad_data<

=204)

temp=7.990*ad_data-628.491;

dat_AD[0]=T/1000;

}//正温度

elseif(ad_data>

204)

temp=8.124*ad_data-655.742;

/

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

当前位置:首页 > 初中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1