温度控制器制作 | |||||||||||||||||
发布时间: 2012/12/6 10:11:00 | |||||||||||||||||
显示,按键设定,数据采集和继电器控制。首先要考虑的是在电路中3个数码管的阴极是接在P1上的,也就是说要使用动态显示的编程方法,笔者在程序中使用了一个定时中断去处理显示,定时器的定时值为20毫秒,每间隔20毫秒程序但会执行定时中断显示所要显示的数字,同时在这个定时中断中还会去扫描按键,看是否有键被按下并对其结果进行处理。在这20ms的时间里程序还会完成温度数据的采集和转换和对当前温度和设置温度的对比等等。在编写采集DS18B20数据的函数时运用了DS18B20的单总线协议,在读写DS18B20时IO口的电平时序上应尽可能做到与资料上提供的数据相一致。制作中DS18B20使用外接电源的供电方式,数据端用4.7K电阻上拉,并联接到2051的11脚上。晶振选用12M的,使用简单的上电复位电路。选用共阳极的数码管,用S8550作位驱动,段引脚通过470欧的电限流电阻接入2051的P1口上,如选用的数码管亮度不足可以调小限流电阻值。笔者也使用过共阴极的数码管,在P1口用1K电阻上拉提供电流,亮度不高,但可以节省三个位驱动IO脚,电路更是简单。电路中有三个按键,分别是显示开关/温度设定,温度上调,温度下调,在电路上电运行时程序初始是处于关闭状态的,要按一下S2电路开始显示和监测,如再按一下S2进入温度设定状态,设定值每秒闪烁一次,这时可以按S1或S3进行调节,再按下S2时退回显示当前温度状态并保存温度值到DS18B20。使用2051的第9脚做控制输出端,低电平有效,笔者用它通过9012去驱动一个5V的继电器。笔者把这个电路安装到电脑前面板上,继电器触头端接机箱的散热风扇,设定一个温度值如28度,当机箱内的温度超出28度时,控制端为低电平,继电器闭合,风扇启动进行散热。就是装在电脑面板上的实物照片。 http://wendukg.com.cn/
|
|||||||||||||||||
|