LCD-Anzeige ansteuern

Begonnen von picass, 28.07.2021, 17:07:22 CEST

⏪ vorheriges - nächstes ⏩

picass

Beim Grabbeln in meinen Vorratskisten bin ich auf dieses PIC-Board gestoßen. Habe ein wenig den  Überblick verloren: von wem stammt dieses Board?
In der linken unteren Ecke prankt die Bezeichnung ,,SP18v3", auf der Platine sitzt die 28-pol-Version eines PIC18F25K22 und die Anzeige trägt an der Seite die Bezeichnung ,,EA DIPS082-HNLED". Im Moment  scheint da so was wie ,,Hello World" abzulaufen, die ganz linke grüne LED blinkt. Mir geht es um die Ansteuerung der Anzeige und – ach ja – natürlich in Assembler.
Grüße, picass

vloki

29.07.2021, 09:21:16 CEST #1 Letzte Bearbeitung: 29.07.2021, 09:25:36 CEST von vloki
Hi picass,

das ist das Board (Start PIC18 Version 3?) von Nico (https://pic-projekte.de/blog/)
Das Display ist vermutlich ein HD44780 kompatibles.

Irgendwo müsste ich noch aus längst vergangenen Zeiten Assemblerroutinen haben.
Muss mal suchen.........

Grüße,
   Volker

picass

Stimmt alles...., also von Nico, StartPIC18, HD4478 kompatibel......
Hatte mir mal einen Packen Platinen nach dem Layout-Entwurf von Nico anfertigen lassen und eine davon bestückt. Nur finde ich nichts mehr auf meinem Compi wieder, weder das Layout, welches ich gerne etwas umstricken würde, z.B. auf einen anderen µC, und leider auch keine Prog-Beispiele. Hab ich genial veruntreut.... >:(
Ein Tutorial habe ich inzwischen im Inet entdeckt, allerdings hieß es in einem sich auf dieses Tutorial beziehenden Fred in einem Forum, dass das Orig nicht funktionieren würde.... :-\
Würde mich da gerne mal einarbeiten, weil meine bisherigen Platinen nicht besonders geeignet sind, und für mein Hygrometer-Projekt wäre es nett, zwei Temperatur-Werte und zwei für die Feuchtigkeit anzeigen zu können.
Grüße, Bernd

vloki

Hmm,
mein einziges Projekt, in dem ein LCD mittels ASM angesteuert wurde,
ist ein gemischtes C & ASM Projekt. Das macht das ganze erst richtig tricky ;-)

Die dort verwendeten ASM Routinen stammen aber aus den Beispielen für das PICDEM2+
Board von MCHP (Version 2002). Den Beispiel Code hänge ich mal an. Den User Guide findet man,
wenn man nach  "51275A.pdf" sucht.

picass

Die Platinen für das andere Projekt mit den vierstelligen 7-Segment-Anzeigen sind noch nicht in Sicht, daher versuche ich zwischenzeitlich hier weiter zu kommen. Auch hier war warten angesagt, weil für Prog-Übungen erst neue PIC18F25K22 Exemplare bestellt werden mussten. Die sind nun da, und ein erster Anlauf, ein geeignet scheinendes PIC18F14K22 Prog umzuschreiben auf den neuen Prozessor wurde gleich am Anfang rasant ausgebremst: die Configurations-Einstellungen! Dem Thema war ich bislang weitestgehend ausgewichen und hatte aus Vorlagen da was Fertiges übernommen. Womit ich nicht gerechnet hatte: es gibt reichlich Änderungen vom F14 auf den F25.

Das weckt nun wieder den Wunsch, auch das fertige ASM-File für das Nico-Board zu haben, um nicht jedes Rad immer wieder aufs Neue erfinden zu müssen. Aber auf der Nico-Homepage - dem alten PIC-Forum - ist nichts mehr zu finden. Insbesondere finde ich keinerlei Kontaktmöglichkeit. Natürlich würde ich den Nico gerne fragen, ob er mir dieses File zur Verfügung stellen würde. Weiß jemand eine Kontaktmöglichkeit? Oder hat einer von unseren Mitgliedern hier dieses File?
Grüße, picass

vloki

Ich glaub nicht, dass Nicolas irgendwas in ASM programmiert hatte.
Soweit ich mich erinnere war das alles "C"

Die Config Bit Einstellungen kannst du ja im Menü
      Window -> Target Memory Views -> Configuration Bits
erstellen.

Ich nehme mal an, du verwendest du noch MPASM und nicht den Assembler vom XC8 Compiler.
Irgendwo habe ich noch ein altes Grundgerüst für ein Assemblerprojekt rum liegen, falls dir das was nützt.

picass

Hallo Volker!
Habe mich heute durch das Kapitel der Configuration erst des PIC18F14K22 im Microchip Datenblatt, danach durch dasjenige des PIC18F25K22 gewühlt. Und glaubte, (fast) alles verstanden zu haben. Verstanden hatte ich u.a., dass man überhaupt keinen Config-Block angeben muss, weil jeder PIC da seine in Hardware eingegossenen Voreinstellungen hat. Wenn man von denen nicht abweichen will oder braucht, kann man sich das sparen.
Danach gab ich entsprechend nur ein paar wenige der mit Nicnahmen versehenen Bits ein, das klappte im Wesentlichen, allerdings waren da zwei drunter, die mehrere Bits umfassten, und - als Beispiel - dann 1000 für die Einstellung eines 4-Bitters angebracht gewesen wäre. Alleine - mein MPASM wollte keinerlei Zahlenformate annehmen, jedenfalls nicht die von mir ausprobierten.

Ist jetzt aber ein rein - hüstel - akademisches Problem, denn gerade las ich deinen obigen Hinweis auf die Erzeugung der Config-Abteilung im MPASM, und das klappte auf Anhieb, es gab keine darauf bezogene Meckermeldung mehr. Nur leide ich im Moment darunter, dass diese Hilfe-Funktion geschwätzig ist wie sonst was und JEDES Mitglied dieser Config-Abteilung aufzählt. Die Start-Abteilung meines neuen Programms sieht oben wüst aus, alles voll gemüllt. Naja, aber wenigstens keine Meckermeldung mehr.

Danke, du hast mal wieder gerettet! Dennoch sind nun neue Zweifel aufgetaucht, denn heute Nachmittag kamen von Aisler die Platinen für die 4-fach 7-Segment-Anzeigen, und da ich nun mal von der Hardwareseite herkomme, ist mir der Griff zum Lötkolben weit verlockender als der zum MPASM. :P
Grüße, Bernd


vloki

Zitat von: picass am 06.08.2021, 18:53:39 CESTNur leide ich im Moment darunter, dass diese Hilfe-Funktion geschwätzig ist wie sonst was und JEDES Mitglied dieser Config-Abteilung aufzählt. Die Start-Abteilung meines neuen Programms sieht oben wüst aus, alles voll gemüllt. Naja, aber wenigstens keine Meckermeldung mehr.
Schreib das doch einfach in eine separate Datei.
Die lässt sich dann auch sehr viel besser wiederverwenden ;-)

Schnellantwort

Name:
Verifizierung:
Bitte lassen Sie dieses Feld leer:

2 Beeren und 2 Bananen. Welche Farbe hat die Banane ?:
Tastenkürzel: Alt+S Beitrag schreiben oder Alt+P für Vorschau