Está en la página 1de 2

Start of main program

; The main program code is placed here.


        org 0x1000               
Main:
;    *** main code goes here ***

    call Cfgpuertos


            movlw    0x01           
            movwf    LATD           
    Ciclo:
            btfsc PORTB, 0           
            call Opcion           
            call Derecha           

;******************************************************************************
; Start of subrutines                   
;******************************************************************************
; Cfgpuertos
Cfgpuertos

            movlw    0x0F


            movwf    ADCON1   
            movlw    0x07   
            movwf    CMCON   
            movlw    0x03   
            movwf    TRISB   
            clrf    TRISD   
            return   

; Opcion 
Opcion

            btfsc PORTB, 1           


            goto Ciclo
            call Izquierda           

; Derecha 
Derecha

            rrncf LATD, 1   


            call Retardo   
            goto Ciclo

; Izquierda 
Izquierda
            rlncf LATD, 1       
            call Retardo       
            goto Ciclo

; Retardo 
Retardo

    Retardo               


    movlw d'20'           
    movwf cont1           
Ciclo1
    movlw d'250'       
    movwf cont2       
Ciclo2
    movlw d'249'       
    movwf cont3       
Ciclo3
    nop            
    decfsz cont3, 1       
     goto Ciclo3
    decfsz cont2, 1       
    goto Ciclo2        
    decfsz cont1, 1       
    goto Ciclo1        
return

;******************************************************************************
;End of program

        END

También podría gustarte