also mein Code sieht jetzt so aus:

$regfile = "m16def.dat"
$crystal = 8000000

Config Lcd = 16 * 4
Config Lcdpin = Pin , Db4 = Portb.0 , Db5 = Portb.1 , Db6 = Portb.2 , Db7 = Portb.3 , E = Portb.5 , Rs = Portb.4

Initlcd

Dim Zahl As Byte
Dim Zahl1 As Byte
Dim Zahl2 As Byte


Cls
Cursor Off
Do
Cls

Zahl = Pina
Zahl = Zahl AND &B00001111
Zahl = Gray2bin(zahl)

Zahl1 = Pind
Zahl1 = Zahl1 And &B00001111
Zahl1 = Gray2bin(zahl1)

Zahl2 = Pinc
Zahl2 = Zahl2 And &B00001111
Zahl2 = Gray2bin(zahl2)

Locate 1 , 3
Lcd Zahl

Locate 1 , 2
Lcd Zahl1

Locate 1 , 1
Lcd Zahl2



Waitms 70
Loop

End


es sollen nur 3 Stellen angezeigt werden.
also hunderter, zehner und einer stellen.
zur Zeit ist es so, wenn ich den Geber drehe, zeigt das LCD von 0 bis 15 an. und zwar so: 0015.
wenn ich weiter drehe, zeigt das Lcd das an: 0114, 0113.... 015, 011, 020... 021, 0214, 0215, 030...
verstehst du den zusammenhang?
ich brauche es nur 3 stellig. 999.