進一步分析右的波形并按時間軸展開可以看出,雖然脈沖電位器左旋和右旋的波形都相同。但左旋時,在第1狀態(tài),腳1先比腳2變?yōu)榈碗娖剑辉诘?狀態(tài),腳2也變?yōu)榈碗娖剑辉诘?狀態(tài),腳1先比腳2變?yōu)楦唠娖?;在?狀態(tài),腳2也變?yōu)楦唠娖?;脈沖電位器右旋時,腳1和腳2輸出波形的變化規(guī)律正好與左旋相反。故可根據(jù)時間識別法(比較P1.0與P1.1低電平出現(xiàn)和結(jié)束的時差)來識別脈沖電位器是左旋還是右旋。在動態(tài)掃描中,因采樣頻率操作速度等因素的影響,實際上很難測出P1.0和P1.1的波形;也很難測準P1.0與P1.1低電平出現(xiàn)和結(jié)束的時差,只能快速地對P1.0和P1.1電平采樣。對應(yīng)圖1所示波形按時間軸展開,每當P1.0和P1.1的組合電平依次為01 00 10 11四種狀態(tài)碼組成一個字節(jié)即4BH 時,就表示左旋一位音量減1。而每當P1.0和P1.1的組合電平依次為10 00 01 11四種狀態(tài)碼組成一個字節(jié)即87H時;就表示右旋一位音量加1。這里將“4BH”稱為左旋一位的特征碼,“87H”稱為右旋一位的特征碼。編程的任務(wù)就是要在脈沖電位器旋轉(zhuǎn)過程中識別出這兩種特征碼,并以此為依據(jù),對音量進行增減控制。實際編程時可以用不同的方法識別出這兩種特征碼。但我們在實踐中經(jīng)過比較,用狀態(tài)(位置)采樣法實現(xiàn)編程是較為理想的一種方法。這種方法對采樣頻率和操作速度沒有特別要求,也可不用定時器和中斷資源,只需在主程序里面就能完成,而且具有編程簡單抗干擾能力強工作可靠的優(yōu)點。
于脈沖電位器在工作過程中有三種情形:一是沒有被旋轉(zhuǎn)而停留在某一狀態(tài)(位置);二是雖然被旋轉(zhuǎn)但沒有完成一個周期(4個狀態(tài))而停留在某一狀態(tài);三是不停地被旋轉(zhuǎn)而超過一個周期。狀態(tài)(位置)采樣法就是要準確地跟蹤識別和記錄脈沖電位器變化的每一個狀態(tài)值(包括位置值和它對應(yīng)的特征碼)。程序一開始就要識別出脈沖電位器所處的現(xiàn)態(tài)位置和其對應(yīng)的特征碼;隨后不斷跟蹤掃描記錄脈沖電位器的每一變化過程。顯然,脈沖電位器只有旋轉(zhuǎn)到第4個狀態(tài)才有一個我們所需要的特征碼出現(xiàn),程序根據(jù)這個特征碼的性質(zhì)再對音量進行加減控制。