新闻中心

EEPW首页>模拟技术>设计应用> 基于GPRS的自来水流量监测终端的设计

基于GPRS的自来水流量监测终端的设计

作者: 时间:2010-07-01 来源:网络 收藏

的软件设计
的软件设计中,采用模块化设计,根据功能将程序划分为多个模块分别设计。这种设计方法不仅使得程序结构清晰,而且为以后新功能的扩展以及程序的移植提供了便利,在调试过程中也便于对软件故障的定位。


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

图3 主程序流程图


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


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭