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