Exemple #1
0
 void caratula(void)
 {
     lcd_comand(0b00001100);             //Enciende display sin cursor y sin blink  
     lcd_gotoxy(1,1);        
     lcd_putrs("UNIMIC");
     sprintf(buffer2,"%02u/%02u/%02u",dia,mes,anio);
     lcd_gotoxy(9,1);
     lcd_putrs(buffer2);
     sprintf(buffer2,"%02u:%02u:%02u",hora,minuto,segundo);
     lcd_gotoxy(1,2);
     lcd_putrs(buffer2);
  b=b++;
     if(b<7)
        {
         lcd_gotoxy(1,1);
         lcd_putrs("UNIMIC");
        }
     if(b>6)
        {
         if(b==11){b=0;}
         lcd_gotoxy(1,1);
         lcd_putrs("      ");
        }
 }
void main (void) {

    // Interrupt configs
    RCONbits.IPEN = 0;      // Deshabilitar prioridades
    INTCONbits.PEIE = 1;    // Habilitar interrupciones de perifericos
    INTCONbits.GIE = 1;     // Habilitar interrupciones globales

    // Inicializa el USART y lo configura a 8N1, 9600 badios
    OpenUSART(
            USART_TX_INT_OFF &          // TX sin interrupciones
            USART_RX_INT_ON &           // RX con interrupciones
            USART_ASYNCH_MODE &         // Modo asincronico
            USART_EIGHT_BIT &           // 8 bits de datos
            USART_CONT_RX &             // Recepci?n continua
            USART_BRGH_HIGH, 129        // 9600 baudios a 20 mhz (calcular con PicBaudRate)
    );

    // Init LCD
    lcd_init();
    lcd_gotoxy(0,2);
    lcd_putrs("   Temp:        ");

    // Safety?
    __delay_ms(39);

    while (1) {

        if (dataFlag != 0) {
            dataFlag = 0;

            // Convierte el float a string
            sprintf(strGrados, "%2.1f,", grados);

            if      (data == 0xFD) putcUSART(0xFD);         // Control
            else if (data == 0xFF) putsUSART(strGrados);    // Env�a info

        }

        Medir_Temperatura();
        __delay_ms(39);
        grados = Leer_DS18B20();

        lcd_gotoxy(10,2);
        printf("%2.1f", grados);
    }
}
void main (void) {

	lcd_init();
	lcd_gotoxy(4,1);
	lcd_putrs("EEPROM PIC\n");

	// Busca �ltimo contador
	contador = eeprom_read(direccion);	 // TODO: Fix this

	while (1) {

		direccion = 12;

		contador++;
		eeprom_write(direccion, contador);
		Busy_eep();						// Espera a que termine de escribir NO OLVIDAR!!

		sprintf(str_int, "Contador:%03d", eeprom_read(direccion));
		lcd_puts(str_int);

	}
}