Seguidor de linea con pic16f84a ensamblador

Seguidor de linea con pic16f84a ensamblador

Seguidor de linea con pic16f84a ensamblador

Objetivos

Seguidor de linea con pic16f84a ensamblador 

Material

Dos motores DC con reductor

1 rueda loca

1 carcasa

2 sensores

1 pic16f887

Desarrollo:

Desarrollar un algoritmo:

Si sale del lado izquierdo regrese a la derecha

Si sale de lado derecho regrese a la izquierda

Si va en el centro  siga a así

Proteus


Ensamblador

__CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _XT_OSC
LIST  P=16F84A
INCLUDE <P16F84A.INC>
#DEFINE SensorDerecha PORTA,0  ; Sensor óptico Derecho.  bit o del puerto a
#DEFINE SensorIzquierda PORTA,1  ; Sensor óptico Izquierdo. bit 1 del puerto a
; ZONA DE CÓDIGOS ****************************************?
ORG 0
Inicio
        bsf STATUS,RP0  ; Selecciona Banco 1 de registros.
        bsf SensorDerecha  ; Estas líneas se configuran como entrada.
        bsf SensorIzquierda
        clrf PORTB  ; Las líneas del Puerto B se configuran como salidas.
        bcf STATUS,RP0  ; Selecciona Banco 0 de registros.
Principal
        movlw b’00000110′  ; Para girar a la derecha.
        btfss SensorDerecha  ; ¿Ha salido por la derecha?, ¿detecta blanco?  Salto si bit b de reg. f es 1 (se activa el sensor derecha( salta
        goto ActivaSalida  ; No, el detector derecho está encima de la línea
; negra, gira a la derecha.
        movlw b’00001001′  ; Para girar a la izquierda.
        btfss SensorIzquierda  ; ¿Ha salido también por la izquierda?
        movlw b’00000101′  ; No, está en el borde derecho. Sigue recto.

ActivaSalida
        movwf PORTB
        goto Principal

END

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *