進一步分析右的波形并按時間軸展開可以看出,雖然脈沖電位器左旋和右旋的波形都相同。但左旋時,在第1狀態,腳1先比腳2變為低電平;在第2狀態,腳2也變為低電平;在第3狀態,腳1先比腳2變為高電平;在第4狀態,腳2也變為高電平;脈沖電位器右旋時,腳1和腳2輸出波形的變化規律正好與左旋相反。故可根據時間識別法(比較P1.0與P1.1低電平出現和結束的時差)來識別脈沖電位器是左旋還是右旋。在動態掃描中,因采樣頻率操作速度等因素的影響,實際上很難測出P1.0和P1.1的波形;也很難測準P1.0與P1.1低電平出現和結束的時差,只能快速地對P1.0和P1.1電平采樣。對應圖1所示波形按時間軸展開,每當P1.0和P1.1的組合電平依次為01 00 10 11四種狀態碼組成一個字節即4BH 時,就表示左旋一位音量減1。而每當P1.0和P1.1的組合電平依次為10 00 01 11四種狀態碼組成一個字節即87H時;就表示右旋一位音量加1。這里將“4BH”稱為左旋一位的特征碼,“87H”稱為右旋一位的特征碼。編程的任務就是要在脈沖電位器旋轉過程中識別出這兩種特征碼,并以此為依據,對音量進行增減控制。實際編程時可以用不同的方法識別出這兩種特征碼。但我們在實踐中經過比較,用狀態(位置)采樣法實現編程是較為理想的一種方法。這種方法對采樣頻率和操作速度沒有特別要求,也可不用定時器和中斷資源,只需在主程序里面就能完成,而且具有編程簡單抗干擾能力強工作可靠的優點。