TODOPIC

Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: soymoe en 29 de Agosto de 2010, 11:07:17

Título: No puedo configurar el registro OPTION de 12c50a
Publicado por: soymoe en 29 de Agosto de 2010, 11:07:17
Estoy haciendo un pequeño proyecto con el PIC 12c509A y al tratar de configurar el regsitro option, este siempre queda en 00H :5]. Aqu le paso el programa principal.

Código: [Seleccionar]
LIST p=12c509A
STATUS EQU 03H
GPIO EQU 06H
Bandera EQU 08H; INDICA SI SE PULSA UNA TECLA
TMRO EQU 01H
ORG 00H
__CONFIG 0FFAH
GOTO PROGRAMA
#INCLUDE "pulso.inc"
PROGRAMA
BCF Bandera,0;BORRO LA BANDERA
CLRF TMRO;
MOVLW b'11111101' ;GP0 ENTRADA,GP1 SALIDA
TRIS GPIO
MOVLW   b'1100101' 
OPTION ;TRANSFIERO AL OPCION
MOVLW b'11111101'
MOVWF GPIO
LEER CALL pulso
BTFSS Bandera,0;ME INDICA SI SE PULSO UNA TECLA
GOTO LEER
BSF GPIO,1;SE PONE EN UNO SI PULSO LA TECLA
NOP
GOTO LEER
END
Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: pablomanieri en 29 de Agosto de 2010, 12:28:44
El registro OPTION es de solo escritura, como sabes que no lo puedes configurar. Creo que no se puede leer el estado de ese registro, solo lo escribes.


Edito el mensaje, me equivoqué, si se puede saber el estado, en la simulación con mplab o con ISIS, lo he probado.
En la parte del programa que colocaste debería escribir el valor correcto. Tal vez lo estás sobreescribiendo con 0 en alguna otra parte del código.
Verifica que en el archivo pulso.inc no lo escribas con 0
Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: soymoe en 29 de Agosto de 2010, 15:57:38
Hola, gracias. Lo simule en el MPlab y el OPTION_REG aparece como 00H. Aqui les dejo la rutina "pulso".Tengo que estar seguro de que se programa el OPTION antes de grabarlo en el PIC.
Código: [Seleccionar]
pulso
BCF Bandera,0;BIT CERO ES BANDERA
BTFSC GPIO,0
GOTO NADA
NOSOLTO BTFSS GPIO,0
GOTO    NOSOLTO
BSF     Bandera,0;PULSO TECLA
NADA    NOP
RETLW 00H
Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: pablomanieri en 29 de Agosto de 2010, 16:23:45
Que raro, que se carge con 00H, ya que en el momento del reset se carga con FFh. y la única instrucción que te carga es OPTION. Lo compilé y lo simulé y haciendo un step by step, después de la instrucción OPTION y se carga correctamente el valor del registro OPTION_REG. Esperemos a ver si a alguien le sucedió algo parecido. En Configure/Select device, tienes configurado correctamente el pic 12c509a?. Cuando compilás el programa, te tira algun warning?
Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: soymoe en 29 de Agosto de 2010, 16:38:50
Yo estoy usando el mplab 6.4, si al poner view->special funcion register el OPTION_REG queda siempre en 00H.Será el mplab?
Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: pablomanieri en 29 de Agosto de 2010, 16:42:46
Tal vez sea el mplab. Yo estoy usando la versión 8.4
Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: BOSER en 30 de Agosto de 2010, 01:06:04
Hola:

La isntruccion OPTION esta obsoleta. Reemplazá la línea por 

     movwf    OPTION_REG

asegurate de que estas usando la directiva

#include "pic12c509.inc"

para no tener que definir la posicion de memoria de los registros

Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: soymoe en 01 de Septiembre de 2010, 19:28:33
El registro OPTION no tiene una direccion asignada en este PIC. Voy a probar actualizar el MPlab.
Título: Re: No puedo configurar el registro OPTION de 12c50a
Publicado por: pablomanieri en 01 de Septiembre de 2010, 19:39:29
Si tienes el isis proteus, prueba simularlo ahí y ver si cambia registro.