Hi,
der Thread kann gelöscht werden, da der michael (von team-iwan) mir per icq das richtige geschickt hat(danke nochmal). Hier das Prog.:
Code:
$crystal = 8000000 'interne Oszillatorfrequenz (bereits fertig eingestellt)
$regfile = "m8def.dat" 'Definitionsdatei, damit der Compiler weiß, welcher Chip es ist
'AD-Wandler einschalten:
Config Adc = Single , Prescaler = Auto , Reference = Internal
Start Adc
'Timer für PWM konfigurieren und einschalten:
Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1024
Start Timer1
Ddrb = &B00000111 'Datenrichtungsregister PortB (0=Eingang, 1=Ausgang)
Ddrd = &B10000000 'Datenrichtungsregister PortD (0=Eingang, 1=Ausgang)
Ddrc = &B00000000
Dim Result As Word
Dim X As Byte '2 Variablen vom Typ Byte
Dim Y As Byte 'also von 0-255
Motor1_dir Alias Portd.7 'Motor1 Richtung
Motor2_dir Alias Portb.0 'Motor2 Richtung
X = 255
Y = 255
Do 'Schleifenanfang
Result = Getadc(6)
Pwm1a = X 'Motor1 PWM
Pwm1b = Y 'Motor2 PWM
If Result > 400 Then
Motor1_dir = 0 'Motor1 Richtung wechseln
Motor2_dir = 1 'Motor1 Richtung wechseln
Else
Motor1_dir = 1
Motor2_dir = 1
End If
Waitms 10 '10ms warten
Loop 'Schleifenende
End
Viele Grüße
Lesezeichen