Hello,

It must be late at night...and I am not seeing something. I have connected an LCD (20x4) via 8bit bus and it is refusing to work with the test code below, I am running it on my Easypic board. I thought it must be some other feature on the pins, so I started disabling certain features to no avail.

The LCD is ok via 4-bit bus. Checked and re-checked connections, etc.

Many thanks
AP

Code:
;Settings for 18F452

@ __CONFIG    _CONFIG1H, _HS_OSC_1H 
@ __CONFIG    _CONFIG2L, _BOR_ON_2L & _PWRT_ON_2L & _BORV_42_2L
@ __CONFIG    _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H
@ __CONFIG    _CONFIG3H, _CCP2MX_ON_3H 'CCP2 input/output is multiplexed with RC1
@ __CONFIG    _CONFIG4L, _LVP_OFF_4L

DEFINE OSC 20

INTCON.7  = 0 'Global Interrupts disable
INTCON2.7 = 1 'All PORTB pull-ups are disabled
INTCON3.4 = 0 'Disable PORTB.2 External Interrupt
TRISE.4   = 0 'Disbale 'Parallel Port Slave'
ADCON0.0 = 0  'Analog OFF

Define LCD_DREG  PORTD       ' Port for LCD Data
Define LCD_DBIT  0           ' Use upper 4 bits of Port or Lower 4 Bits
Define LCD_RSREG PORTB       ' Port for RegisterSelect (RS) bit
Define LCD_RSBIT 2           ' Port Pin for RS bit
DEFINE LCD_RWREG PORTB       ' LCD read/write port
DEFINE LCD_RWBIT 3           ' LCD read/write bit
Define LCD_EREG  PORTB       ' Port for Enable (E) bit
Define LCD_EBIT  4           ' Port Pin for E bit
Define LCB_BITS  8           ' Using 8-bit bus
Define LCD_LINES 2           ' Using 2 line Display
DEFINE LCD_COMMANDUS 1500    ' Set command delay time in us
DEFINE LCD_DATAUS 44         ' Set data delay time in us


Pause 450          ' Let LCD Stabalize with a 450ms Pause

        
Main_Loop:
LCDOUT $FE, 1,  "Hello World 1 2 3   "
LCDOUT $FE, $C0,"TESTING TESTING !!!!"
LCDOUT $FE, $94,"ABCDEFghijklmnopqrst"
LCDOUT $FE, $D4,"LCD 8-Bit BUS Test  "

Pause 1000

GOTo Main_Loop