Here's another example of 2 LCD's on 1 PIC

With this method, you can send to either LCD independantly, or to both LCD's at the same time.  The only additional parts required are 2 resistors.
By taking the LCD?_Disable pins LOW, it prevents the Enable signal from getting to that particular display. So, just disable the one you don't want to send to, and it sends the data to the one you want.
This method can have more than 2 displays attached to the same pic. The only limitation is the number of pins that are available.
DO NOT attempt to use the R/W pin on the LCD's! The displays will be damaged when more than 1 display is enabled at the same time.
Here's a simple program:
	Code:
	DEFINE LCD_DREG PORTB   ' LCD Data port
DEFINE LCD_DBIT 0       ' starting Data bit (0 or 4) if 4-bit bus
DEFINE LCD_RSREG PORTB  ' LCD Register Select port
DEFINE LCD_RSBIT 4      ' LCD Register Select bit
DEFINE LCD_EREG PORTB   ' LCD Enable port
DEFINE LCD_EBIT 7       ' LCD Enable bit
DEFINE LCD_BITS 4       ' LCD bus size (4 or 8 bits)
DEFINE LCD_LINES 4      ' Number of lines on LCD
LCD1_Disable  VAR  PORTB.5
LCD2_Disable  VAR  PORTB.6
LCDOUT  $FE,1   ' Initialize both LCD's
PAUSE   200
GOSUB  USE_LCD1
LCDOUT "This is LCD 1"
GOSUB  USE_LCD2
LCDOUT "This is LCD 2"
GOSUB  USE_BothLCD
LCDOUT $FE,$C0,"Both LCD's"
END
USE_LCD1:
    INPUT LCD1_Disable
    LOW   LDC2_Disable
RETURN
USE_LCD2:
    LOW   LCD1_Disable
    INPUT LDC2_Disable
RETURN
USE_BothLCD:
    INPUT LCD1_Disable
    INPUT LDC2_Disable
RETURN
 Best regards,
   Darrel
				
			
Bookmarks