4 软件总体流程
本系统智能显示终端和智能插座中各嵌入了单片机,其中智能显示终端中为主控单片机,智能插座中为从控单片机,因此,需要分别对二者进行软件设计。
4.1主控单片机软件设计
1 主程序设计。程序开始后,主控单片机首先需要对管理的各个模块,以及IO口进行初始化配置,然后进入监测状态。单片机将不断读取从智能插座传送过来的用电信息,并保存到自己的RAM中。RAM中会预留一段存储空间来保存用电信息,当用电信息超过RAM空间时,数据将刷新一次,覆盖原有数据空间。然后,单片机判断是否有来自上方GSM的短信指令,若有,则执行短信接收命令,进入串口中断接收状态。接着,单片机判断触摸屏是否有输入,若有,执行触屏操作程序。最后单片机判断是否有来自下方智能插座的反馈信息,若有,则将该信息编码发送至GSM模块,否则进入下一次循环。
2 串口中断设计。串口中断首先接收完整的短信指令,然后进行短信解析,从中提取用户的短信信息。然后分析指令内容,根据不同的指令执行相应功能。
3 定时器中断。定时器中断配合串口进行数据接收,以防传输数据锁死。当在指定时间段内没有接收到数据时,定时器中断将结束本次接收任务。
主控单片机的流程图如图4.1所示。
图4.1 主控单片机程序流程图