无线火灾报系统的设计
3.8 无线火灾报警系统供电
本系统采用两个9伏变压器进行供电。同时最小系统里加入了7805三端稳压块,输出电压为正5V。它是将功率调整管、取样电阻、基准放大、误差放大、启动及保护电路等全部集成。能提供稳定的电压,单片机能在稳定的电压正常工作,同时能防止热过载起到保护单片机的作用。 GSM模块集成了稳压模块,9V变压器能提供它所要工作的电源。
图3-12稳压模块电路图
图 3-13 9V变压器 图 3-14 7805稳压模块
13
无线火灾报系统的设计
4.无线火灾报警器的软件设计
本章主要介绍检测模块以及部分功能模块的程序。主控单元单片机完成接收感应模块信号后,主要发送AT指令控制GSM模块工作,其次发送命令到各子功能模块,控制其工作,并接收各子功能模块发送过来的信息。
4.1程序设计框图
开始 LCD初始化 GSM初始化 18B20初始化 采集温度并处理
否 判断是否有火灾信号
是 发送手机信息
等待有无火警信号 结束 图4-1 程序设计框图
14
无线火灾报系统的设计
4.2 程序设计 4.2.1 TC35初始化
此段程序实现手机模块初始化 Serial_Sendstring(\
Serial_Sendstring(\4.2.2 TC35(GSM模块)手机发送指令 TC35(void) { unsigned int i; tc35:
Display_LCD_String(4,5,\有 \ P3&=(~0X20);
Display_LCD_String(2,0,\ 发送短信中。。\
rcount=0;
Serial_Sendstring(\
Serial_Sendstring(\ Serial_Sendchar('\ Serial_Sendstring(numbuff); Serial_Sendchar('\ Serial_Sendchar(0X0D) ; i=0xffff;
while(rbuff[rcount-1]!='>'||rbuff[rcount-1]!=62)
{ i--;
if(i==1) { receive_ok=rcount=0; goto tc35;
}
} delay(10);
Serial_Sendstring(\ Serial_Sendchar(0x0D);
Serial_Sendchar(0x1A);
//Ctrl+z发送短信15
}
无线火灾报系统的设计
4.2.3串口中断接收
void RECEIVE_DATA(void) interrupt 4 {
ES=0; if(RI) }
if(rcount>=2) { } else
//换行
//回车
rbuff[rcount]=SBUF; rcount++; RI=0;
{
if((rbuff[rcount-1]=='K')&&(rbuff[rcount-2]=='O'))
receive_ok=1; rcount=0;
if((rbuff[rcount-1]=='O')&&(rbuff[rcount-2]=='R')&&(rbuff[rcount-3]=='R')&&(rbuff[rcount-4]=='E')) } void {
initUart(4800); receive_ok=0;
Display_LCD_String(2,0,\ 模块握手.... \
while(!receive_ok) Serial_Sendstring(\//握手连接 Display_LCD_String(2,0,\ 设置模块。。。\
while(!receive_ok) Serial_Sendstring(\设置
TC35_init(void)
Display_LCD_String(2,0,\ 发生错误 \
if(rcount>=109) rcount=0; ES=1;
短消息格式 /*
while(!receive_ok) //设置短信中心
Display_LCD_String(2,0,\ 设置模块成功。\speak=0;delay(1000);
16
无线火灾报系统的设计
}
speak=1;
Display_LCD_String(2,0,\制作人:张 文锋\
17