quinta-feira, 7 de fevereiro de 2013

Gerando pwm usando o timer 2 do avr




//************************************************************************
//                               pwm usando o timer 2
//  microcontrolador    : AVR ATMega328p
//  Autor           : Aguivone 
//  data de criação     : 07/02/2013.
//
//************************************************************************
#define F_CPU 16000000UL  // 16 MHz deve vir antes das interrupçoes
#include <avr/io.h>

int main(void)
{
        DDRB = 0xFF;  //inicializa portB como saida
DDRD = 0xFF;  //inicializa portD como saida
TCCR2A = 0XA3;// configura pino B3 e D3 como saida pwm e modo fast PWM
        TCCR2B = 0X01;// sem divisão de prescaler
        OCR2A = 100;
OCR2B = 50;
           for(;;)
            {
             //faz nada!  
            }
}
/* para calcular a frequência no modo pwm do timer2
 sera :
          F = Fclock/N.128 (isso se deve ao fato de não estar usando o OCR2A conforme o datasheet especifica)
 onde N é o prescaler (ex.1,8...)*/

Nenhum comentário :

Postar um comentário

olá,digite aqui seu comentário!