Habs doch noch hingekriegt. Da der AD-Wandlder beim schreiben des Kanals usw. gleichzeitig sendet, muss man genauso viele Takte erzeugen, wie der AD-Wandler Bits sendet.

Hier der funktionierende Code:
Code:
$regfile = "m8def.dat"
$crystal = 1000000
$hwstack = 65
$swstack = 40
$framesize = 100
$baud = 4800


Config Portb.1 = Output
Config Portb.2 = Output
Config Pinb.3 = Input
Config Portb.4 = Output
Config Pinb.5 = Input
Portb.3 = 1



Cs Alias Portb.1
Clock Alias Portb.2
Ad_eingang Alias Pinb.3
Ad_ausgang Alias Portb.4
Eoc Alias Pinb.5

Dim Ausgang As Word
Dim Eingang As Word


Cs = 1

Do

Ausgang = &B0001110000011100
Eingang = 0

Cs = 0
Waitus 10
Shiftout Ad_ausgang , Clock , Ausgang , 1 , 16 , 10

Cs = 1

Waitms 100
Cs = 0
Waitus 10
Shiftin Ad_eingang , Clock , Eingang , 1 , 16 , 10
Shift Eingang , Right , 4
Cs = 1
Print Str(eingang)
Wait 2
Loop

End                                                         'end program