Hallo ATtiny 13 Freunde, in 10/2018 gab es mal diese Anfrage, Beitrag "LCD per I2C an AtTiny13 anbinden?" LCD per I2C an AtTiny13 anbinden? Damals wurde jedoch keine Lösung dazu angeboten. Die Antworten damals waren eher entmutigend, das mit einem Tiny13 zu versuchen. Bisher hatte ich nur mit C-Control und C-Control Basic und Open MICRO / Macro programmiert. Als AVR Assembler Anfänger hat es mich trotzdem gereizt, heraus zu finden ob das grundsätzlich mit dem Tiny13 möglich ist ein LCD Display anzusteuern. Meine AVR Umgebung: AVR Atmel RS232 Evaluation Board 2.0 von Pollin mit Eigenbau extension Board, AVR Studio 4.16, PonyProg Erfahrene AVR Assembler Programmierer haben bestimmt dafür schon Lösungen realisiert, leider konnte ich im Internet keine Gesamtlösung finden in den einschlägigen AVR Foren. Meine ersten Schritte in AVR Assembler und die realisierten Lösungen möchte ich hier im Forum vorstellen, um andere Anfänger mit dem Tiny 13 zu ermutigen, damit zu arbeiten. Vor wenigen Monaten dachte ich lt. den Hinweisen oben, daß es ev. gar nicht geht. Umso mehr war ich erstaunt, wie ich tiefer und tiefer in die AVR Assembler Programmierung rein kam, wie wenig Code Speicher eigentlich dafür benötigt wird. Nur mit 380 Code Bytes konnte ich es realisieren. Für erweiterte Anwendungen z.B. für Messaufgaben und Anzeige in einem LCD Display bleibt also noch genug Code frei. Erklärung zu den hier gezeigten Dateien 14_4_T13_I2C_PCF_LCD_MC.asm ==> damit lassen sich LCDs ansteuern, die zwischen PCF8574 und LCD Display eine Verdrahtung nach C-Control haben 15_4_MC_T13_PCF_LCD_2004.asm ==> damit lassen sich LCDs ansteuern, die zwischen PCF8574 und LCD Display eine Verdrahtung nach Arduino haben 20200626_1602_LCD.jpg ==> LCD 1602 mit PCF8574 und LCD Display Verdrahtung nach C-Control 20200619_2004_LCD.jpg ==> LCD 2004 mit PCF8574 und LCD Display Verdrahtung nach Arduino viel Spass mit Tiny 13 wünscht Joe
:
Bearbeitet durch User
Josef F. schrieb: > leider konnte ich im Internet keine Gesamtlösung > finden in den einschlägigen AVR Foren. Meine ersten Schritte in AVR > Assembler und die realisierten Lösungen möchte ich hier im Forum > vorstellen Sehr gut. Selber was machen, selber lernen, das finde ich gut. Ich freue mich mit dir über deinen Erfolg. Du weißt jetzt wirklich, wie's funktioniert. Das kann dir niemand wieder nehmen. Und dieses Wissen wird dir auch dann helfen, wenn du später mal fremde I2C-Implementierungen benutzen willst oder musst und es dabei zu Problemen kommt.
Ich habe früher auch viel Zeit mit der sinnlosen Optimierung von Software verbracht. Fand ich irgendwie sportlich und eine Frage der Ehre - das ist auch hier so. Am Ende kam raus, dass der Quellcode kaum noch lesbar war und freier Speicher, der nie benutzt wurde. Nicht alles, was irgendwie geht ist auch sinnvoll. Das hier ist so ein Fall. Warum bitte sollte man an solch einen Winzling noch einen Portexpander anstricken statt direkt einen etwas grössenen MC? Dazu sind deine I/Os und auch der RAM nicht mehr so dolle. Was machst du denn jetzt mit deinem Display?
Das ist eine nette sportliche Programmierübung. Der praktische Nutzen dürfte allerdings eher gering sein, da kein Platz mehr für ein nützliches Anwendungsprogramm übrig ist.
Ist dies bekannt?
1 | /* Block comment: the enclosed text is a comment, may span multiple lines. |
2 | This style of comments cannot be nested. */ |
Danke für 3 konstruktive Antworten, vorallem Dank an Peter für seinen Hinweis. Hab mir alles kopiert und bewundere die hohe Kunst Deiner Programmiertechnik. Von so Antworten und Hinweisen kann man wirklich was lernen. Habe es bereits schnell mal durchgesehen und werde das nun anwenden und üben.
Hi Josef F, thank you for your solution as my base to create software for all attiny. I use higher CPU speed because my Attiny85 have to work a lot of instruction. I will stedily improve may software because i fight with space code. Now software consumption less than 400bytes. When I use Attiny13 i need more for addicional code to implementing. This is temporary solution, but usefull. I don't know German language and i write in English.
Hi Ryszard, thank you for your feedback and your improved code example. I am quite happy that my solution was a base for you to create software for all your attiny. I am becoming 79 this year and as a Newbie in assembler and AVR Controllers I was astonished last May 2020 not to find a simple solution for I2C LCD Display control for Attiny13 in internet. Therefore I provided my code example in www.mikrocontroller.net, in order to encourage all ATTiny friends for using it. In the meantime I built with ATTinys different applications, e.g. pressure sensor for very low air pressure (0...100 Pa==0...10.2mmWs), Voltage sensor and NTC-resistor temperature sensor, all with LCD-Display and UART-output. wishing you the best for 2021 and further great fun with ATTinys Drogi Ryszard, bardzo dziękuję za ważne dla mnie informacje. Pozdrawiam Joe
Hi Josef F., thank you for your opinion. I'm 67 year old. On retirement time I create PCB (main my hobby) by my self in garage. After i create software and observe how it works. I have been using a soldering iron since I 'm finish 13 years old I add new software with correcting MACRO for level backlight ( ActiveLight). I too wishing you the best for 2021. Your Polish is good. Best regards / z pozdrowieniami Ryszard
Hi Ryszard, thank you for your feedback and your further improved code example. Do you make PCB only for you own applications or do you also for others? I have a friend here, who is a native Polnish from Gorzyce in southern part of Polonia. He did the translation. Unfortunately I did not learn your language. Best regards Joe
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.