Está en la página 1de 5

ESCUELA POLITECNICA NACIONAL

FACULTAD DE INGENIERIA ELCTRICA Y ELECTRNICA


DEPARTAMENTO DE AUTOMATIZACIN Y CONTROL INDUSTRIAL

PREPARATORIO:

ELECTRNICA DE POTENCIA

Prctica #: 04 Tema: TRANSISTOR BIPOLAR DE JUNTURA (TBJ)


Fecha de Realizacin: 2015 / 11 /10
Ao mes da

Realizado por: Byron Paul Cajamarca

Grupo: GR6

(Espacio Reservado)
Fecha de entrega: ____ / ____ / ____ f. ______________________
Ao mes da Recibido por:
Sancin: ________________________________________________

Perodo: Abril - Agosto

Septiembre Febrero
CODIGO DEL PROGRAMA

#define F_CPU 8000000UL /* Definimos libreras y funciones*/


#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
double frec,ancho,aux,resis;
void conf_adc(void);
int get_adc(char);

int main(void)
{
DDRD=255;
PORTD=0;
DDRA=0; /*configuramos a todos los pines como salidas
TCCR1A=0b10100011; configuramos el adc del micro*/
TCCR1B=0b00011010;
sei();
conf_adc();
while(1)
{
aux=get_adc(0); /*el auxiliar permite la comparacion con el adc
frec=(aux*950/1023)+49; en cuanto a relacion de salida para 20kHz con 49
OCR1A=frec; y 999 para 1kHz.*/
aux=get_adc(1);
ancho=aux*frec/1023; /*la relacion establecida esta en funcion del nu
if (ancho==0) mero de bits*/
{
ancho=frec/10; /*definimos los limites de trabajo de la variacion
} de delta*/
if (ancho==frec)
{
ancho=frec*0.9;
}
OCR1B=ancho;
}
void conf_adc()
{
ADMUX |=(1<<REFS0);
ADCSRA |=(1<<ADEN)|(1<<ADPS2)|(1<<ADPS1);
DIDR0=0b00000111;
}
int get_adc(char canal)
{
DIDR0 |=(1<<canal);
ADMUX=(ADMUX & 0XE0)|(canal
ADCSRA |=(1<<ADSC);
while(ADCSRA & (1<<ADSC
return ADC;
}

También podría gustarte