3 系统软件设计
根据工作原理,程序设计主要由以下三大模块组成:启动模块、控制模块、监控模块。启动模块对部件进行必要的设置;控制模块接收用户指令,分配工作,进行相应处理;监控模块,对传感器实时监控,被触发后发送短信报警。
3.1 启动模块
启动模块包含两个部分:初始化STC89微控制器和初始化SIM300C通信模块。首先,必须对微控制器的定时器和中断、串口、系统变量等进行初始化。
微控制器处理速度快,串口速率慢,这对报警器实时监控带来了很大的隐患,微控制器不能一直等待接收完全部数据。为了提高实时监控能力,通信模块引入缓存,把不完整的信息暂存在缓存内,待信息完整后再进行处理。缓存结构加入读指针和写指针,对缓存进行读、写操作,保证了在读数据的同时,也可以进行写操作,两指针互不干扰。初始化SIM300C通信模块通过拉低IGT启动SIM300C,并通过串口发送AT指令进行必要的初始化设置。表1是初始化SIM300C使用的AT命令。
根据AT指令回答的格式“<CR><LF>回答<CR><LF>”,<CR><LF>ACSII码分别0DH,0AH。短消息的发送和接收控制模式有三种:Block模式、PDU(Protocol Data unit,协议数据单元)模式和Text模式。使用Block模式需要手机生产厂家提供驱动支持。目前,PDU模式已取代Block模式,而Text模式不支持中文。因此,为了系统的通用性,兼容中英文短消息的发送接收,本系统使用PDU模式来处理短消息。为了减少程序的复杂性,系统不对信息进行储存,因为如果采用信息储存方式,需对信息读取,读取完再删除信息,过程比较繁琐。
本系统则是利用信息提示的方法对信息内容进行读取的。最后设置来电显示,主要为了确认用户的身份,便于用户启动、关闭监控功能,整个启动代码的设置主要是对后续的工作做好准备。
3.2 控制模块
根据程序设计需求,只需提取被叫号码和用户数据(Unicode字符串),被叫号码用来确认是否机主手机号码,当不是主手机号码时不进行下一步操作,清空缓存,继续监控,确认后,根据用户短消息内容不同,做相应设置。
其中“设置”命令的功能是将报警器中车主的手机号码进行修改;“修改”命令是将报警器中的密码进行修改,密码的作用是防止任何人都可以修改报警手机号码。发送相应短消息内容,完成各种设置:
(1)“启动”短消息,启动报警器。
(2)“关闭”短消息,关闭报警器。
(3)“设置”短消息,替换拥有控制权的手机号码。
(4)“修改”短消息,修改登陆密码。
(5)“查询”短消息,查询报警器的工作状态。