Como siempre las respuestas de Marcelo son sumamente completas.
Yo me atrevería a agregar que para la dirección se puede tambien utilizar un servomotor, que se controla con una sencilla rutina de PWM.
Hola! Saludos a todos! Les cuento que soy nuevo en esto y estoy realizando mi primer proyecto con PIC (16F628A). Mi idea es manejar un servo motor por medio de pwm...Hasta ahoro no eh tenido mucho exito... lo que hice es:
		Código:
	
	#INCLUDE <P16F628A.INC>
                
__CONFIG _CP_OFF & _WDT_OFF & _BODEN_ON & _PWRTE_ON & _INTOSC_OSC_NOCLKOUT & _DATA_CP_OFF & _LVP_OFF & _MCLRE_ON
                
ERRORLEVEL -302
	                
                ORG     		 0x00
                GOTO    		INICIO
 
INICIO
                                          
                BANKSEL                        TRISB
                CLRF                             TRISB
                MOVLW        	             0XFF           
                MOVWF       	             TRISA
                BANKSEL     	             PORTB
                CLRF      	             PORTB
                BSF       	             PORTB,0         
                BSF         	             PORTB,2      
                BCF         	             PORTB,1         
                                                      	
	BANKSEL			TRISB
	MOVLW			B'00001000'
	MOVWF			TRISB	          ; PIN CCP1 COMO ENTRADA
	MOVLW			0xFF	          ;VALOR SALE DE ECUACION
	MOVWF			PR2	           ;PERIODO PWM
	BANKSEL			CCP1CON
	MOVLW			B'00111111'	; -- BITS MENOS SIGNF. RESOL.
	MOVWF			CCP1CON		;MODO PWM
	MOVLW			B'11111111'	;CICLO DE TRABAJO
	MOVWF			CCPR1L		;CICLO DE TRABAJO
	BANKSEL			PIR1
             BCF		             PIR1,1	            ;CERO BAND. DE INTERRUP.
	BSF		             T2CON,0		;ESCALADOR 1:16
	BSF			T2CON,1		;ESCALADOR 1:16
	BSF			T2CON,2		;INICIO TEMP.
HERE
	BTFSS			PIR1,TMR2IF	;DESB. TIMER
	GOTO			HERE				
	BANKSEL			TRISB
	CLRF			TRISB		;PUERTO B COMO SALIDA
AQUI				GOTO			AQUI
            END
	Lo simule en el Proteus y lo unico que hace es llevar el servomotor hasta un extremo.
Espero puedan ayudarme! Estare muy agradecido!
Saludos a todos!
PD: Hay una parte al principio del programa que pone a "1" y "0" un par de salidas. Ignorarla.
Emanuel
			
				Última edición por un moderador: