Codigo Para El Robot

  • November 2019
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Codigo Para El Robot as PDF for free.

More details

  • Words: 572
  • Pages: 3
El siguiente programa controla el carro Funcion : Controla el carro con 2 motores, 1 bumper y 1 sensor. ;############################################################# ;#################### CABEZERAS ############################## LIST p=PIC16F84A ; Directiva para definir micro. #include ; Fichero standard de cabezera. __CONFIG _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ;#################### DEFINICIONES ########################### w_temp EQU 0x0C ; Variable para guardar W. status_temp EQU 0x0D ; Variable para guardar STATUS. con0 EQU 0x0E ; Variable de temporizacion. con1 EQU 0x0F ; Variable de temporizacion. con2 EQU 0x10 ; Variable de temporizacion. des EQU 0x11 ; Unidades. ;################ COMIENZO DEL PROGRAMA ##################### ORG 0x00 ; Vector de Reset. GOTO inicio ; Programa Principal. ;################ PROGRAMA PRINCIPAL ######################### inicio BSF STATUS,RP0 ; Banco 1 MOVLW B'11000000' MOVWF TRISB ;Configuramos I/O PORTB MOVLW B'00000000' MOVWF TRISA ; Configuramos I/O PORTA BCF STATUS,RP0 ; Banco 0 CLRF PORTB ini2 MOVLW 0xFF MOVWF des ini3 BTFSS PORTB,7 ;salta si es 1 no hay choque GOTO choque BTFSS PORTB,6 ;salta si el sensor pone a 1 GOTO ini4 GOTO choque ini4 INCF des,1 ;incrementa desplazamiento PAP MOVF des,W SUBLW 0x04 BTFSS STATUS,Z ; fin del desplazamiento PAP GOTO alante GOTO ini2 alante MOVF des,W CALL frente MOVWF PORTB ;mueve motor 1 MOVWF PORTA ;mueve motor 2 CALL delay ;para que no gire demasiado rápido GOTO ini3 choque CLRF PORTA MOVF des,W CALL frente MOVWF PORTB ;mueve motor 1 supuesto esta a derecha

CALL delay BTFSS PORTB,7 GOTO girad BTFSS PORTB,6 GOTO ini4 girad CLRF PORTB MOVF des,W CALL frente MOVWF PORTA ;mueve motor 2 de la izquierda INCF des,1 MOVF des,W SUBLW 0x04 BTFSS STATUS,Z ; fin del desplazamiento PAP GOTO cont CLRF des cont MOVF des,W CALL frente MOVWF PORTA ;vuelve a moverle par recuperar el giro a der. BTFSS PORTB,7 GOTO atrás BTFSS PORTB,6 GOTO ini4 atrás MOVF des,W CALL detrás MOVWF PORTB MOVWF PORTA MOVWF PORTB MOVWF PORTA ;realiza dos pasos atrás GOTO ini4 ;************************************************************ ; RUTINA: delay ; Función: Produce un retardo ; Entrada: nada ; Salida: nada ; Variables utilizadas: con1, con2 ;************************************************************ delay MOVLW 0x10 MOVWF con1 MOVLW 0x01 MOVWF con2 loop DECFSZ con1,F GOTO loop DECFSZ con2,F GOTO loop RETURN ;************************************************************ ; FIN DE RUTINA: delay ;************************************************************ ;************************************************************ ; RUTINA: frente ; Función: Tabla para mover motor PAP 1 ; Entrada: valor en W. ; Salida: RB0 a RB3 a activar --> W. ; Variables utilizadas: nada ;************************************************************ frente ADDWF PCL,F

RETLW B'00001010' ; --> paso 1 RETLW B'00001001' ; --> paso 2 RETLW B'00000101' ; --> paso 3 RETLW B'00000110' ; --> paso 4 ;************************************************************ ; FIN DE RUTINA: frente ;************************************************************ ;************************************************************ ; RUTINA: detrás ; Función: Tabla para girar a izq. motor PAP. ; Entrada: valor en W. ; Salida: salidas a --> W. ; Variables utilizadas: nada ;************************************************************ detrás ADDWF PCL,F RETLW B'00000110' ; --> paso 4 RETLW B'00000101' ; --> paso 3 RETLW B'00001001' ; --> paso 2 RETLW B'00001010' ; --> paso 1 ;******************************************************* ;################## FIN DE RUTINAS ########################## ;################## FIN DE PROGRAMA ######################## END ; Fin de programa.

$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$4 NOS SIRVE PARA MANEJAR LOS MOTORES CONTINUOS ; ZONA DE DATOS # DEFINE ENTRADA DE MARCHA PORT A, O # DEFINE ENTRADA SENTIDO PORT A, 4 ; ZONA DE CODIGOS ORG 0 INICIO BSF STATUS, RP 0 BSF ENTRADA MARCHA BSF ENTRADA SENTIDO BSF PORT B BCF STATUS, RP 0 PRINCIPAL CLRW BTFSC ENTRADA MARCHA GOTO ACTIVA SALIDA MOVLW B'00010010' BTFSC ENTRADA SENTIDO MOVLW B'00010001' ACTIVA SALIDA MOVWF PORT B GOTO PRINCIPAL

Related Documents

Codigo Para El Robot
November 2019 13
Robot
November 2019 37
Codigo Para Blog Radio
October 2019 37
Robot
May 2020 20
El Codigo Da Vici
June 2020 13