TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: yiokum en 16 de Noviembre de 2006, 06:29:09
-
Hola, muy buenas. Estoy realizando un proyecto con el PIC16F887 y no me acabo de aclarar con el registro CONFIG. Lo que yo quiero es poder resetear el PIC externamente mediante MCLR y utilizar el reloj interno manteniendo RB6 y RB7 como I/O. Según he podido observar este registro se divide en 2 CONFIG1 y CONFIG2. No se si tengo que programar los dos basta con que programe solo el CONFIG1 que es el que me interesa. Además, en el CONFIG1 aparecen un montón de bits y no se si tengo que programar todos o solo los que me interesen. Por otro lado tengo duda en que si uno de los bits aparece negado y yo lo programo en OFF me refiero a un 1 o a un 0. Yo había pensado en poner lo siguiente:
__CONFIG _CONFIG1, _DEBUG_ON & _MCLRE_ON & _INTRC_INTOSCIO
Me he leido lo que aparece sobre esto en el Data Sheet pero mi nivel de inglés es muy bajo y me cuesta mucho entenderlo. Muchas gracias por su ayuda y disculpen mi ignoracia.
-
Hola. Si. Podes dejar vacía, pero probablemente a la hora de grabar el PIC, el software del grabador de PICs adoptará una configuración predeterminada ya que tu no la habias definido antes.
Aca te dejo parte del contenido del 16F887.INC:
;==========================================================================
;
; Configuration Bits
;
;==========================================================================
_CONFIG1 EQU H'2007'
_CONFIG2 EQU H'2008'
;----- Configuration Word1 ------------------------------------------------
_LVP_ON EQU H'3FFF'
_LVP_OFF EQU H'2FFF'
_FCMEN_ON EQU H'3FFF'
_FCMEN_OFF EQU H'37FF'
_IESO_ON EQU H'3FFF'
_IESO_OFF EQU H'3BFF'
_BOR_ON EQU H'3FFF'
_BOR_NSLEEP EQU H'3EFF'
_BOR_SBODEN EQU H'3DFF'
_BOR_OFF EQU H'3CFF'
_CPD_ON EQU H'3F7F'
_CPD_OFF EQU H'3FFF'
_CP_ON EQU H'3FBF'
_CP_OFF EQU H'3FFF'
_MCLRE_ON EQU H'3FDF'
_MCLRE_OFF EQU H'3FFF'
_PWRTE_ON EQU H'3FEF'
_PWRTE_OFF EQU H'3FFF'
_WDT_ON EQU H'3FFF'
_WDT_OFF EQU H'3FF7'
_LP_OSC EQU H'3FF8'
_XT_OSC EQU H'3FF9'
_HS_OSC EQU H'3FFA'
_EC_OSC EQU H'3FFB'
_INTRC_OSC_NOCLKOUT EQU H'3FFC'
_INTRC_OSC_CLKOUT EQU H'3FFD'
_EXTRC_OSC_NOCLKOUT EQU H'3FFE'
_EXTRC_OSC_CLKOUT EQU H'3FFF'
_INTOSCIO EQU H'3FFC'
_INTOSC EQU H'3FFD'
_EXTRCIO EQU H'3FFE'
_EXTRC EQU H'3FFF'
;----- Configuration Word2 ------------------------------------------------
_WRT_OFF EQU H'3FFF' ; No prog memmory write protection
_WRT_256 EQU H'3DFF' ; First 256 prog memmory write protected
_WRT_1FOURTH EQU H'3BFF' ; First quarter prog memmory write protected
_WRT_HALF EQU H'39FF' ; First half memmory write protected
_BOR21V EQU H'3EFF'
_BOR40V EQU H'3FFF'
En el que podes ver todas las constantes que podes declarar para ambos registros.
Saludos.
-
Muchas gracias por tu respuesta. Todavía me queda alguna dudilla. En el Data Sheet aparece un bit, el bit13 de CONFIG1, que se llama DEBUG y que aparece con lógica negada. Megustaria ponerlo a 1 para poder usar RB6 y RB7 como entradas o salidas, que tengo que ponerlo a on o a off, además, no aparece en la lista que me has mandado. Tu que me aconsejas, programar el mayor número de bits posibles del registro para que no se llenen con basura o dejarlos sin programar. Los bits CPD, CP y PWRTE también aparecen con lógica negada, si los pongo en ON a que se refiere al 1 o al 0 que aparecen en la explicación que da el Data Sheet.
-
Hola.
Lo lógico es que si pones DEBUG_OFF, el modo debug será desactivado. Es decir que si ese bit es de logica negada, el MPASM se encargará de invertir ese bit.
Por lo tanto, te recomiendo que te guíes por lo que pones en la línea de __CONFIG y dejes a un lado, por un rato, lo que dice el datasheet(¡que sino te vas a marear mucho!).
Saludos.
-
Muchas gracias por tu atención y por tu rapida respuesta. :-/
-
Hola de nuevo. No encuentro información sobre el registro Config del 16F877. He buscado en la pagina de microchip pero no acabo de sacar nada en claro. Podría alguien darme algo de información como la arriba puesta para el 16F887
-
Que tal yiokum,
Los archivos .INC de todos lo micros estan disponibles en la carpeta en dodne instalastes el MPLAB, especificamente en la subcarpeta en donde esta el MPASM. Alli encontraras todo lo relacionado con los registro de configuracion de todos lo micros. Asi como Bruno thizo el post del PIC16F887.INC para algun otro como es tu caso sera el PIC16F877.INC. Para visualizarlos pudes usar cualquier editor de texto, ya sea NOTEPD, WORD, etc.
Saludos.
Elreypic.
-
Gracias, ya lo he encontrado.