Autor Tema: No puedo usar todo el PortA como i/o del 16f628a  (Leído 2244 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado JUAN PINTO

  • PIC10
  • *
  • Mensajes: 5
No puedo usar todo el PortA como i/o del 16f628a
« en: 12 de Junio de 2019, 23:34:19 »
Hola amigos del foro.
Otra vez vuelvo a molestarles y espero puedan ayudarme nuevamente.
Estoy programando con PicBasic; usando el Pic 16f628a y tengo la necesidad de usar los pines 5, 6 y 7 de PortA como i/o. Tengo varios días investigando y probando en Proteus.  Funciona todo, menos los pines 5, 6 y 7 del PortA. 
He leído en este y otros foros, páginas, etc. donde indican repetidamente que para lograrlo se usa el comando  “CMCON = 7” al comienzo del programa. He probado con "DEFINE INTOSC " "ALLDIGITAL" incluso combinándolos  y de manera independiente a  todos ellos y.... NADA     
Hice un programita y un circuito de lo más sencillo posible para probarlo; lo simulo en Proteus y NADA, no me funciona. Porfa, que alguien me diga ¡Qué estoy haciendo mal!, ¿Qué falta?,  ya no sé qué más probar. Agradezco vuestra ayuda.
Éste es el programita sencillito de prueba.
De antemano... Muchas gracias.

TRISA = %00100000
TRISB = %00000000
cmcon = 7 ' to disable portA comparators
INICIANDO:
LED VAR PORTA.0 'Este si funciona en el simulador
HIGH LED
PAUSE 200
LOW LED
PAUSE 200

LED2 VAR PORTA.6 'Éste.....Nada que ver. No funciona.
HIGH LED2
PAUSE 200
LOW LED2
PAUSE 200

GOTO INICIANDO
END

 

Desconectado luismh

  • PIC16
  • ***
  • Mensajes: 149
Re:No puedo usar todo el PortA como i/o del 16f628a
« Respuesta #1 en: 13 de Junio de 2019, 08:52:46 »
Hola,

RA5 es MCLR en este micro. Entiendo que no podés usarlo como I/O.
Por otro lado, RA6 y RA7 son entradas de oscilador. Dependiendo de tu configuración de oscilador, podrás usarlos o no. La pregunta es ¿Qué configuración de oscilador estás usando?

Saludos.
Luis.

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1295
Re:No puedo usar todo el PortA como i/o del 16f628a
« Respuesta #2 en: 13 de Junio de 2019, 09:02:26 »
Que tal Juan Pinto,
Cual versión del compilador de Picbasic estás usando?
Pbp 2.xx o Pbp 3.xx?

Una cosa más, el puerto RA5 solo puede ser puerto de entrada, nunca de salida.

Si estás usando el PBP 2.60C o menor debes usar la directiva __config para colocar correctamente los fusibles del microcontrolador
En tu caso es para decirle que use el oscilador interno y que habilite los pines RA6 y RA7.

 

* PBP260C.JPG
(21.68 kB, 380x224 - visto 502 veces)


Para esto tienes que agregar la siguiente linea:

@   __config _INTRC_OSC_NOCLKOUT & _MCLRE_OFF

Luego buscas en el directorio donde tienes instalado el PBP, el archivo 16F628A.INC. Abre el archivo con un block de notas o con el mismo Microcode Studio. En ese archivovas a encontrar una linea como la siguiente:

__config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF

a esa linea agrégale un ";" al inicio para dejarlo como comentario

;__config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF

guarda el archivo y vuelve a recompilar en el Microcode Studio.

Si estas usando PBP 3.0 o superior como se muestra en la siguiente imagen:

 

* PBP30104.JPG
(27.52 kB, 422x269 - visto 517 veces)


Entonces solamente agregas lo siguiente al inicio de tu código:

#CONFIG
   __CONFIG   MCLRE_OFF & _INTRC_OSC_NOCLKOUT
#ENDCONFIG

y listo, en esta version no necesitas modificar ningún archivo más. Simplemente recompila usando Microcode Studio.

Elreypic
« Última modificación: 13 de Junio de 2019, 09:48:24 por elreypic2 »

Desconectado wolfman77

  • PIC12
  • **
  • Mensajes: 82
    • Dos en la ruta
Re:No puedo usar todo el PortA como i/o del 16f628a
« Respuesta #3 en: 13 de Junio de 2019, 16:21:30 »
Hola Juan, proba con esto:

@ DEVICE pic16F628, INTRC_OSC_NOCLKOUT
@ DEVICE pic16F628, MCLR_OFF
Volviendo al mundo de los PIC....

Desconectado JUAN PINTO

  • PIC10
  • *
  • Mensajes: 5
Re:No puedo usar todo el PortA como i/o del 16f628a
« Respuesta #4 en: 15 de Junio de 2019, 17:57:00 »
Gracias amigos, les agradezco vuestra ayuda.
Si, el problema estaba en la versión que tenía istalada del PBP; efectivamente mi versión era la 2.50
Seguí los pasos de "elreypic2" y  :-/
Gracias a Dios por uds.
Continuaré con mi programita y nos seguiremos leyendo.
Que Dios les siga bendiciendo.