LCD Positioning Errors
Lee_Speakman
Posts: 32
Hi, im having problems with my LCD, it is a serial LCD from Scott Edward Electronics, my problem is, that If i consistently want to write to a certian part of the screen, the LCD will do so a few times, then its like the command to return to to that part of the screen doesnt get sent and it carrys on to the next line, or it will do a 'home' command and start from the begining, here is some simple code replicating the problem:
' {$STAMP BS2}
counter VAR Word
PAUSE 1000
SEROUT 0,$4054, [noparse][[/noparse]254,1]
main
SEROUT 0,$4054, [noparse][[/noparse]254,130]
PAUSE 5
SEROUT 0,$4054, [noparse][[/noparse]DEC counter]
counter=counter+1
PAUSE 200
GOTO main
The Serial interface is designed for 2400bps and 9600bps, im currently using 9600bps.
Any Help would be apprechaited. Lee S
' {$STAMP BS2}
counter VAR Word
PAUSE 1000
SEROUT 0,$4054, [noparse][[/noparse]254,1]
main
SEROUT 0,$4054, [noparse][[/noparse]254,130]
PAUSE 5
SEROUT 0,$4054, [noparse][[/noparse]DEC counter]
counter=counter+1
PAUSE 200
GOTO main
The Serial interface is designed for 2400bps and 9600bps, im currently using 9600bps.
Any Help would be apprechaited. Lee S
Comments
The above, basically your program, LS, will keep going and going because you aren't re-HOMEing your cursor.· I assume you want to over-write each time (?), so...[/code][/size]
Yes?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
RJ_Print5:
· LOOKDOWN cntr, >=[noparse][[/noparse]10000, 1000, 100, 10, 0], pad
· SEROUT Lcd, Baud, [noparse][[/noparse]REP " "\pad, DEC cntr]
· RETURN
Move the cursor to the position of the 10,000s digit, then call RJ_Print5 with GOSUB.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Im using a Blue and White LCD screen and when I character is updating it seems to leave a black shadow behind it, and when It goes onto line 2 it prints onto line 3 then after that line 2 then 4.
Issues with PIC maybe?
Black Shadow of new LCD character being written. Is this a problem with Blue LCD's?
[noparse][[/noparse]IMG]http://i28.photobucket.com/albums/c211/Popee/Picture0233.jpg[noparse][[/noparse]/IMG]
· 254 ($FE) is a Blank character (I use the ASCII $20, instead); 1 ($01) is a HOME (which is non-destructive; and 130 ($82) is a special character -- at least·this is so on Scott's ILM-216s (my reference.)
· Never mind me.
I have no idea what the shadow is -- that's something you'll want to talk with Scott about as it could be a defective display.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Jon Williams
Applications Engineer, Parallax
Datasheet can be found here, but its no different from the seetron one http://www.milinst.com/Audio_Visual/6_201.pdf
Dear Sir
An interesting problem it would appear that the internal buffers
are unable to cope with the incoming data when it is presented at 9K6
baud.
If you send the data at 2K4 baud ( BPS jumper out) the Driver
board is capable of handling the data stream without any spurious data
being produced.
I have a good mind to ask for a refund, as in my eyes as when I bought this item it was on the Basis that any function could be done at 9600bps. Does that seem fair?
·· Some LCDs process data faster than others, but the bottom line is that certain commands take longer to execute on an LCD.· For example our Parallax LCD requires a PAUSE 5 after doing a CLS (ASCII 12).· Without it the LCD may miss commands or get garbled data.· You certainly could ask for a refund, but it may just be a matter of re-writing the code so that it is not hammering the LCD with data.· If you need a faster refresh than what you get doing that you may need another display.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Chris Savage
Parallax Tech Support
csavage@parallax.com