微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 单片K型热电偶放大与数字转换器MAX6675

单片K型热电偶放大与数字转换器MAX6675

时间:03-14 来源:互联网 点击:
3 测温应用

下面给出MAX6675应用于嵌入式系统的具体方法。这里以AT89C2051单片机为例,给出MAX6675与单片机接口构成的测温电路及相应的温度值读取、转换程序。

MAX6675为单片数字式热电偶放大器,其工作时无需外接任何的外围元件,这里为降低电源耦合噪声,在其电源引脚和接地端之前接入了1只容量为0.1μF的电容。

MAX6675与AT89C2051单片机的接口电路如图5所示。



由于AT89C2051不具备SPI总线接口,故这里采用模拟SPI总线的方法来实现与MAX6675的接口。其中P1.0模拟SPI的数据输入端(MISO),P1.1模拟SPI的串行时钟输出端SCK,P1.2模拟SPI的从机选择端SSB。下面给出相应的温度值读取程序及数据转换程序。
;温度值读取程序
;位定义
SO BIT T1.0 ;数据输入
CS BIT P1.1 ;从机选择
SCK BIT P1.2 ;时钟
;数据字节定义
DATAH DATA 30H ;读取数据高位
DATAL DATA 31H ;读取数据低位
TDATAH DATA 32H ;温度高位
TDATAL DATA 33H ;温度低位
;读温度值子程序
READY:CLR CS ;停止转换并输出数据
CLR CLK ;时钟变低
MOV R2,#08H
READH:MOV C,SO
RLC A ;读D15~D8高8位数据
SETB CLK
NOP
CLR CLK
DJNZ R2,READH
MOV DATAH,A;将读取的高8位数据保存
MOV R2,#08H
READL:MOV C,SO ;读D7~D0低8位数据
RLC A
SETB CLK
NOP
CLR CLK
DJNZ R2,READL
MOV DATAL,A;将读取的低8位数据保存
SETB CS
;启动另一次转换过程
RET
;数据转换子程序,将读得的16位数据转换为12位温度值,去掉无用的位。
D16T12:MOV A,DATAL
CLR C
RLC A
MOV DATAL,A
;数据整体右移1位,
MOV A,DATAH;以去掉D15伪志位
RLC A
SWAP A ;将DATAH中的数据高低4位互换
MOV B,A ;数据暂存于B中
MOV A,#0FH ;得到温度值的D11~D8位,并将D15~D12位置0
MOV TDATAH,A;转换后的数据送温度高位
MOV A,B;取出温度值的D7~D4位
ANL A,#0F0H
MOV B,A;暂存B中
MOV A,DATAL
ANL A,#0F0H ;取出温度值的D3~D0
SWAP,A
ORL A,B ;合并成低位字节
MOV TDATAL,A ;转换后的数据送温度高位
RET

结语

MAX6675将热电偶测温应用时复杂的线性化、冷端补偿及数字化输出等问题集中在一个芯片上解决,简化了将热电偶测温方案应用于嵌入式系统领域时复杂的软硬件设计,因而该器件是将热电偶测温方案应用于嵌入式系统领域的理想选择。

参考文献

   1. 方建淳 带基准点补偿功能的热偶放大器AD594/595及其应用 [期刊论文] -电子技术应用1994(5)
   2. 李希胜.王绍纯 热电偶特性.数字线性化新方案 2000(3)

作 者:黑龙江八一农垦大学 李敏 孟臣  
来 源:单片机与嵌入式系统应用 2003(9)

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top