I recently started working with LCD displays and I have a quick question; When operating in 4-bit mode, does only half the lcd function? I have a 16x1 display directly driven with a pic 16f628a and when I want to display a 6+ letter word, on half of the display actually displays something. Will I need to use 8-bit mode?
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The whole LCD should function in 4 bit mode. The number of bits just affects how many operations it takes to get a byte of data out of the PIC and into the LCD - 8 bit mode is twice as fast as 4 bit mode. There's no difference in what you can make the LCD do.
It sounds odd for a small LCD to only display half of its contents, is the LCD working properly? Also, if you're using 4 bit mode, make sure that the unused data bits are connected to ground so that they're not picking up interference.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Sorry for the wait, but I discovered another interesting observation; when the pic counts to infinity, the first half of the display counts up and then the second half counts up. Interesting… The display itself is the AND671GST 16X1 being operated in 4-bit mode.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
MAIN:
print "XXXXXXXXXXXXXXXX"
wait 500 ms
cls
goto MAIN
Only 8 X's appear on the left. I'm sure I have the LCD wired correctly to the PIC. (Also, the pins have been carefully selected to improve ease of wiring)
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I recently started working with LCD displays and I have a quick question; When operating in 4-bit mode, does only half the lcd function? I have a 16x1 display directly driven with a pic 16f628a and when I want to display a 6+ letter word, on half of the display actually displays something. Will I need to use 8-bit mode?
The whole LCD should function in 4 bit mode. The number of bits just affects how many operations it takes to get a byte of data out of the PIC and into the LCD - 8 bit mode is twice as fast as 4 bit mode. There's no difference in what you can make the LCD do.
It sounds odd for a small LCD to only display half of its contents, is the LCD working properly? Also, if you're using 4 bit mode, make sure that the unused data bits are connected to ground so that they're not picking up interference.
Sorry for the wait, but I discovered another interesting observation; when the pic counts to infinity, the first half of the display counts up and then the second half counts up. Interesting… The display itself is the AND671GST 16X1 being operated in 4-bit mode.
I can't see anything about that LCD that would cause trouble, can you post your code? If it's a long program, just enough to show the problem is good!
Here is a simple program to demonstrate the display cannot print 8+ digits.
#chip 16f628A, 4
#config osc = int
#define LCD_IO 4
#define LCD_DB7 PORTA.1
#define LCD_DB6 PORTA.0
#define LCD_DB5 PORTA.7
#define LCD_DB4 PORTA.6
#define LCD_Enable PORTB.7
#define LCD_RW PORTB.4
#define LCD_RS PORTB.5
MAIN:
print "XXXXXXXXXXXXXXXX"
wait 500 ms
cls
goto MAIN
Only 8 X's appear on the left. I'm sure I have the LCD wired correctly to the PIC. (Also, the pins have been carefully selected to improve ease of wiring)