PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : LCD an Mega32 (Rn- Control 1.4)



Mars 018
09.02.2013, 14:23
Hallo
Hoffe ihr könnt mir ein wenig helfen ich versucher verzweifelt ein Lcd (TC1602A-09T (R) ) an den RN-Control zu betreiben aber es intialisirt sich einfach nicht.

Nach dem starten (Lcd am bord angeschlossen) passiert nix display intialisirt nicht keine Ausgabe ...
Wenn ich erst das bord anschlisse und kurz warte so das das Display nicht intialisirt wird und es danach anstecke werden nur komische Zeichen ausgegeben da das Display noch im 8 bit arbeitet der uc nur 4 bit liefert denke ich mir mal ?

Die frage ist wie bekomm ich das display richtig intialisiert ?

Angeschlossen ist es via 4 bit Port anschluss am Portb
Programmire in Bascom Demo 1.11.9.8
und Flashe mit mySmartUSB light via my AVR ProgTool V1.34 via ISP
Der Mega32 ist Original keine Fusebits verändert Jtag ist deaktivirt RN-Control ist komplet Original nur Motortreiber wurde entfernt
Anschlussleitung zum Lcd Circa 36,7 Cm

Anschluss belegung:


Vss
GND


Vdd
+5 V


V0
Über Poti Kontrast ist gut...


RS
Portb.5


RW
Auf Vss gelegt -> GND


E
Portb.7


DB0
Offen DB0-DB3 Zum Test auch schon auf gnd gelegt keine Änderung


DB1
Offen


DB2
Offen


DB3
Offen


DB4
Portb.0


DB5
Portb.1


DB6
Portb.2


DB7
Portb.3


Led+
+5 V


Led-
Auf Vss also GND








Wurde natürlich schon an anderen Ports Probiert ohne Erfolg

Bascom:

$regfile = "m32def.dat" 'Die Anweisung bestimmt Controllertyp, hier AVR Mega 32
$framesize = 32 'Stackanweisungen, die eigentlich nur bei größeren Programmen
$swstack = 32 'wirklich nötig werden
$hwstack = 32
$crystal = 16000000 'Die Frequenz des verwendeten Quarzes


Waitms 200
Config Lcd = 16 * 2
Waitms 200
Config Lcdpin = Pin , Db4 = Pinb.0 , Db5 = Pinb.1 , Db6 = Pinb.2 , Db7 = Pinb.3 , E = Pinb.7 , Rs = Pinb.5
Waitms 200
Initlcd


Do

Wait 5
Cls
Locate 1 , 1
Lcd "Hallo Welt"

Wait 5
Locate 2 , 1
Lcd "Test 2"


Loop
End

Datenblatt LCD : http://www.pollin.de/shop/downloads/D120422D.PDF
Bilder: http://imageshack.us/g/404/mg4887j.jpg/

Hoffe ihr habt genug infos
Währe echt toll wenn jemand mal drüber gucken könnte und vil ein Fehler findet Rn-Wissen tut habe ich alle durchprobiert.
Google hat zwar einige Ähnlichen themen gelistet aber kein der Lösungsvorschläge hat geklappt.

Mfg Marcus

for_ro
09.02.2013, 14:50
Hallo Marcus,
bist du sicher, dass der µC mit 16MHz läuft? Wir der M32 bei der RN-Control mit den Fusebits so ausgeliefert, dass Quarz und JTAG disabled selektiert sind? Standard für einen neuen M32 ist das nämlich nicht.
Lass mal zur Kontrolle eine LED blinken.

Kampi
09.02.2013, 15:05
Hey,

da Zeichen angezeigt werden (nur nicht die richtigen), sollte die Initialisierung des LCDs funktionieren, d.h. der Code ist (denke ich mal) in Ordnung.
Wenn JTAG deaktiviert sein sollte, überprüf mal ob das LCD richtig angeschlossen ist.
Das sieht mir nach einem Dreher in den Leitungen aus.

radbruch
09.02.2013, 15:38
Hallo

Ich betreibe mein LCD unter Bascom auch mit 4bit-Schnittstelle und habe zusätzlich noch diesen Befehl in meinem Programm gefunden:

Config Lcdbus = 4
(Aus https://www.roboternetz.de/community/threads/48131-Gro%C3%9Fe-Zeichen-auf-16%2A2-LCD?p=463605&viewfull=1#post463605)

Gruß

mic

Mars 018
09.02.2013, 15:39
Led blinkt je minute 30 mal also okay je eine sekunde an 1ne aus ....
Bedrahtung noch 3 mal nachgeprüft .

nur findes komisch das das Lcd was anzeigt wenn ich es einfach so anstecke wenn das Bord schon läuft.
und ist ja nicht das erste hab vorher eins von ebay probiert ziemlich baugleich das hatte die identischen symptome

mfg marcus

Edit:
ja nur nicht richtig es zeigt a sinnlose Zeichen an und be nur in der ersten zeile die 2te wird nicht intialisirt bleibt hell bei vollem Kontrast.

Config Lcdbus = 4 hatte ich schon probiert keine änderung
genauso wie port modus aber bascom geht in denn standart einstellungen ja schon vom 4 bit port modus aus von daher ...

Aber trotzdem danke

mfg marcus

Kampi
09.02.2013, 15:46
Mach mal deine Waitms 200 Befehle hier raus:

Waitms 200
Config Lcd = 16 * 2
Waitms 200
Config Lcdpin = Pin , Db4 = Pinb.0 , Db5 = Pinb.1 , Db6 = Pinb.2 , Db7 = Pinb.3 , E = Pinb.7 , Rs = Pinb.5
Waitms 200
Initlcd

Eventuell stört die Pause das Initialisieren (bei sowas NIE ein Delay rein bringen. Sowas kann Chips komplett durcheinander bringen).

Mars 018
09.02.2013, 15:50
Alle Waitms raus nun kommen mal andere 0 und kleine o und / aber weder ein hallo noch vergleichbares

mfg marcus

021aet04
09.02.2013, 17:50
Lies einmal die Fuses aus. Vielleicht passt da etwas nicht.

MfG Hannes

Mars 018
10.02.2013, 21:14
hey hab mal die fuse ausgelesen
Low Fuse 0xFF
11111111
High Fuse 0xDA
11011010
Lockbits 0xFF
11111111 (die ersten beiden grau hinterlegt)

Ausgelesen mit myAVR ProgTool

Mfg Marcus

Edit:
habe gerade gefunden das das lcd diesen controller verwendet SPLC780D (http://www.tinsharp.com/downloadsfront.do?method=picker&flag=all&id=6532603e-7086-490c-9608-be506c0425c4&fileId=d0960cfb-ca5d-4e24-9367-9b709fcb8ed7&isDownloadPermissions=true&memstate=/members_login.html)
weiss jemand ob der voll kompaktibel zum hd44780 ist ?

Mfg marcus