solo en 32 bits.. pero puede instalarse en windows de 64 bits
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.
Hola. Soy nuevo en el foro.
Necesito de su ayuda.
Requiero hacer un datalogger de luz (lumenes o luxes) que almacene algunas muestras tomadas en la memoria interna y después las transfiera a una base de datos como LabView.
Mi pregunta es: puedo hacer el datalogger por separado mostrando en una lcd los lumenes y en la misma ldr conectar el DAQ que han hecho en este foro y mostrar el comportamiento en labview o c#.
La pagina Sixca no aparece en internet
Hola. pretendo hacer 2 circuitos.
1.- Datalogger con cualquier pic que muestre los lumenes en una lcd provenientes de una LDR.
2.- Crear una tarjeta de adquisición de datos que se conecte a la LDR para mandar los datos a la PC.
¿Creen que halla problemas si ambos circuitos están tomando datos de la misma LDR?
//***************************************************************************************
// PROGRAMA: Que efectúa al adquisición de datos
// OBJETIVO: Abir la puerta al tratamiento de señales en control digital
// FECHA: 14 de Febrero 2017
// DISEÑO: FJVP
//***************************************************************************************
#include <18F4550.h>
#device ADC=8
#FUSES WDT //Watch Dog Timer
#FUSES WDT1 //Watch Dog Timer uses 1:1 Postscale
#FUSES FCMEN //Fail-safe clock monitor enabled
#FUSES IESO //Internal External Switch Over mode enabled
#FUSES PUT //Power Up Timer
#FUSES NOBROWNOUT //No brownout reset
#FUSES BORV21 //Brownout reset at 2.1V
#FUSES VREGEN //USB voltage regulator enabled
#FUSES PBADEN //PORTB pins are configured as analog input channels on RESET
#FUSES LPT1OSC //Timer1 configured for low-power operation
#FUSES MCLR //Master Clear pin enabled
#FUSES STVREN //Stack full/underflow will cause reset
#FUSES NOLVP //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOXINST //Extended set extension and Indexed Addressing mode disabled (Legacy mode)
#FUSES NOPROTECT //Code not protected from reading
#FUSES NOCPB //No Boot Block code protection
#FUSES NOCPD //No EE protection
#FUSES NOWRT //Program memory not write protected
#FUSES NOWRTC //Configuration registers not write protected
#FUSES NOWRTB //Boot block not write protected
#FUSES NOWRTD //Data EEPROM not write protected
#FUSES NOEBTR //Memory not protected from table reads
#FUSES NOEBTRB //Boot block not protected from table reads
//-------- Configuración de la velocida del procesador -------
#FUSES PLL1 // Cristal de 12Mhz/3 = 4Mhz de entrada al
#FUSES CPUDIV1 // 96Mhz (del PLL) /2 =48Mhz reloj del sistema
#FUSES HSPLL // Se le dice al programador del chip que usa oscilador primaro derivado del PLL
//------ Definición de registros de hardware ----
#WORD OSCCON=getenv("sfr:OSCCON")
//#WORD OSCCON=0xFD3
#WORD PORTC=getenv("sfr:PORTC")
#BYTE PORTC_L=PORTC
#BIT LED=PORTC_L.0 //RC0
//--------- Directiva para generar base de tiempo en el leguanje PICC---
#use delay(clock=48000000,restart_wdt)
//----sub rutina para serial
#use RS232(BAUD=9600,XMIT=PIN_C6,RCV=PIN_C7,BITS=8,ERRORS,RESTART_WDT)
//------- Variables globales-----------
unsigned char BUF_DAT[500];
long PUNT,i;
Boolean BAND_CAP,BAND_LISTO;
//-------- Subrutina que efectúa el flasheo --------------
void FLASHEO(long TIE)
{
LED=1;
delay_ms(TIE);
LED=0;
delay_ms(TIE);
LED=1;
delay_ms(TIE);
LED=0;
delay_ms(TIE);
RESTART_WDT();
return;
}
//----- Subrutina de servicio de interrupción del timer 0 ---------
#INT_TIMER0
void INT_SOB_TMR0(void)
{
LED=~LED; // Bit toggle del LED
if(BAND_CAP)
{
if(PUNT<500)
{
BUF_DAT[PUNT]=READ_ADC(); // Se captura cada muestra de la señal
PUNT++; // Aumento el puntero
}
else
{
PUNT=0;
BAND_LISTO=True;
BAND_CAP=False;
}
}
SET_TIMER0(65535-12000); // Se obliga a ejectuar 12,000 cuentas que son Fs=1Khz
RESTART_WDT();
return;
}
//--------SUBRUTINA DE USART
#INT_RDA
void INT_REC_SER(void)
{
unsigned char DATO;
if(kbhit()) // verificar si hay dato disponible en el UART
{
DATO=GETC(); //
//PUTC(DATO);
if(DATO=='D')
{
//printf("Iniciando captura de frame........ \n\r");
PUNT=0;
BAND_CAP=True;
}
else
{
PUNT=0;
//printf("Comando no valido........... \n\r");
BAND_CAP=False;
}
}
RESTART_WDT();
return;
}
//------- Subrutina que inicializa el procesador ---------
void INI_CPU(void)
{
OSCCON=0;
SET_TRIS_A(0xFF); //RA0 Generador de señales
SET_TRIS_B(0xFF);
SET_TRIS_C(0B10111110); //RC0.-LED, RC6.-TX,RC7.-RX
SET_TRIS_D(0xFF);
SET_TRIS_E(0xFF);
SETUP_TIMER_0(T0_INTERNAL|T0_DIV_1);
SET_TIMER0(65535-12000); // Se obliga a ejectuar 12,000 cuentas que son Fs=1Khz
SETUP_ADC(ADC_CLOCK_INTERNAL);
SETUP_ADC_PORTS(ALL_ANALOG);
SET_ADC_CHANNEL(0); //Se configura para leer RA0
ENABLE_INTERRUPTS(INT_TIMER0);
ENABLE_INTERRUPTS(INT_RDA); //INTERRUPCION RECEPCION SERIAL
ENABLE_INTERRUPTS(GLOBAL);
RESTART_WDT();
return;
}
//--- Cuerpo de programa principal ------
void main()
{
INI_CPU(); // Llamada a inicializar el procesador
FLASHEO(100); // Llamada a una subrutina que efectúa un flasheo de un led
BAND_CAP=False;
while(TRUE)
{
if(BAND_LISTO)
{
for(i=0;i<500;i++)
{
//printf("Dato No.%ld=%X \n\r",i,BUF_DAT[i]);
printf("%X",BUF_DAT[i]);
RESTART_WDT();
}
BAND_LISTO=False;
}
RESTART_WDT();
}
}