View Full Version : LCD 1 Line 16 char PARALLEL.. how to set it to work ?
Amaral
07-25-2005, 12:12 PM
Hello all.
·
I got an LCD from a machine (the machine·was broken but not the LCD), and this is an 16 char·1 line parallel.
I tried to connect this using the example from parallax of 2x16 Parallel LCD, naturally it did not work properly, but I was able to see that all the characters are working.
·
Where can I find examples codes or explanations about LCD, information like how does that initializes?·
I don't know anything about LCD, actually never used. I was thinking in buy one , but·I would choose a serial one because don't get so many pins of my BS2 ...· but now I got this one that comes for free·so I want to use it !
·
Please anyone, any information is valid
·
I'm using a BS2 , the LCD is " MC1601a-SYR "
·
Thanks in advance
·
Ricardo Amaral
·
Yanroy
07-25-2005, 11:01 PM
Here's a link to my favorite LCD setup tutorial: http://coen.boisestate.edu/ssmith/ee533/overheads/LCD.pdf.· It's a powerpoint presentation from some college somewhere... I just found it through google.· If you google the HD44780 LCD controller, you'll find plenty of websites that tell you how to use it (that's the one that's in most standard parallel LCDs).· Also, you may not be aware of this: you can set up LCD's with this controller to operate using only 4 data pins, which could make it more bearable to use with a stamp.· I believe then it requires 7 pins total.
Chris Savage
07-25-2005, 11:55 PM
Hello,
Tracking the datasheet down on the LCD will also help you determine if it's even got a Hitachi compatible chipset on it, and if typical code and schematics will work with it.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com (mailto:csavage@parallax.com)
Short
07-26-2005, 01:51 AM
······ If your LCD has pin numbers or at lest a pin 1· see if it looks like my drawing. if you wire your LCD pin for pin to my drawing it should display TIME.
'{$STAMP BS2}
'{$PORT COM2}
E CON 7
RS CON 8
Char VAR BYTE
DA VAR BYTE
MAIN:
pause 1000
GOSUB LCD_ini
DIS:
Char = 12
GOSUB LCDcmd
Char = 133
GOSUB LCDcmd
Char = 69
GOSUB LCDda
Char = 77
GOSUB LCDda
Char = 73
GOSUB LCDda
Char = 84
GOSUB LCDda
STOP
LCD_ini:
LOW 9
'PAUSE 1000
Char = 48 ' 8-bit mode
GOSUB LCDcmd
PULSOUT E, 1
PAUSE 10
Char = 48 ' 8-bit mode
GOSUB LCDcmd
PULSOUT E, 1
PAUSE 1
Char = 48 ' 8-bit mode
GOSUB LCDcmd
PULSOUT E, 1
PAUSE 1
PAUSE 5
PULSOUT E, 1
PULSOUT E, 1
Char = 32 ' 4-bit mode
GOSUB LCDcmd
PULSOUT E, 1
Char = 40 ' Set for 2 line operation
GOSUB LCDcmd
Char = 12 ' Shift cursor right
GOSUB LCDcmd
Char = 6 ' Increment DDRAM after write
GOSUB LCDcmd
Char = 1 ' Clear LCD screen
GOSUB LCDcmd
Char = 4
GOSUB LCDcmd
RETURN
LCDcmd:
LOW RS
LCDwr:
DA = Char.HIGHNIB
GOSUB CONV
PULSOUT E, 1
DA = Char.LOWNIB
GOSUB CONV
PULSOUT E, 1
HIGH RS
RETURN
LCDda:
HIGH RS
LCDwrD:
DA = Char.HIGHNIB
GOSUB CONV
PULSOUT E, 1
DA = Char.LOWNIB
GOSUB CONV
PULSOUT E, 1
LOW RS
RETURN
CONV:
OUTPUT 3
OUT3 = DA.BIT3
OUTPUT 4
OUT4 = DA.BIT2
OUTPUT 5
OUT5 = DA.BIT1
OUTPUT 6
OUT6 = DA.BIT0
RETURNhttp://forums.parallax.com/images/smilies/hop.gif With this code
Amaral
07-27-2005, 03:41 AM
Thanks all of you guys .
it is an hd44780 controled LCD.
I made it work fine , got some help from google at http://home.iae.nl/users/pouweha/lcd/lcd.shtml
Ricardo Amaral