Servo motor - problemas/pic queimado

Olá. Sou novo aqui e procurei no fórum para ver se achava algo que me ajudasse a solucionar meu problema e não encontrei, por isso resolvi criar o tópico.
Bem, vamos lá:
Resolvi implementar uma rotina no pic 16f877a para a geração do PWM em 50 Hz (retirei daqui: http://www.ermicro.com/blog/?p=771). Entendi a lógica de funcionamento e acreditei que ela está correta.
Resolvi escrever o programa para fazer o servo girar para uma posição fixa (45 graus) e ficar parado lá. Após compilar, gerar o hex, gravei no pic sem problemas e então fiz a montagem na protoboard da seguinte maneira:
Usei uma fonte de alimentação em 5v (obviamente) para alimentar o PIC e uma outra fonte (também 5v) para alimentar o servo. Então finalmente conectei o fio de controle do servo no pic.
Finalmente liguei as fontes e ai veio minha surpresa: O motor girou (não consegui verificar se foi para a posição certa) e no mesmo instante olhei na fonte de alimentação do pic e vi os assustadores 0,30 A de corrente.
Desliguei tudo rapidamente, desconectei a parte do servo e liguei só a fonte do pic. O bixo torrou. Comprovei isso no gravador.
Aí vem minha dúvida: o que eu fiz de errado? Pode ter sido o sinal PWM gerado errado? Ou ter usado duas fontes separadas sem interligar os seus terras? Será que queimei o servo?
Preciso de uma luz, estou um pouco desesperado com isso...
Bem, vamos lá:
Resolvi implementar uma rotina no pic 16f877a para a geração do PWM em 50 Hz (retirei daqui: http://www.ermicro.com/blog/?p=771). Entendi a lógica de funcionamento e acreditei que ela está correta.
Resolvi escrever o programa para fazer o servo girar para uma posição fixa (45 graus) e ficar parado lá. Após compilar, gerar o hex, gravei no pic sem problemas e então fiz a montagem na protoboard da seguinte maneira:
Usei uma fonte de alimentação em 5v (obviamente) para alimentar o PIC e uma outra fonte (também 5v) para alimentar o servo. Então finalmente conectei o fio de controle do servo no pic.
Finalmente liguei as fontes e ai veio minha surpresa: O motor girou (não consegui verificar se foi para a posição certa) e no mesmo instante olhei na fonte de alimentação do pic e vi os assustadores 0,30 A de corrente.
Desliguei tudo rapidamente, desconectei a parte do servo e liguei só a fonte do pic. O bixo torrou. Comprovei isso no gravador.
Aí vem minha dúvida: o que eu fiz de errado? Pode ter sido o sinal PWM gerado errado? Ou ter usado duas fontes separadas sem interligar os seus terras? Será que queimei o servo?
Preciso de uma luz, estou um pouco desesperado com isso...