• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    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 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 宜君县| 咸丰县| 紫阳县| 离岛区| 中山市| 农安县| 遂溪县| 桃园市| 博野县| 浦北县| 金门县| 鹤峰县| 清水河县| 阜南县| 建平县| 张家界市| 梁山县| 吴旗县| 盖州市| 甘南县| 自治县| 竹北市| 冀州市| 交城县| 星座| 蒲城县| 晋州市| 西充县| 壶关县| 绥棱县| 沂源县| 佛学| 蓝山县| 友谊县| 通州市| 海安县| 常熟市| 湛江市| 丰顺县| 九龙县| 徐汇区|