本帖最后由 luobin208 于 2015-7-23 00:43 编辑
大家好,最近看到一个产品,是用IO口测温的温度计。
他所使用的测温方法和传统的有点不一样,特来请教各位高手。
先上图
图中:
P30、P31和P32是单片机的3个I/O脚;
R1为100k的精密电阻;
RT为100K-精度为1%的热敏电阻;
C1为1μF的瓷介电容。
其工作原理为:
1.先将P30、P31、P32都设为低电平输出,使C1放电至放完。
2.将P31、P32设置为输入状态,P30设为高电平输出,通过R1电阻对C1充电,单片机内部计时器清零并开始计时,检测P31口状态,当P31口检测为高电平时,即C1上的电压达到单片机高电平输入的门嵌电压时,单片机计时器记录下从开始充电到P31口转变为高电平的时间T1。
3.将P30、P31、P32都设为低电平输出,使C1放电至放完。
4.再将P30、P31设置为输入状态,P32设为高电平输出,通过RT电阻对C1充电,单片机内部计时器清零并开始计时,检测P31口状态,当P31口检测为高电平时,单片机计时器记录下从开始充电到P31口转变为高电平的时间T2。 从电容的电压公式:可以得到:T1/R1=T2/RT,即 RT=T2×R1/T1 。通过单片机计算得到热敏电阻RT的阻值。并通过查表法可以得到温度值。
再来说下,这个产品IO测温的特殊之处:
其工作原理:
1,2,3跟上面所说的工作原理是一样的,唯一不同的在于第4点。
4.再将P31设置为输入状态,P30,P32都设为高电平输出,通过RT电阻和R1电阻一起对C1充电,单片机内部计时器清零并开始计时,检测P31口状态,当P31口检测为高电平时,单片机计时器记录下从开始充电到P31口转变为高电平的时间T2
不知现在这种P30,P32都输出高,一起对C1充电,公式是怎么样的?
谢谢大家帮忙看看!!!
|