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