<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設計應用 > 基于GPRS的自來(lái)水流量監測終端的設計

基于GPRS的自來(lái)水流量監測終端的設計

作者: 時(shí)間:2010-07-01 來(lái)源:網(wǎng)絡(luò ) 收藏

的軟件設計
的軟件設計中,采用模塊化設計,根據功能將程序劃分為多個(gè)模塊分別設計。這種設計方法不僅使得程序結構清晰,而且為以后新功能的擴展以及程序的移植提供了便利,在調試過(guò)程中也便于對軟件故障的定位。


軟件在MPLAB IDE8.10環(huán)境下,采用PICC編譯器,用C語(yǔ)言實(shí)現。主程序流程如圖3所示。上電后,先進(jìn)行初始化,然后進(jìn)入循環(huán),根據條件調用各個(gè)子程序。其中初始化包括各I/O端口的方向設置、SPI初始化、中斷標志的設置等。寫(xiě)數據到Flash時(shí),須先判斷整個(gè)Flash是否寫(xiě)滿(mǎn),惹是須先擦除才能寫(xiě)入新數據。

圖3 主程序流程圖


在本系統中,單片機需處理多個(gè)任務(wù),而且有的任務(wù)又是隨機的,故MCU采用查詢(xún)和中斷相結合的工作方式。其中,定時(shí)上報采用查詢(xún)方式,如圖3所示,而斷電檢測、來(lái)電喚醒則通過(guò)PIC單片機的RB0電平變化中斷來(lái)完成。但是,在中斷服務(wù)程序中,只簡(jiǎn)單的設置掉電/復電標志,并不執行其他復雜的操作,相應的掉電/復電服務(wù)是在主程序中檢測到掉電/復電標志后才執行的。這是因為PIC16F877A單片機只有8層深度的硬件堆棧,在中斷里調用子程序極易出現堆棧溢出的情況。為了保證程序的可靠運行,故將讀取DS1302的時(shí)間、轉入睡眠模式等操作都放在主程序中執行,使中斷服務(wù)程序盡量短小,提高系統運行的可靠性。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>