Sparrow Online Assembler: Nokia5110 LCD
Das der ATtiny13a keine Probleme mit dem Nokia5110 LCD hat wurde ja bereits in einigen
Anwendungen gezeigt. Der Sparrow hatte dieses Vergnügen jedoch noch nicht. Für ein neues
Projekt experimentiere ich gerade mit dem Nokia Display. Das Zielsystem ist mit hoher Wahrscheinlichkeit ein
AVR Tiny13. Der ISP-Programmer war aber gerade nicht zu finden.
Warum nicht den Sparrow als Entwicklungssystem einsetzen?
Prototypenentwicklung mit dem Sparrow Online Assembler
Für meine Anwendung benötige ich eine Lösung die wenig Programmspeicher in Anspruch
nimmt. Die Initialisierungsdaten sind als Konstanten
im Flash abgelegt. Die Ramzeiger-Position (Schreibposition) ist aus Platzgründen in die
Initalisierung gewandert. SPI ist in Software abgebildet. Der Datentransfer ist mit der
Funktion "out_byte_go" realisiert. Das spart nochmals Platz denn damit kann sowohl die
Initalisierung als auch das Schreiben auf dem Display erfolgen.
Eine schöne Grundlage für Experimente mit ressourcenschonender Programmierung.
Die Pinbelegung ist im Quellcode zu finden.
Bildinhalte generieren
Der Smiley wurde mit dem OnlineTool Mosaic
erzeugt. Mit dem Register r19 wird der Funktion "out_byte_go" mitgeteilt wieviele Bytes
geschrieben werden sollen.
Fehlerhafte Initialisierung (Update 29.10.2015)
Mehrere Nutzer berichteten über einen zu dunklen Kontrastwert des Displays. Die Initialisierungssequenz wurde nun angepasst.
Der aktuelle Kontrastwert (5. Byte) liegt jetzt bei 0xBC (dezimal 188). Die Kontrasteinstellung hat 128 Stufen (0b1xxx xxxx). Es sind
somit Werte von 0x80 (0b10000000) bis 0xFF (0b11111111) zulässig
Links und Referenzen: