PDA

View Full Version : BPI-216 Serial LCD module



crematory
- 24th September 2005, 01:44
Hi

I was wondering if any one has tried to make his own serial LCD interface like BPI-216 serial LCD module.

I need to know how I can do that in deed.

Thanks

Darrel Taylor
- 24th September 2005, 05:40
SERIN

LCDOUT

Imagination not required.
<br>

DynamoBen
- 24th September 2005, 16:53
I'm with Darrel Taylor on this. I created a serial to VFD interface once.

Grab the datasheet for the LCD in one hand and the datasheet for the serial LCD you are modeling and start programming.

crematory
- 24th September 2005, 21:53
Thanks guys for suggestions you made...

How can I receive these things from the sending PIC as an example:

Serout Portb.0, N9600,[$FE,1,"This is the serial LCD Project !!"]


Thanks

DynamoBen
- 24th September 2005, 23:46
If you have windows you could use hyper terminal or you could utilize someone elses lcd application.

Melanie
- 25th September 2005, 10:55
Crematory

For best performance, connect your LCD to your chosen PIC in 8-bit Data mode, and use a PIC with a hardware USART onboard. You can pick up byte at a time from the receive register and immediately output to LCD. The PICs DATASHEET gives explicit instructions on how to drive the USART. I would not use HSERIN, and certainly not any of the software options like SERIN or SERIN2 etc. Since the timing is not critical for anything other than the USART, pick a Baudrate friendly xtal (like 22.1184MHz or 11.0592MHz) that gives zero errors at the popular baudrates. You should easily handle at least 56kb using this method (not that your LCD would be able to sensibly display that fast - it'll handle it, you just won't see it!).

Melanie

PS. I've mentioned before I don't do off-list requests.

crematory
- 25th September 2005, 21:25
Thank you all very much for the comments you said, that really made me sure that this was the same problem I discovered today in deed.

I have used this way:
[Quote]
RECEIVE:
SERIN PORTA.2,N9600,RCVBYTE
LCDOUT RCVBYTE
GOTO RECEIVE
[/qoute]


And that worked perfectly after I discovered that I had to do two things:
1. Increase the DATAUS and COMMANDUS at the receiving PIC which drives the LCD.
2. Use the CHAR_PACING to 1700us for 9600 baud rate on the sending PIC part as darrel already told me.

I noticed that scott edwards used faster LCDs than I do, so the user did not have to use CHAR_PACING delay at all, while scott took care of that at the LCD PIC part to overcome any slowy in the LCDs he used. Also I noticed that baud rates of 2400 will not require any CHAR_PACING and less DATAUS and COMMANDUS delay than 9600 baud rates because slower clocks can be used, its only the 9600 baud rate that needed some CHAR_PACING delay as it was 8MHz resonator. Any way I succeeded to send data at 9600 baud rates by reducing the DATAUS and COMMANDUS to 275 and 1750 respectively, but that was too risky.

I was wondering how did scott edwards achieved baud rates of 9600 at 480KHz resonator clock !! I think he used pure assembly to immitate serin commands, and that was really kinda wise thing to do...

But now I know from melanie's reply that using UART module will heal all the problems and let me discard the DATAUS, COMMANDUS, and CHAR_PACING when used...I will try to do that that and post the final code so guys won't have to buy serial LCDs any more ;)

Thanks all

moud_man
- 25th September 2005, 22:03
hi

i saw in this thread that Darrel Taylor said"

"If you have windows you could use hyper terminal "

so can you expain briefly how can i use the hyper terminal to connwct to the pic? i know that hyper terminAL is used to connect 2 computers but with pic idonot know

thnx for reading

bye

crematory
- 25th September 2005, 22:14
hi

i saw in this thread that Darrel Taylor said"

"If you have windows you could use hyper terminal "

so can you expain briefly how can i use the hyper terminal to connwct to the pic? i know that hyper terminAL is used to connect 2 computers but with pic idonot know

thnx for reading

bye

I have used a piece of VB6 code to immitate the Serout command...

moud_man
- 26th September 2005, 05:46
i donot understand anything but,

thanl you for reply

bye

Melanie
- 26th September 2005, 08:23
But now I know from melanie's reply that using UART module will heal all the problems and let me discard the DATAUS, COMMANDUS, and CHAR_PACING when used...

DATAUS and COMMANDUS are LCD defines used to ensure correct LCD data and command timing are are nothing to do whether you use the USART or not.

crematory
- 26th September 2005, 20:52
hehehe melanie, I already know that, but wrongly expressed whats going on mind...thats all ;)