mcpiebot
Bovino adicto
- Desde
- 7 Oct 2009
- Mensajes
- 730
- Tema Autor
- #1
[YOUTUBE]http://www.youtube.com/watch?v=k8jT-MZHhx4[/YOUTUBE]
aqui el codigo fuente del pic:
y aqui el diagrama del circuito:
aqui el codigo fuente del pic:
Código:
;*******************************************************************************************
;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 <P16F627a.INC>
__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 aqui el diagrama del circuito: