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); } }