Haz una pregunta
  Foros de Electrónica » Temas de Interés » Dudas en general
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

12/10/2015 #1


Me gustaría que me ayudaran con Microcode
Mucho gusto soy nuevo y quisiera presentarme con una pregunta
¿alguno de ustedes sabe cual es el código para activar el cristal de cuarzo interno del pic16f628a (para no tener que ponerle un cristal de cuarzo externo de 4 Mhz) ?
para el programa Microcode studio ( mi PC es de 64 bits y el codigo que tengo no lo acepta)

código:

@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT \'Reloj interno solo
@ DEVICE pic16F628A, WDT_OFF \' Watchdog Timer desconectado
@ DEVICE pic16F628A, PWRT_ON \' Power-On Timer conectado
@ DEVICE pic16F628A, BOD_ON \' Brown-Out Detect conectado
@ DEVICE pic16F628A, MCLR_OFF \' Master Clear Externo desconectado
@ DEVICE pic16F628A, LVP_OFF \' Low-Voltage Programming desconectado
@ DEVICE pic16F628A, CPD_OFF \' Data Memory Code Protect desconectado
@ DEVICE pic16F628A, PROTECT_ON \' Program Code Protection conectado ...
12/10/2015 #2
Moderador general

Avatar de Fogonazo

zaqueshi dijo: Ver Mensaje
Mucho gusto soy nuevo y quisiera presentarme con una pregunta
¿alguno de ustedes sabe cual es el código para activar el cristal de cuarzo interno del pic16f628a (para no tener que ponerle un cristal de cuarzo externo de 4 Mhz) ?
para el programa Microcode studio ( mi PC es de 64 bits y el codigo que tengo no lo acepta)

código:

@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT \'Reloj interno solo
@ DEVICE pic16F628A, WDT_OFF \' Watchdog Timer desconectado
@ DEVICE pic16F628A, PWRT_ON \' Power-On Timer conectado
@ DEVICE pic16F628A, BOD_ON \' Brown-Out Detect conectado
@ DEVICE pic16F628A, MCLR_OFF \' Master Clear Externo desconectado
@ DEVICE pic16F628A, LVP_OFF \' Low-Voltage Programming desconectado
@ DEVICE pic16F628A, CPD_OFF \' Data Memory Code Protect desconectado
@ DEVICE pic16F628A, PROTECT_ON \' Program Code Protection conectado ...
¿ Cristal interno ?
12/10/2015 #3


Fogonazo dijo: Ver Mensaje
¿ Cristal interno ?
lo que quiero es no tener que ponerle un cristal de cuarzo
es activar el reloj interno del pic con un codigo como el que puse
12/10/2015 #4

Avatar de papirrin

No es un cristal, es una RC (resistencia capacitor) interno que hace oscilar a lo que tenga que oscilar...

y esta es la instruccion...

INTRC_OSC_NOCLKOUT

el noclkout es para no sincronizar el pic con otros integrados...
12/10/2015 #5


papirrin dijo: Ver Mensaje
No es un cristal, es una RC (resistencia capacitor) interno que hace oscilar a lo que tenga que oscilar...

y esta es la instruccion...

INTRC_OSC_NOCLKOUT

el noclkout es para no sincronizar el pic con otros integrados...
OK ahora la siguiente pregunta
¿donde coloco la instrucción y como defino la velocidad de oscilación (4Mhz)?
12/10/2015 #6

Avatar de papirrin

Depende de que versión uses y con que estés compilando si es con pbp o mpasm y con el oscilador interno solo es de 4 MHz no se configura nada mas solo si usas instrucciones que estén ligadas a la velocidad pones define osc 4
13/10/2015 #7


papirrin dijo: Ver Mensaje
Depende de que versión uses y con que estés compilando si es con pbp o mpasm y con el oscilador interno solo es de 4 MHz no se configura nada mas solo si usas instrucciones que estén ligadas a la velocidad pones define osc 4
estoy usando la versión 3.0.0.5 del microcode
del picbasic pro es la 2.60

y estoy utilizando mpasm

a y queria saber si el pic16f628a tiene pwm y como lo utilizo
13/10/2015 #8

Avatar de papirrin

prueba asi:

#CONFIG
__config _FOSC_INTOSCIO & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF &_LVP_OFF & _CPD_OFF & _CP_OFF
#ENDCONFIG

y si tiene PWM y necesitas leer la ficha tecnica, los registros involucrados son estos:
Imágenes Adjuntas
Tipo de Archivo: jpg Dibujo.JPG (82,6 KB (Kilobytes), 14 visitas)
13/10/2015 #9


papirrin dijo: Ver Mensaje
prueba asi:

#CONFIG
__config _FOSC_INTOSCIO & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BOREN_OFF &_LVP_OFF & _CPD_OFF & _CP_OFF
#ENDCONFIG

y si tiene PWM y necesitas leer la ficha tecnica, los registros involucrados son estos:
me marca error al colocar la configuracion
ERROR Line 11: Syntax error.
13/10/2015 #10

Avatar de papirrin

pon el codigo completo...

y lee esto:
http://melabs.com/support/config_defaults.htm

me parece que es algo como esto:

@ __config _INTRC_OSC_NOCLKOUT

o asi todos los fuses
@ __config _INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_ON & _MCLRE_OFF & _BODEN_OFF & _LVP_OFF & _CP_ALL & _DATA_CP_OFF

ya hace rato que no uso el 2.6 y no recuerdo bien XD
13/10/2015 #11
Moderador

Avatar de D@rkbytes

zaqueshi dijo: Ver Mensaje
Me marca error al colocar la configuración.
ERROR Line 11: Syntax error.
Si, te dará error porque ese tipo de palabra de configuración es para MicroCode StudioX con PBPX >v5.X.X.X

Busca el archivo "16F628A.INC" en la carpeta de instalación de PBP.
Ahí verás los fuses por defecto de la palabra de configuración.
Verás que está condicionada para dos tipos de compilación por una instrucción IFDEF
La parte que debes modificar es la parte ELSE.

Ésto es lo que debes ver dentro del archivo:
Código:
    NOLIST
    ifdef PM_USED
        LIST
        include 'M16F62xA.INC'  ; PM header
        device  pic16F628A, xt_osc, wdt_on, mclr_on, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F628A, r = dec, w = -302
        INCLUDE "P16F628A.INC"  ; MPASM  Header
        __config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
        NOLIST
    endif
    LIST
Puedes comentar con ";" (Punto y coma) para mantener la configuración por defecto, o eliminarla.
Después, escribes la palabra de configuración que requieras, en éste caso usando el oscilador interno. (4 MHz.)
Código:
    NOLIST
    ifdef PM_USED
        LIST
        include 'M16F62xA.INC'  ; PM header
        device  pic16F628A, xt_osc, wdt_on, mclr_on, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F628A, r = dec, w = -302
        INCLUDE "P16F628A.INC"  ; MPASM  Header
        ;__config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
        __config _FOSC_INTOSCIO & _WDT_OFF & _PWRTE_ON & _LVP_OFF
        NOLIST
    endif
    LIST
Prueba de esta forma usando MPASM porque mencionas que usas Windows a 64 Bits.

Nota:
Si al usar _FOSC_INTOSCIO aparece un error, usa; _INTRC_OSC_NOCLKOUT

Suerte.
23/10/2015 #12


D@rkbytes dijo: Ver Mensaje
Si, te dará error porque ese tipo de palabra de configuración es para MicroCode StudioX con PBPX >v5.X.X.X

Busca el archivo "16F628A.INC" en la carpeta de instalación de PBP.
Ahí verás los fuses por defecto de la palabra de configuración.
Verás que está condicionada para dos tipos de compilación por una instrucción IFDEF
La parte que debes modificar es la parte ELSE.

Ésto es lo que debes ver dentro del archivo:
Código:
    NOLIST
    ifdef PM_USED
        LIST
        include 'M16F62xA.INC'  ; PM header
        device  pic16F628A, xt_osc, wdt_on, mclr_on, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F628A, r = dec, w = -302
        INCLUDE "P16F628A.INC"  ; MPASM  Header
        __config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
        NOLIST
    endif
    LIST
Puedes comentar con ";" (Punto y coma) para mantener la configuración por defecto, o eliminarla.
Después, escribes la palabra de configuración que requieras, en éste caso usando el oscilador interno. (4 MHz.)
Código:
    NOLIST
    ifdef PM_USED
        LIST
        include 'M16F62xA.INC'  ; PM header
        device  pic16F628A, xt_osc, wdt_on, mclr_on, lvp_off, protect_off
        XALL
        NOLIST
    else
        LIST
        LIST p = 16F628A, r = dec, w = -302
        INCLUDE "P16F628A.INC"  ; MPASM  Header
        ;__config _XT_OSC & _WDT_ON & _MCLRE_ON & _LVP_OFF & _CP_OFF
        __config _FOSC_INTOSCIO & _WDT_OFF & _PWRTE_ON & _LVP_OFF
        NOLIST
    endif
    LIST
Prueba de esta forma usando MPASM porque mencionas que usas Windows a 64 Bits.

Nota:
Si al usar _FOSC_INTOSCIO aparece un error, usa; _INTRC_OSC_NOCLKOUT

Suerte.

ya puse el codigo que me diste y si compilo
pero los codigos
@ DEVICE pic16F628A, INTRC_OSC_NOCLKOUT 'Reloj interno solo
@ DEVICE pic16F628A, WDT_OFF ' Watchdog Timer desconectado
@ DEVICE pic16F628A, PWRT_ON ' Power-On Timer conectado
@ DEVICE pic16F628A, BOD_ON ' Brown-Out Detect conectado
@ DEVICE pic16F628A, MCLR_OFF ' Master Clear Externo desconectado
@ DEVICE pic16F628A, LVP_OFF ' Low-Voltage Programming desconectado
@ DEVICE pic16F628A, CPD_OFF ' Data Memory Code Protect desconectado
@ DEVICE pic16F628A, PROTECT_ON ' Program Code Protection conectado
siguen sin funcionar y me preguntaba si con el codigo que me distes es suficiente para activar el reloj interno del pic sin tener que usar los codigos
23/10/2015 #13
Moderador

Avatar de D@rkbytes

Me parece que no leíste bien todo lo que expliqué.
Eso que estás poniendo con @ DEVICE, no te va a funcionar porque usas Windows a 64 Bits.
Esa es la palabra de configuración y funciona sin usar MPASM, con PBP 2.60 y en Windows de 32 Bits.

Lo que necesitas es realizar el procedimiento que mencioné.
También puedes compilar el programa con los fuses que establezca el compilador y posteriormente los cambias en el programa que uses para grabar el PIC.
23/10/2015 #14


D@rkbytes dijo: Ver Mensaje
Me parece que no leíste bien todo lo que expliqué.
Eso que estás poniendo con @ DEVICE, no te va a funcionar porque usas Windows a 64 Bits.
Esa es la palabra de configuración y funciona sin usar MPASM, con PBP 2.60 y en Windows de 32 Bits.

Lo que necesitas es realizar el procedimiento que mencioné.
También puedes compilar el programa con los fuses que establezca el compilador y posteriormente los cambias en el programa que uses para grabar el PIC.
ya me funciono ya realiza el procedimiento muchísimas gracias
de casualidad hay un post donde pueda aprender a manejar un servo-motor con el microcode que utilizo para que gire 180 grados de esta manera: izquierda enfrente derecha
24/10/2015 #15

Avatar de torres.electronico

zaqueshi dijo: Ver Mensaje
ya me funciono ya realiza el procedimiento muchísimas gracias
de casualidad hay un post donde pueda aprender a manejar un servo-motor con el microcode que utilizo para que gire 180 grados de esta manera: izquierda enfrente derecha
SI! en el buscador del foro la encontraras
Igualmente, si observas los temas destacados en el subforo de microcontroladores, encobtraras un topico muy bueno donde el profe Ricardo nos ayuda y enseña hace ya un buen rato
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Dudas en general

Aquí se tratan todos los temas relacionados con la electrónica en general.

Cerrar
Foros de Electrónica » Temas de Interés » Dudas en general

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.