I'm trying to use a 4x20 LCD with a 16F887 but without any luck. I have the LAB-X1 with a 2x20 LCD. The 4x20 module has the same 16 pins as the 2x20, so I'm assuming it can be connected to the PIC the same what it is connected on the LAB-X1. I'm not using the external crystal though. There was no define statement in the sample code that sets the number of lines, so I added it.
Code:' Name : LCDX.pbp' Compiler : PICBASIC PRO Compiler 2.60' Assembler : PM or MPASM' Target PIC : 40-pin 16F887' Hardware : LAB-X1 Experimenter Board' Oscillator : 4MHz external crystal' Keywords : LCDOUT' Description : PICBASIC PRO program to display "Hello World" on' LAB-X1 LCD.'' Define LCD registers and bits Define LCD_DREG PORTD Define LCD_DBIT 4 Define LCD_RSREG PORTE Define LCD_RSBIT 0 Define LCD_EREG PORTE Define LCD_EBIT 1 Define LCD_LINES 4 'code works in LAB-X1 without this line ANSEL = %00000000 ' Make AN0-AN7 digital ANSELH= %00000000 ' Make AN8-AN13 digital Low PORTE.2 ' LCD R/W line low (W) Pause 100 ' Wait for LCD to start up mainloop: Lcdout $fe, 1 ' Clear screen Pause 500 ' Wait .5 second Lcdout "Hello" ' Display "Hello" Pause 500 ' Wait .5 second Lcdout $fe, $c0, "World" ' Move to line 2 and display "World" Pause 500 ' Wait .5 second Goto mainloop ' Do it forever End




Bookmarks