Ich komme einfach mit der Initialisierung nicht zusammen, Display funktioniert einwandfrei, wenn die Initialisierung stattfindet verschwinden alle schwarzen Kästchen die am Anfang sind für den Kontrast einstellen. Leider habe in einen Quellcode in C noch nicht gefunden meistens nur Assembler. Ich geh noch zur Schule und dies ist ein Projekt. Danke schon jetzt für eure Hilfe
http://jump.to/fleury 'AVR-Software' auswaehlen. Ein bischen runterscrollen: 'LCD library for HD44870 based LCD's'
Hast du mal auf der Seite: http://ulrichradig.de/ nachgeschaut? Auch im Bereich Codesammlung hier im Forum solltest du was dies bezüglich finden.
danke schon mal für eure antworten, nun brauch ich nur noch die #include <avr/io.h>
Die ist mit Deinem Compiler (sofern es sich um WinAvr handelt) mitgekommen. (Welchen verwendest Du eigentlich?)
ähm... mit welchen µC arbeitest du? Arbeitest du mit einem 8051er oder einem AVR? Wenn du mit nem AVR arbeitest, dann kannst du µVision vergessen. Wenn du mit einem 8051er arbeitest, kannst du die avr/io.h vergessen,weil du ja mit einem komplett anderen Controller arbeitest. Das einmal fürs erste. Also schreib mal welchen Controller du verwendest.
Schau mal auf folgenden Seiten: http://www.8052.com/codelib.phtml http://www.doc.ic.ac.uk/~ih/doc/lcd/ http://www.c51.de/c51.de/Dateien/LCD.php?UIN= Da sollte doch was dabei sein oder? Willst du deinen Treiber selbst schreiben und dabei was lernen oder willst du einfach nur das es funktioniert?
Naja... ich hab mir mal dein c-File angesehen. da sind mir einige Sachen aufgefallen. 1. Funktionien sollten immer oberhalb vom Main stehen. 2. was machst du mit den Variablen bb und ii? Sind meines erachtens reiner Speicherverbrauch. 3. du solltest deine write-Funktion so machen, dass du auswählen kannst ob du ins Steuerregister oder Datenregister schreiben willst. 4 Und ich glaube, dass dein Timing etwas zu schnell ist. Das war mal das, was mir jetzt so aufgefallen ist auf die schnelle.
was ich eigentlich will ist einfach nur ne anfangsinitialisierung in C vom HD44780 für 89S53 Für was brauch ich da nen Treiber?!
naja mit treiber meine ich eine Funktion mit der du aufs LCD zugreifen kannst. Mit der du das LCD initialisieren kannst und danach auch aufs LCD schreiben kannst.
@Schoaschi: Die Funktionen brauchen keineswegs oberhalb der main() stehen. Michael benutzt hier ja auch Funktionsprototypen, die dem Compiler sagen, dass diese Funktion vorhanden ist. Es ist natürlich Geschmackssache, wo man die Funktionen hinklatscht, aber unterhalb der main() macht das für mich wesentlich mehr Sinn, weil man so auf einen Blick alle Funktionen sieht, die man schon geschrieben hat und dann auch gleich auf die main() kommt, ohne viel scrollen zu müssen. Noch besser wäre es natürlich, wenn man die Funktionen auslagern würde und nur ne Header mit den Funktionsprototypen einbinden würde.
Aha.. dankeschön. Dann dürfte ich das wohl mit den Interrupts verwechselt haben. Diese müssen doch oberhalb vom main stehen oder nicht? mir kommt vor ich habe das mal wo gelesen.
Hmmm, ne, die ISRs dürfen auch unterhalb der main() stehen. Allerdings rede ich bei den ISRs nur für den AVR-GCC. Gut möglich, dass das andere Compiler anders machen oder wollen. Aber obiges zu den Funktionen gilt für alle Compiler.
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.