微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > GPRS设计的自来水流量监测终端技术

GPRS设计的自来水流量监测终端技术

时间:04-16 来源:互联网 点击:

软件在MPLAB IDE8.10环境下,采用PICC编译器,用C语言实现。主程序流程如图3所示。监测终端上电后,先进行初始化,然后进入循环,根据条件调用各个子程序。其中初始化包括各I/O端口的方向设置、SPI初始化、中断标志的设置等。写数据到Flash时,须先判断整个Flash是否写满,惹是须先擦除才能写入新数据。

图3 主程序流程图

在本系统中,单片机需处理多个任务,而且有的任务又是随机的,故MCU采用查询和中断相结合的工作方式。其中,定时上报采用查询方式,如图3所示,而断电检测、来电唤醒则通过PIC单片机的RB0电平变化中断来完成。但是,在中断服务程序中,只简单的设置掉电/复电标志,并不执行其他复杂的操作,相应的掉电/复电服务是在主程序中检测到掉电/复电标志后才执行的。这是因为PIC16F877A单片机只有8层深度的硬件堆栈,在中断里调用子程序极易出现堆栈溢出的情况。为了保证程序的可靠运行,故将读取DS1302的时间、转入睡眠模式等操作都放在主程序中执行,使中断服务程序尽量短小,提高系统运行的可靠性。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top