Hallo, Habe mir eine Platine gebaut mit nen ATmega8, aber ohne externe XTal. Ich moechte naehmlich gerne mal die interne Oscilator nutzen unter BASCOM. Im Buch von Roland Walter gibt es eine beschribung wie man eine externe XTal anschliesen muss. Aber,. wie gesagt, ich moechte gerne die interne Oszillator nutzen. Wie ich es verstanden habe, ist eine fabriksfrische ATMega8 geliefert im 1 MHz int. Osz. Zustand. Also, wenn ich mir nicht irre, brauche ich keine Einstellungen zu aendern im TwinAVR (CKSEL0..3 oder CKOPT) und koente einfach das folgende einbrennen : ================================ $regfile "m8def.dat" $crystal = 1000000 CONFIG Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 CONFIG Lcd = 16 * 2 Lcd_on ALIAS Portc.7 (Gibt die 2mA Power fur die LCD) DIM I as byte SET Lcd_on 'SCHALTET LCD AN, ALSO GIBT 2 mA / 5V DO FOR I=0 to 200 CLS UPPERLINE LCD "Counting : " & I WAIT 1 NEXT LOOP ================================ Aber, es funzt nicht. Ich sehe dass der LCD Spannung hat, aber es gibt keine Text auf die LCD, nur das die Oberlinie schwarz ist. Und es blinkt ein bisschen. Jemand der angeben kann was ich falsch mache ?
Das mit dem LCD einschalten ueber einen Port Pin ist keine gute Idee. So ein LCD muss initialisiert werden, ehe es genutzt werden kann. Wenn nun aber die Initialisierung durchlaeuft, waehrend das Ding noch keine Spannung hat, .... Haeng das LCD ganz normal an Deine Stromversorgung.
Karl Heinz Buchegger hat recht. BASCOM initialisiert das LCD über CONFIG Lcdpin und CONFIG Lcd, während das LCD selbst spannungslos ist. Das geht schief. Also VCC des Displays wirklich an +5VDC hängen. Zudem sollte nach der Initialisierung (CONFIG Lcdpin und CONFIG Lcd) noch ein kleines Momentchen gewartet werden, bevor Text ausgegeben wird. Meist genügt ein kleines "waitms 20" bis "waitms 100", sodass das Display voll wach ist. Das Blinken des LCDs ist schon mal ein gutes Zeichen, dass Daten irgendwie irgendwo hinkommen (vorrausgesetzt es blinkt regelmäßig jede Sekunde -> siehe deine Source bei "wait 1") ciao, Christian
Ich hatte mal das gleiche Problem. Bei mir lag es daran, daß ich vergessen hatte, den Kontrast-Pin zu versorgen. Also versorge das Display zunächst wie Karl Heinz schreibt z.B. über eine externe Spannungsversorgung, und dann ein Poti drüber (Mittelabgriff auf Kontrast-Pin vom LCD).
Dank Leute ! Ich werde bald versuchen die LCD dan sofort am +5V legen. Ich habe eine Trafo der 9V / 166 mA liefert. Der Atmel ist intern gesichert fur Strohm, also es wurde keine Probleme damit geben. Aber die LCD braucht nur 3mA und ich weiss nicht ob es gesichert ist. Ich hatte verstanden das eine Atmel-2313 10mA / 5V steuern kan am Pin. Deshalb hatte ich gedacht : "Schoen, dan werde ich es uber eine Wiederstand ansteuern, dan gibt is sicher keine Schaden". Naja,. so sieht man das ich immer sehr vorsichtig bin.(Nichts alles sofort kaput machen). OK,. ich werde mal anschauen was passiert wenn ich es sofort an +5V lege. Ich werde mich hier wieder melden) P.S. O ja,. und wie immer : meine Entschueldigungen fuer meine schlechte Deutschsprache.
hast du deinen avr an 9V gelegt oder wie muss ich das verstehen?? Wenn du dein LCD an 5V legst zieht da automatisch seine 3mA auch wenn dein Netzteil 30A liefern kann. Mit 9 V wirst du es aber schnell ins Grab befördern.
Karl Heinz : vielen Dank ! Es stimmt jetzt. Nie gewust, aber Heute dan doch gelernt. Ich brauche mir gar keine Sorgen zu machen fur die LCD. OK,. ich kan jetzt ein bischen mehr erzahlen : Ich baue mir eine UV-Timer. Ich aergere mich oft wenn ich mir eine Platine baue. Es passiert sehr oft das ich mehrere Sachen zugleich mache und dan vergess ich oft die Zeit beim Beleuchtung. Wenn ich No-name Platine beleuchte, na ja,. 8 oder 13 Minuten gab noch keine grosse unterschied im Qualitaet (ich drucke meine PCB auf normale weise A4 Papier) Aber,. mit Platinen vom Bungard geht es nicht so. Weiterhin habe ich keine Uhren im Haus der die Sekunden genau angibt. Nur Uhren der Stunden und Minuten angebt. Also,. ich kan nur starten wen eine neue Minute zu sehen is. Fur Endzeit gilt etwas aehnliches. Also,. ich bins satt und wollte mir eine Timer einbauen. Ich hab mir eine doppelseitige Platine gemacht (10x4 cm), und habe darauf eine MOC3023, 2x16 LCD und eine Platine mit 4 SMD-Drucktaster gebaut. Stromversorgung gibt es auch darauf : 220V~ nach 9V~/166 mA Trafo (ich dachte : 120 mA fuer LCD mit backlight und 40 bis 50 mA fur ATMega8) Die 9V/166 mA geht uber nen B40C1000, und dan eine 78M05 und naturhlich mit einige Elkos. Aber,. wie vorher schon angegeben, ich habe jetzt eine LCD ohneHintergrundbeleuchtung (der nur 2mA braucht, statt 120 mA). Weiterhin habe ich mir das ganze schoen programmiert, und in die ATMega gebrennt. Leider arbeitet alles noch nicht tadelos. Aber,. es ist naturlich sehr wichtig das ich am mindestens sehen kann was passiert, deshalb moechte ich die LCD an die arbeit haben. Wenn man wirklich neugierig ist, werde ich mal nen Foto publizieren. OK,. vielen Dank Leute ! Und jetzt wurde ich versuchen die Drucktaster aus zu lesen. P.S. Wenn ich dieses Projekt fertig habe, wollte ich mir noch eine LC-meter bauen. Es gibt verschiede PCB's auf internet, mit hex-Daten dabei, aber ich moechte es mir gerne selber bauen, unter BASCOM. P.S. Wenn ich die Int. Osc. auf 8 MHz setze, sollte ich es wirklich Kalibrieren mussen ? 1) Wie soll das gehen 2) Gibt es wirklich ein so grosse Abweichung ohne Kalibrierung ?
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.