controlar motores mediante el pic 16f877a

#1
buenas tengo este programita que he diseñado para controlar unos motores mediante el pic 16f877a y tengo algunos erroresy no se bien donde colocarl el registro para decir que voy a trabajar con un oscilador externo de 4mhz si me pudiesen ayudar agradecido

;*******************************************************
;* Code Produced by the *
;* PROTON+ LITE Compiler. Version 3.0 *
;* Copyright Eysaku Technologies/Crownhill Associates *
;* witten by 0 *
;*******************************************************
list p=16f877

#include "p16f877.inc"


adelante equ 0x10
derecha equ 0x11
izquierda equ 0x12
retrocede equ 0x13
entrada equ 0x14

org 0x00
goto inicio
org 0x10

inicio
movlw 0x2E
movwf adelante
movlw 0x25
movwf izquierda
movlw 0x2D
movwf derecha
movlw 0x36
movwf retrocede


clrf PORTA
bsf STATUS,5
movlw 0x06
movlw ADCON1
movlw 0x1f
movwf TRISA
bcf STATUS,5

clrf PORTB
bsf STATUS,5
movlw 0x06
movlw ADCON1
movlw 0x00
movwf TRISB
bcf STATUS,5

movwf PORTB

lee
movlw PORTA
andlw 0x1f
movf entrada,w
sublw 0x12
btfsc STATUS,Z
goto uno
movlw adelante
movwf PORTB
goto lee


uno
movlw entrada
sublw 0x14
btfsc STATUS,Z
goto dos
movlw izquierda
movwf PORTB
goto lee


dos
movlw entrada
sublw 0x16
btfsc STATUS,Z
goto tres
movlw derecha
movwf PORTB
goto lee

tres
movlw entrada
sublw 0x18
btfsc STATUS,Z
goto lee
movlw retrocede
movwf PORTB
goto lee

end
 
#2
Si utilizas el 16f877A debes cambiar list p=16f877 por list p=16f877A, y también
#include" p16f877.inc" por #include" p16f877A.inc", porque no son iguales
Para configurar el cristal a 4MHz debes modificar los bits de configuracion
 
#4
ahi va una idea

LIST P=16F628A
#INCLUDE<P16F628A.INC>
__CONFIG _XT_OSC & _MCLRE_ON & _CP_OFF & _WDT_OFF & _LVP_OFF & _PWRTE_ON

XT = acetpta un cristal de 4Mhz externo
 
Arriba