PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Anschlussproblem GLCD Batron 120x32 Dots und Programierung



mat-sche
04.11.2006, 13:24
Hallo Leuts,

auch ich habe mal wieder ein kleines Problem:

Ich habe ein etwas älteres GLCD Batron BT120032 mit SED 1330 Controller.

Nun weiß ich nicht ob man mit Bascom dieses programiert werden kann und dann wie müssen die Ports beschalten werden?

Folgende Pins hat das LCD:

RS
R / W (W negiert)
E
CS (negiert)
RES (negiert)

Hat jemand nen Plan für die Pin Configuration?

Vielen Dank und Gruß MAT

AVRboy
04.11.2006, 15:35
hi,

seh doch mal in die bascom hilfe dort findest du unter config graphlcd einiges zu sed controller und den pins.

mfg

mat-sche
04.11.2006, 15:59
Hi,
das habe ich schon wie verrückt gemacht! Es ist das Problem der Pinzuordnung, keine vergleichbare Lösung in der Hilfe gefunden, leider.

Wie sind die Pins vom LCD zu Bascom zu verbinden?

Marco78
04.11.2006, 19:08
'--------------------------------------------------------------------
' SED.BAS
' demonstrates the SED based graphical display support
'--------------------------------------------------------------------
'some routines to control the display are in the glcdSED.lib file
$lib "glcdSED.lib"

'I used a 2313 with 10 MHz
$crystal = 10000000

'First we define that we use a graphic LCD
Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portd , Ce = 2 , Cd = 4 , Wr = 5 , Rd = 6 , Reset = 3

'The dataport is the portname that is connected to the data lines of the LCD
'The controlport is the portname which pins are used to control the lcd
'CE =CS Chip Enable/ Chip select
'CD=A0 Data direction
'WR= Write
'RD=Read
'RESET = reset

'Dim variables (y not used)
Dim X As Byte , Y As Byte


'clear the screen
Cls

'specify the font we want to use
Setfont Font16x16

'You can use locate but the columns have a range from 1-132

'When you want to show somthing on the LCD, use the LDAT command
'LCDAT Y , COL, value
Lcdat 1 , 1 , "123"
'lcdat accepts an additional param for inversing the text
'lcdat 1,1,"123" , 1 ' will inverse the text

'Now use a different font
Setfont Font8x8
'since the 16*16 font uses 2 rows, show on row 3
Lcdat 3 , 1 , "123"

End 'end program


'(
'Optional try this out by unremarking the block remarks
'draw a line
Line(0 , 0) -(128 , 64) , 1
'Line(0 , 64) -(128 , 0) , 1
'check for circles

Wait 2
Display Off
Wait 2
Display On

'use glcdcmd to send a control byte to the display
Glcdcmd &HA7 ' reverse display
Wait 1
Glcdcmd &HA6 ' normal display

'adjust contrast
For X = 0 To 63
Glcdcmd &H81 ' electronic volume (contrast)
Glcdcmd X ' higher means more contrast
Waitms 100
Next

'you could display a picture too
Showpic 8 , 8 , Plaatje
End

')
'end of block remark on line above

'we need to include the font files
$include "font8x8.font"
$include "font16x16.font"


Plaatje:
'include the picture data
'$bgf "smile.bgf"


Die Datei SED.BAS solltest du eigentlich im Ordner Samples von Bascom haben. Je nachdem welche Version du hast evtl in einem weiteren Unterordner.

Die Datenleitungen des LCD müssen alle an einem Port des AVR. Die Steuerleitungen alle an einen anderen Port. Bei den Steuerleitungen kannst/musst du zuordnen, welche Funktion an welchem Pin genau ist.
Die Datenleitungen sind fest zugeordnet. 0 vom LCD an 0 des AVR, 1 an 1, usw...

mat-sche
04.11.2006, 19:32
Vielen Dank für Deinen Tip Marco,

dieses Sample fand ich auch in der Hilfe, mein Problem ist:

>> 'First we define that we use a graphic LCD
Config Graphlcd = 128 * 64sed , Dataport = Portb , Controlport = Portd ,

Ce = 2 , Cd = 4 , Wr = 5 , Rd = 6 , Reset = 3 <<


Ce & Cd könnte ich ja noch bei meinem LCD zuordnen,
Wr & Rd sind bei meinem LCD als R / W als ein Pin ausgeführt ](*,)

So wie es aussieht, benötige ich eine eigene LIB dafür :-s


DAtenblatt gibt es bei Batron: http://www.midascomponents.co.uk/products.asp?sf=a&s=a&code=dismongra&srch=bt120032

Hat sonst noch jemand eine Idee?

Marco78
04.11.2006, 21:33
1. Idee. R/W fest auf W einstellen. Ich denke mal auf GND legen. Steht aber wohl im Datenblatt. Ich kann's mir nicht anschauen, weil mein Browser keine Cookies hat. Die von Barton meckern da.

2. Idee. Wenn ein Busyflag ausgelesen werden muss, geht 1. Idee nicht. Dann Wr=5 und Rd=5 in der Config probieren.
Wenn Bascom nicht meckert könnte es klappen. Ansonsten Wr=5 und Rd=6 und W/R an 5 und 6 anklemmen.

Aber ich glaube, das ganze geht irgendwie so. Ich hatte auch mal das Problem. Ist aber schon lange her und weiss nicht mehr wie ich es gelöst habe. Wenn das alles nicht ging, dann such nochmal im Forum oder im Internet.

Marco78
04.11.2006, 21:36
Ich hab's grade mal ausprobiert. Wr=5 und Rd=5 bringt keine Fehlermeldung. Die LIB, die du benötigst, ist auch in der Demo-Version von Bascom dabei.

Was allerdings die Hardware macht weiss ichnicht. Ich glaube aber, es geht so. Ich glaube nicht, das ich damals eine hochkomplizierte Lösung anwenden musste.

mat-sche
05.11.2006, 01:00
Moin Moin Marco und alle anderen natürlich auch!

Deine Tips werde ich gleich morgne, ähmmm heute ausprobieren und melde mich unabhängig vom Resultat noch einmal!

Danke und ich werd mal schauen :)

gute Nacht

MAT

mat-sche
05.11.2006, 22:28
So...

Habe alles versucht und ausprobiert... Aber kein Erfolg :(

Ich werd wohl weiter probieren müssen....

Marco78
05.11.2006, 22:31
Wie sicher bist du dir denn, das das LCD noch funktioniert?
Hast du den Kontrast denn richtig eingestellt? Evtl geht es ja, aber man sieht nur nichts. Hast du auch die negative Kontrastspannung bedacht? Ist es evtl ein Hardwarefehler? JTAG deaktiviert? Crystal im Programm richtig eingestellt und Fuse richtig gesetzt?

mat-sche
06.11.2006, 12:52
Hallo Marco,

das Problem beginnt schon bei der Software, hier gibt es keine Unterstüzung für 120x32 dots...

Ich denke mal, dass ich die hardware ausschließen kann. Zur neg. Spannung gibt mir das manuell zu sagen, dass es ein neg. Spannung vom LCD generiert wird. Dies werd ich mal extern ansteuern und dann mal schauen.

Halte euch auf alle Fälle am laufenden!

Danke und Gruß