|
三、ICL7135与单片机89C52接口的新方法
以往使用7135是利用它具有多重动态扫描的BCD码输出来读取A/D转换结果,这样既费时、又占用较多口线。在测控仪表中,尽量少占用微处理器I/O口线,以最少原器件、完成尽可能多的任务是十分重要的。这里介绍的ICL7135与单片机接口的简易方法,是利用7135的“BUSY”端,只需占用单片机89C51的一个I/O口和内部的一个定时器,就可以在十几微秒的中断服务程序中把ICL7135的A/D转换值送入单片机内。实践证明,该方法具有实际应用价值。
在图2中,若89C51的时钟采用6MHz晶振,在不执行movx指令的情况下,ALE是稳定的1 MHz频率,将ALE经过二分频可得到500 kHz的频率供给ICL7135时钟输入端。T0规定为定时方式1,满足ICL7135的19999满量程要求。ICL7135在A/D转换阶段, 状态输出引脚BUSY为高电平,指明A/D转换器正处在信号积分和反积分阶段,这个高电平一直持续到消除积分阶段结束。在定时器方式寄存器TMOD中,置T0的门控位GATE为1,利用BUSY作为计数器门控信号,T0的计数将受BUSY控制。控制计数器只能在BUSY为高电平时计数,那么输入信号:A/D转换值=BUSY高电平期间内计数器计数值-10 001
图2中用ICL 7135的BUSY端接89C52的外部中断 , POL为信号极性输出端,接89C52的P1.7,高、低电平表示被测信号为正、负极性。
四、实验结果及误差分析
在以铂电阻测温电路的线性化设计的方案中,误差来源一方面来自于基准电容放电过程的非线性引起的误差:当RC取值满足 时,此项误差折合成温度值可小于0.03℃。另一方面误差来自于A/D转换准确度。当选用4位半A/D转换器ICL7135时,其准确度为±0.05%,折合最大温度误差为0.10℃,两项误差相对独立,电路总体测温误差为±0.104℃。本电路经组装后,进行了实际性能测试,实验数据见表1。从测试结果看,样机最大误差为-0.18℃,与分析结论基本相近。
表1 (铂电阻分度号为Pt100)
|
标准温度(℃) |
显示温度(℃) |
绝对误差(℃) |
|
100
110
120
130
150
160
170
180
190
200 |
100.20
110.17
120.05
130.12
140.11
149.95
159.88
169.84
179.84
189.82
|
0.20
0.17
0.05.
0.12
0.11
-0.05
-0.12
-0.16
-0.16
-0.18
0.18 | |
参考文献
[1]R.E.贝德福德、T.M.道芬里、H.普雷斯顿.托马斯合著:袁光富译,温度测量,计量出版社,1995
[2]赵学增,检测与传感技术,哈尔滨工业大学出版社,1998.10
[3]郑建国,一种高精度的铂电阻温度测量方案,自动化仪表,1997.18(8)
The Design for the Linearization of Pt Resistance Temperature Measurement
Abstract: A correcting method of non-linear error for Pt resistance temperature measurement based on the principle of A/D conversion is presented. The design principle of Pt resistance linear temperature measurement is analyzed. Practical circuit for interfacing A/D converter 7135 with single chip computer 89c51 and test data are given
Key words: Pt resistance, Temperature measuring circuit, Analog-digital conversion, Non-linear correction, Samples
第一作者简介:
蔡辉: 华中科技大学控制科学与工程系,
|