TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: hayn en 13 de Noviembre de 2007, 20:40:19
-
:(buenas a todos los compañeros de este foro, soy nuevo en este fascinante mundo y por lo tanto tengo un millon de preguntas pero por este momento solo quisiera en la medida de lo posible que me indicaran si este codigo fuente esta mal o no y cual es el error por que cuando lo intento construirlo me arroja errores y no se que hacer, ojo lo saque de un libro que compre que se llama MICROCONTROLADORES PIC diseño de aplicaciones, autor angulo usategui.
copio textualmente:
LIST P=16F873 ;se indica el tipo de procesador
RADIX HEX ;sitema de numeracion
INCLUDE `P16F873.INC´ ;se incluye la definicion de los registros internos en una libreria
ORG 0*00 ;inicio del vector reset
goto INICIO ;va a la primera instruccion del programa
ORG 0*05 ;salta elvector de interrupcion
INICIO bsf STATUS,RP0 ;cambia al banco 1
bcf STATUS,RP1
clrf TRISB ;puerta b como salida
movlw b`00000110´ ;puertas A E/S digitales
movwf ADCON1
movlw b`00000110´ ;RA1-RA2 entradas
movwf TRISA
bcf STATUS,RP0 ;cambio al banco 0
clrf PORTB ;borrado de leds
clrf PORTA ; borrado de lineas no utilizadas del puerto A
BUCLE movf PORTA,W ;puerta A AE W
btfss STATUS,Z ;comprobacion de Z=1
goto APAGAR ;si RA1-RA2 no son 0
goto ENCENDER ;si RA1-RA2 no son 0
APAGAR clrf PORTB ;se apagan los leds
goto BUCLE ;para volver a comprobar
ENCENDER movwl 0*FF ;se encienden los leds
movwf PORTB
goto BUCLE ;para volver a comprobar
END
-
LIST P=16F873 ;se indica el tipo de procesador
RADIX HEX ;sitema de numeracion
INCLUDE P16F873.INC ;se incluye la definicion de los registros internos en una libreria
ERRORLEVEL -302
ORG 0x00 ;inicio del vector reset
goto INICIO ;va a la primera instruccion del programa
ORG 0x05 ;salta elvector de interrupcion
INICIO bsf STATUS,RP0 ;cambia al banco 1
bcf STATUS,RP1
clrf TRISB ;puerta b como salida
movlw b'00000110' ;puertas A E/S digitales
movwf ADCON1
movlw b'00000110' ;RA1-RA2 entradas
movwf TRISA
bcf STATUS,RP0 ;cambio al banco 0
clrf PORTB ;borrado de leds
clrf PORTA ; borrado de lineas no utilizadas del puerto A
BUCLE movf PORTA,W ;puerta A AE W
btfss STATUS,Z ;comprobacion de Z=1
goto APAGAR ;si RA1-RA2 no son 0
goto ENCENDER ;si RA1-RA2 no son 0
APAGAR clrf PORTB ;se apagan los leds
goto BUCLE ;para volver a comprobar
ENCENDER movlw 0xFF ;se encienden los leds
movwf PORTB
goto BUCLE ;para volver a comprobar
END
-
Que extraño, deberias haber bajado bien los ejemplos del CD que acompaña el libro.... :lol:
O lo copiaste desde un libro en PDF, que se cambiaron los X de la notacion Hexa por signos * ?? :mrgreen:
-
gracias a ambos, yo no me hubiese dado cuenta
-
Hola hayn. Bienvenido al Foro.
Cuando trabajes en assembler usa estas " ' ", no estas " ´ ". La última es usada en la palabra última, y la primera es usada en esta frase I'M Nervous.
Espero haberme exlicado.