modulo PWM PIC 16F877

Software e Hardware para uC PIC

Moderadores: andre_luis, 51, guest2003, Renie

modulo PWM PIC 16F877

Mensagempor ddspereira » 18 Jan 2010 21:45

Boa noite.
sou iniciante em programação Pic estou com duvida como usar PWM do PIC se a linha de codio
Código: Selecionar todos
// microcontroller : P16F877A
// PWM module is set on RC2 Pin No 17.

unsigned short i=0;

void main() {
PORTC = 0; // Set PORTC to $FF
TRISC = 0; // PORTC is output
while(1){
PWM1_Init(5000); // Initialize PWM module
PWM1_Start();
 PWM1_Set_Duty(i);


delay_ms(10);

}
}


O codigo tá funcionando, so que não consigo ajustar o Cicle Duty
no exemplo do compilador fala que varia de 0 a 255, quando eu cologo 0
e rodo o codigo no Proteus tinha que fica em 0, e quando coloco 255 não fica todo aberto o ciclo, tem algum outro macete que devo fazer??

Obrigado!

Diogo Pereira
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor fabim » 19 Jan 2010 07:54

Código: Selecionar todos
unsigned short i;

void main() {
PORTC = 0; // Set PORTC to $FF
TRISC = 0; // PORTC is output
PWM1_Init(5000); // 5KHZ
PWM1_Start(); //LIGA PWM

while(1){

 for(1=0;i<255;I++){
 PWM1_Set_Duty(i);
 delay_ms(50);
 }
 
 for(1=255;i>0;I--){
 PWM1_Set_Duty(i);
 delay_ms(50);
 }


}
}


TOEMMMMMMMMMM TIUMMMMMMMMM TOEMMMMMMMMMMM rsrsrs
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor ddspereira » 19 Jan 2010 08:46

em fabim me ajuda ae onde tá o erro!!
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor fabim » 19 Jan 2010 08:50

ddspereira escreveu:em fabim me ajuda ae onde tá o erro!!


você testou esse aí que eu coloquei ?

Intão..
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor ddspereira » 19 Jan 2010 12:22

Fabim fiz o teste e não funcionou, estou simulando via proteus
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor ze » 19 Jan 2010 12:35

não funcionou porque o I++ do fabIn tá maiusculo
que tal
while(1)
{
while(i)
{
PWM1_Set_Duty(++i);
delay_ms(50);
}

while(i)
{
PWM1_Set_Duty(--i);
delay_ms(50);
}
}
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32

Mensagempor fabim » 19 Jan 2010 12:39

só o I que esta maiusculo ?
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor ddspereira » 19 Jan 2010 12:39

eu corrigi, ali 1=0 ou i=0???
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor fabim » 19 Jan 2010 12:40

ddspereira escreveu:eu corrigi, ali 1=0 ou i=0???


o que você acha ?

Fabim
Mano, ve só.
Sou responsável pelo que escrevo!!! E não pelo que você entende !!!
fabim
Dword
 
Mensagens: 5001
Registrado em: 16 Out 2006 10:18
Localização: aqui uái!!!?

Mensagempor ddspereira » 19 Jan 2010 12:46

eu acho que é i=0, corrigi conforme vcs falaram, compila tudo certo, mais quado vou simular no proteus não dá certo, não acontece nada
ddspereira
Bit
 
Mensagens: 42
Registrado em: 24 Set 2009 23:34

Mensagempor ze » 19 Jan 2010 13:20

pu** que pariu viu....!
ahhhhhh lembrei.... 2º um amigo tem mosca nesta bosta.
http://www.forumnow.com.br/vip/mensagen ... 60&nrpag=1

confere aê...

abç
Avatar do usuário
ze
Dword
 
Mensagens: 1655
Registrado em: 05 Jun 2007 14:32


Voltar para PIC

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x