Here is an experiment on Rotary Encoders and a different approach than the standard XOR way.
Code:
loop1:
if portb.1=0 then 'here is switch 1 of the rotary encoder
counter=counter+1
goto lcd
endif
if portb.0=0 then 'here is switch 2 of the rotary encoder
counter=counter-1
goto lcd
endif
goto loop1
lcd:
lcdout $fe,$c0,dec5 counter
while (portb.0=0 or portb.1=0):pause 10:wend
goto loop1
The key is the last While/Wend command where it checks for the next pulse comming after the first edge of either switch of the encoder.
Common of the encoder is Low and Pull Up is supposed to be active.
Ioannis
Bookmarks