Download docx - Ejemplos Pwm Prof

Transcript

EJEMPLOS PWM CONFIGURAR LOS PINES DDRB.3 Y DDRD.3 COMO SALIDAS.

Modo PWM rpido (Fast PWM Mode) El siguiente fragmento de cdigo configura el PWM rpido en los pines 3 y 11 (Timer 2). Para resumir el registro de configuracin, poniendo los bits del Modo de generacin de Ondas (WGM - waveform generation mode) a 011 selecciona PWM rpido. Poniendo los bits COM2A y COM2B a 10 asigna PWM no-invertido (non-inverted PWM) para las salidas A y B. Poniendo el CS a 100 ajusta el predivisor a dividir el reloj por 64. (Como los bits son diferentes para los diferentes timers, consulta la ficha para ver los valores correctos). Los registros comparados de salida son arbritariamente ajustados a 180 y 50 para controlar el ciclo de trabajo del PWM de las salidas A y B. (Por supuesto puedes modificar directamente los registros en vez de utilizar pinMode, pero necesitas configurar los pins a OUTPUT). TCCR2A = 0xa3 TCCR2B = 0x04 OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Ejemplo PWM de Correccin de fase El siguiente fragmento de cdigo configura el PWM de correccin de fase en los pines 3 y 11 (Timer 2). Los bits del modo de generacin de ondas WGW estan configurados a 001 para el PWM de correccin de fase. Los otros bits son iguales que para el modo de PWM rpido. TCCR2A = 0xa2 TCCR2B = 0x04 OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Modo PWM rpido (Fast PWM) con lmite OCRA El siguiente fragmento de cdigo configura el PWM rpido en los pines 3 y 11 (Timer 2). Utilizando OCR2A como el valor superior del timer. Los bits del modo de generacin de onda WGW se cambian a 111 para el PWM rpido con el OCRA controlando el lmite superior. El lmite superior del OCR2A es puesto arbritariamente a 180, y el registro de comparacin OCR2B es ajustado arbritariamente a 50. El modo OCR2A est configuado para "Conmutar en coincidencia comparada" cambiando los bits del COM2A a 01. TCCR2A = TCCR2B = 0x63 0x0c

OCR2A = 180; OCR2B = 50; /************************************************************************ ***************************************** Variando el lmite superior: PWM correccin de fase (phase-correct PWM) De manera similar, el timer puede ser configurado en modo de correccin de fase para resetear cuando alcance el OCRnA. PWM correccin de fase con lmite OCRA El siguiente fragmento de cdigo configura PWM correccin de fase en los pines 3 y 11 (Timer 2), utilizando el OCR2A como el valor superior del timmer. Los bits del modo de generacin de onda WGW son ajustados a 101 para el PWM de correccin de fase con el OCRA controlando el lmite superior. El lmite superior del OCR2A es arbitrariamente ajustado a 180, y el registro comparado OCR2B se ajusta arbritariamente a 50. El modo OCR2A est configuado para "Conmutar en coincidencia comparada" cambiando los bits del COM2A a 01. TCCR2A = 0xc1 TCCR2B = 0x0c OCR2A = 180; OCR2B = 50;

/************************************************************************ *****************************************