Página 1 de 1

Configuração pwm 10 bits pic12f683

MensagemEnviado: 27 Fev 2015 11:15
por al777
Olá tudo bem?

Estou programando o pic 12f683 em c e estou tendo dificuldades em usar o pwm com resolução de 10 bits.
Estou usando um cristal de 20 MHz

As configurações estão:

PR2=0b11111111;
T2CON=0b00000101;

E o
CCP1CON = 0b00001100;

Eu andei pesquisando e acredito que os bits que fazem parte da resolução de 10 bits, fazem parte do registro CCP1CON, são os bits 5 e 4,
porém quando eu mexo neles, não vejo diferença no meu duty, como devo proceder?


Att,

Felipe

Re: Configuração pwm 10 bits pic12f683

MensagemEnviado: 27 Fev 2015 19:17
por andre_luis
Já deu uma olhada nesse site abaixo ?
Diz que atende á familia PIC12F683, e gera código para 10 bits de resolução :

http://www.micro-examples.com/public/mi ... lator.html

Te confesso que quando mexi com isso, não fazia calculo na mao, mas usei um site como desses aí.

Re: Configuração pwm 10 bits pic12f683

MensagemEnviado: 02 Mar 2015 10:24
por ze
fiz algo assim (com outro mc) pra gerar uma senoide prum motor ac e funcionou direitin. Na época tive ajuda duns maluco daqui mesmo. Hora de retribuir...

dei uma rápida lidinha no d.s. e (acho que) a composição dos 10 bits é assim:
CCP1L=8bits MSB + CCP1CON 5,4 - cujos nomes são DC1B1 e DC1B0 - os LSB CCP1CON = 0b00110000 : 11 = posição dos bits 5 e 4 (!)
Se isso estiver certo, uma função assim pode definir o duty cicle
Código: Selecionar todos
void duty(unsigned int ds)
{
//if (ds>1023) ds=1023; //segurança opcional: 10 bits máx
CCP1L=ds>>2; //MSB
DC1B1=ds>>1; //bit 1
DC1B0=ds; //bit 0
}
Veja no seu compilador como é o acesso ao hw do seu mc
abç