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:
 
	 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		 
 
		
