electronplace.com

...Just Because I Can Do It Now.

CALCULADOR pic pwm

 Este calculador se propõe gerar os parâmetros de configuração dos registradores PWM de um PIC. Ele foi desenvolvido para o PIC16F877A, mas trabalhará com todos os chips que possuam os mesmos registradores.


Ele tenta calcular os registradores para todos os valores possíveis do prescaler. Se o valor do prescaler resulta num valor inválido de PR2, o valor não será apresentado.

Você pode copiar e colar os valores dos registradores da área de texto abaixo do calculador. Escolha o código do prescaler que desejar. O codigo e oferecido 'As Is'. Assim, utilize-o por sua conta e risco.

 

Calculador PIC PWM


Parametro Valor Unidade  
Frequencia do Oscilador  Hz  
Frequencia do PWM
Hz  
Duty Cycle
 
Prescaler 1 4 16
PR2 (199) 0b11000111 (49) 0b00110001 (12) 0b00001100
T2CON 0b00000100 0b00000101 0b00000111
CCPR1L 0b01100100 0b11001000 0b01100100
CCP1CON 0b00001100 0b00001100 0b00001100
Frequencia Atual PWM 10000 10000 9615
Valor Max Duty Cycle 800 200 50
     

Codigo Exemplo

/*
* Descricao:
Este codigo demonstra como ajustar manualmente os registradores PWM
* Test configuration:
MCU: PIC16F877A
Oscillador: HS, 08.0000 MHz
SW: mikroC v6.0
* NOTAS:
None.
*/

void main() {


TRISC = 0; // O Pino PWM (2) precisa ser uma saida

/*
* PWM Register Values
* Oscillator Frequency Fosc = 8000000
* Clock Frequency Fclk = 2000000
* PWM Freq = 10000 desired...actual: 10000
* Prescaler Value = 1
* PR2 = 199
* Maximum duty value = 800
* Requested Duty Value = 400
*
* Codigo Oferecido AS IS....Use por sua conta e risco!
*/

T2CON = 0b00000100; // prescaler + turn on TMR2;
PR2 = 0b11000111;
CCPR1L = 0b01100100; // set duty MSB
CCP1CON = 0b00001100; // duty lowest bits + PWM mode

while (TRUE)
{
// seu codigo aqui...
}
}

 

 

Forum - Postagens Recentes

Noticias Recentes

Nossa Loja

Componentes Eletrônicos Para Venda On-Line

Oops! This site has expired.

If you are the site owner, please renew your premium subscription or contact support.