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=t...&tbnw=89&start=18&ndsp=21&ved=1t:429,r:8,s:18

imgres


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 :LOL:!

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

INTCON=0xA0

}


}
 
Última edición:
Atrás
Arriba