Thanks Melanie & Charles for your input. Here are my answers to your questions.

Quote Originally Posted by Melanie View Post
Weak Pull-Up's

If your Remote's Buttons for example are connected between the PICs pins and 0v, then you probably have an external Resistor connected between the PICs pin and Vdd. The internal weak pull-up's can save you adding that external Reistor by providing one conveniently internal to the PIC.
The way I have set it up is that the whole system gets +Ve supply when the button is pressed & the selected PIC pin gets high as well.

IF I use internal weak pull ups, I have to connect the button to the -Ve line and pic - Is that correct? Secondly, In the program I have to use the GPIO = 1 instead of GPIO=0 in the begining - Is that correct as well?

Quote Originally Posted by Melanie View Post
Weak Pull-Up's


PWM

Now with this question you have provided insufficient information for anyone to help you.

Are you speed controlling an AC or DC motor? There are different techniques for AC (and different depending on how many supply phases) or DC, and to make life more complicated there are different techniques for different kinds of motors (eg induction motor, etc etc). For some kinds of motors PWM is just unsuitable.

Likewise with your failed Lamp Dimmer... was it AC or DC or what? PWM is not suitable in all cases.
I tried it with an AC lamp.