Aqui les dejo el codigo fuente:
;*******************************************************************************************
;W W W . C O S A S D E I N G E N I E R I A . C O M
;ING. MIGUEL ANGEL PIEDRA ANGELES
;GERENTE DE INVESTIGACION Y DESARROLLO
;*******************************************************************************************
;DECLARACION DE LIBRERIA
INCLUDE
__CONFIG _BODEN_OFF & _CP_ON & _DATA_CP_ON & _INTRC_OSC_NOCLKOUT & _LVP_OFF & _MCLRE_OFF & _PWRTE_OFF & _WDT_OFF
;DECLARACION DE LOS REGISTROS DE PROPOSITO GENERAL QUE SE USARAN EN EL PROGRAMA
CBLOCK 0X20
NUM1,NUM2, NUM3
W_TEMP
STATUS_TEMP
BSR_TEMP
DATO
ENDC
;DECLARACION DEL ORIGEN DEL PROGRAMA
ORG 0X00
GOTO INICIO
org 0x04 ;Interrupcion de alta prioridad
goto INTERR
;SUBRUTINA DE INTERRUPCION
INTERR
MOVF RCREG,W
MOVWF DATO
MOVF DATO,W
MOVWF TXREG
BCF PIR1,RCIE
RETFIE
;CONFIGURACIONES
INICIO: MOVLW 0X07
MOVWF CMCON
CLRF PORTA ;ELIMINO POSIBLES LATCH
CLRF PORTB
CALL USART_INI
CALL PWM_INI
CALL PORTS_INI
START: MOVF DATO,W
SUBLW "+"
BTFSS STATUS,Z
GOTO NEXT
CALL INCRE
CLRF DATO
GOTO START
NEXT: MOVF DATO,W
SUBLW "-"
BTFSS STATUS,Z
GOTO NEXT1
CALL DECRE
CLRF DATO
GOTO START
NEXT1: MOVF DATO,W ;ADELANTE
SUBLW "I"
BTFSS STATUS,Z
GOTO NEXT2
BCF PORTA,0
BSF PORTA,1
BCF PORTA,2
BSF PORTA,3
CLRF DATO
GOTO START
NEXT2: MOVF DATO,W;DETENIDO
SUBLW "K"
BTFSS STATUS,Z
GOTO NEXT3
BCF PORTA,0
BCF PORTA,1
BCF PORTA,2
BCF PORTA,3
CLRF DATO
GOTO START
NEXT3: MOVF DATO,W;IZQUIERDA
SUBLW "O"
BTFSS STATUS,Z
GOTO NEXT4
BCF PORTA,0
BSF PORTA,1
BCF PORTA,2
BCF PORTA,3
CLRF DATO
GOTO START
NEXT4: MOVF DATO,W;DERECHA
SUBLW "U"
BTFSS STATUS,Z
GOTO NEXT5
BCF PORTA,0
BCF PORTA,1
BCF PORTA,2
BSF PORTA,3
CLRF DATO
GOTO START
NEXT5: MOVF DATO,W;DERECHA
SUBLW "M"
BTFSS STATUS,Z
GOTO NEXT6
BSF PORTA,0
BCF PORTA,1
BSF PORTA,2
BCF PORTA,3
CLRF DATO
GOTO START
NEXT6: MOVF DATO,W;IZQUIERDA
SUBLW "L"
BTFSS STATUS,Z
GOTO NEXT7
BCF PORTA,0
BSF PORTA,1
BSF PORTA,2
BCF PORTA,3
CLRF DATO
GOTO START
NEXT7: MOVF DATO,W;DERECHA
SUBLW "J"
BTFSS STATUS,Z
GOTO START
BSF PORTA,0
BCF PORTA,1
BCF PORTA,2
BSF PORTA,3
CLRF DATO
GOTO START
INCRE: CALL RETARDO
INCFSZ CCPR1L
RETURN
DECF CCPR1L
RETURN
DECRE: CALL RETARDO
DECFSZ CCPR1L
RETURN
INCF CCPR1L
RETURN
PWM_INI:
BANKSEL TRISB
BSF TRISB,3
MOVLW D'255'
MOVWF PR2
BCF TRISB,3
BANKSEL CCPR1L
MOVLW B'00001111'
MOVWF CCP1CON
MOVLW D'127'
MOVWF CCPR1L
clrf T2CON
BSF T2CON,TMR2ON
RETURN
USART_INI:
BANKSEL TRISB
BSF TRISB,1
BSF TRISB,2
MOVLW 0X24
MOVWF TXSTA
MOVLW D'25'
MOVWF SPBRG
BSF PIE1,RCIE
MOVLW 0XC0
MOVWF INTCON
BANKSEL PORTB
MOVLW 0X90
MOVWF RCSTA
RETURN
PORTS_INI
BANKSEL TRISB
BCF TRISA,0
BCF TRISA,1
BCF TRISA,2
BCF TRISA,3
BANKSEL PORTB
RETURN
RETARDO MOVLW .1
MOVWF NUM3
OTRA3 MOVLW .100
MOVWF NUM2
OTRA2 MOVLW .166
MOVWF NUM1
OTRA: DECFSZ NUM1,F
GOTO OTRA
DECFSZ NUM2,F
GOTO OTRA2
DECFSZ NUM3
GOTO OTRA3
RETURN
END
;*******************************************************************************************
y el diagrama del circuito:

3 comentarios:
Buen dia, disculpa, en que lenguaje programaste el pic?
La verdad yo solo he programado pic en C, que tan complicado es el lenguaje que usas o que tan complicado seria utilizar este modulo en lenguaje C?
Hola, que tal?
Programo el pic en lenguaje ensamblador, es bastante accesible y poderoso.
Para usar el modulo con Lenguaje C solamente tienes que habilitar el modulo serial y enviar y recibor informacion, ya que el modulo bluetooth no es mas que un puente entre la PC y el pic.
Saludos!
muchas gracias por la informacion
tengo dos dudas por favor me podrias decir los motores que estas utilizando y el simulador que utilizas me parece el proteus el problema es que yo no tengo la libreria para el modulo bluetooth por favor si tienes la libreria me podrias ayudar pasandomela mi mail es cold.is.deco@gmail.com
Publicar un comentario