- Labornetzteil AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Sprut-Lernbeispiel "LCD-Display" fehlerfrei????

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.12.2005
    Ort
    Wang-Dong-Township
    Alter
    53
    Beiträge
    67

    Sprut-Lernbeispiel "LCD-Display" fehlerfrei????

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallihallo,

    Ich habe gestern begonnen, micht in die Benutzung von LCD-Displays einzuarbeiten.
    Ich hab' mal das Beispiel von Sprut hergenommen unter "PIC-Lernbeispiel: LCD-Display", wobei das Wort "Hallo" auf dem Display erscheinen sollte. Leider tut es das bei mir nicht.
    Ich wollte mal hier in die Runde fragen, ob jemand ebenfalls dieses Beispiel ausprobiert hat, und mir die Fehlerfreiheit des auf sprut.de publizierten Programmes bestätigen kann.

    Ich verwende einen PIC 16F84A mit einem 10 MHz-Quarz. Ich habe den Assemblercode, der für einen 16F84 gilt, für den 16F84a umgestellt. Als Display verwende ich ein Goldentek GC-1602G0, 2x16 (Pollin-Bestellnummer 120385).
    Das sollte eigentlich kompatibel zum HD44780 sein.

    Gruß, Jan

    PS: Das Lernbeispiel "LCD-Uhr (mit 10 MHz-Quarz)" habe ich ebenfalls mal ausprobiert. Es funktionierte jedoch nur zum Teil, d.h. auf meinem Display erschien die Zeichenfolge "00:00:00"
    Diese blieb jedoch so bis in alle Ewigkeit bestehen.

  2. #2
    Erfahrener Benutzer Begeisterter Techniker
    Registriert seit
    16.05.2004
    Beiträge
    304
    Hi!

    Ich habe das Beispiel schon mal ausprobiert. Hab ebenfalls einen 84A uC verwendet, jedoch 4MhZ Quarz. Hat auch bei einem 4 Zeiligen Display funktioniert (Bis auf das 2. und 4. Zeile nicht angesprochen wurden).

    Was tut es generell wenn du das einfach Beispielprogramm testest? Evtl hast du irgendwelche Anschlüsse vertauscht?

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    19.12.2005
    Ort
    Wang-Dong-Township
    Alter
    53
    Beiträge
    67
    Hi,

    das hört sich schonmal nicht schlecht an. Dann muss der Fehler wohl doch in meiner Schaltung liegen.

    Einen 4 MHz-Quarz hab' ich leider nicht. Ich habe das stattdessen mit einem 20 MHz- und einem 10 MHz-Quarz ausprobiert.
    Die Warteschleife habe ich entsprechend modifiziert.

    Alternativ hätte ich noch einen 8-MHz Keramikresonator da, mit dem ich's auch noch mal probieren könnte.

    Ich werd' mal diese Woche noch verschiedene Versuche unternehmen, ob ich es doch noch irgendwie gebacken kriege.

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    08.06.2004
    Ort
    Dortmund
    Beiträge
    10
    Hallo,

    ich beschäftige mich auch erst seit kurzem mit LCDs und habe mir dazu ebenfalls das einfache Beispiel von sprut angeschaut. Dieses funktioniert zumindest in Proteus bei mir einwandfrei.
    Da ich zu Hause aber noch einen 16F877 rumfliegen habe, würde ich das Beispiel gerne für diesen modifizieren, nachdem ein komplett selbstgeschriebenes Programm nicht funktioniert hat. Ich möchte gerne mit einem 8-bit-Interface arbeiten; schließlich hat der 877er genug I/O-Leitungen. Also sollen später die drei Steuerleitungen an PE0..2 liegen und die Daten über PD0..7 verschickt werden. Ich habe damit begonnen den Quelltext zu modifizieren und habe es inzwischen immerhin geschafft die Daten(4-Bit) und Steuersignale alle über PortD laufen zu lassen. Dieser Code befindet sich in mod1.asm im ZIP-File. Er funktioniert in Proteus. In mod2.asm habe ich nichts verändert, außer dass die Steuerleitungen nichtmehr PD0..2 sind sondern PE0..2; im Code und natürlich auch in der Schaltung. Aber dieser Code funktioniert nicht mehr.
    Ich Suche jetzt schon seit zwei Tagen nach dem Fehler und finde einfach nichts. Vielleicht findet ja jemand von euch den Fehler. Der Code lässt sich einwandfrei assemblieren und laden. Nur er entlockt dem LCD keinen Ton mehr.
    Danke für die Hilfe.

    The Scientist
    Angehängte Dateien Angehängte Dateien

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    07.12.2005
    Ort
    Euskirchen-Großbüllesheim
    Alter
    74
    Beiträge
    2.063
    Böse Falle:
    Code:
    	movlw	B'00000000'	; PortB alle outputs 
    	movwf	TRISD
        movwf   TRISE
    Nach diesem Befehl hat bei mir auch einiges nicht mehr funktioniert.
    Jetzt benutze ich:
    Code:
    		movlw	11111000b	; 0=Ausgang / 1=unverändert
    		andwf	TRISE
    Bit<7...3> von PORTE dürfen aus mir unbekannten Gründen nicht verändert werden.
    MfG Karl-Heinz
    HobbyElektronik hier klicken ....

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    08.06.2004
    Ort
    Dortmund
    Beiträge
    10
    danke, war mir jetzt net bewusst, dass man da nur die tatsächlich belegten bits ändern darf.

    Hab das mal eingebaut geht aber trotzdem nicht. Da ich auch durch den Beispielcode nicht überall ganz durchsteige, hab ich hier mal meinen selbst geschriebenen code, der ja auch net geht. Vielleicht sind da ja auch so dumme Fehler drin.
    Angehängte Dateien Angehängte Dateien

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2007
    Beiträge
    13
    Hallo,
    du solltest #include <P16F84A.INC> includen anstatt "#include <P16F77.INC>" und list p=16f84a und nicht "list p=16f877".

    Probier es mal so!

    Gruß

  8. #8
    Neuer Benutzer Öfters hier
    Registriert seit
    08.06.2004
    Ort
    Dortmund
    Beiträge
    10
    warum? ich benutze doch einen 16f877.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2007
    Beiträge
    13
    Hallo
    ja sorry, aber du includest ja <P16F77.inc> und nicht <P16F877.inc>

    Gruß

  10. #10
    Erfahrener Benutzer Lebende Robotik Legende Avatar von PICture
    Registriert seit
    10.10.2005
    Ort
    Freyung bei Passau in Bayern
    Alter
    72
    Beiträge
    11.077
    Hallo!

    Ich habe gerade im "PIC Assembler" in Wiki ein einfaches Programm für Matrixdisplay im 4-bit Modus gepostet.

    https://www.roboternetz.de/wissen/in...Matrix_Display

    Hoffentlich ist es genügend komentiert, sonst, bitte, fragen.

    MfG

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad