Ah thank you guys! It was the A/D peripherals so following did it :) I'm not used to having peripherals on by default. ANSEL = 0x00; ANSELH = 0x00; I knew it must of been something trivial that I was missing. So I've learnt that I need to look at the other registers that affect that pin. I suppose that is why there is that table in the data sheet. Sorry for being such a noddy question, but you help certainly saved me a few more days of banging my head. Cheers, Gordon -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist