本红外控制小板基于 STC8G1K08A 单片机,能够接收红外遥控信号,并通过 GPIO 控制外部设备,如 LED 指示灯 或 继电器。此外,本系统支持将温度阈值及 GPIO 状态存储至 Flash,掉电后可恢复设定。
- 红外遥控控制:支持 NEC 协议,可通过遥控器实现 GPIO 输出状态切换。
- 温度控制:内置 DS18B20 温度传感器,可根据温度变化自动控制 GPIO。
- 掉电记忆:使用单片机内部 Flash 存储 temp_flag 及 GPIO 状态,保证掉电后设定不会丢失。
- 串口调试:支持 UART 串口输出,可实时监测温度及红外接收数据。
- STC8G1K08A 单片机
- DS18B20 温度传感器
- 红外接收头(VS1838B)
- LED 指示灯(P54, P55 控制)
- UART 串口调试接口
| 设备 | GPIO 引脚 | 说明 |
|---|---|---|
| 红外接收头 | P3.2 | 连接红外接收信号 |
| DS18B20 | P3.3 | 温度传感器数据线 |
| LED1 | P54 | 可控 LED(温控或红外控制) |
| LED2 | P55 | 可控 LED(温控或红外控制) |
- 接收到 0x44 指令 → P54 状态翻转
- 接收到 0x43 指令 → P55 状态翻转
- 其他指令 → 进入温控模式
- 温度 45°C ≤ T < 55°C → P54 = 1,P55 = 0
- 温度 ≥ 55°C → P54 = 0,P55 = 1
- 温度 < 45°C → P54 = 0,P55 = 0
- 每次 GPIO 状态或温控模式改变时,将数据存入 Flash。
- 设备上电时,从 Flash 恢复
temp_flag和 GPIO 状态。
设备支持 UART 串口输出,默认波特率 115200bps。 示例输出:
temp = 47.234
P54 toggled
Restored: temp_flag = 1, P54 = 0, P55 = 1