Hallo, habe mich jetzt die ganze Zeit durchs Forum gelesen, jedoch finde ich immer nur Bruchteile. Ich möchte das Samsung 0282a 8x24 Zeichen mit 16 Pin Ansteuerung mit einem AtMega 16 betreiben und dort verschiedene Temperaturen und das Datum plus Uhr anzeigen lassen. Die Uhr soll eine Softclock sein mit 2 Tastern zum Stellen der Uhr. Der Quelltext ist von Andree-HB übernommen worden und nicht bearbeitet. (siehe Quelltext) Er benutzt aber leider ein Display das direkt mit Bascom zusammenarbeitet. Jetzt habe ich einen Ansatz gefunden, um dieses Display anzusteuern, komme damit aber noch nicht richtig parat.(Beitrag "LCD Display 8x24 mit M50530") Ich würde gerne erstmal einfach eine Uhrzeit und ein Datum ausgeben, dafür müsste ich natürlich erstmal das Display ansteuern können. Kann mir jemand beim Umschreiben des Codes helfen, sodass ich die Softclock benutzen kann? Die Temperatursensoren auszulesen wäre dann wieder kein Problem. Gruß Bene '************************************************************ ' 'Atmega Softclock -> genau Uhrzeit ohne RTC (Real-Time-Clock) ' 'Benutzt wird ein Mega8/8, Fusebits auf Auslieferungszustand, 'Lcd An Portb , Taster Zum Stellen An Pd.0 'zum Hochzählen An Pd.3. 'zwischen XTAL ist ein 32.xxx Uhrenquarz '14.08.2006, Andree-HB, www.pixelklecks.de '************************************************************ $regfile = "m8def.dat" Config Lcdpin = Pin , Rs = Portb.0 , E = Portb.1 , Db4 = Portb.2 , Db5 = Portb.3 , Db6 = Portb.4 , Db7 = Portb.5 Config Lcd = 24 * 2 Initlcd Cursor Off Cls Enable Interrupts Config Date = Mdy , Separator = / Config Clock = Soft Config Portd = Input Portd.0 = 1 'Taster1, Zeit/Datum stellen, PullUp ein, schaltet gegen Minus Portd.3 = 1 'Taster2, Zahl hochzählen, PullUp ein, schaltet gegen Minus Time$ = "00:00:00" 'Setzen auf Startwert Date$ = "00/00/00" 'Setzen auf Startwert Do Locate 1 , 1 Lcd Time$ 'Zeige Zeit in Zeile1 Locate 2 , 1 Lcd _day ; "/" ; _month ; "/0" ; _year 'Zeige Datum in Form DD/MM/YYin Zeile2 'lcd Date$ 'zeige Datum in Form MM/DD/YY If Pind.0 = 0 Then Gosub Time 'wiederhole Anzeige bis Taster 1 zum Stellen gedrückt, springe nach Sub "Time" Loop End 'Stunde Time: Waitms 200 Cls 'lösche Zeilen Do Locate 1 , 1 Lcd "Set Hour:" 'Stunden setzen Locate 2 , 1 Lcd _hour If Pind.3 = 0 Then 'Mit Taster 2 Incr _hour 'hochzählen Locate 2 , 1 Lcd _hour End If If _hour > 23 Then 'Zählt bis Max, danach wieder ab 0 Cls _hour = 00 End If 'solange, bis Taster 1 gedrückt Loop Until Pind.0 = 0 Waitms 200 'Minute Cls Do Locate 1 , 1 Lcd "Set Minute:" Locate 2 , 1 Lcd _min If Pind.3 = 0 Then Incr _min Locate 2 , 1 Lcd _min End If If _min > 59 Then Cls _min = 00 End If Loop Until Pind.0 = 0 Waitms 200 Cls 'Tag Cls Do Locate 1 , 1 Lcd "Set Day :" Locate 2 , 1 Lcd _day If Pind.3 = 0 Then Incr _day Locate 2 , 1 Lcd _day End If If _day > 31 Then Cls _day = 01 End If Loop Until Pind.0 = 0 Waitms 200 Cls 'Monat Cls Do Locate 1 , 1 Lcd "Set Month :" Locate 2 , 1 Lcd _month If Pind.3 = 0 Then Incr _month Locate 2 , 1 Lcd _month End If If _month > 12 Then Cls _month = 01 End If Loop Until Pind.0 = 0 Waitms 200 Cls 'Jahr Cls Do Locate 1 , 1 Lcd "Set Year :" Locate 2 , 1 Lcd _year If Pind.3 = 0 Then Incr _year Locate 2 , 1 Lcd _year End If If _year > 10 Then Cls _year = 00 End If Loop Until Pind.0 = 0 Waitms 200 Cls _sec = 00 'Springe Nach Setzen Von Zeit / Datum Wieder Zurueck Return
wie in dem verlinken Thread schon beschrieben wirds mit den eingebauten Routinen nix werden. Also schreib dir ne LIB, binde Die mit ein und dann nur noch die LCD-Befehle gegen die Eigenen austauschen. Schon gehts. bye Frank
Könnt ihr mir da helfen? Also mit der LIB und dem einbinden? Die Befehle eingeben kann ich dann wieder selber. Dann könnte ich weiterbasteln...
Ich glaub kaum das dir Jemand mal so auf doof ne Lib für dein LCD schreibt. Das wirst du wohl selbst tun müssen. So ist das nunmal wenn man was Aussergewöhnliches benutzen will. bye Frank
Was ist an dem Display "außergewöhnlich"??? Das Datenblatt des Controllers beschreibt Befehle und Timing recht gut, da ist die Ansteuer-Routine doch kein Problem. Wer aber nur mit Bauklötzern spielt, der hat natürlich schlechte Karten... ...
Aussergewöhnlich heisst nix Anderes als vom Baukasten nicht direkt unterstützt. Das bedeutet eben selbermachen. Und selber heisst eben selber und nicht von Anderen machen lassen. bye Frank
Ich dachte nur das ihr das etwas schneller hinbekommen könntet, weil ih rmit solchen Displays ja öfters arbeitet. Brauche das Display ja nur einmal und dann nicht mehr. Ist nur für meine Terariumsteuerung.
du brauchst das Display "nur" einmal. Wir aber vielleicht nie. Wer hat dann wohl das grössere Interesse sich so eine LIB zu schreiben?
Ja das ist schon klar. Kann man den Code unter Beitrag "LCD Display 8x24 mit M50530" nicht leicht verändern und für meine Zwecke verwenden? Muss ja niemand was neu schreiben.
Ich habe nichts dagegen, wenn Du den von mir geschriebenen LCD-Treiber (in Assembler) benutzt. Du müsstest Dann Dein Programm in Assembler schreiben. Aber Du kannst doch nicht ernsthaft erwarten, dass Dir jemand einen Bauklotz für den Baukasten BASCOM schreibt, nur weil Du das (für BASCOM) falsche Display gekauft hast. Dann kaufe Dir gefälligst ein Display, das von Deinem Baukasten unterstützt wird. Da könnte ich Dir das 4x27 von Pollin empfehlen, das kostet nur 5 Euro und wird von BASCOM als 4x40 angesprochen. Und schon sind Deine Probleme gelöst. Das erleichtert sogar Deine Hardware, denn es benötigt nur 5V, also keine separate Spannung von fast 12V für den Kontrast. Weiterhin kannst Du nicht erwarten, dass Dir jemand Anderes Dein Programm schreibt. Entweder Du kannst es, Du lernst es, oder Du kaufst es. ...
@ Bene - Danke das du dir mal die Mühe gemacht hast und für Bascom ein Programm geschrieben hast womit man diese Displays ansteuern kann. Könntest du mir einen Tipp geben wie ich es machen kann, damit ich mir einen Text aus dem µC direkt aufs Display schicken kann. Z.B ein einfaches " Hallo " Danke
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.