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
Gast
#737849
Schalte mal in ADCON1 die Ports von analog auf digital.
wie geht das?
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 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
seuftz
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.