Hallo!
So Leute, ich hab jetzt den Code.
Hier kommt er:
Code:
wait_ms(50);
TRISA = 0b00111111; //PORT A wird als Eingang gesetzt, bis auf die RA6(OSC für Oszillator verwendet) (RA7 gibt es nicht)
TRISB = 0b00000000; //Port B wird als Ausgang gesetzt
TRISC = 0b11000000; //PORT C wird als Ausgang gesetzt nur die RC6 und RC7 werden als Eingang gesetzt, für meine beiden gelben Taster
TRISD = 0b11110000; //PORT D: RD4-7 werden als Eingang gesetzt für meine 4 roten Taster; RD0-RD3 werden als Ausgang gesetzt für etwaige Verwendung (Ansteuerung der MOSFETs, Schrittmotor
TRISE = 0b00001111;
LATD = 0b00000000;
wait_ms(50);
wait_ms(50);
LATB = 0x30;
wait_ms(50);
wait_ms(50);
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATB = 0b00111000;
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATB = 0b00001111;
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATB = 0b00000001;
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATB = 0b00000110;
LATD = 0b00000100;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
LATD = 0b00000000;
wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);wait_ms(50);
Ist vielleicht ein wenig wirr war, aber ich hab da schon so viele Delay-Zeiten reingegegeben, dass es ja reicht. Aber es funktioniert trotzdem nicht.
Noch zur Erklärung. Ich verwende den 8-Bit Modus, und mein Datenregister ist das Register B. RS ist RD0, R/W ist RD1, E ist RD2
So ich hoffe ihr findets einen Feher. Und ich hoffe man kennt sich aus. 
lg,
Norbert
Lesezeichen