LCD and PIC18F2685 - Weird LCD behavior


Results 1 to 6 of 6

Threaded View

  1. #1
    Join Date
    Apr 2008
    Location
    Berlin, Germany
    Posts
    14

    Default LCD and PIC18F2685 - Weird LCD behavior

    I'm using the 28 pin demo board from Microchip (see schematic below) with a 18F2685pic, MPLAB IDE and Picbasic pro v2.47, and ICD2 for programming. The LCD pins are connected in the default manner. I'm using the internal oscilator @8 MHZ and the config file in my pbp directory is modified accordingly, that is:
    Code:
    __CONFIG    _CONFIG1H, _OSC_IRCIO67_1H
    The behavior the LCD is experiencing is bizzare: First, it shows black boxes on the first line (so everything fine until now). When releasing from reset, still black boxes on the first line. If I take LCD's Vdd out for a second I start seeing weird characters. Plug it back in, weird characters again. When I try to output "123456789" I get "1230123"(that is, with the vdd plugged in). If I try to output "hello", werid characters again.

    Some of the pins on the demo board are occupied with the default components(leds, pot) but I tried to stay away these pins. Just RB3 (LCD E(nable) is on the same pin as one of the board's LED)

    and the code:
    Code:
    ' display a message on the lcd
    DEFINE OSC 8
    DEFINE LCD_DREG PORTB ' portb is the port used for data lines
    DEFINE LCD_DBIT 4		'the pin on port connected to LCD pin DB4
    DEFINE LCD_RSREG PORTA	'pic port used for the RS line
    DEFINE LCD_RSBIT 4		' port pin where RS pin is connected
    DEFINE LCD_EREG PORTB	' PIC port where E pin is connected
    DEFINE LCD_EBIT 3		' port pin where E pin is connected
    DEFINE LCD_BITS 4		' 4 bit mode
    DEFINE LCD_LINES 2		' 2 LCD lines
    DEFINE LCD_COMMANDUS 2000	'delay between LCD commands
    DEFINE LCD_DATAUS 50		'delay between data sent
    adcon1=7
    trisb=0 				' port b all outputs
    trisa=0					' port a all outputs
    intcon2.7=0			'enable pull ups
    OSCCON = %01110000
    '---main program
    
    repeta:
    high portb.0   ' light led to see when main loop is running
    LCDOUT $fe,1           ' Clears LCD
    LCDOUT $fe,2, "hello"  ' Returns to beginning of line 1 and writes "string"
    pause 1000
    goto repeta
    The lcd is a optorex dmc16207 which is Hitachi HD44780 compatible
    Attached Images Attached Images  
    Last edited by Castor; - 28th April 2008 at 14:42.

Members who have read this thread : 1

You do not have permission to view the list of names.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts