mikrocontroller.net

Forum: Projekte & Code LCD 4Bit modus und BF flag mit Menue Text ausgabe AVR Assem


Autor: Phagsae (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
LCD Ansteuerung im 4 Bit modus
Das Busy flag wird ausgelesen die Steuerung ist sehr kompakt
Für Kommando und Daten wird ein identisches SUB_Prog benutzt
Gesteuert wird das über das T flag

Um Textzeilen bequem benutzen zu können hab ich noch ein Menue
Teil reingebastelt

Die Texte sind im bsp 16 Zeichen lang also eine ganze Zeile
Um 2 kurze Texte in eine Zeile zu schreiben
Cursor auf Pos1 Text ausgeben
Cursor auf Pos2 Text ausgeben ( die restlichen 8 werden einfach 
überschrieben)
Der Rest des Texts landet im Nirvana

Getestet mit 4433 und einem 16x2 Universal LCD ( Reichelt )
Die Timing einstellungen müssten für 8MHz passen
Hab nach dem init mal den AVR auf 12 Mhz umgeschalten war OK
Funktioniert dank BF readout sehr schnell

Have fun !!!!

Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
sieht ganz nett aus. Ich kann's nur leider nicht assemblieren :(
Ich bekomme einen Fehler in der Delay Routine. Dort ist die Variable 
Delay_K die nirgens definiert wird.
Ist das eine Konstante?
Wie groß muß der Wert sein?

Gruß
Markus

Autor: Phagsae (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OK
Das ist ein Fehler
Sollte eine Konstante sein
Für Delay_K=125
Und Xtal =4MHz
entspricht Time_R =10 1ms

Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jo, danke. Hab ich mir gedacht.

Gruß
Markus

http://www.elektronik-projekt.de/

Autor: MarkusB (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hi Phagsae,
ich hab Deine Delay Routine überarbeitet. Hattest noch einen Bug drin. 
MR wurde nach dem ersten Durchlauf auf 255 gesetzt. Hab das mal 
geändert. Auserdem hab ich die Werte für "Delay_K" für mehrere 
Frequenzen ermittelt. Für 8MHz reiche der Wert allerdings nicht mehr 
aus.
Wenn man für Time_R einen Wert von 10 einsetzt hat man eine Verzögerung 
von ca. 1ms.

Gruß
Markus
http://www.elektronik-projekt.de/

Autor: MarkusB (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Muß noch was korrigieren. In der Delay Funktion war noch ein Bug. Die 
beiden POP Befehle wurden in der falschen Reichenfolge ausgeführt.
Ausserdem hab ich noch eine weitere Funktion für längere Delays 
hinzugefügt.
Es kann sein das die Werte für Delay_K nicht 100% stimmen. Also nicht 
blind darauf verlassen.

Gruß
Markus
http://www.elektronik-projekt.de/

Autor: Phagsae (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Uuuupss.......moin Markus
Dir Entgeht nichts oder ?.......Gut so

Ich hab das Prog aus einem grösseren Pojekt rausgenommen.
Ich leg für Definitionen immer ein eigenes file an , hab da wohl beim 
Rauskopieren geschlampt.
Ich hab auch das zusammenkopierte Prog nicht mehr getestet.

Die Orginal Timing Daten waren tatsächlich für 3,8 Mhz
Hab dann später auf 8 Mhz umgemodelt

Kann ich dein Delay ins Programm übernehmen ?
Ich würds dann hier nochmal in vollständiger Fassung ins Forum stellen

Ich bitte um nachsicht das Delay Sub_P ist mein allererster Progversuch 
gewesen :-)

Phagsae

Autor: MarkusB (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kein Prob. Ich dachte, dafür sind solche Foren da damit man sich 
gegenseitig helfen kann.
Kannst das gerne übernehmen und Posten, ich schreibe aber selbst gerade 
an einer Lib für LC-Displays, oder anders ausgedrückt, ich erfinde das 
Rad zum 1001 mal ;)

Gruß
Markus
http://www.elektronik-projekt.de/

Autor: Phagsae (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So Das sollte dann jetzt wohl klappen:-)

Hab das "Markus.B" Delay übernommen
Hab das jetzt auch mal ausprobiert - > Klappt

Danke richtung e-projekt  für die Käfersuche

Phagsae

Autor: Johannes (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke Euch beiden. Ihr habt mir gerade sehr viel Arbeit gespart.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.