You are on page 1of 7

Seguidor de lnea en ves de los cuatro leds colocar el l293d solo sigue la lnea y espacios

recortados.

;'****************************************************************
;'* Name : SEGUIDOR DE LINEA

;'* Author : MARCO BRAVO

ELECTROM@R'K

;'* Notice : Copyright (c) 2006 S.C. PIC


;'*

: All Rights Reserved

;'* Date : 27/01/2006

;'* Version : 1.0

;'* Notes :
;'*

*
*

;'****************************************************************

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;ZONA DE CONFUGURACION DEL PIC (AQUIE EDITAMOS)

List p=16F877a;
include "P16F877a.INC"; Definicion de registros internos

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;ZONA DE CONFIURACION DEL TIEMPO CON EL PROGRAMA DEL Picdelay_genera_asm (AQUI


EDITAMOS DEPENDIENDO)

__CONFIG 3D31

PDel0 EQU

0X20

PDel1 EQU

0X21

PDel2 EQU

0X22

PDel00 EQU

0X20

PDel11 EQU

0X21

PDel22 EQU

0X22

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; ESTO ES EL VECTOR (NO TOKAR X NADA)

ORG

00H

GOTO INICIO
ORG

20H

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

; ESTO ES DONDE C HACE ENTRADAS Y SALIDAS (AQUIE EDITAMOS)


INICIO:

BSF

STATUS,RP0

BCF

STATUS,RP1

MOVLW

B'00000000'

MOVWF

TRISB

MOVLW

B'00000011'

MOVWF

TRISC

BCF

STATUS,RP0

BCF

STATUS,C

CLRF

PORTB

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

INICIO DE PROGRAMACION

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

INICIO_PRINCIPAL:

BTFSS PORTC,0
REALICE SU SUBRUTINA CASO CONTRARIO GOTO P2

;PREGUNTA P1 = 1

GOTO SECUENCIA1
BTFSS PORTC,1
GOTO SECUENCIA2
GOTO SECUENCICERO

GOTO INICIO_PRINCIPAL

SECUENCICERO:

MOVLW 0X09 ;MASTER DE SECUENCIA SIGUE ADELANTE LINEA BLANCA


MOVWF PORTB
CALL DEMORA
MOVLW 0X06 ;MASTER DE SECUENCIA DESCARTA LA POSIBLE LINEA Y
RETROCEDE
MOVWF PORTB
CALL DEMORA

GOTO INICIO_PRINCIPAL

SECUENCIA2:

MOVLW 0X05; GUIRO A LA IZQUIEDA


MOVWF PORTB

GOTO INICIO_PRINCIPAL

SECUENCIA1:
BTFSS PORTC,1
GOTO SECUENCIA3
GOTO SECUENCIA4

SECUENCIA3:
MOVLW 0X09

;SIGUE ADELANTE LINEA NEGRA

MOVWF PORTB
GOTO INICIO_PRINCIPAL

SECUENCIA4:
MOVLW 0X0A;DERECHA
MOVWF PORTB
GOTO INICIO_PRINCIPAL

;------------------------------------------------------------; Generado con PDEL ver SP r 1.0 el 19/12/2011 Hs 11:41:24


; Descripcion: Delay 2000000 ciclos

;------------------------------------------------------------DEMORA movlw
movwf

PDel0

PLoop0 movlw
movwf
;

.167

.41

PDel1

; 1 set numero de repeticion (C)

;1|
; 1 set numero de repeticion (B)
;1|

BTFSS PORTC,0

GOTO SECUENCIA1

BTFSS PORTC,1

GOTO SECUENCIA2

GOTO SECUENCICERO

PLoop1 movlw
movwf

.72

PDel2

; 1 set numero de repeticion (A)


;1|

BTFSS PORTC,0
GOTO SECUENCIA1
BTFSS PORTC,1
GOTO SECUENCIA2
GOTO SECUENCICERO

PLoop2 clrwdt

; 1 clear watchdog

decfsz PDel2, 1 ; 1 + (1) es el tiempo 0 ? (A)


goto

PLoop2 ; 2 no, loop

decfsz PDel1, 1 ; 1 + (1) es el tiempo 0 ? (B)


goto

PLoop1 ; 2 no, loop

decfsz PDel0, 1 ; 1 + (1) es el tiempo 0 ? (C)


goto

PLoop0 ; 2 no, loop

BTFSS PORTC,0

GOTO SECUENCIA1

BTFSS PORTC,1

GOTO SECUENCIA2

GOTO SECUENCICERO

PDelL1 goto PDelL2


PDelL2 clrwdt

; 2 ciclos delay
; 1 ciclo delay

;BTFSS PORTC,0
;GOTO SECUENCIA1
;BTFSS PORTC,1
;GOTO SECUENCIA2
;GOTO SECUENCICERO
return

; 2+2 Fin.

;-------------------------------------------------------------

END

You might also like