一、设计目的
- 能够采集室内温度并显示
- 能够实现人体感应,人走断电
- 能够实现手动/自动控制风扇加/减档
- 能够实现对风扇定时控制
二、设计思路
1.硬件方面
该设计采用STC89C52RC芯片进行设计,利用DS18B20采集室内温度,并将采集的温度通过串行口显示在显示屏LCD1602上。通过HC-SR501来检测周围环境7m范围内是否有人存在。P2.1和P2.2端口接驱动芯片和电机。P3.2、P3.3、P3.5和P3.6端口分别接加速档位、减速档位、定时档位和自动控制档位。
2.软件方面
首先对LCD1602进行初始化,显示温度T、档位Gear和定时时长Time,通过P3.7端口把温度传感器上的温度传递给单片机,再通过P0口将数据给LCD1602并显示出来。人体感应模块通过P2.0端口将信号传递给单片机,实现人走断电。加减档通过外部中断来控制电机的加减速。定时部分采用定时器T1来实现,每按一次定时按钮定30min,最高可定8h,当定时到8h时再按一下定时清零。自动控制部分通过设定温度范围,实现3个档位,使得电机随温度变换。
三、元器件
- 单片机芯片 STC89C52RC
- 温度传感器 BS18B20
- 显示器 LCD1602
- 人体红外感应器 HC-SR501
- 直流电机 130电机
- 电机驱动芯片 L9110S
- 轻触开关4个
- 若干电阻和电容
四、仿真图
注:右下角的电路为模拟人体感应模块电路。
五、设计代码
代码由Keil软件编写