Hi an Alle,
Ich bin erst seit einer woche -/+paar tage
am programmieren dran und hab mir das pollin programmier board +addon
gekauft und einen ATmega32.
dan hab ich mich mal hingesetz und mit bascom ein lauflicht geschrieben.
Jezt wollt ich aber noch den lcd ansteuern aber ich bin mir nicht sicher
ob das so richtig ist wie ich das gemacht haben einen teil für den
display habe ich aus
den samplers von bascom genommen und nur die ports verändert.
habe schon einiges auspobiert aber nichts, ich nehm mal an das ich
irgendwo ein fehler habe weis aber jezt nicht wo .
das lauf licht funktioniert einwand frei mit 8 led`s.
Bedanke mich schonmal im voraus für die hilfe
(und and alle die rechtschreib fehler finden dürfen sie behalten ich
will nur hilfe und kein deutsch unterricht^^)
kersio
Auf dem Board wird für das LCD das R/W auch benötigt. In deinem Programm
allerdings nicht vorgesehen.
Du müsstest R/W Richtung LCD auf GND legen, Richtung Kontroller aber
offen lassen.
R/W musst du auf GND legen. Wenn du das allerdings fest machst, dann
liegt auch am Kontrollerpin der GND an. Wenn du den dann auf Ausgang und
high schaltest, dann kannst du den Port zerstören.
Du kannst aber in deinem Programm den Pin auf GND legen und weiter nicht
benutzen, zum Testen wird es gehen, halte ich aber sonst für gefährlich.
ahso ein rw auf gnd und das wars dah ichs ja nicht fest habe sondern mit
steck brucken
muss ich auch nichts weiter machen ,
und mit der sofware stimmt auch alles ?
wen du sie dir angeguckt hast
mhh geht mit beidem nicht ??
hab alles angeschlossen von 4-7 +e ncrw rs alles und ncihts liegts nicht
an meiner sofware ?
displa ist angelotet aufs board vill solt man den weg machen ??
beim löte bin ich mir sicher ich arbeite bei ner firma vo ich 8 stunden
nur smd teile löte unteranderren atmel chips in smd mit 182 also bei den
teilen wo auf dem board waren hatte ich keine probleme
ich weis nicht obs hilf aber bd 0 -3 sind nciht angeschlossen
hab gelsene das man die nciht braucht ?? oder
ja das funktioniert auch am kontras spiel ich auch jedesmal rum nach den
programierren um zu sehn ob ichs falsch eingestellt hab abber nichts nur
schwarze balken oder garnichts
>nur schwarze balken
Schwarze Balken heisst: Init nicht erfogreich.
1) Anschlüsse passen nicht zum Programm
2) Leitung offen
3) Kurzschluss
4) Timing im Programm falsch, Taktfrequenz höher als im Programm
eingestellt
Oder das Display ist nicht kompatibel zum HD....
Example
$regfile = "m48def.dat"
$crystal = 4000000
$baud = 19200
Config Com1 = Dummy , Synchrone = 0 , Parity = None , Stopbits = 1 ,
Databits = 8 , Clockpol = 0
Print "Hello"
'Now change the baud rate in a program
Baud = 9600
Print "Did you change the terminal emulator baud rate too?"
End
ist aus der pdf datei um mit lcd geht nicht mal die simulation
achso mhh hab ja gesagt das das mein erstes richtige programm ist und
mit lcd gehts immer noch nciht hab noch mal die bas datei hochgeladen
habs se jezt mal so weit ich konnte verändert und wollt jezt wissen obs
past
Hallo,
du hast recht, das zweite stack muss weg.
Kommt vom Zeilenumbruch im Textfeld.
Es gehört hierzu: ' default use 32 for the hardware """stack"""
Das Programm ist, bis auf das "stack",aber i.O.
Hast du die LCD Pins angepasst?? Ich weis ja nicht, wie das LCD
angeschlossen ist.
Läuft der Atmega 32 wirklich nur mit 1Mhz, Pollin hat doch einen 16MHz
Quarz auf dem Board. -->Bei dir: $crystal = 1000000
Kannst du mal die FUSE überprüfen.
Ist der RW Pin deines LCD´s über einen 10KOhm auf Masse?
Gruß
Hallo,
ich habe mir mal den Schaltplan vom Pollin geholt.
Du hast ja nur am Addon Board 13 Jumper für´s LCD + die Jumper am
Eva-board.
Ich denke, du hast einfach eine oder mehrere Jumper, falsch gesetzt.
dank Holger haben wir den letzten Softwarefehler beseitigt- der Rest ist
der Hardware zu zuschreibe.
ja hab mit stk500 den internen oszilator auf 1mhz gesetz deswegen
$crystel´=1000000
und wegen den jumpern habe keine jumper gesetz habe eigenes programm
verwendet und deswegen steck brücken gesetz nun ja jezt hab ich mal den
lcd runter gelötet und versuchs mal so dran zumachen mit kabel um einen
platinen kurzschlus oder hardware fehler ausschliesen
nun ja
ich erstatte nacher mal ein bericht wie weit ich gekommen bin
mhh habe jezt mal den display runter gelötet die stift leiste vermuttete
da einne kurz schlus hab die bahnen vervolg habe den display mal hin
gesteckt ohne steck leist aber nichts iwi ist displa schrot oder es ist
was andres man man man ich weis nicht was los istnormal solst doch jezt
tun ?? mhh solangsam verzweifel ich
Hat der Atmega32 nicht Jtag, denke schon.
Deaktiviere in den Fuse dieses mal.
siehe:http://www.holger-klabunde.de/avr/avrhelp.htmJTAGEN Fuse
"Wer diese Fuse brennt kann die Pins TMS, TCK, TDI, TDO im Programm
nicht mehr benutzen weil sie für die JTAG Schnittstelle reserviert
werden. Diese Fuse ist im Auslieferzustand aktiv ! Wer die Pins braucht
muß die JTAGEN Fuse auf 1 setzen."
Gruß
Du kannst noch jede Leitung vom KOntroller zum LCD messen, ob eine
Verbindung besteht und auch ob kein Kurzschluss zu einer anderen
Leitung, GND oder VCC besteht.
Bernard Hamzaj schrieb:
> was kan ich da noch machen wen alles nicht geht auser ein neues prog> board zu kaufen ??
mit einem kleineren programm anfangen, da du ja (laut erstem beitrag)
erst seit kurzem programmierst.
versuch doch, die einzelnen programm aus dem asm-tutorial (in bascom
wenns schon das teil sein muss) nachzuprogrammieren. wenn du dann zum
lsd gekommen bist, dann solltest du dir auch schon einiges an wissen
angeeignet haben, um grundlegende probleme mit dem programm selbst zu
lösen/finden.
und wie schon vorgeschlagen das zur programmiersprache/ide passende
handbuch besorgen - gilt insbesondere für bascom, da dort viele
funktionen "irgendwie" gekapselt sind (kenne die details nicht, deshalb
"irgendwie" ;-) )
Ich habe da auch mal eine Frage
Mein Source (Anhang) hat keine Fehler beim Compelieren
und trotzdem sehe ich nichts auf meinem Display :(
der Cursor blinkt in der Mitte anstatt am Anfang
ich habe versucht ein Bascom Programm in C umzusetzen
heute ist mein 2. Tag mit C Programmierung.
Bitte nicht lachen wenn etwas Falsch ist ;)
Danke schon mal für die Hilfe
cya The_ride
hm, eine etwas eigenwillige Lösung.
1. Mit eienr halbwegs gängigen Formatierung (Einrückung etc.)
wird der Quelltext deutlich lesbarer; dann macht es mehr Spaß....
2. Es gibt hier im Forum bereits fertige Lösungen, um einen LCD
anzusprechen. Dann muß man nicht bei jedem einzeln die Fehler suchen.
3. Muß man zwischen Enable an und aus nicht eine gewisse Zeit warten?
4. Anstatt 50 mal eine msec zu warten, kann man auch gleich 50 msec
warten: _delay_ms( 50 );
5. Etwas Kommentar wäre nicht schlecht; z.B. an welche Pins was
angeschlossen ist, ob man das LCD im 4-Bit- oder im 8-Bit-Modus
betreiben will etc..
Ich kann es mir zwar auch mühsam aus dem Quelltext herausholen, aber
es ist eigentlich deine Sache, das hin zu schreiben.
5. Mit PORTB = rsein setzt man PORTB komplett (alle 8 Bit), ein
anschließendes PORTB = enein setzt ebenfalls den kompletten Port
und überschreibt damit das vorherige rsein. So geht es natürlich
nicht.
Richtig wäre, mit |=... einzelne Bits zu setzen und mit &= ~...
welche zu löschen.
Siehe die fertigen lcd-routines.c, die hier im Forum zu finden sind...
ach so, dann noch was: Wenn ich deine merkwürdigen Einrückungen
versuche nachzuvollziehen, dann steht am Ende der while-Schleife
ein exit(1).
Das gibt dann nicht viele Schleifendurchläufe, oder?
ich hab mir nun mal gester bei pollin en lcd und ein meaga 8 bestell und
test dan mal meine software an dem andren display vill lieghts ja auch
an dem display oder giebts da ne methode zu testen ??