如图 2-1的模型1所示,这是温度测量的常用方法。R1为固定电阻,R2为热敏电阻。当温度变化时,R2阻值发生变化,因而A点电压随之改变,利用AD功能可以测出A点电压,从而计算出R2的阻值,最终得到温度值。
本范例不使用AD功能,利用普通IO口对电容充放电来模拟AD功能,测出热敏电阻的阻值。如图 2-1的模型2所示,R3为热敏电阻,C1为充电电容,R4是放电时用作限流保护的小电阻。具体做法如下:
(1) IO1和IO2输出0,C1放电。
(2) IO1设置为输入,IO2输出高电平,开始充电,同时,计时器开始计时。
(3) 不断读取IO1的端口值,当其由0变为1时,计时器停止计时。
(4) 计算出充电时间。
热敏电阻的阻值随着温度不断变化,所以充电时间也随着阻值而改变,特定的阻值对应于特定的充电时间,因而我们可以根据充电时间得到热敏电阻的阻值,最终得到温度值。
|