YANGHUIMIN 发表于 2016-8-12 09:15:55

K型热电偶数字转换器MAX6675及其在铝水平温度测量仪中的应用(下)

          2.2 软件实现    温度测量是铝水平温度测量过程的最后一个环节,在系统测量完铝水平后,开始进行温度测量,这一部分程序作为一个独立的程序段,定时调用,主要包括MAX6675数据读取、开路判断、数据处理和码制转换等几个部分。程序流程如下:  下面给出MAX6675温度值读取程序设计:  温度值读取程序  位定义  CS BIT P1.0 ;数据输入  SCK BIT P1.1 ;片选  SO BIT P1.2 ;时钟  数据字节定义  DATAH DATA 40H ;读取数据高位  DATAL DATA 41H ;读取数据低位  TDATAH DATA 42H ;温度高位  TDATAL DATA 43H ;温度低位  CLR CS ;CS低电平,停止数据转换,输出数据D15  CLR CLK ;时钟置为低电平  MOV R7, #08H  RD_DATAH: ;读数据高位字节D15-D8  MOV C,SO ;读SO端数据  RLC A ;累加器左移一位  SETB SCK  NOP  CLR SCK  DJNZ R7,RD_DATA  MOV DATAH,A ;将数据高位移入缓冲区  MOV R7,#08H  RD_DATAL: ;读数据低位字节D7-D0  MOV C,SO ;读SO端数据  RLC A ;累加器左移一位  SETB SCK  NOP  CLR SCK  DJNZ R7,RD_DATAL  MOV DATAL,A ;将数据低位移入缓冲区  SETB CS ;CS高电平,停止数据输出,启动新的数据转换;数据转换子程序,将读得的16位数据转换为12位温度值,去掉无用的位  MOV A,DATAL  RLC A  MOV DATAL,A  MOV A,DATAH  RLC A ;整个数据位左移一位,去掉D15位  SWAP A ;将DATAH中的高低4位数据互换  MOV B,A ;数据暂存于B中  ANL A,#0FH ;得到温度数据高位字节部分D14 ~D11  MOV TDATAH,A ;将温度值高位字节保存  MOV A,B  ANL A,#0F0H ;得到温度数据低位字节部分D10 ~D7  MOV B,A  MOV A,DATAL ;  ANL A,#0FH ;得到温度数据低位字节部分D6 ~D3  ORL A,B ;合并的温度低位字节  MOV TDATAL,A ;将温度值低位字节保存  3 应用中注意的几个问题  在铝水平温度测量仪的设计和调试过程中遇到诸多问题,现将与MAX6675相关的几个问题和使用心得摘录如下,以供参考。  1)MAX6675芯片对电源噪声较为敏感,尽量将MAX6675布置在远离其他I/O芯片的地方。  2)MAX6675芯片T-必须接地,并使接地点尽可能接近GND脚,否则读出数据为无规律的乱码。  3)MAX6675是通过冷端补偿来校正周围温度变化的。该器件将周围温度通过内部的温度检测二极管转换为温度补偿电压,该器件内部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。  因此在实际测温应用时,应尽量避免在MAX6675附近放置发热器件或元件,例如7805等带散热片的稳压器件。  4)尽量采用大截面积的热电偶导线,长距离传输时,可采用双绞线作为信号传输线。  5)根据应用场合的不同,可通过相应的数字滤波器进行数据处理,以提高所需要某一段测量数据的准确性。  4 结束语  MAX6675将热电偶测温应用时复杂的线性化、冷端补偿及数字化输出等集中在一个芯片上解决,简化了铝水平温度测量仪中热电偶测温电路的设计,实际运行结果表明,该测温系统抗干扰能力强、结构简单、可靠性高,测量精度满足要求。因此,在基于微处理器的单片机嵌入式工业测温系统中,由MAX6675构成的单片热电偶测温解决方案,具有良好的实用价值。
页: [1]
查看完整版本: K型热电偶数字转换器MAX6675及其在铝水平温度测量仪中的应用(下)