MAIN函數(shù)中的運行狀態(tài)處理程序
發(fā)布時間:2012/6/12 20:54:05 訪問次數(shù):878
變量TopWorkStep記錄工作MAX913CSA+步數(shù)的頂部。如上例,TopWorkStep將從O開始逐漸增加到5,雖執(zhí)行完第5步后要返回第3步執(zhí)行,但變量TopWorkStep將維持5不變。
變量LoopStep記錄當(dāng)前設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中LoopStep等于5;變量pLoopStep記錄上一次設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中pLoopStep=3。變量pWorkStep用于輔助說明當(dāng)前工作步數(shù)已發(fā)生變化,要求根據(jù)當(dāng)前的工作步數(shù)重新讀取相應(yīng)變量并賦值。
變量WorkTim用于記錄當(dāng)前步的工作時間,即它等于每步4字節(jié)參數(shù)中的第3個字節(jié)(無循環(huán)標(biāo)志時),或者將第3個字節(jié)減去100(有循環(huán)標(biāo)志時);變量wLoopNum表示當(dāng)前循環(huán)次數(shù),即它由4字節(jié)參數(shù)中的第4字節(jié)來賦值,并在內(nèi)部小循環(huán)一次后減1。運行狀態(tài)的流程如圖7所示。
在運行狀態(tài)中,有一個精度為0. Is的軟件定時器sTI在起著重要作用,正是它推動著工作步數(shù)一步一步地往前進或者往后退。每當(dāng)執(zhí)行到一個新的工作時,舍讀取4字節(jié)的參數(shù),第1、2字節(jié)被送到74HC595芯片中;第3字節(jié)為當(dāng)前步的工作時間,這
個值用來設(shè)置sTl。如該值為15,那么sT1將會在1.5s后執(zhí)行時間11H無線電己011到的相關(guān)處理代碼。如果當(dāng)前步是循環(huán)點且循環(huán)次數(shù)控制變量wLoopNum還未減到O,則令WorkStep等于pLoopStep,將循環(huán)標(biāo)志wLoop景1,循環(huán)次數(shù)控制變量wLoopNum減1。如果當(dāng)前是循環(huán)點但循環(huán)次數(shù)已減為0,說明內(nèi)部的小循環(huán)結(jié)束,令WorkStep加1,清循環(huán)標(biāo)志wLoop,更新pLoopStep,令其等于LoopStep,而LoopStep則變?yōu)镺。如果當(dāng)前步不是循環(huán)點,那么直接令WorkStepjJ[Il即可。
另外一個重要的變量LoopStep的設(shè)置是在每次WorkStep發(fā)生變化以后,WorkStep是在sT1定時時間到以后發(fā)生的變化,此時變量pWorkStep尚未發(fā)生變化,因此程序行:
if(pWorkStep!=WorkStep)
滿足要求,將執(zhí)行從93C46中讀取參數(shù)的程序。如果當(dāng)前有循環(huán)標(biāo)志(第3字節(jié)大于100),則根據(jù)TopWorkStep是否等于WorkStep來判斷當(dāng)前是否是最離步。如果是,則令變量LoopStep等于WorkStep。
另一個重要的變量是循環(huán)次數(shù)wLoopNum,前面提到這個變量的減1操作,那么它的賦值操作就在讀取當(dāng)前步的4字節(jié)參數(shù)之后。在參數(shù)讀取完畢后,根據(jù)變量mLoop是否為1來判斷當(dāng)前是否正工作于內(nèi)部小循環(huán)中。如果正在工作于內(nèi)部小循環(huán)中,則不必更新變量wLoopNum,否則說明有進入內(nèi)部小循環(huán)的請求且還沒有設(shè)定wLoopNum,那就根據(jù)讀到的第4字節(jié)來更新wLcopNum。
在設(shè)置過程中其他的操作還有對顯示緩沖區(qū)的操作,將WorkStep顯示在數(shù)碼管的第2、3位上,這個工作在每次循環(huán)中進行一次。
變量LoopStep記錄當(dāng)前設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中LoopStep等于5;變量pLoopStep記錄上一次設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中pLoopStep=3。變量pWorkStep用于輔助說明當(dāng)前工作步數(shù)已發(fā)生變化,要求根據(jù)當(dāng)前的工作步數(shù)重新讀取相應(yīng)變量并賦值。
變量WorkTim用于記錄當(dāng)前步的工作時間,即它等于每步4字節(jié)參數(shù)中的第3個字節(jié)(無循環(huán)標(biāo)志時),或者將第3個字節(jié)減去100(有循環(huán)標(biāo)志時);變量wLoopNum表示當(dāng)前循環(huán)次數(shù),即它由4字節(jié)參數(shù)中的第4字節(jié)來賦值,并在內(nèi)部小循環(huán)一次后減1。運行狀態(tài)的流程如圖7所示。
在運行狀態(tài)中,有一個精度為0. Is的軟件定時器sTI在起著重要作用,正是它推動著工作步數(shù)一步一步地往前進或者往后退。每當(dāng)執(zhí)行到一個新的工作時,舍讀取4字節(jié)的參數(shù),第1、2字節(jié)被送到74HC595芯片中;第3字節(jié)為當(dāng)前步的工作時間,這
個值用來設(shè)置sTl。如該值為15,那么sT1將會在1.5s后執(zhí)行時間11H無線電己011到的相關(guān)處理代碼。如果當(dāng)前步是循環(huán)點且循環(huán)次數(shù)控制變量wLoopNum還未減到O,則令WorkStep等于pLoopStep,將循環(huán)標(biāo)志wLoop景1,循環(huán)次數(shù)控制變量wLoopNum減1。如果當(dāng)前是循環(huán)點但循環(huán)次數(shù)已減為0,說明內(nèi)部的小循環(huán)結(jié)束,令WorkStep加1,清循環(huán)標(biāo)志wLoop,更新pLoopStep,令其等于LoopStep,而LoopStep則變?yōu)镺。如果當(dāng)前步不是循環(huán)點,那么直接令WorkStepjJ[Il即可。
另外一個重要的變量LoopStep的設(shè)置是在每次WorkStep發(fā)生變化以后,WorkStep是在sT1定時時間到以后發(fā)生的變化,此時變量pWorkStep尚未發(fā)生變化,因此程序行:
if(pWorkStep!=WorkStep)
滿足要求,將執(zhí)行從93C46中讀取參數(shù)的程序。如果當(dāng)前有循環(huán)標(biāo)志(第3字節(jié)大于100),則根據(jù)TopWorkStep是否等于WorkStep來判斷當(dāng)前是否是最離步。如果是,則令變量LoopStep等于WorkStep。
另一個重要的變量是循環(huán)次數(shù)wLoopNum,前面提到這個變量的減1操作,那么它的賦值操作就在讀取當(dāng)前步的4字節(jié)參數(shù)之后。在參數(shù)讀取完畢后,根據(jù)變量mLoop是否為1來判斷當(dāng)前是否正工作于內(nèi)部小循環(huán)中。如果正在工作于內(nèi)部小循環(huán)中,則不必更新變量wLoopNum,否則說明有進入內(nèi)部小循環(huán)的請求且還沒有設(shè)定wLoopNum,那就根據(jù)讀到的第4字節(jié)來更新wLcopNum。
在設(shè)置過程中其他的操作還有對顯示緩沖區(qū)的操作,將WorkStep顯示在數(shù)碼管的第2、3位上,這個工作在每次循環(huán)中進行一次。
變量TopWorkStep記錄工作MAX913CSA+步數(shù)的頂部。如上例,TopWorkStep將從O開始逐漸增加到5,雖執(zhí)行完第5步后要返回第3步執(zhí)行,但變量TopWorkStep將維持5不變。
變量LoopStep記錄當(dāng)前設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中LoopStep等于5;變量pLoopStep記錄上一次設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中pLoopStep=3。變量pWorkStep用于輔助說明當(dāng)前工作步數(shù)已發(fā)生變化,要求根據(jù)當(dāng)前的工作步數(shù)重新讀取相應(yīng)變量并賦值。
變量WorkTim用于記錄當(dāng)前步的工作時間,即它等于每步4字節(jié)參數(shù)中的第3個字節(jié)(無循環(huán)標(biāo)志時),或者將第3個字節(jié)減去100(有循環(huán)標(biāo)志時);變量wLoopNum表示當(dāng)前循環(huán)次數(shù),即它由4字節(jié)參數(shù)中的第4字節(jié)來賦值,并在內(nèi)部小循環(huán)一次后減1。運行狀態(tài)的流程如圖7所示。
在運行狀態(tài)中,有一個精度為0. Is的軟件定時器sTI在起著重要作用,正是它推動著工作步數(shù)一步一步地往前進或者往后退。每當(dāng)執(zhí)行到一個新的工作時,舍讀取4字節(jié)的參數(shù),第1、2字節(jié)被送到74HC595芯片中;第3字節(jié)為當(dāng)前步的工作時間,這
個值用來設(shè)置sTl。如該值為15,那么sT1將會在1.5s后執(zhí)行時間11H無線電己011到的相關(guān)處理代碼。如果當(dāng)前步是循環(huán)點且循環(huán)次數(shù)控制變量wLoopNum還未減到O,則令WorkStep等于pLoopStep,將循環(huán)標(biāo)志wLoop景1,循環(huán)次數(shù)控制變量wLoopNum減1。如果當(dāng)前是循環(huán)點但循環(huán)次數(shù)已減為0,說明內(nèi)部的小循環(huán)結(jié)束,令WorkStep加1,清循環(huán)標(biāo)志wLoop,更新pLoopStep,令其等于LoopStep,而LoopStep則變?yōu)镺。如果當(dāng)前步不是循環(huán)點,那么直接令WorkStepjJ[Il即可。
另外一個重要的變量LoopStep的設(shè)置是在每次WorkStep發(fā)生變化以后,WorkStep是在sT1定時時間到以后發(fā)生的變化,此時變量pWorkStep尚未發(fā)生變化,因此程序行:
if(pWorkStep!=WorkStep)
滿足要求,將執(zhí)行從93C46中讀取參數(shù)的程序。如果當(dāng)前有循環(huán)標(biāo)志(第3字節(jié)大于100),則根據(jù)TopWorkStep是否等于WorkStep來判斷當(dāng)前是否是最離步。如果是,則令變量LoopStep等于WorkStep。
另一個重要的變量是循環(huán)次數(shù)wLoopNum,前面提到這個變量的減1操作,那么它的賦值操作就在讀取當(dāng)前步的4字節(jié)參數(shù)之后。在參數(shù)讀取完畢后,根據(jù)變量mLoop是否為1來判斷當(dāng)前是否正工作于內(nèi)部小循環(huán)中。如果正在工作于內(nèi)部小循環(huán)中,則不必更新變量wLoopNum,否則說明有進入內(nèi)部小循環(huán)的請求且還沒有設(shè)定wLoopNum,那就根據(jù)讀到的第4字節(jié)來更新wLcopNum。
在設(shè)置過程中其他的操作還有對顯示緩沖區(qū)的操作,將WorkStep顯示在數(shù)碼管的第2、3位上,這個工作在每次循環(huán)中進行一次。
變量LoopStep記錄當(dāng)前設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中LoopStep等于5;變量pLoopStep記錄上一次設(shè)有循環(huán)標(biāo)志的工作步數(shù),如上例中pLoopStep=3。變量pWorkStep用于輔助說明當(dāng)前工作步數(shù)已發(fā)生變化,要求根據(jù)當(dāng)前的工作步數(shù)重新讀取相應(yīng)變量并賦值。
變量WorkTim用于記錄當(dāng)前步的工作時間,即它等于每步4字節(jié)參數(shù)中的第3個字節(jié)(無循環(huán)標(biāo)志時),或者將第3個字節(jié)減去100(有循環(huán)標(biāo)志時);變量wLoopNum表示當(dāng)前循環(huán)次數(shù),即它由4字節(jié)參數(shù)中的第4字節(jié)來賦值,并在內(nèi)部小循環(huán)一次后減1。運行狀態(tài)的流程如圖7所示。
在運行狀態(tài)中,有一個精度為0. Is的軟件定時器sTI在起著重要作用,正是它推動著工作步數(shù)一步一步地往前進或者往后退。每當(dāng)執(zhí)行到一個新的工作時,舍讀取4字節(jié)的參數(shù),第1、2字節(jié)被送到74HC595芯片中;第3字節(jié)為當(dāng)前步的工作時間,這
個值用來設(shè)置sTl。如該值為15,那么sT1將會在1.5s后執(zhí)行時間11H無線電己011到的相關(guān)處理代碼。如果當(dāng)前步是循環(huán)點且循環(huán)次數(shù)控制變量wLoopNum還未減到O,則令WorkStep等于pLoopStep,將循環(huán)標(biāo)志wLoop景1,循環(huán)次數(shù)控制變量wLoopNum減1。如果當(dāng)前是循環(huán)點但循環(huán)次數(shù)已減為0,說明內(nèi)部的小循環(huán)結(jié)束,令WorkStep加1,清循環(huán)標(biāo)志wLoop,更新pLoopStep,令其等于LoopStep,而LoopStep則變?yōu)镺。如果當(dāng)前步不是循環(huán)點,那么直接令WorkStepjJ[Il即可。
另外一個重要的變量LoopStep的設(shè)置是在每次WorkStep發(fā)生變化以后,WorkStep是在sT1定時時間到以后發(fā)生的變化,此時變量pWorkStep尚未發(fā)生變化,因此程序行:
if(pWorkStep!=WorkStep)
滿足要求,將執(zhí)行從93C46中讀取參數(shù)的程序。如果當(dāng)前有循環(huán)標(biāo)志(第3字節(jié)大于100),則根據(jù)TopWorkStep是否等于WorkStep來判斷當(dāng)前是否是最離步。如果是,則令變量LoopStep等于WorkStep。
另一個重要的變量是循環(huán)次數(shù)wLoopNum,前面提到這個變量的減1操作,那么它的賦值操作就在讀取當(dāng)前步的4字節(jié)參數(shù)之后。在參數(shù)讀取完畢后,根據(jù)變量mLoop是否為1來判斷當(dāng)前是否正工作于內(nèi)部小循環(huán)中。如果正在工作于內(nèi)部小循環(huán)中,則不必更新變量wLoopNum,否則說明有進入內(nèi)部小循環(huán)的請求且還沒有設(shè)定wLoopNum,那就根據(jù)讀到的第4字節(jié)來更新wLcopNum。
在設(shè)置過程中其他的操作還有對顯示緩沖區(qū)的操作,將WorkStep顯示在數(shù)碼管的第2、3位上,這個工作在每次循環(huán)中進行一次。
上一篇:程序編寫
上一篇:復(fù)費率電能表
熱門點擊
- PID控制器的基本原理
- 接地電網(wǎng)
- 差動放大電路的優(yōu)點
- 低電源電壓、低損耗電流放大電路
- 寬帶放大器及ALC
- 用PNP晶體管制作的偏置電路
- 作為反相放大電路工作時
- 動態(tài)驅(qū)動電路的工作波形
- 低噪聲輸出可變電源電路
- 電流型變頻器
推薦技術(shù)資料
- 頻譜儀的解調(diào)功能
- 現(xiàn)代頻譜儀在跟蹤源模式下也可以使用Maker和△Mak... [詳細]
- CV/CC InnoSwitch3-AQ 開
- URF1DxxM-60WR3系
- 1-6W URA24xxN-x
- 閉環(huán)磁通門信號調(diào)節(jié)芯片NSDRV401
- SK-RiSC-SOM-H27X-V1.1應(yīng)
- RISC技術(shù)8位微控制器參數(shù)設(shè)
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究