Finally
!!! IT WORKS !!!
I got my new display and connected it to my 16F88. Nothing :-(
I changed to my 16F84A and now it is okay.
I will try again with the 16F88 but I will use other ports than ports A.
I'll come back asap.
Finally
!!! IT WORKS !!!
I got my new display and connected it to my 16F88. Nothing :-(
I changed to my 16F84A and now it is okay.
I will try again with the 16F88 but I will use other ports than ports A.
I'll come back asap.
Roger
Mister_e,
You were right: LPV must be switched off to make it work.
As specified in the 16F88 data-sheet (chap 15-18), if LVP is selected, RB3 ceases to be a general purpose I/O pin. As I used this port in both tries (PortA and PortB), it coudln't work.
In a few words, here is what happened to me:
a.- three LCD displays not HD44780 compatible (even Murphy wouldn't have so much bad luck);
b.- LVP switched on by default in ICPROG (my programming software).
Thank you all for your support ...and patience.
Hope this thread will help other people too.
Roger
Hé Flotulopex! on se fait une petite danse
<img src="http://www.picbasic.co.uk/forum/attachment.php?attachmentid=881&d=1148640458">
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
On thing is still unclear to me after this experience: the DEFINE commands.
Since I want to understand this thing clearly, I have wired my display once more on the "original" layout (as in post #1) and modified the DEFINE commands back to "original" too. No worries, still working.
I had to try this without the DEFINE commands and guess what, it works!!!
Since I understood these command would be almost mandatory, it's beginning again to be a mess in my (small) brain. I'll open a new thread with this question.
Thanks again to all of you.
***************************
Mille mercis Steve,
Tu avais la solution. Bravo! Alors, dansons la gigue :-)
Roger
Usually when a pic heats, it means it is fried. Try replacing it.
If the LCD also heated when the pic did, it could also be fried...
it's been said... post #22
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
"Almost" is the opperational word here. The DEFINEs are optional if you connect the LCD the way PBP assumes you will connect them: data lines DB4-DB7 to Port A.0 to A.3, RS to A.4, E to B.3.Originally Posted by flotulopex
If you connected your LCD this way then the defines are truly optional (and since you said your code did work without them then you had to have done just that).
The manual says just this, check page 95.
For most DEFINE's, there is a corresponding default value declared in the library files. Perhaps we should create an FAQ that lists them, since there aren't that many. But for now, they can be found in the PBPPICxx.lib file in the PBP folder. Here are the LCD defaults from the PBPPIC14.lib.Code:;**************************************************************** ;* Default LCD port values * ;**************************************************************** ifndef LCD_DREG ; LCD data pins port LCD_DREG EQU PORTA endif ifndef LCD_DBIT ; LCD low order data bit (0 or 4) LCD_DBIT EQU 0 endif ifndef LCD_RSREG ; LCD register select pin port LCD_RSREG EQU PORTA endif ifndef LCD_RSBIT ; LCD register select pin bit LCD_RSBIT EQU 4 endif ifndef LCD_RWREG ; LCD read/write select pin port LCD_RWREG EQU LCD_RSREG endif ifndef LCD_RWBIT ; LCD read/write select pin bit LCD_RWBIT EQU LCD_RSBIT endif ifndef LCD_EREG ; LCD enable pin port LCD_EREG EQU PORTB endif ifndef LCD_EBIT ; LCD enable pin bit LCD_EBIT EQU 3 endif ifndef LCD_BITS ; Number of LCD data bits (4 or 8) LCD_BITS EQU 4 endif ifndef LCD_LINES ; Number of lines in LCD (1, 2, 4) LCD_LINES EQU 2 endif ifndef LCD_COMMANDUS ; LCD command delay in us LCD_COMMANDUS EQU 2000 endif ifndef LCD_DATAUS ; LCD data delay in us (0 - 255) LCD_DATAUS EQU 50 endif
DT
Thank you Darrel.
It makes it more clear to me what PBP does "in the dark".
Roger
Bookmarks