EDN China > 技术文章 > 嵌入式系统 > 开发工具 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

采用单片机设计温湿度控制仪

来源:今日电子 / 作者:江阴市洗衣机配件厂 龚永彬?? 2007年01月10日 ?? 收藏0
滑滤波器R4、C3滤波后,经IC3(OP07)直流放大后输入到TLC0834的模拟电压输入端。其中,RP1用来调零,RP2用来调满刻度。

?????? 温度传感器采用MF58型热敏电阻,本系统的测量范围为:-30~120℃,对应的电阻值范围为:60.0256~0.2760kΩ。因MF58的阻值变化足以为TLC0834提供0~2.5V的模拟电压,所以LM358接成电压跟随器的形式。TLC0834可由软件配置为差分或单端输入,对于温度采样用差分输入方式,RP3用来调零,RP4用来调满刻度。

?????? 本系统中设立3个按键,分别是功能键、加1及减1键,用来设定温湿度的上下限。功能键是多功能键,依照按下的次数执行相应的功能。当功能键第一次被按下,数码管显示调整低温加热下限符号并显示低温加热下限的值,按加1减1使值符合要求后,再按下功能键则数码管显示调整低温加热上限符号并显示低温加热上限的值,按加1减1使值符合要求,这样依次类推,设定完最后一个参数后,再按一次功能键则完成参数
整定进入测控状态。

?????? 软件编程
  
?????? 控制仪的软件由主程序和T0中断处理程序组成,其中主程序框图如图2所示,T0中断处理程序如图3所示。

主程序框图

???????????????????????????????????????????????????????? 图2 主程序框图

T0中断处理程序

?????????????????????????????????????????????????????? 图3 T0中断处理程序

?????? 系统中,设定定时器T0为工作方式1,定时周期为125ms,8次定时器中断为1秒。为了提高抗干扰性能,采用滑动平均滤波算法,即只采样一次,将这一次采样值和过去的若干次采样值一起求平均,得到的有效采样值即可投入使用。

??????

本系统中采用两个环形队列,每次中断采样一次温湿度的值,分别放入环形队列中,每存入一个新数据便自动冲去一个旧数据。环形队列的地址为30H~3FH共16个单元,温湿度数据各占8个单元。为了有效防止显示闪烁现象,每秒钟进行一次数据处理(8个数据求和再除以8),处理后的数据换算成温湿度的值送显示缓存并申请显示,同时进行监控处理,符合加热器加热停止条件或排分扇启动停止条件的,要进行相应的处理。

?????? 由于系统中有看门狗电路,所以在编程时要特别注意,传统的等待按键释放的方法容易造成看门狗电路输出复位信号。解决方法是,在主程序中,当检测到有键按下后置键按下标志位,在主程序的循环中则反复判断键按下标志位是否被清零,如果被清零则说明键已释放,然后才能进行下一轮的键盘按下判断。在T0中断处理程序中,每次中断均要检测键是否按下。若无键按下,有两种情况,一是系统中无键按下(此时键按下标志为0),处于监控状态;二是键按下释放后的情况(此时键按下标志为1),这时要清键按下标志,以便主程序中进行下一轮的键按下检测。这
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

单片机? 温控? A/D?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈