La combinacio es al siguete:
A B C D
0 0 1 1
0 1 1 0
1 1 0 0
1 0 0 1
Con esta combinacion debe girar a la deerecha.
A B C D
1 0 0 1
1 1 0 0
0 1 1 0
0 0 1 1
Con esta combinacion debe girar a la izquierda.
Tengo este codigo,esta en lenguaje C, utilizo Mplab para compilar, bueno ustedes entienden de esto.
#include <p18f2550.h>
#include <delays.h>
#include <timers.h>
#pragma config FOSC = HS, LVP = OFF, WDT = OFF, BOR = OFF, PWRT = OFF, PBADEN = OFF, MCLRE = ON
void ISRTimer0(void);
#pragma code Interrupcion = 0x0008
void VectorInterrupcion(void)
{
_asm goto ISRTimer0 _endasm
}
#pragma code
#pragma interrupt ISRTimer0
void ISRTimer0(void)
{
if(INTCONbits.TMR0IF==1)
{
WriteTimer0(6036);
LATB ^= 0b00000010; // Intercambia la salida en RB1
INTCONbits.TMR0IF=0;
}
}
void main(void)
{
TRISB = 0b11111001; // RB1 y RB2 son salidas
OpenTimer0(TIMER_INT_ON & T0_16BIT & T0_SOURCE_INT & T0_PS_1_16);
WriteTimer0(6036);
RCONbits.IPEN=0;
INTCONbits.PEIE=1;
INTCONbits.GIE=1;
while(1)
{
LATB ^= 0b00000100; // Intercambia la salida en RB2
Delay10KTCYx( 1 ); // espera el tiempo de retardo
}
}
No esta comleto ya el codigo, me pueden decir que le falata al programa?
Me pueden ayudar con el programa para que hago las combinaciones que tengo arriba. Gracias!!
ff3rmin
