Device = 16F877A 'DESIGNAMOS EL PIC A USAR
Xtal = 4 'CRYSTAL A USAR
'DECLARACION DEL LCD
Declare LCD_Type 0 'DECLARAR TIPO DE LCD ALFANUMERICO.
Declare LCD_DTPin PORTD.4 'DECLARAR EL CONTROL EN PINES D4; D5; D6; D7.
Declare LCD_RSPin PORTD.0 'DECLARAR RS EN PIN D0.
Declare LCD_ENPin PORTD.1 'DECLARAR E EN PIN D1.
Declare LCD_Interface 4 'INTERFAZ DE 4 LINEAS
Declare LCD_Lines 2 '2 LINEAS DE ESCRITURA DEL LDC
'CONFIGURACION DEL PUERTO SE COMUNICACION SERIAL
Hserial_Baud = 2400 ' VELOCIDAD DE SISTEMA A 2400 BAUDIOS
Hserial_RCSTA = %10010000 ' HABILITAR LA RECEPCION CONTINUA
Hserial_TXSTA = %00100000 ' PERMITE TRANSMITIR Y MODO ASINCRONO
Hserial_Clear = On ' BORRA EL BUFFER ANTES DE RECIBIR
'DEFINO PUERTOS
TRISB = 0 'PUERTO B COMO SALIDAS
TRISD = 0 'PUERTO D COMO SALIDAS
TRISC.7 = 1 'PIN C.7 COMO ENTRADA RX
Clear PORTA 'LIMPIA EL PUERTO A
Clear PORTB 'LIMPIA EL PUERTO B
Clear PORTC 'LIMPIA EL PUERTO C
Clear PORTD 'LIMPIA EL PUERTO D
Clear PORTE 'LIMPIA EL PUERTO E
'DECLARO VARIABLES Y ALIAS
Dim MEDICION As Word
Dim TEMP As Float
Symbol BLUE = PORTB.2
Symbol RED = PORTB.1
Print 254,64,%00000110,%00001001,%00001001,%00000110,0,0 ,0,0 'DETERMINO EL SIMBOLO GRADOS
Cls 'LIMPIO LCD
'TEXTO DE PRESENTACION
Print At 1,1," PROYECTO " 'PRIMERA FILA (MAXIMO DE LETRAS 16)
Print At 2,1," MECATRONICO " 'SEGUNDA FILA (MAXIMO DE LETRAS 16)
DelayMS 2000
Cls
DelayMS 500
Print At 1,1," CONTROL DE "
Print At 2,1," TEMPERATURA "
DelayMS 2000
Cls
DelayMS 500
INICIO:
HSerIn [MEDICION] 'RECIBE DATOS RS 232
TEMP = MEDICION * 5/1024 'ACONDICIONADO DE LAS VARIABLES
TEMP = TEMP * 100
Print At 1,1, " TEMPERATURA " 'IMPRIME TEXTO BASE
Print At 2,1, "ACTUAL"
Print At 2,8,Dec1,TEMP,0 'IMPRIME VALOR ACONDICIONADO DE LA MEDICION
Print "C"
If TEMP <= 25 Then 'RANGO PARA EL CONTROL DE TEMPERATURA ENTRE 25 Y 30 GRADOS
RED = 1
BLUE = 0
End If
If TEMP > 25 And TEMP < 30 Then
RED = 0
BLUE = 0
End If
If TEMP >= 30 Then
RED = 0
BLUE = 1
End If
DelayMS 1000
GoTo INICIO
End