基于PIC16F887的温度传感器
智能检测室内温度,当温度高于设定最高值时警示并开启空调散热,当温度低于设定最低值发出警报。
1.设计题目
能够将当前温度和温度上下限三者显示在显示器上
能够根据温度超限情况进行相应的指示和动作
2.设计思路
利用PIC单片机的通信功能,将单线数字温度计DS18B20中的温度和设定的上下限温度,用LCD液晶屏显示,并可以通过按键来控制电机的启动,在温度高于上限或低于下限的时候报警设计所能实现功能:
① 能检测当前环境温度,并能将温度和上下限温度数值显示在液晶屏上
② 在温度高于上限或低于下限时由绿灯转红灯且蜂鸣器响起报警
③ 温度高于上限时电机启动降温,也可通过按钮手动启动电机
3.仿真电路图
4.流程图
5.调试过程中遇到的问题及解决
仿真调试过程中,按下按钮1后光标显示上下限温度的十位,无法正常更改上下限温度。
光标显示不正常,先是查看了光标闪烁的程序段,与网络中的标准程序做对比未发现任何错误,排除该可能。认为应该是程序段中关于光标显示的坐标输入错误,导致该现象。
if ( keyset == 1 )
{setLcdCursor( 3, 1 );}//改变上限
else if ( keyset == 2 )
{setLcdCursor( 13, 1 );}//改变下限
由于显示的位置为十位,因此需要后移一位数,将setLcdCursor( 3, 1 )更改为setLcdCursor( 4, 1 )后,发现光标可以显示在个位,成功解决问题。
6.实验现象以及分析
(1)最高温度、最低温度、当前温度显示在LCD上
(2)当温度大于等于最高温度时,红灯亮,直流电机旋转(红灯L1亮,直流电机L3亮);当温度在TH和TL之间时,绿灯亮,直流电机停转。(绿灯L2亮、直流电机L3暗)
(3)当温度小于等于最低温度时,红灯亮,蜂鸣器响(红灯L1亮,蜂鸣器响,把蜂鸣器的输入换接到L8,L8亮)
(4)第一次按下按键1,设置最高温度;第二次按下按键1,设置最低温度
(5)按下按键4退出设定状态,并保持设定值
更多推荐
所有评论(0)