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
