PROYECTOS » medición de temperatura
'****************************************************************
'* Name : UNTITLED.BAS *
'* Author : [select VIEW...EDITOR OPTIONS] *
'* Notice : Copyright (c) 2022 [select VIEW...EDITOR OPTIONS] *
'* : All Rights Reserved *
'* Date : 15/03/2022 *
'* Version : 1.0 *
'* Notes : *
'* : *
'****************************************************************
INCLUDE "MODEDEFS.BAS"
DEFINE LCD_DREG PORTD 'CONFIGURACION DE LCD
DEFINE LCD_DBIT 4
DEFINE LCD_RSREG PORTD
DEFINE LCD_RSBIT 0
DEFINE LCD_EREG PORTD
DEFINE LCD_EBIT 1
TRISA = %00011111 'PORTA.0...PORTA.4 ENTRADAS
TRISB = %00000000 'PUERTO B TODAS SALIDAS
'DEFINICION DE VARIABLES '
T VAR WORD : TL VAR WORD : TH VAR WORD
'INICIO DE PROGRAMA'
INICIO:
PAUSE 500 'ESPERA 0.5 SEG. PARA INICIAR LCD
LCDOUT $FE, 1, "FACFYM - UNPRG " 'SALUDO INICIAL
LCDOUT $FE,$C0,"TEMP SENSOR LM35" 'SALUDO INICIAL
PAUSE 1500 'ESPERA 1.5 SEG
ADCON1 = $02 'SEL ANO...AN4 COMO ENTRADAS ANALOGICAS
HIGH PORTB.7 'INICIA EN ALTO EL LED OPER
GOTO PRINCIPAL 'SALTO A SUBRUTINA PRINCIPAL
END
'PROGRAMA PRINCIPAL'
PRINCIPAL:
GOSUB TEMPERATURA 'SALTO A SUBRUTINA TEMPERATURA
LCDOUT $FE, 1,"ING.ELECTRONICA" 'VISUALIZA VALORES
LCDOUT $FE,$C0,"TEMPERATURA=",DEC T," C" 'VIZUALIZA VALORES
PAUSE 250 'ESPERA 250 MILISEGUNDOS
TOGGLE PORTB.7 'ALTERNA EL ESTADO DEL LED OPER
GOTO PRINCIPAL 'SALTA A SUBRUTINA PRINCIPALK
END
'SUBRUTINA PARA LEER ADC'
TEMPERATURA:
ADCON0 = $41 '$01000001: FOSC/8;ACTUIVA CANAL 0 ,JUST IZQU.
GOSUB ESPERA 'SALTA A SUBRUTINA ESPERA
TH=ADRESH*4 'DEZPLAZA EL REG ADRESH 2 BITS IZQUIERDA
TL=ADRESL/64 'DESPLAZA EL REG ADRESL 6 BITS DERECHA
T=TH+TL 'FORMA EL DATO TEMPERATURA DE 10 BITS
T=T/2 'LM 0-1V ; VALOR T:0-205 :1023/5
RETURN
'SUBRUTINA DE ESPERA'
ESPERA:
PAUSEUS 50 'ESPERA 50 MICROSEGUNDOS
ADCON0.2 = 1 'INICIA LA CONVERSACION
PAUSEUS 50 'ESPERA PARA TERMINAR LA CONVERSASION
RETURN