Seguidor de linea con pic16f84a ensamblador

Seguidor de linea con pic16f84a ensamblador

Escrito Por: admin Publicado En: Proyectos de microcontroladores PIC Fecha de Creación: 2014-08-24 visitas: 11580

Seguidor de linea con pic16f84a ensamblador

Ojetivos

Seguidor de linea con pic16f84a ensamblador 

 

Material

Dos motores DC con reductor

1 rueda loca

1 carcasa

2 sensores  cny70 o dos Sensores Tcrt 5000 ( modulo para arduino o pic )

1 pic16f887

 

Desarrollo

 

Desarrollar un algoritmo:

Si sale del lado izquierdo regrese a la derecha

Si sale de lado derecho regrese a la izquierde

Si va en el centro  siga a asi

 

 


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