基于单片机和tlc2543的温度及电压测量装置.docx

上传人:b****0 文档编号:9059298 上传时间:2023-05-16 格式:DOCX 页数:9 大小:25.57KB
下载 相关 举报
基于单片机和tlc2543的温度及电压测量装置.docx_第1页
第1页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第2页
第2页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第3页
第3页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第4页
第4页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第5页
第5页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第6页
第6页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第7页
第7页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第8页
第8页 / 共9页
基于单片机和tlc2543的温度及电压测量装置.docx_第9页
第9页 / 共9页
亲,该文档总共9页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于单片机和tlc2543的温度及电压测量装置.docx

《基于单片机和tlc2543的温度及电压测量装置.docx》由会员分享,可在线阅读,更多相关《基于单片机和tlc2543的温度及电压测量装置.docx(9页珍藏版)》请在冰点文库上搜索。

基于单片机和tlc2543的温度及电压测量装置.docx

基于单片机和tlc2543的温度及电压测量装置

基于51单片机和TLC2543的温度

测量以及电压测量装置

西安理工大学

一作品内容

摘要:

本电路主要采集STC89C52芯片和TLC2543芯片来完成一个简易的数字电压表以及温度测量装置,能够对输入的0〜5V的模拟直流电压以及0-100C温度进行检测,并通过1602LCD液晶进行显示。

该电压表的测量以及温度显示电路主要由三个模块组成:

模数转换模块、温度采集模块、数据处理模块及显示控制模块。

A\D转换模块主要由芯片

TLC2543来完成,它负责把采集到的模拟量转换为相应的数字量再传送到数据处理模块。

数据处理则由芯片STC89C52来完成,其负责把

TLC2543传送来的数字量经一定的数据处理,产生相应的显示码送到显示模块进行显示:

另外它还控制着TLC2543芯片的工作。

(1)基本功能:

1)电压测量范围0—5V,温度测量范围0-100C

2)能用1602LCD液晶显示电压值以及温度

3)测量精度达0.3V

4)自制温度测量装置

5)系统具备复位功能

(2)根据设计要求,系统可分为电压采集模块、温度采集模块、A\D

转换模块、主控模块、显示模块

电压、

温度采

集模块

显示模块

=^>

A\D

转\

换/

接口模块

直流稳压电源

(3)系统硬件电路设计与实现

1.A\D转换电路

TLC2543是TI公司的12位串行模数转换器,使用开关电容逐次逼近技术完成A/D转换过程。

由于是串行输入结构,能够节省51系列单片机I/O资源;且价格适中,分辨率较高,因此在仪器仪表中有较为广泛的应用。

2TLC2543的特点

(1)12位分辩率A/D转换器;

(2)在工作温度范围内10卩s转换时间;

(3)11个模拟输入通道;

(4)3路内置自测试方式;

(5)采样率为66kbps;

(6)线性误差士ILSBmax;

(7)有转换结束输出EOC;

(8)具有单、双极性输出;

(9)可编程的MSB或LSB前导;

(10)可编程输出数据长度。

各引脚功能如下:

1)AIN0〜AIN10――模拟量输入端。

11路输入信号由内部多路器选通。

对于4.1MHz的I/OCLOCK,驱动源阻抗必须小于或等于50Q,而且用60pF电容来限制模拟输入电压的斜率。

2)-I片选端。

在端由高变低时,内部计数器复位。

由低变

高时,在设定时间内禁止DATAINPUT和I/OCLOCK。

3)DATAINPUT――串行数据输入端。

由4位的串行地址输入来选择模拟量输入通道。

4)DATAOUT――A/D转换结果的三态串行输出端。

为高时处于高阻抗状态,为低时处于激活状态。

5)EOC――转换结束端。

在最后的I/OCLOCK下降沿之后,EOC从高电平变为低电平并保持到转换完成和数据准备传输为止。

6)GND地。

GND是内部电路的地回路端。

除另有说明外,所有

电压测量都相对GND而言。

7)I/OCLOCK――输入/输出时钟端。

I/OCLOCK接收串行输入信号

并完成以下四个功能:

(1)在I/OCLOCK的前8个上升沿,8位输入数据存入输入数据寄存器。

(2)在I/OCLOCK的第4个下降沿,被选通的模拟输入电压开始向电容器充电,直到I/OCLOCK的最

后一个下降沿为止。

(3)将前一次转换数据的其余11位输出到

DATAOUT端,在I/OCLOCK的下降沿时数据开始变化。

(4)I/OCLOCK的最后一个下降沿,将转换的控制信号传送到内部状态控制位。

8)REF+――正基准电压端。

基准电压的正端(通常为Vcc)被加到

REF+,最大的输入电压范围由加于本端与REF-端的电压差决定。

9)REF-――负基准电压端。

基准电压的低端(通常为地)被加到REF-。

10)Vcc——电源。

2.温度的模拟量采集:

温度传感器PTI00:

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

测量范围:

-200C〜+850C.

允许偏差值△《:

A级士(0.15+0.002/t/),B级±(0.30.0.005/t/)

热响应时间<30s

最小值入深度:

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

允许电流w5mA

另外,Ptl00温度传感器还具有抗振动、稳定性好、准确度高、耐高压等优点。

铂热电阻的线性较好,在0-100摄氏度之间变化时,最大非线性偏差小于0.5摄氏度。

铂热电阻阻值与温度关系为:

(1)时,RPtl00=l00*[1+At+B*t2+C*t2*(t-l00)]

(2)0C

式中,A=0.00390802;B=-0.000000580;C=0.0000000000042/35。

可见PtIOO在常温0-100摄氏度之间变化时线性度非常好,其阻值表达式可近似简化为:

R=100(1+At),当温度变化1摄氏度,PtIOO阻值近似变化0.39欧。

下表为PtIOO在0C-100C的分度表:

£

0.

1

2

3

■5

6

7

8

9

0

100

10039

100.78

101.17

101.56

101.95

102.34

102.73

103.12

103.51

10

103.9

104.29

104.68

105,07

105,46

105,85

10624

106,63

107.02

107,4

20

107.79

108.1S

10875

10S.96

10935

10973

11012

110.51

110.9

111.28

30

111.67

112.06

112.45

112.83

113.22

113,61

114.99

114.38

114.77

115.15

40

115.54

115.93

11631

1165

11708

117.47

117S5

118.24

118.62

11901

50

1194

11978

120.16

120.55

120.93

12132

121.7

12209

122.47

122.86

60

123.24

123.62

12401

124.39

12477

125.16

125.54

125.92

12631

126.69

70

127,07

127.45

12784

128.22

128,6

12937

129,75

130.13

130.51

80

130.89

131.27

13166

132.04

132.42

132.8

133.18

133.56

13394

13432

90

134.7

135.OS

13546

135.84

136.22

136.6

136.9S

13736

137.74

13S.12

100

138:

5

138.88

139.26

139.64

140.02

14039

140.77

14L15

141.53

141.91

2.接口电路设计(图见附录)

1)接口电路是TLC2543输出的二进制码经过单片机显示到液晶,主要由时钟电路、复位电路和单片机芯片组成。

2)时钟电路。

单片机内部有一个构成振荡器的增益反响放大器,引脚XTAL1和XTAL2分别是此放大器的输入端和输出端,这个放大器与作为反馈元件的片外晶振一起构成自己振荡器。

3)复位电路。

单片机一上电,立即复位,也可手动复位。

电阻和电容实现上电自动复位。

复位也是使单片机退出低功耗工作方式而进入正常状态的一种操作。

3.显示电路的设计

以下是1602液晶引脚的接线图,中间没有接线的为数据控制端口。

1602字符

型通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样:

二:

实验代码

#include

#defineucharunsignedchar#defineunitunsignedintsbitTCL2543_CLK=P1A2;sbitTCL2543_ADIN二PM3;sbitTCL2543_DOUT=P1A4;sbitTCL2543_CS=P1A5;

sbitIcden=P3A0;

sbitIcdrs=P3A1;voiddelay(unitz)

{

unitx,y;

for(x=z;x>0;x--)for(y=110;y>0;y--);

}

voidwrite_com(ucharcom){

lcdrs=O;

P2=com;

delay(5);

Icden=1;

delay(5);

Icden=0;

}

voidwrite_data(uchardate){

lcdrs=1;

P2二date;

delay(5);

lcden=1;

delay(5);

lcden=0;

}

voidinit()

lcden=0;

write_com(0x38);/*kia*da*/write_com(OxOc);/*dakaiguanbiao*/write_com(0x06);/*jiayi*/write_com(0x01);

write_com(0x80);/*shujuzhi*/

}

unitread2543(unsignedcharport)

{

unsignedinti;

unitad_value=0;

TCL2543_CLK=0;

TCL2543_CS=0;

port<<=4;

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

{

if(TCL2543_DOUT)ad_value|=0x01;

TCL2543_ADIN=(bit)(port&0x80);

TCL2543_CLK=1;

delay(60);

TCL2543_CLK=0;

delay(60);

port二port«1;

ad_value二ad_value<<1;

}

TCL2543_CS=1;

ad_value=ad_value>>1;

}

voidmain()

{

unitresult,num,a,table[3];floattmp,y;

while

(1)

{

init();

result二read2543(0);

result二read2543(0);tmp=(result*5.36/4096.0);

a=tmp*100*3.9;

table[0]=a/100;

table[1]=a%100/10;

table[2]=a%100%10;

write_data('v');write_data('o');writedata(T);

write_data('');

write_data('s');

write_data('');

for(num=0;num<3;num++)

{

if(num==1)

write_data('.');write_data(table[num]+0x30);

}

write_com(0x80+0x40);

result二read2543

(1);

tmp=(result*5.36/4096.0);

y=(tmp-0.878)/0.0233;

a=y*10;

table[0]=a/100;

table[1]=a%100/10;

table[2]=a%100%10;

write_data('t');

write_data('m');

write_data('p');

write_data('');

write_data('i');

writedata('s');

write_data('');

for(num=0;num<3;num++)

{

if(num==2)

write_data('.');write_data(table[num]+0x30);

}

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

当前位置:首页 > IT计算机 > 电脑基础知识

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

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