Haz una pregunta
  Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos
Foros Registrarse ¿Olvidaste tu contraseña?
10/12/2011 #1


Tiempos muertos
Tengo un problema al tratar de generar tiempos muertos, estos tiempos muertos los necesito
ya que estoy intentando hacer un inversor trifasico.
el codigo lo eh hecho en mikroC.
Ya hice 2 codigos en uno si logro generar los tiempos muertos pero la onda me sale con pulsos y la vdd no se si este bien o me sirva! (espero alguien me lo diga XD jajaj)

el segundo codigo la onda me sale bien pero lo qe pasa es qe no le puedo añadir los tiempos muertos y ojala que alguien me pudiera ayudar con eso

gracias de antemano!

http://www.google.com.mx/imgres?q=ti...t:429,r:8,s:18



Les dejo esta imagen para que entiendan lo que digo y ahora los dos codigos:
(USO EL PIC 16F84A)!!!!!!!!!!!!

char salida1[]={1,3,7,6,4,0};
char salida2[]={48,32,0,8,24,56};

int cont=0;

void interrupt() {
INTCON=0x20;
TMR0=235;
}

void main() {

OPTION_REG = 0x06;
TRISB=0;
PORTB=0;
TMR0 = 235;
INTCON = 0x20;
cont=0;

while(1)
{
PORTB=salida2[cont];
PORTB=salida1[cont];
asm nop;
PORTB = (salida1[cont] & salida2[cont]);

cont++;
INTCON=0xA0;

if (cont>5)
cont=0;

}


}

################################################

ahora el segundo codigo


char salida1[]={1,3,7,6,4,0};
char salida2[]={48,32,0,8,24,56};

int cont=0;

void interrupt() {
INTCON=0x20;
TMR0=235;
}

void main() {

OPTION_REG = 0x06;
TRISB=0;
PORTB=0;
TMR0 = 235;
INTCON = 0x20;
cont=0;

while(1)
{
PORTB=49;
PORTB=35;
PORTB=7;

// crei que con un delay aqui funcionaria el tiempo muerto pero no xD!

PORTB=14;
PORTB=28;
PORTB=56;

INTCON=0xA0

}


}
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Foros de Electrónica » Diseño digital » Microcontroladores y sistemas embebidos

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.