GPRS设计的自来水流量监测终端技术
时间:04-16
来源:互联网
点击:
软件在MPLAB IDE8.10环境下,采用PICC编译器,用C语言实现。主程序流程如图3所示。监测终端上电后,先进行初始化,然后进入循环,根据条件调用各个子程序。其中初始化包括各I/O端口的方向设置、SPI初始化、中断标志的设置等。写数据到Flash时,须先判断整个Flash是否写满,惹是须先擦除才能写入新数据。
图3 主程序流程图
在本系统中,单片机需处理多个任务,而且有的任务又是随机的,故MCU采用查询和中断相结合的工作方式。其中,定时上报采用查询方式,如图3所示,而断电检测、来电唤醒则通过PIC单片机的RB0电平变化中断来完成。但是,在中断服务程序中,只简单的设置掉电/复电标志,并不执行其他复杂的操作,相应的掉电/复电服务是在主程序中检测到掉电/复电标志后才执行的。这是因为PIC16F877A单片机只有8层深度的硬件堆栈,在中断里调用子程序极易出现堆栈溢出的情况。为了保证程序的可靠运行,故将读取DS1302的时间、转入睡眠模式等操作都放在主程序中执行,使中断服务程序尽量短小,提高系统运行的可靠性。
模拟电路 模拟芯片 德州仪器 放大器 ADI 模拟电子 相关文章:
- 12位串行A/D转换器MAX187的应用(10-06)
- AGC中频放大器设计(下)(10-07)
- 低功耗、3V工作电压、精度0.05% 的A/D变换器(10-09)
- PIC16C5X单片机睡眠状态的键唤醒方法(11-16)
- 用简化方法对高可用性系统中的电源进行数字化管理(10-02)
- 利用GM6801实现智能快速充电器设计(11-20)