|
|
View previous topic :: View next topic |
Author |
Message |
huynhhai
Joined: 04 Apr 2015 Posts: 39
|
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9253 Location: Greensville,Ontario
|
|
Posted: Thu Mar 24, 2016 6:42 am |
|
|
When posting requests like this, please add a 'link' to the driver as well as the datasheet for the LCD module.
I can't begin to 'guess' what is wrong though my first idea is that the PIC is 5 volts and the LCD is 3 volts ?
edit:
As I suspected, after a 5 minute Googling, 5 volt PIC, 3 volt LCD
More information is needed to properly help
Jay |
|
|
huynhhai
Joined: 04 Apr 2015 Posts: 39
|
|
Posted: Thu Mar 24, 2016 7:36 am |
|
|
My schematic connect to lcd as below:
my use PIC18F4620
PIN D0 ---> LCD RS
PIN D1 ---> LCD RW
PIN D2 ---> LCD RD
PIN D3 ---> LCD CS
PIN D4 ---> LCD RESET
PORTB ---> LCD DB0--DB7
PORTC ---> LCD DB8 -- DB15
LCD LED_A ---> 3.3V
LCD VCC ---> 3.3V
LCD GND ---> 0V
to convert voltage 5v to 3.3v to interface with LCD i using 74HC573 with 3.3V supply, at pin 1 ( enable output --> 0V) , pin11(latch ---> 3.3v), at the input i use resister 1K to connect from PIC PIN to LCD PIN,
I dont know i missing thing for hw,
can link to file manual ili9341:
http://www.newhavendisplay.com/app_notes/ILI9341.pdf
datasheet of LCD i dont find out |
|
|
huynhhai
Joined: 04 Apr 2015 Posts: 39
|
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19561
|
|
Posted: Fri Mar 25, 2016 8:56 am |
|
|
Seriously, the big question is what you actually want to 'do' with this.
Understand that the PIC is very badly suited for things like graphics on LCD's. This is not a text mode LCD, where you can just write a character. Writing something like a line, is going to involve writing pixels, and to write a specific pixel, without changing the others in the same byte, you are going to need to read the byte the controller currently has 'at' the required location.
This then implies that you need to be able to do read/write operations.
Problem immediately then is that the unit will not directly drive the inputs you have on the PIC. The ones on the data lines are ST inputs. This implies they require the input voltage to go to 4v to see a '1' (with the chip running at 5v). A 3.3v chip will not do this.
So you need bidirectional level shifter on these lines, or change your thinking.
Honestly use a 3.3v PIC, and you have a 'chance'. Otherwise the interface is going to be a real problem..... |
|
|
huynhhai
Joined: 04 Apr 2015 Posts: 39
|
|
Posted: Fri Mar 25, 2016 1:15 pm |
|
|
Dear Ttelmah,
Thanks you very much for your guiding,
Now, I will change power supply to PIC as 3.3V. I will connect my LCD again, check config LCD command step by step. First only display text, after display image. But I don't understand PIC output pin 5V (to see 1) connect to LCD input pin ( LCD no feedback signal to PIC, because i using parallel 16 bit, no using SPI mode there for no input).
Thanks & regards, |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19561
|
|
Posted: Fri Mar 25, 2016 1:51 pm |
|
|
If (for instance), you are prepared to start with a blank screen and just draw particular patterns 'to' it, then bidirectional is not needed. However if you want to do any form of 'graphic' application (drawing lines, circles graphic text etc.), then to write any pixel, you have to know what is already in all the other pixels in the same memory cell. Hence you have to read.
You do understand just how much data this screen involves?. at least 20* more than your PIC actually has. So you do not have enough data storage to actually just draw patterns, unless you are storing these in something like an external memory. Without this, the only way to use this display on the PIC, is by using something like the graphics library, to draw the shapes, which then implies reads are needed.
Your PIC will not run at 3.3v (probably will, but not reliably).
You need the LF version to run at 3.3v, and this is only specified to 25MHz at 3.3v.
Seriously, if you must have a display like this, and want to do anything at all useful with it, you need to think again. |
|
|
huynhhai
Joined: 04 Apr 2015 Posts: 39
|
|
Posted: Fri Mar 25, 2016 4:23 pm |
|
|
Dear Ttelmah,
Maybe, my PIC can not connect good to TFT LCD by PIC18F4620 only using voltage 4.2-5.5V. About store data i don't care so much because i will use external ROM, RAM (but not reliably, need to design HW). The PIC is using for application only control, not strong in graphic LCD TFT. I will think about this and choose a microcontroller to connect this LCD, such as STM32F, Arduino, ...
I lost many time to study connect & display to TFT LCD but unsuccessful, They're more difficult than LCD 128x64 (Black+white).
Thanks & regards, |
|
|
Ttelmah
Joined: 11 Mar 2010 Posts: 19561
|
|
Posted: Sat Mar 26, 2016 1:39 am |
|
|
Lots more data.
B+W = 1 bit per pixel.
Colour = up to perhaps 24bits per pixel.
Everything immediately involves moving 24* as much data.
Honestly the PIC is a great chip for interfacing, sampling, control etc.. But it is not good for graphics. Keep it simple and use a smaller display, or get one of the smart displays.
10+ years ago, I did a project that needed a complex colour display, so I wrote this as a completely separate entity. It had it's own processor, with an SPI interface to the PIC, graphic RAM for the whole display, and I wrote an emulation of an HPGL plotter for it. You sent it commands to draw a line from x1,y1 to x2,y2, or draw curves, circles, squares etc.. Had commands to fill areas, do plotter text at any orientation or size. Could even scroll screen areas, and prepare a second window, while displaying another. The PIC sat merrily sampling, handled the keypad etc., but when it wanted to do a display could just draw the graph in lines etc., without having to handle 1/2MB of display data.....
This was the ancestor of the 'smart graphic controller' modules that are now available, and one of these would be a much better way of doing things with a PIC. |
|
|
temtronic
Joined: 01 Jul 2010 Posts: 9253 Location: Greensville,Ontario
|
|
Posted: Sat Mar 26, 2016 5:44 am |
|
|
re: Now, I will change power supply to PIC as 3.3V.
That will not work, as that PIC is not designed to run at 3 volts. You NEED the 'L' version. Just read the datasheet, electrical specification chapter, there are figure/charts that show this.
Jay |
|
|
huynhhai
Joined: 04 Apr 2015 Posts: 39
|
|
Posted: Sun Mar 27, 2016 11:18 am |
|
|
Thanks for your help,
I worked with PIC with small application, it's very good & prevent noise, my PIC is using 16F628A, i was assembly to motobike it work better.
Maybe, i will use other microcontroller with good support for TFT LCD and use PIC to control, sample, measure, interface... ( they will connect together by SPI, RS232 interface). But i'm not sure, with two type of microcontroller different, do they work good together?
Thanks & best regards, |
|
|
Cronos
Joined: 17 Oct 2013 Posts: 1 Location: Oz
|
|
Posted: Wed Aug 31, 2016 4:45 am |
|
|
A driver for SSD1289 was done already in mikroc and may be easy to port it to CCS. I am playing with a 3.2' TFT_320QVT from eBay I think SSD1289 has config pins for 16 bit mode and PIC18LF4620. It appears to be configured for 16 bit. Might need to measure PS0-PS3 pins to clearly see what interface mode is selected. Will post code if I make it work.
Found mikroc driver on:
http://www.hmsprojects.com/projects/tft-lcd/
and
http://forum.mikroe.com/viewtopic.php?f=160&t=46901 |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|