Hallo

Ich habe Dein Prog mal im Simulator getestet.
So funktionierte es nicht. Ich habe dabei auch ein paar Schreibfehler von mir entdeckt.

Print ohne =
und Elseif wird natürlich zusammen geschreiben

als Hinweis noch , die regfiledateien enden meistens mit "dat"

also hier dann der Code wie er im Simulator funktioniert

Code:
$regfile = "m8def.dat"
$crystal = 3686400                                          'Quarz: 3.6864 MHz
Ddrd = &B0000000                                            'eingänge
Ddrc = &B1111111                                            'ausgänge
Portd = 2

'PD0-PD7 = Sensoren
'PC0-PC7 = Motorsteuerung

Baud = 9600

Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 , Databits = 8 , Clockpol = 1
Dim X As Bit

Do
  X = Pind.1
  If X = 0 Then
       Print "Kein Stein an Position 1"
  Elseif X = 1 Then
    Print "Stein an Position 1"
  End If

Loop
End
Wenn Du , um es im Simulator zu testen, als erste Zeile $SIM einfügst, läuft es schneller. Bevor Du es aber in den MicroC überträgst, müßt Du das wieder entfernen.

Das Elseif, das ich beim erstenmal genommen habe, ist natürlich quatsch, da ja ein Bit nur 2 Zustände haben kann.

Die Variable x, habe ich deshalb eingesetz, weil die Abfraqe mit Pind.1 einfach nicht funktionieren wollte , weiß bis jetzt aber noch nicht genau warum.

Ich habe auch mal select case probiert, der Vorteil hier man kann dadurch mehrere Tasten auf einmal bestimmen.

Bsp.
SELECT CASE Pind
CASE 0
Print "Keine Taste"
CASE 1
Print "Taste 1"
CASE 2
Print "Taste 2"
CASE 3
Print "Taste 1 +2"
END SELECT


Mir ist dabei aber was seltsames aufgefallen, uzw. hat x immer den entgegengesetzen Wert von Pind.1 (d.h ist Pind.1=0 dann ist x=1)
vielleicht hat ja mal jemand darauf eine Antwort , würde mich sehr interessieren.

Gruß Andreas