Tachen versuche gerade ein LCD (normales HD44780 2x16) im 4 Bit Modus anzusteuern, leider funkts irgendwie nicht so richtig, weil er mir am Steuerport nichts ausgibt. Der Steuerport ist PORT E wenn ich es jedoch auf PORT A umschreibe tut sich ebenfalls nichts. Woran könnte das liegen? ich verwende einen PIC 16f877A mit 20MHz Takt und schreibe das Programm in C++. (das Board verwendet negative Logik!!!) Hier ein kurzer Ausschnitt: void main() { trise = 0x00; // Ausgang Steuerport trisd = 0x00; // Ausgang Steuerport Sleeping_for(100); //10ms Set_to_4bit(); // Auf 4 Bit Modus Sleeping_for(400); Turn_on_D(); // Display ON Sleeping_for(400); Set_Adress(0); // Adresse auf 0 Setzen (Home) Write_Data(65); // Ausgabe 65 = A } void Set_to_4bit(void) { porte.0 = 1; // RS = 0 write in IR porte.1 = 1; // R/W =0 portd = 2; // DB5 Enable(); delay_ms(100); } void Enable(void) { Sleeping_for(100); porte.2 = 0; Sleeping_for(100); porte.2 = 1; Sleeping_for(100); }
Also ich erkenne mindestens zwei Fehler: 1. Das ist nicht der komplette Quellcode 2. Kein verdrahtungsplan anhängig.
Also: RE2=E RE1=R/W RE0=RS RD0-3 = DB4-7 und nein das ist nicht der Ganze code, aber in den anderen Teilen steht auch nicht viel mehr drin und wenn sich hier schon PORT E nicht ändert, tut er es auch sonst nirgends
Schonmal Google benutzt? Das ist son cooles Ding im Internet; nennt sich "Suchmaschine". Da gibt man einfach ein paar Suchbegriffe ein und schon finden selbst Leute wie ich, die noch nie einen PIC schief angeguckt haben, tolle Ergebnisse. Wie das hier:
1 | void main(void) |
2 | {
|
3 | ADCON1=0x0F;// Alle AD-Eingänge als Digitale Eingänge Einstellen |
4 | TRISA=0; //Port A: alles Ausgänge |
5 | TRISB=0; //Port B: alles Ausgänge |
6 | TRISC=0; //Port C: alles Ausgänge |
7 | |
8 | while(1) |
9 | {
|
10 | LATAbits.LATA0=!LATAbits.LATA0; // RA0 togglen |
11 | }
|
12 | }
|
seuftz
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.