·上一文章:一种基于ZigBee的智能家居安全监控系统设计研究
·下一文章:超级电容在智能水表中的应用方案
3 软件设计
3.1 单片机主程序设计
主机上电复位后进行初始化,然后不断地对GSM模块进行扫描查询。当查询到GSM 模块接收到用户发送的短信时,便对短信进行处理,提取相关信息,然后通过红外模块相分机发送相应的命令数据。接着就在一定时间(可根据用户需要调整,这里设为60s)内等待分机的回复信息。当接收到回复信息或规定时间内没有接收到分机的回复信息,主机都返回到扫描查询状态。主机主程序流程图如图6所示。
图6主程序流程图。
分机上电复位后进行初始化,然后等待接收主机发送的命令信息。接收到命令信息后,从中提取地址和数据信息,若为本分机地址,则对数据进行处理并作出响应,同时向主机发送确定信息;若非本分机地址,则返回,继续等待主机发送的命令信息。分机主程序流程图如图6(b)所示。
3.2 中断程序设计
本系统需要模拟串行数据发送和接收,所以需要用上外部中断来接收数据,确保数据传输的同步性和实时性。每接收一位数据,中断都会响应一次,接收8位为一个有效数据,接收8个数据为一个数据帧。外部中断流程图如图7(a)所示。
为了确保主机正常工作。加入主机等待分机回复的等待时间。而为了时间的实时性和准确性,用到单片机内部的定时器1.设定其工作模式为模式1,初值为Ox4bff(5Oms)。中断20次为1s,60次循环为60s,当60s到时,标志位置位后返回。时间中断流程图如图7(b)所示。
4 结论
本系统安全可靠,性能稳定。同时本系统除用于家庭设备远程自动控制外,也可用于家庭通信、家庭安全防范,共同组建智能家居控制系统。