德州学院 机电工程系 2013届 机械设计制造及其自动化专业 毕业论文(设计) 使用模块较多,这就加大了编程的复杂度和调试的难度。因此应先通过单片机将各个模块单独调试后在进行整体调试[9]。具体的连接电路如图18所示。
SIM接口INVCCRSTCLKIOGNDTXDRXDSIM CARD单片机发光二极管天线40pin接口模块TC357805稳压管 5V图18 TC35通信模块应用电路图
SIM CARD是移动通信网络用户识别模块,SIM CARD上包含了用户的用户信息,是与手机通信必不可少的工具。SIM卡和卡座上有6个相互对应的引脚,这是SIM CARD和TC35连接的接口[10]。
无线通信部分采用是24L01无线通信模块,它内置2.4Ghz 天线,体积小巧,可软件设地址,软件编程非常方便,内置专门稳压电路,使用各种电源包括DC/DC 开关电源均有很好的通信效果,与51系列单片机P0口连接时候,需要加10K的上拉电阻,与其余口连接不需要,具体接口电路如图19所示。
VDD1CESCKMISC3579246810CSNMOSIIRQ
图19 24L01连接电路图
3.9 显示电路和键盘接口的设计
该部分主要是由液晶显示屏、4×4键盘及其相应的控制电路组成。用户可以通过键盘设置报警的电话号码,报警方式,工作模式等。通过液晶显示器可以清楚的了解系统的运行情况和家中的环境参数[11],例如温度、湿度、煤气浓度、甲醛浓度、是否漏水、通信状况等,显示内容如图20所示。
14
德州学院 机电工程系 2013届 机械设计制造及其自动化专业 毕业论文(设计)
家居安全报警系统温度:25℃湿度:50%煤气检测:正常火灾检测:正常防盗检测:正常漏水检测:正常甲醛检测:正常通讯检测:异常
图20 液晶显示画面示意图
4居家安全报警系统的软件设计
4.1 主控单元程序的设计
该系统共有五种不同的报警指令,分别是火灾报警,漏水报警、防盗报警、煤气泄漏报警、甲醛超标报警,系统通过各检测单元检测不同的报警信号,通过无线通信模块将信号发送给主控单元,向主控单元单片机申请中断,单片机相应中断后,启动短信报警指令,根据不同的报警类别发送不同内容的短信,并执行相应的声光报警[12]。程序流程图如图21所示。
开机系统初始化接收无线数据否接收数据完成?是数据处理数据分析是否有危险数据?否数据显示关机判断报警类型是发送短信报警
15
德州学院 机电工程系 2013届 机械设计制造及其自动化专业 毕业论文(设计)
图21 主程序流程图
主控单元程序的具体流程如下:
系统开机后进入初始化程序,包括液晶显示画面初始化,无线通信初始化,移动网络通信初始化和中断初始化。
接收数据,通过主机24L01无线通信模块与各个检测单元的24L01无线通信模块通信,在五个无线通道分别接受五个检测报警单元的数据。
判断数据类型,如果接收的信号是正常信号,只在显示屏上进行显示;如果接收到危险信号,根据不同通道的数据,发送不同的报警信息,并进行相应的声光报警。
主要报警类型的报警流程如下:
① 火灾报警,主控单元液晶屏显示“火灾检测:危险!”,并进行闪烁,蜂鸣器发出报警信号。编辑短信内容“这里是XX小区xx单元xx室发生火灾,请马上处理!”发送给小区管理人员和用户。
② 漏水报警,主控单元液晶屏显示“漏水检测:危险!”,并进行闪烁,蜂鸣器发出报警信号。编辑短信内容“这里是XX小区xx单元xx室发生漏水,请马上处理!”发送给小区管理人员和用户。
③ 防盗报警,主控单元液晶屏显示“防盗检测:危险!”,并进行闪烁,蜂鸣器发出报警信号。编辑短信内容“这里是XX小区xx单元xx室发生盗窃,请马上处理!”发送给小区管理人员和用户。
④ 煤气泄漏报警,主控单元液晶屏显示“煤气检测:危险!”,并进行闪烁,蜂鸣器发出报警信号。编辑短信内容“这里是XX小区xx单元xx室发生煤气泄漏,请马上处理!”发送给小区管理人员和用户。
⑤ 甲醛超标报警,主控单元液晶屏显示“甲醛检测:超标!”,并进行闪烁,蜂鸣器发出报警信号。编辑短信内容“这里是XX小区xx单元xx室发生盗窃,请马上处理!”发送给用户。 主要程序如下: void main() {
LCDInt_12864(); //LCD12864液晶初始化 NRF24L01Int();//24L01无线通信初始化 Uart_Init();//GSM模块初始化
16
德州学院 机电工程系 2013届 机械设计制造及其自动化专业 毕业论文(设计)
while(1)//主循环函数 { }
NRFSetRXMode();//设置为接收模式 ??
if (RI)//查询法,RI=1表示一帧数据接收结束 }
{
RI = 0;
receive = SBUF;//发送报警指令
?? }
4.2 各检测单元程序的设计
五个检测单元负责室内不同房间的检测,检测不同的危险信号,但它们运行的程序流程基本相同,大致如图22所示。
17
德州学院 机电工程系 2013届 机械设计制造及其自动化专业 毕业论文(设计)
开机检测单元初始化采集数据数据处理否是判断是否安全发送危险信号发送安全信号是主机成功接收?否继续发送重复发送>10次故障报警
图22 检测单元程序流程图
主控单元程序的具体流程如下:
(1) 开机,系统进行初始化,包括无线通信初始化,中断初始化。 (2) 进行数据采集和处理,并将采集的模拟量信号转化为数字量信号。 (3) 进行数据判断,如果发生危险,发送危险信号给主控单元。
(4) 如果重复发送数据超过10次,主控单元仍未正常接收,通讯指示灯闪烁,进行故
障报警。
下面以甲醛检测模块为例说明一下各自单元模块的具体程序: ?? 函数声明
void main()//子单元主函数 { ??
LCD5510_Init();//LCD显示初始化
18