#INCLUDE<P18F4550.INC>
#DEFINE PAR PORTB,0
#DEFINE LED PORTC,2
#DEFINE MOTOR1_1 PORTA,0
#DEFINE MOTOR1_2 PORTA,1
#DEFINE MOTOR2_1 PORTA,2
#DEFINE MOTOR2_2 PORTA,3
#DEFINE MOTOR3_1 PORTB,2
#DEFINE MOTOR3_2 PORTB,3
#DEFINE MOTOR4_1 PORTA,4
#DEFINE MOTOR4_2 PORTB,6
#DEFINE SEL_DERECHA PORTB,7
#DEFINE SEL_ADELANTE PORTE,0
#DEFINE SEL_ATRAS PORTE,1
#DEFINE SEL_IZQUIERDA PORTE,2
#DEFINE SEL_DIAGONAL_ADE_DER PORTB,1
#DEFINE SEL_DIAGONAL_ADE_IZQ PORTB,4
#DEFINE SEL_DIAGONAL_ATR_DER PORTB,5
#DEFINE SEL_DIAGONAL_ATR_IZQ PORTA,6
CBLOCK 0x00
CONTA_1
CONTA_2
CONTA_3
CONTA_4
CONTA_5
CONTA_6
CONTA_7
CONTA_8
CONTA_9
ENDC
CLRF TRISD ;puerto D como salida
CLRF TRISC
CLRF TRISB
CLRF TRISA
CLRF TRISE
OSCILADOR
BSF OSCCON,6
BSF OSCCON,5
BCF OSCCON,4
PUERTOS_DIGITALES
BSF ADCON1,0
BSF ADCON1,1
BSF ADCON1,2
BSF ADCON1,3
CALL MOTORES
GOTO OTRO
OTRO
BSF LED
CALL Retardo_500ms
BCF LED
CALL Retardo_500ms
GOTO OTRO
MOTORES
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_ATRAS
GOTO ATRAS ;ATRAS
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_DERECHA
GOTO DERECHA ;DERECHA
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_IZQUIERDA
GOTO IZQUIERDA ;IZQUIERDA
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_ADELANTE ;ADELANTE
GOTO ADELANTE
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_DIAGONAL_ADE_DER ;DIAGONAL ADELANTE DERECHA
GOTO DIAGONAL_ADE_DER
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_DIAGONAL_ADE_IZQ ;DIAGONAL ADELANTE IZQUIERDA
GOTO DIAGONAL_ADE_IZQ
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_DIAGONAL_ATR_DER ;DIAGONAL ATRAS DERECHA
GOTO DIAGONAL_ATR_DER
BCF SEL_ADELANTE
BCF SEL_ATRAS
BCF SEL_IZQUIERDA
BCF SEL_DERECHA
BCF SEL_DIAGONAL_ADE_DER
BCF SEL_DIAGONAL_ADE_IZQ
BCF SEL_DIAGONAL_ATR_DER
BCF SEL_DIAGONAL_ATR_IZQ
BTFSS SEL_DIAGONAL_ATR_IZQ ;DIAGONAL ATRAS IZQUIERDA
GOTO DIAGONAL_ATR_IZQ
GOTO MOTORES
DIAGONAL_ADE_DER
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR1_1
BSF MOTOR2_1
BSF MOTOR3_1
BSF MOTOR4_1
CALL Retardo_1s
BCF MOTOR1_2
BCF MOTOR2_2
BSF MOTOR3_2
BSF MOTOR4_2
GOTO MOTORES
DIAGONAL_ADE_IZQ
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR1_1
BSF MOTOR2_1
BSF MOTOR3_2
BSF MOTOR4_2
CALL Retardo_1s
BCF MOTOR1_2
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR4_1
GOTO MOTORES
DIAGONAL_ATR_DER
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR1_2
BSF MOTOR2_2
BSF MOTOR3_1
BSF MOTOR4_1
CALL Retardo_1s
BCF MOTOR1_1
BCF MOTOR2_1
BCF MOTOR3_2
BCF MOTOR4_2
GOTO MOTORES
DIAGONAL_ATR_IZQ
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR1_2
BSF MOTOR2_2
BSF MOTOR3_2
BSF MOTOR4_2
CALL Retardo_1s
BCF MOTOR1_1
BCF MOTOR2_1
BCF MOTOR3_1
BCF MOTOR4_1
GOTO MOTORES
ADELANTE
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR1_1
BSF MOTOR2_1
CALL Retardo_1s
BCF MOTOR1_2
BCF MOTOR2_2
GOTO MOTORES
ATRAS
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR1_2
BSF MOTOR2_2
CALL Retardo_1s
BCF MOTOR1_1
BCF MOTOR2_1
GOTO MOTORES
DERECHA
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR3_1
BSF MOTOR4_1
CALL Retardo_1s
BCF MOTOR3_2
BCF MOTOR4_2
GOTO MOTORES
IZQUIERDA
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
CALL Retardo_5ms
BSF MOTOR3_2
BSF MOTOR4_2
CALL Retardo_1s
BCF MOTOR3_1
BCF MOTOR4_1
GOTO MOTORES
#INCLUDE<C:\Users\Jair Ampudia\Desktop\yair\/RETARDOS.INC>
END #INCLUDE<P18F4550.INC>
#DEFINE MOTOR1_1 PORTB,6
#DEFINE MOTOR1_2 PORTB,7
#DEFINE MOTOR2_1 PORTB,2
#DEFINE MOTOR2_2 PORTB,3
#DEFINE MOTOR3_1 PORTB,0
#DEFINE MOTOR3_2 PORTB,1
#DEFINE MOTOR4_1 PORTB,4
#DEFINE MOTOR4_2 PORTB,5
#DEFINE SEL_DER PORTA,0
#DEFINE SEL_IZQ PORTA,1
#DEFINE SEL_ATR PORTA,2
#DEFINE SEL_ADE PORTA,3
#DEFINE SEL_DIAGONAL_ADE_DER PORTA,4
#DEFINE SEL_DIAGONAL_ADE_IZQ PORTE,0
#DEFINE SEL_DIAGONAL_ATR_DER PORTE,1
#DEFINE SEL_DIAGONAL_ATR_IZQ PORTE,2
CLRF TRISB
MOVLW .255
MOVWF TRISA
MOVWF TRISE
CALL MOTORES_0
OSCILADOR
BSF OSCCON,6
BSF OSCCON,5
BCF OSCCON,4
PUERTOS_DIGITALES
BSF ADCON1,0
BSF ADCON1,1
BSF ADCON1,2
BSF ADCON1,3
MOTORES_P
BTFSS SEL_DER
GOTO DER
BTFSS SEL_IZQ
GOTO IZQ
BTFSS SEL_ADE
GOTO ADE
BTFSS SEL_ATR
GOTO ATR
BTFSS SEL_DIAGONAL_ADE_DER
GOTO DIAGONAL_ADE_DER
BTFSS SEL_DIAGONAL_ADE_IZQ
GOTO DIAGONAL_ADE_IZQ
BTFSS SEL_DIAGONAL_ATR_DER
GOTO DIAGONAL_ATR_DER
BTFSS SEL_DIAGONAL_ATR_IZQ
GOTO DIAGONAL_ATR_IZQ
CALL MOTORES_0
GOTO MOTORES_P
DER
BSF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BSF MOTOR4_1
BCF MOTOR4_2
GOTO MOTORES_P
IZQ
BCF MOTOR4_1
BSF MOTOR4_2
BCF MOTOR3_1
BSF MOTOR3_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR1_1
BCF MOTOR1_2
GOTO MOTORES_P
ADE
BSF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR4_1
BCF MOTOR4_2
BCF MOTOR3_1
BCF MOTOR3_2
BSF MOTOR2_1
BCF MOTOR2_2
GOTO MOTORES_P
ATR
BCF MOTOR2_1
BSF MOTOR2_2
BCF MOTOR4_1
BCF MOTOR4_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR1_1
BSF MOTOR1_2
GOTO MOTORES_P
DIAGONAL_ADE_DER
BSF MOTOR1_1
BCF MOTOR1_2
BSF MOTOR3_1
BCF MOTOR3_2
BSF MOTOR4_1
BCF MOTOR4_2
BSF MOTOR2_1
BCF MOTOR2_2
GOTO MOTORES_P
DIAGONAL_ADE_IZQ
BSF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR4_1
BSF MOTOR4_2
BSF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BSF MOTOR3_2
GOTO MOTORES_P
DIAGONAL_ATR_DER
BCF MOTOR2_1
BSF MOTOR2_2
BSF MOTOR3_1
BCF MOTOR3_2
BSF MOTOR4_1
BCF MOTOR4_2
BCF MOTOR1_1
BSF MOTOR1_2
GOTO MOTORES_P
DIAGONAL_ATR_IZQ
BCF MOTOR2_1
BSF MOTOR2_2
BCF MOTOR4_1
BSF MOTOR4_2
BCF MOTOR1_1
BSF MOTOR1_2
BCF MOTOR3_1
BSF MOTOR3_2
GOTO MOTORES_P
MOTORES_0
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
RETURN
END
#INCLUDE<P18F4550.INC>
CBLOCK 0X00
AUX
ENDC
#DEFINE MOTOR3_1 PORTB,0
#DEFINE MOTOR3_2 PORTB,1
#DEFINE MOTOR2_1 PORTB,2
#DEFINE MOTOR2_2 PORTB,3
#DEFINE MOTOR4_1 PORTB,4
#DEFINE MOTOR4_2 PORTB,5
#DEFINE MOTOR1_1 PORTB,6
#DEFINE MOTOR1_2 PORTB,7
#DEFINE BITZ STATUS,2
CLRF TRISB
CLRF TRISD
CLRF TRISC
MOVLW .255
MOVWF TRISA
MOVWF TRISE
CALL MOTORES_0
OSCILADOR
BSF OSCCON,6
BSF OSCCON,5
BCF OSCCON,4
PUERTOS_DIGITALES
BSF ADCON1,0
BSF ADCON1,1
BSF ADCON1,2
BSF ADCON1,3
MOTORES_P
MOVF PORTA,W
ANDLW B'00000111'
MOVWF AUX
MOVLW .0
XORWF AUX,W
BTFSC BITZ
GOTO DER
MOVLW .1
XORWF AUX,W
BTFSC BITZ
GOTO IZQ
MOVLW .2
XORWF AUX,W
BTFSC BITZ
GOTO ADE
MOVLW .3
XORWF AUX,W
BTFSC BITZ
GOTO ATR
MOVLW .4
XORWF AUX,W
BTFSC BITZ
GOTO DIAGONAL_ADE_DER
MOVLW .5
XORWF AUX,W
BTFSC BITZ
GOTO DIAGONAL_ADE_IZQ
MOVLW .6
XORWF AUX,W
BTFSC BITZ
GOTO DIAGONAL_ATR_DER
MOVLW .7
XORWF AUX,W
BTFSC BITZ
GOTO DIAGONAL_ATR_IZQ
GOTO MOTORES_P
DER
BSF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BSF MOTOR4_1
BCF MOTOR4_2
GOTO MOTORES_P
IZQ
BCF MOTOR4_1
BSF MOTOR4_2
BCF MOTOR3_1
BSF MOTOR3_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR1_1
BCF MOTOR1_2
GOTO MOTORES_P
ADE
BSF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR4_1
BCF MOTOR4_2
BCF MOTOR3_1
BCF MOTOR3_2
BSF MOTOR2_1
BCF MOTOR2_2
GOTO MOTORES_P
ATR
BCF MOTOR2_1
BSF MOTOR2_2
BCF MOTOR4_1
BCF MOTOR4_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR1_1
BSF MOTOR1_2
GOTO MOTORES_P
DIAGONAL_ADE_DER
BSF MOTOR1_1
BCF MOTOR1_2
BSF MOTOR3_1
BCF MOTOR3_2
BSF MOTOR4_1
BCF MOTOR4_2
BSF MOTOR2_1
BCF MOTOR2_2
GOTO MOTORES_P
DIAGONAL_ADE_IZQ
BSF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR4_1
BSF MOTOR4_2
BSF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BSF MOTOR3_2
GOTO MOTORES_P
DIAGONAL_ATR_DER
BCF MOTOR2_1
BSF MOTOR2_2
BSF MOTOR3_1
BCF MOTOR3_2
BSF MOTOR4_1
BCF MOTOR4_2
BCF MOTOR1_1
BSF MOTOR1_2
GOTO MOTORES_P
DIAGONAL_ATR_IZQ
BCF MOTOR2_1
BSF MOTOR2_2
BCF MOTOR4_1
BSF MOTOR4_2
BCF MOTOR1_1
BSF MOTOR1_2
BCF MOTOR3_1
BSF MOTOR3_2
GOTO MOTORES_P
MOTORES_0
BCF MOTOR1_1
BCF MOTOR1_2
BCF MOTOR2_1
BCF MOTOR2_2
BCF MOTOR3_1
BCF MOTOR3_2
BCF MOTOR4_1
BCF MOTOR4_2
RETURN
#INCLUDE<C:\Users\Jair Ampudia\Desktop\yair\/RETARDOS.INC>
END
aqui la evolucion se nota expliquenme como funciona motores p aqui porque en este motores evoluciono para seleccionar la 8 direcciones solo usando 3 pines del micro lo siento killer pero si era fastidioso con eso de los define en ese entonceshola, necesito que me ayuden a entender un programa que hice en asm cuando era muy bueno para programar
pero el programa si es mio lo hice yo pero cuando dejo de hacer algo como programar se me olvida
-- Las probabilidades de conseguir en este foro que hagan tu trabajo son nulas
-- Las probabilidades de conseguir ayuda son muy altas
-- Las probabilidades de que aprendas lo suficiente para hacerlo tú mismo son del 100%
#INCLUDE<P18F4550.INC>
__CONFIG .............
;Comienzo de Programa
ORG 0x00 ;Vector de Reset
GOTO CONFIGURACION
ORG 0x08 ;Vector de Interrupcion Baja prioridad
RETURN
ORG 0x18 ;Vector de Interrupcion Alta prioridad
RETURN
CONFIGURACION
BSF OSCCON,5, ACCESS ;Oscilador 4 Mhz
CLRF TRISB, ACCESS ;Configuracion Salidas/Entradas
CLRF TRISD, ACCESS
CLRF TRISC, ACCESS
MOVLW .255
MOVWF TRISA, ACCESS
MOVWF TRISE, ACCESS
MOVLW 0xF ;Todas digitales
MOVWF ADCON1, ACCESS
MOTORES_P
RLNCF PORTA, W, ACCESS
ANDLW B'00001110'
CALL TABLA_MOT
MOVWF LATB, ACCESS
GOTO MOTORES_P
TABLA_MOT
ADDWF PCL,F,ACCESS
RETLW 0x11 ;DER
RETLW 0x22 ;IZQ
RETLW 0x44 ;ADE
RETLW 0x88 ;ATR
RETLW 0x55 ;ADE_DER
RETLW 0x66 ;ADE_IZQ
RETLW 0x99 ;ATR_DER
RETLW 0xAA ;ATR_IZQ
END
hola, killer para seguir mejorando el programa me faltaría definir las direcciones derecha y las demas lo que no se es como ponerles esas diercciones de la tabla
Quiero hacer un robot que se mueva segun lo que presione en un control, este control va a estar conectado al PIC directamente por cable.
Voy a tener 4 botones conectados al PIC, los cuales voy a llamar ATRAS , ADELANTE , IZQUIERDA y DERECHA, y que voy a conectar a el Puerto B 0, 1 ,2 ,3 y 4 respectivamente.
Quiero que cuando toque un boton el robot se empieze a mover para la direccion que deba ir, ademas si presiono 2 juntos (mientras que no sean opuestos) se muevan en diagonal.
Para que se muevan las salidas de los motores estan dados por
ATRAS: PORTE,0
ADELANTE: PORTE,1
DERECHA: PORTE,2
IZQUIERDA: PORTE,3
Es decir, si presiono adelante , se activa el PORTE,1 y esto haria moverlo para adelante. NUNCA deberia poder activarse ADELANTE y ATRAS juntos, asi como tambien IZQUIERDA y DERECHA juntos, por que se produciria un cortocircuito en mi puente H
le voy a poner un sensor bluethoot para manejar a que dirección valla con el celular ya que es fácil de hacer lo puedo hacer con appinventor que es fácil de manejar o me puedo descargar otra aplicación donde solo se inserta el comando y listo con eso no hay problema lo haré yo,
ero en el programa quiero que se puedan seleccionar las 8 direcciones pero como ya se el error que tenia me gusta tu idea, quiero que cuando toque un botón el robot se empiece a mover para la dirección que deba ir, ademas si presiono 2 juntos (mientras que no sean opuestos) se muevan en diagonal, porque así solo necesitaría 4 botones y esto lo simplificaría muchísimo, también me gustaría hacer lo otro que dijiste de que no se pueda mover en direcciones opuestas, con todos los motores conectados al puerto B
ok, pero en asm me gusta mas porque puedo tocar todos los registros y así la uart se configura mas fácil porque el datasheet siempre lo explica en asm, lo del XC8 me costaría mas porque tendría que aprender un nuevo lenguaje
, mejor en asm, lo del modulo bluethoot esa aplicación que menciono lo hace todo por ejemplo se puede ingresar en la aplicación un comando que este en el programa así como esta y el robot ejecutaría el comando así que eso puede que no sea tan difícil
ok, killer investigare lo que tenga que investigar para hacer lo que yo quiero y evitare causarles problemas y solo preguntare cuando tenga que hacerlo, pero definitivamente que quedo con asm aunque sea mas largo el programa porque XC8 eso de combinar asm con CCS no me agrada para nada porque si tiene algunas partes de CCS y otras no solo me confundiría aun mucho mas
#INCLUDE<P18F4550.INC>
;Comienzo de Programa
ORG 0x00 ;Vector de Reset
GOTO CONFIGURACION
ORG 0x08 ;Vector de Interrupcion Baja prioridad
RETURN
ORG 0x18 ;Vector de Interrupcion Alta prioridad
RETURN
CONFIGURACION
BSF OSCCON,5, ACCESS ;Oscilador 4 Mhz
CLRF TRISB, ACCESS ;Configuracion Salidas/Entradas
CLRF TRISD, ACCESS
CLRF TRISC, ACCESS
MOVLW .255
MOVWF TRISA, ACCESS
MOVWF TRISE, ACCESS
MOVLW 0xF ;Todas digitales
MOVWF ADCON1, ACCESS
MOTORES_P
RLNCF PORTA, W, ACCESS
ANDLW B'00001110'
CALL TABLA_MOT
MOVWF LATB, ACCESS
GOTO MOTORES_P
TABLA_MOT
ADDWF PCL,F,ACCESS
RETLW 0x11 ;DER
RETLW 0x22 ;IZQ
RETLW 0x44 ;ADE
RETLW 0x88 ;ATR
RETLW 0x55 ;ADE_DER
RETLW 0x66 ;ADE_IZQ
RETLW 0x99 ;ATR_DER
RETLW 0xAA ;ATR_IZQ
END