Saludos desde venezuela.
Querio presentar este proyecto: medir tres sensores lm35 en un pic 16f877A y por cada puerto voy a enviar cada medicion: por ejemplo zona A, zona B, Zona C, mi duda es la siguiente, en el puerto b funciona todo bien mide el sensor y aparecen los numeros exactos, pero en los demas puertos mide el sensor pero me da otras medidas aca les dejo el codigo y el circuito para ver si alguien puede guiarme: no encontre como subir el circuito en proteus para que lo simulen pero leyendo el codigo se pueden guiar
gracias por su tiempo... saludos...
Querio presentar este proyecto: medir tres sensores lm35 en un pic 16f877A y por cada puerto voy a enviar cada medicion: por ejemplo zona A, zona B, Zona C, mi duda es la siguiente, en el puerto b funciona todo bien mide el sensor y aparecen los numeros exactos, pero en los demas puertos mide el sensor pero me da otras medidas aca les dejo el codigo y el circuito para ver si alguien puede guiarme: no encontre como subir el circuito en proteus para que lo simulen pero leyendo el codigo se pueden guiar
gracias por su tiempo... saludos...
Código:
\'****************************************************************
\'* Name : temperatura zonas *
\'* Author : [gerardo salazar] *
\'* Notice : Copyright (c) 2014 [select VIEW...EDITOR OPTIONS] *
\'* : All Rights Reserved *
\'* Date : 23/09/2014 *
\'* Version : 1.0 *
\'* Notes : para cualquier proyecto *
\'* : *
\'****************************************************************
;DEFINE VELOCIDAD DE OSCILADOR
DEFINE OSC 4
\'***************************************************************
; PARÁMETROS DEL ADC
DEFINE ADC_BITS 10 ; NÚMERO DE BITS
DEFINE ADC_CLOCK 3 ; USAR CLOCK RC DEL AD
DEFINE ADC_SAMPLEUS 50 ; TIEMPO DE MUESTREO EN 50US
ADCON0 = %11000000 ; Para habilitar red interna RC.
ADCON1 = %10000000 ; HABILITA TODAS LAS ENTRADAS ANALOGICAS
\'*********************************************************************
; VARIABLES
apaga var word
UNI VAR BYTE
DECE VAR BYTE
CEN VAR BYTE
MIL VAR BYTE
UNIDAD1 VAR BYTE
DECENA1 VAR BYTE
CENTE1 VAR BYTE
MILES1 VAR BYTE
UNIDAD VAR BYTE
DECENA VAR BYTE
CENTE VAR BYTE
MILES VAR BYTE
RES VAR WORD ; RESULTADO DE LA CONVERSIÓN
VAL var word
VAL1 VAR WORD
medida var word
MEDIDA3 VAR WORD
voltio var WORD
PRESION VAR WORD
TEMP1 VAR byte ; TEMPERATURA C
\'***********************************************************************
; HABILITA LOS PUERTOS
TRISA = %11111111 ; TODOS LOS PUERTOS A SON ENTRADAS
TRISB = %00000000 ; TODOS LOS PUERTOS B C D SON SALIDAS
TRISC = %00000000
TRISD = %00000000
;***************************************************************************
; INICIAR EL CANAL 0 TEMPERATURA
INICIO:
ADCIN 0, RES ; LEER EL CANAL A
TEMP1 = 488*RES ; 1024*488=499712;
VAL = div32 100
; RUTINA DEL DISPLAY
PAUSE 200
UNI = VAL DIG 1
PORTB= UNI + 224
PAUSE 100
DECE = VAL DIG 2
PORTB= DECE + 208
PAUSE 100
CEN = VAL DIG 3
PORTB = CEN + 176
PAUSE 100
MIL = VAL DIG 4
PORTB = MIL + 112
PAUSE 100
;lectura del CANAL 1 VOLTAJE
adcin 1, medida
voltio = 488*MEDIDA
;RUTINA DEL DISPLAY
PAUSE 100
UNIDAD = voltio DIG 0
PORTC= UNIDAD + 224
PAUSE 100
DECENA = voltio DIG 1
PORTC= DECENA + 208
PAUSE 100
CENTE = VOLTIO DIG 2
PORTC = CENTE + 176
PAUSE 100
MILES = VOLTIO DIG 3
PORTC = MILES + 112
PAUSE 100
;LECTURA DEL CANAL 2 PRESION
adcin 2, MEDIDA3
PRESION = 488*MEDIDA3
;RUTINA DEL DISPLAY
UNIDAD1 = PRESION DIG 0
PORTD= UNIDAD1 + 224
PAUSE 100
DECENA1 = PRESION DIG 1
PORTD= DECENA1 + 208
PAUSE 100
CENTE1 = PRESION DIG 2
PORTD = CENTE1 + 176
PAUSE 100
MILES1 = PRESION DIG 3
PORTD = MILES1 + 112
PAUSE 100
GOTO INICIO
END ...
Adjuntos
Última edición por un moderador: