Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Éste y algunos otros PIC, cuentan con un sistema llamado (Fail-Safe Clock Monitor)el microcontrolador debería funcionar con un reloj externo de 16MHz pero a pesar de que se lo quito éste sigue funcionando
Para trabajar con un oscilador externo se debe usar el fuse EXT_RC.mi duda es como se hace que trabaje con un reloj externo de 16MHz, es necesario configurar el registro OSCCON?
nesecito ayuda cuando compilo en proton sale este error
error:usb key not found
Ese mensaje es debido a que el programa no está registrado.hola, estoy iniciandome en programacion con proton que descargue de internet, pero no me compila el programa, me tira un error que dice : USB Key not found.
Alguien me puede ayudar con esto ? gracias.
Device 16F887
'* PALABRAS DE CONFIGURACIÓN.
Config1 EXT_RC_ON,HS_OSC_ON,PWRTE_ON,MCLRE_ON,CP_OFF,CPD_OFF,WDT_OFF,FCMEN_ON,IESO_OFF,LVP_OFF,BOR_OFF
Config2 FCMEN_OFF,WRT_OFF,BOR21V
'* CONFIGURACIÓN DEL OSCILADOR INTERNO.
Xtal=16
'* TODOS LOS PUERTOS SE CONFIGURAN COMO DIGITALES.
All_Digital = true
'* SE DEFINEN LOS PARÁMETROS DEL CONVERSOR ANALÓGICO.
Declare Adin_Res = 10 ; 10 bits de resolución.
Declare Adin_Tad = 32_FOSC ; Seleccionar OSC.
Declare Adin_Stime = 50 ; 50uS para tiempo de muestreo.
Debe ser porque está mal tu palabra de configuración.que me pasa es que conecto el circuito y el PIC se reinicia cada segundo aproximadamente, al quemarlo con el masterprog me tira el siguiente aviso "faltan bits de configuración en el archivo HEX!!"
Reminders = False
Config1 EXTRCIO,LVP_OFF,FCMEN_OFF,IESO_OFF,MCLRE_ON,PWRTE_ON,WDTE_OFF
Config2 WRT_OFF,BOR21V
Reminders = True
Es muy importante el uso de esas declaraciones, ya que de ellas depende la resolución de la conversión.otra duda es que estuve revisando el Declare Adin_Tad = 32_FOSC y tengo duda si está bien escrito ya que voy a utilizar un oscilador externo de 16MHz, según la ayuda es uno de los siguentes DECLARE ADIN_TAD 2_FOSC , 8_FOSC , 32_FOSC , or FRC, pero no estoy seguro si es el 32_FOSC.
Dependiendo del tipo de PIC, son los fuses que tiene, no todos tienen los mismos.D@rkbytes ¿podrías indicarme dónde puedo encontrar información sobre los fuses? Gracias.
Pero el pic sigue funcionando cuando le quito el cristal de 16MHz y no se ve ninguna diferencia en los tiempos de operación, cuando está con el cristal y cuando no, ya verifique la conexión y todo anda bien, sospecho de estas lineas de mi programa, no sé si afecten el PORTA.6 y 7 (pines para el clock):Debe ser porque está mal tu palabra de configuración.
Código:Reminders = False Config1 EXTRCIO,LVP_OFF,FCMEN_OFF,IESO_OFF,MCLRE_ON,PWRTE_ON,WDTE_OFF Config2 WRT_OFF,BOR21V Reminders = True
'* TODOS LOS PUERTOS SE CONFIGURAN COMO DIGITALES.
All_Digital = true
'* SE DEFINEN LOS PARÁMETROS DEL CONVERSOR ANALÓGICO.
Declare Adin_Res = 10 ; 10 bits de resolución.
Declare Adin_Tad = FRC ; Seleccionar OSC.
Declare Adin_Stime = 50 ; 50uS para tiempo de muestreo.
Reminders = False
Config1 EXT_RC_ON,HS_OSC_ON,EXTRCIO,PWRTE_ON,MCLRE_ON,WDT_OFF,LVP_OFF,BOR_OFF
Config2 FCMEN_OFF,WRT_OFF,BOR21V
Reminders = True
¿Estás usando un oscilador externo a 16MHz, o un cristal de 16MHz.?Gracias por la información D@rkbytes, ahora estuve haciendo pruebas con el código que me mandaste
Pero el pic sigue funcionando cuando le quito el cristal de 16MHz y no se ve ninguna diferencia en los tiempos de operación, cuando está con el cristal y cuando no, ya verifique la conexión y todo anda bien, sospecho de estas lineas de mi programa, no sé si afecten el PORTA.6 y 7 (pines para el clock):
Nop, esas líneas del programa no afectan a los pines del oscilador.sospecho de estas lineas de mi programa, no sé si afecten el PORTA.6 y 7 (pines para el clock):
Código:'* TODOS LOS PUERTOS SE CONFIGURAN COMO DIGITALES. All_Digital = true '* SE DEFINEN LOS PARÁMETROS DEL CONVERSOR ANALÓGICO. Declare Adin_Res = 10 ; 10 bits de resolución. Declare Adin_Tad = FRC ; Seleccionar OSC. Declare Adin_Stime = 50 ; 50uS para tiempo de muestreo.
En esa palabra de configuración aparte de tener mal la sintaxis, no debes repetir los fuses del oscilador.También intenté poner las otras palabras de configuración, pero me tira el mismo error en el masterprog:
No sé si algo estoy haciendo mal, pienso que una forma de verificar que el FSCM esté apagado es desconectar el cristal una ves que el PIC esté funcionando y que éste deje de funcionar o que en su defecto la velocidad de operaciones del PIC disminuya. Nuevamente gracias por la ayuda.Código:Reminders = False Config1 EXT_RC_ON,HS_OSC_ON,EXTRCIO,PWRTE_ON,MCLRE_ON,WDT_OFF,LVP_OFF,BOR_OFF Config2 FCMEN_OFF,WRT_OFF,BOR21V Reminders = True
Config1 HS_OSC,LVP_OFF,FCMEN_OFF,IESO_OFF,MCLRE_ON,PWRTE_ON,WDTE_OFF
Config2 WRT_OFF,BOR21V
Me saliò el siguiente mensaje de error (ver adjunto)
¿como puedo solucionarlo?
'****************************************************************
'* Name : detector IR.BAS *
'* Author : miborbola *
'* Notice : Copyright (c) 2013 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 04/06/2013 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
Device = 16F628 'SE DECLARA EL TIPO DE MICROCONTROLADOR A UTILIZAR
Config INTRC_OSC_NOCLKOUT, WDT_OFF, PWRTE_ON, BODEN_OFF, LVP_OFF, CP_OFF, MCLRE_OFF, DATA_CP_OFF 'se configuran fusibles de operacion (oscilador interno)
Xtal = 4 ' DELCARAMOS LA FRECUENCIA DEL OSCILADOR EN EL MICROCONTROLADOR
All_Digital = On
TRISA = %11111100 ' SE CONFIGURA PORTA COMO ENTRADAS
TRISB = %10000000 ' se configura el portb como salidas de la 0 a la 6 y la 7 como entrada
Symbol ROJO = PORTB.4 'LED ROJO QUE INDICARA CUANDO ESTA OCUPADO EL LUGAR
Symbol VERDE = PORTB.5 'LED VERDE QUE INDICARA CUANDO ESTA LIBRE EL LUGAR
Symbol RECEPTOR=PORTB.7 'ENTRADA CONFIGURADA PARA DAR ACUSE, SI EL FOTORECEPTOR SENSA LA FRECUENCIA EMITIDA POR EL DIODO EMISOR INFRAROJO
Symbol HABILITA=PORTB.6 'salida que se utiliza para habilitar los pulsos del led infrarojo o Modulacion del Led infrarojo
'
Low ROJO ' nos aseguramos de tener en nivel bajo nuestros leds a manera de "inicializacion"
Low VERDE '
Low HABILITA '
TRISB.3 = 0 ' SE DECLARA QUE PUERTO SE UTILIZARA COMO SALIDA PWM PARA EL DIODO EMISOR INFRAROJO
PR2 = 25 ' configura frecuencia 38KHz
CCPR1L = 15 ' configura el Duty-Cycle al 50%
CCP1CON = %00001100 ' selecciona el modo de PWM
T2CON = %00000100 ' enciende el Timer2 ON + 1:1 prescale
Inicio:
Low HABILITA ' activamos rafaga infraroja de 38 khertz en el ambiente
DelayUS 125 ' esperamos a que se propague el infrarojo en el ambiente
If RECEPTOR=0 Then GoTo Enciende ' si el receptor LF 1838 detecta la rafaga de 38 khz va a la rutina Enciende,
If RECEPTOR=1 Then GoTo Apaga ' si no la detecta va a la rutina Apaga
High HABILITA ' Desactivamos la rafaga de 38 khz en el ambiente
DelayUS 125
GoTo Inicio ' volvemos al Inicio
Enciende:
High ROJO ' Encendemos el Led rojo para indicar que se detecto un objeto y,
Low VERDE ' Apagamos led verde
Confirma: ' Con la finalidad de confirmar que un objeto se encuentra proximo se inicia este ciclo
High HABILITA ' nos aseguramos de no tener la rafaga infraroja de 38 khertz en el ambiente
DelayMS 2000 'esperamos dos segundos, aunque puede ser mayo o menor el tiempo
Low HABILITA ' activamos rafaga 38 kilohertz nuevamente
DelayUS 125
If RECEPTOR=0 Then GoTo Confirma' Si el recepto LF 1838 detecta rafaga de 38 khz salta a Confirma mientras se detecte objeto
High HABILITA 'si no se detecta rafaga (objeto) apagamos ragaga
DelayUS 125
GoTo Inicio 'Regresamos al Inicio
Apaga:
Low ROJO 'Como no se detecto rafaga de 38 khz apagamos led ROJO y
High VERDE 'Encendemos led Verde
GoTo Inicio
Intenta tomando varias muestras de la lectura, y luego obtén el valor promedio.Bueno, siguiendo con éste hilo del amperímetro, tengo un problema a la hora de medir, y es que la medición oscila tremendamente (en la realidad) y no sé por que oscila tan feo