Download Ver/Abrir

Transcript
enable_interrupts(INT_ADC);
enable_interrupts(global);
//
//
//
//
//
//
enable_interrupts(INT_RB);
enable_interrupts(INT_TIMER1);
enable_interrupts(INT_TIMER2);
enable_interrupts(INT_TBE);
enable_interrupts(INT_RDA);
enable_interrupts(INT_BUSCOL);
while (True) //For (;;) //Ciclo infinito para secuencia de Pulsos
{
Carga_Variables(); // Carga de las variables del sistema
PWM_Estado(); // Determina sí se aumenta o disminuye el PWM
Caja_Cambios(); // Rutina de Selección de Cambios
If ((Neutro == False)&&(Acelerador >= 20))
{
Activa_Contactor(); //Rutina de Activación Contactor
Secuencia_Reversa (); //Determina la secuencia de Reversa o Adelanto
switch (Secuencia) { // Rutina de casos de los diferentes pulsos de los IGBTES
case 1: {PUERTOD = 0x00;
Delay_us (600);
Aux = 0x23;
PUERTOD = Aux;}
break;
case 2: {PUERTOD = 0x00;
Delay_us (600);
Aux = 0x07;
PUERTOD = Aux;}
break;
case 3: {PUERTOD = 0x00;
Delay_us (600);
Aux = 0x0E;
PUERTOD = Aux;}
break;
case 4: {PUERTOD = 0x00;
Delay_us (600);
Aux = 0x1C;
PUERTOD = Aux;}
break;
case 5: {PUERTOD = 0x00;
Delay_us (600);
Aux = 0x38;
PUERTOD = Aux;}
break;
172