Descargar

Sistema de control de temperatura (página 2)

Enviado por Josele


Partes: 1, 2
nima (25 por defecto),la minima sea 28. // 2)la temp actual (23 por ej) es menor a la maxima (25 por defecto), la maxima sea 23.

switch(x){ case 1: case 2: if(templcd>tempminlcd) { tempminlcd=templcd; }x++;break;

if(templcdPORTD){

lcd_control(0x80); error(); RA1=1; }

else{

lcd_control(0x80); RA1=0; prueba3();

} //SI LA TEMP MIN RANGO>TEMP MAX RANGO=>ERROR.

//primera fila del lcd //rango mal introducido //desactivamos led calor,ya q hay error en el rango

//SI NO…

//primera fila del lcd //APAGAMOS LED RA1 //MOSTRAMOS CALOR EN LCD if (templcd > PORTD){ //SI LA TEMP ES MAYOR Q LA Q LE INTRODUCIMOS //(LA MAXIMA Q QUEREMOS). if (PORTC>PORTD){

lcd_control(0x80); error(); RA2=1; }

else{ lcd_control(0x80); RA2=0; prueba4(); //SI LA TEMP MIN RANGO>TEMP MAX RANGO=>ERROR.

//primera fila del lcd //rango mal introducido //desactivamos led frio, ya q hay error.

//primera fila del lcd //APAGAMOS LED RA2 //MOSTRAMOS FRIO EN LCD } }

6

edu.red

//*********PARA VOLVER A ENCENDER LOS LEDS RA1 RA2*************** if (templcd=PORTC){ RA1=1; //SI LA TEMP = A LA MINIMA INTRODUCIDA //ENCENDEMOS LED CALOR.. }

//********************************************************************* for (t=0;t4 ) ); //D7-D4=0011. D3-D0=rangmin&(0xF0); lcd_dato(0x30 | ( rangmin & (0x0F) ) ); lcd_dato(' ');

} //D7-D4=0011. D3-D0=rangmin&(0x0F); void prueba3(void){ //TEXTO Y TEMPERATURA A ENVIAR AL LCD. lcd_dato('A'); lcd_dato('C'); lcd_dato('T'); lcd_dato('U'); lcd_dato('A'); lcd_dato('L'); lcd_dato(':'); lcd_dato( 0x30 | (templcd & (0xF0))>>4 ); //D7-D4=0011. D3-D0=templcd&(0xF0); lcd_dato( 0x30 | ( templcd & (0x0F) ) ); //D7-D4=0011. D3-D0=templcd&(0x0F); lcd_dato(' '); lcd_dato('C'); lcd_dato('A'); lcd_dato('L'); lcd_dato('O'); lcd_dato('R'); lcd_dato(' '); lcd_dato(' ');

}

10

edu.red

void prueba4(void){ //TEXTO Y TEMPERATURA A ENVIAR AL LCD. lcd_dato('A'); lcd_dato('C'); lcd_dato('T'); lcd_dato('U'); lcd_dato('A'); lcd_dato('L'); lcd_dato(':'); lcd_dato( 0x30 | (templcd & (0xF0))>>4 ); //D7-D4=0011. D3-D0=templcd&(0xF0); lcd_dato( 0x30 | ( templcd & (0x0F) ) ); //D7-D4=0011. D3-D0=templcd&(0x0F); lcd_dato(' '); lcd_dato('F'); lcd_dato('R'); lcd_dato('I'); lcd_dato('O'); lcd_dato(' '); lcd_dato(' '); lcd_dato(' ');

}

void error(void) {

lcd_dato('A'); lcd_dato('C'); lcd_dato('T'); lcd_dato('U'); lcd_dato('A'); lcd_dato('L'); lcd_dato(':'); lcd_dato( 0x30 | (templcd & (0xF0))>>4 ); //D7-D4=0011. D3-D0=templcd&(0xF0); lcd_dato( 0x30 | ( templcd & (0x0F) ) ); //D7-D4=0011. D3-D0=templcd&(0x0F); lcd_dato(' '); lcd_dato('E'); lcd_dato('R'); lcd_dato('R'); lcd_dato('O'); lcd_dato('R'); lcd_dato(' '); lcd_dato(' ');

}

11

edu.red

void lcd_dato(unsigned int dato){

RE2=1; for(i=0;i

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente