LCD 4Bit modus und BF flag mit Menue Text ausgabe AVR Assem

Gast #8022
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 !!!!
Angehängte Dateien:
Gast #8023
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
Gast #8026
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/
Angehängte Dateien:
Gast #8027
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/
Angehängte Dateien:
Gast #8028
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren