電磁流量計(jì)在自動(dòng)抄表的應(yīng)用與探討 四十五
對(duì)變量R 、ISTYLE賦值,建一個(gè)表IPCTAB來(lái)存放屏幕顯示的不變的內(nèi)容,共有1子表,每個(gè)子表最后一個(gè)字節(jié)都是FEH,另建一個(gè)表PICPAJAB來(lái)存放需要變化的參數(shù),存儲(chǔ)類型為參數(shù)個(gè)數(shù)十參數(shù)表(8字節(jié)來(lái)表示1個(gè)參數(shù))o在顯 示 一 屏?xí)r,先給屏層變量RM‘PICNO賦值,主菜單窗口的屏層變量值為0,對(duì)應(yīng)的8個(gè)子菜單項(xiàng)的屏層變量值就為菜單值,密碼保護(hù)窗口屏層變量值為9,工作窗口屏層變量值為10。根據(jù)屏層變量值調(diào)對(duì)應(yīng)表PIC止rAB的一個(gè)子表數(shù)值,根據(jù)數(shù)值的定義意義寫數(shù)字或漢字,直到取到表示屏幕結(jié)束的FEH值。再根據(jù)屏層變量值調(diào)對(duì)應(yīng)表PICpA一TAB的一個(gè)子表數(shù)值,讀出屬于這個(gè)屏幕的參數(shù)總數(shù),讀取參數(shù)表,直至所有參數(shù)顯示完畢。在主菜單窗口用上下左右按鍵選擇子菜單時(shí),把某子菜單塊的內(nèi)碼值取反反向顯示表示選中。
根據(jù)參數(shù)存放的RAM地址和字節(jié)數(shù)取出參數(shù)值,經(jīng)過(guò)可能的BCD碼換算,在行列號(hào)處寫入對(duì)應(yīng)長(zhǎng)度的數(shù)字,根據(jù)小數(shù)點(diǎn)和符號(hào)進(jìn)行顯示調(diào)整。而參數(shù)類型字節(jié)(字節(jié)八)存放的是這個(gè)參數(shù)的另一個(gè)屬性,其數(shù)值對(duì)應(yīng)的具體屬性見表4.4。根據(jù)參數(shù)類型值來(lái)確定參數(shù)的合理性,并用這個(gè)值來(lái)做散轉(zhuǎn)程序執(zhí)行對(duì)應(yīng)子程序。
如果程序檢測(cè)到有鍵被按下,先讀入鍵值并判斷是哪一個(gè)鍵被按下,然后散轉(zhuǎn)調(diào)用相應(yīng)的處理程序。
由于顯示屏幕較多,在不同的屏幕按鍵的作用可能是不同,這里用屏層號(hào)來(lái)散轉(zhuǎn)程序,不同的屏幕對(duì)應(yīng)不同的子程序,也可能在幾個(gè)屏幕,某個(gè)按鍵功能是相似的,可以通過(guò)調(diào)用同一個(gè)子程序來(lái)簡(jiǎn)化。下面是以確定鍵為例的MsP430的匯編部分程序。
電磁流量計(jì)