> If you would send me your code for the initialization, I'll look it > over and see if I find anything wrong. Jim Below is where I left it. Initially it was the same as the example in the ST7036 datasheet (yes, that's the one Alan). Since then it's been hacked around - different values, delays, Reset and CSB under/not under PIC control etc etc etc Not a flicker, so at this stage I've no idea how close or far away it is from working. Which is the frustrating bit. I wouldn't expect you to, but if you Google for DOGM PIC code you won't find two examples the same. That is generally not the case for 44780 and compatibles, which don't have features like selectable Vdd, bias, op-amp follower gain and so on. I get the feeling that some have got "Hello World" and are happy enough with that I'll be e-mailing EA to get the skinny and see if they have code examples not posted in the Download section of their site or any "Oh, you have to do this too" advice. As we know from our experiences with Microchip, the coupling of hardware and documentation isn't always as good as it should be COG displays are fragile but the LCD was very well packaged and shows no sign of damage (unlike the one which someone on a forum put into a breadboard and wrecked getting out, poor guy). Mine is on a mounting PCB so it's fairly robust to work with I'll contact EA and then have a day away from it to get on with other things Joe Using it with an 18F2520 @ 40MHz. ms01 is 1ms delay, us100 is 100us, usec is 1us. No problem with a typical 16 x 2 (using typical initialisation) ;=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D ; Initialise LCD screen (16x2, 8-bit, 5V) ;=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D lcd_init movlw 0x38 ;function set 1 call wr_c_del movlw 0x38 ;function set 2 call wr_c_del movlw 0x1c ;bias call wr_busy movlw 0x58 ;power/icon/contrast call wr_busy movlw 0x60 ;follower call wr_busy movlw 0x7f ;contrast call wr_busy movlw 0x0f ;display on call wr_busy movlw 0x01 ;clear call wr_busy call ms01 call ms01 movlw 0x06 ;mode call wr_busy return wr_c_del call write_c call ms01 return wr_busy call ms01 bra wr_c_del movwf temp0 mov b'10000000',trisb usec bcf rs usec bsf rw usec bsf en usec chk_busy movlw b'10000000' andwf portb,w skpz bra chk_busy mov b'00000000',trisb usec bcf rs usec bcf en usec bcf rw usec movf temp0,w call write_c return write_c movwf temp0 bcf rs ;write command bra d_out write_d movwf temp0 bsf rs ;write data d_out bsf en call us100 movfw temp0 movwf latb call us100 bcf en call us100 return --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .