一、产品开发功能简介
1.开机自检
LED灯快闪5次,自检迷宫是否漏光,感烟部分的硬件是否正常,异常蜂鸣器长鸣,LED快闪。
2.工作模式
烟雾探测大概4秒左右感应1次烟感。检测是否有 烟雾火灾发生,4秒中检测一次电池是否低压。
LED灯大概48秒左右闪烁一次。
3.烟感报警
测到烟雾报警,LED快闪 蜂鸣器嘀嘀 鸣叫,声音要求 90DB(正向一米远)。
二、程序开发
1.单片机IO 口驱动
HT45F23A的IO 寄存器列表:
PAWUn:PA 唤醒功能控制位
0:除能
1:使能
PAPUn/PBPUn/PCPUn:上拉电阻控制位
0:除能
1:使能
PACn/PBCn/PCCn:输入 / 输出控制位
0:输出
1:输入
PA/PB/PC IO口控制器
LED闪烁驱动程序。
IO 的初始化 和定义: 通过原理图我们可以查看到LED 连接到PB1
#define LED_ctrl _pbc1 ///IO 输入输出口控制 = 0 输出
#define LED _pb1 /// LED IO 控制脚
#define LED_pbpu _pbpu1 ///PB 上拉控制脚 = 1
驱动代码
void led_init(void)
{
LED_ctrl = 0; ///配置为输出
LED_pbpu = 1; ///使能上拉
LED = 0; ///LED关闭
}
void led_open(void)
{
LED =1; ///LED关闭
}
void led_close(void)
{
LED = 0; ///LED关闭
}
2. 按键驱动代码、蜂鸣器控制、数据通讯部分代码
这部分代码都是编程的基础代码,在这里给大家不介绍了,如果不懂可以找我们华维单片机编程获取支持,直接度娘就能搜到。
3. 烟雾探测器部分程序逻辑,代码及烟雾探测器的算法介绍:
烟雾探测红外发射。
迷宫的红外发射管,不能常打开,常打开会导致烟感的待机电流过大。
从原理图可以看出。迷宫的红外发射管是有单片机的PC2控制的。 PC2为单片机红外发射管控制脚。
PC2 需要配置成 输出 /上拉使能。
烟雾探测红外接收部分逻辑分析。
单片机内部的运算放大器2的结构和对应寄存器的配置方式
下表内容为 OPA2 控制寄存器设置与开关状态的关系。
下表内容为 OPA2 I/O 设置及状态。
单片机内部运算放大器1 的内部结构及IO 表格说明。