Thank mister_e for your reply
i am a bit confused by what you mean by

just the wrong way

Also without doing anything else to the program apart from changing the Enable PORTB pullups line when i used a 16f877a

================================================== =
OPTION_REG.7 = 0 ' Enable PORTB pullups for 16f877a
'INTCON2.7 = 1 ' Enable PORTB pullups for 18f452
================================================== =

the program works fine could it be my pic?

Best Regards
Sabu