PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RN-Minicontrol mit RN-LCD-Adapter und DIP LCD-Display 4x20



Neffez
22.06.2008, 21:25
Hallo zusammen,

ich habe mir diese drei Sachen gekauft und wollte jetzt das LCD per Basecom ansteuern.
RN-Minicontrol
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=131
RN-LCD-Adapter
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?cPath=66&products_id=152
DIP LCD-Display 4x20
http://www.shop.robotikhardware.de/shop/catalog/product_info.php?products_id=80

Leider passiert auf dem LCD nichts, nur die Hintergrundbelechtung kann gesteuert werden. Ich habe einen Code für das RN-Control Board umgebaut, bin mir aber nicht sicher ob ich etwas vergessen/verkehrt gemacht habe.


$regfile = "m168def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
$hwstack = 64
$framesize = 32
$swstack = 32

Config Pinc.3 = Output 'Spannung an LCD aktivieren
Lcdpower Alias Portc.3

Config Pind.3 = Output
Lcd_rw Alias Portd.3
Lcd_rw = 0

Lcdpower = 1
Wait 1

Config Lcd = 20 * 4a , Chipset = Ks077
Config Lcdpin = Pin , Db4 = Portb.5 , Db5 = Portb.0 , Db6 = Portd.7 , Db7 = Portd.6 , E = Portb.3 , Rs = Portc.2
Config Lcdbus = 4

Initlcd

Do
Cls
Locate 1 , 1 'Cursor auf 1 Zeile, 1 Spalte
Lcd "RN-LCDADAPTER"
Locate 2 , 1
Lcd "an RN-Control"
Locate 3 , 1
Lcd "beides Bausaetze von"
Locate 4 , 1
Lcd "robotikhardware.de"
Wait 1

Toggle Lcdpower
Print "Test ..."

Loop

Kann mir vielleicht jemand helfen oder einen Hinweis geben was ich falsch mache?


Vielen Dank,
Neffez

linux_80
23.06.2008, 18:16
Hallo,

hast Du mit den Jumpern JP9, JP10 und JP11 rumprobiert ?
Denn damit kann man die Belegung verstellen, also welcher Port an Ctrl anliegt:

MiniCtrl Ctrl-Port
1 PD6
2 PD7
3 PB0
4 PB5
5 PC3
6 PB1 oder PB3 (JP10)
7 PB2 oder PD3 (JP9)
8 PC2
9 Gnd
0 Vcc

7 und 8 kann nochmal getauscht werden per JP11.

Neffez
23.06.2008, 18:37
Hallo linux,

danke für deine Antwort.

Ich habe die Belegung des Steckers bereits kontrolliert und die Signale einzeln getestet. Die entsprechenden Ports liegen alle richtig an. Zumindest so wie ich sie den Code-Schnipsel oben übergeben habe.



1 PD6
2 PD7
3 PB0
4 PB5
5 PC3
6 PB3
7 PD3
8 PC2
9 GND
0 VCC

linux_80
23.06.2008, 19:14
Hallo,

ich hab die gleichen Teile auch hier, wenn ich sie finde, probier ich das nachher mal aus, wenn sonst keiner was findet, sehen wir dann weiter. ;-)

PS:
dauert noch etwas, denn ich hab den CTRL-Stecker noch nicht draufgelötet :-)
hatte das Board anders im einsatz, mit der Steckerleiste unten.

Neffez
23.06.2008, 19:27
Hi Linux,

danke für den Einsatz.

Ich lese mich gerade durch die Anleitungen und versuche ein Testzeichen ohne Libary von Bascom zu schreiben.

linux_80
23.06.2008, 19:41
So habe fertig,
wenn ich die Jumper so stecke wie in der Anleitung, funzt das mit dem Programm von Dir oben.

Neffez
23.06.2008, 20:18
Dann scheint es an meiner Hardware zu liegen.

Kannst du bitte mal den folgenden Code versuchen zu starten. Es sollte eigentlich nur ein blinkender Cursor zu sehen sein. Bei mir hat das mit einem sehr verzerrten Bild auch geklappt. (halbe Display an, ein Cursor in der Mitte blinkt)



$regfile = "m168def.dat"
$crystal = 16000000 'Quarzfrequenz
$baud = 9600
$hwstack = 64
$framesize = 32
$swstack = 32

Config Pind.3 = Output
Lcd_rw Alias Portd.3
Lcd_rw = 0

Config Pinc.3 = Output 'LCD Hintergrundbelechtung
Lcdpower Alias Portc.3
Lcdpower = 0

Config Pinc.2 = Output
Lcd_rs Alias Portc.2
Lcd_rs = 0

Config Pinb.3 = Output
Lcd_en Alias Portb.3
Lcd_en = 0

Config Pind.6 = Output
Lcd_db7 Alias Portd.6
Lcd_db7 = 0
Config Pind.7 = Output
Lcd_db6 Alias Portd.7
Lcd_db6 = 0
Config Pinb.0 = Output
Lcd_db5 Alias Portb.0
Lcd_db5 = 0
Config Pinb.5 = Output
Lcd_db4 Alias Portb.5
Lcd_db4 = 0

Do
Waitms 100
'paket 1
Lcd_db5 = 1
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10

'paket 2
Lcd_db5 = 1
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10

'paket 3
Lcd_db5 = 1
Lcd_db7 = 1
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10

'paket 4
Lcd_db5 = 0
Lcd_db7 = 0
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10

'paket 5
Lcd_db5 = 1
Lcd_db6 = 1
Lcd_db7 = 1
Lcd_db4 = 1
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10
Lcd_en = 1
Waitms 10
Lcd_en = 0
Waitms 10

Wait 10
Toggle Lcdpower
Print "Test ..."

Loop

linux_80
23.06.2008, 21:00
Hm,
wenn ichs so übernehme, blinkt der Cursor unten ganz rechts.
Wenn ich die waitms in waitus ändere gehts etwas flotter, und der Cursor blinkt auch in der Mitte. Bzw. blinkt der mal oben links, mal unten.

Was sich im grössenundGanzen ändert ist nur, dass die Pixel einmal alle an sind, dann wieder aus. Man kann aber immer den Cursor blinken sehen, ganz dunkel werden die Pixel nicht.

Neffez
23.06.2008, 21:15
Ok dann ist mein LCD wohl hin.

Das mit dem Blinken hat nur genau zwei mal geklappt, jetzt bleibt das LCD auch beim gleich Code leblos.

Ich messe morgen nochmal in Ruhe den Adapter durch aber ich muss wohl ein neues LCD kaufen.

Schade, aber vielen Dank linux, ohne dich hätte die Fehlersuche noch länger gedauert. Und so hat das Forum jetzt ein funktionierendes RN-Mini auf DipLCD Beispiel. *wenigstens was*

Gruß,
Neffez