ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Termometro Digital


Enviado por   •  29 de Abril de 2013  •  14.145 Palabras (57 Páginas)  •  362 Visitas

Página 1 de 57

Termómetro digital

OBJETIVO.

El fin perseguido por este montaje es usar el ADC del PIC. El ADC es un módulo que convierte un voltaje analógico en una cifra digital. A su vez nosotros mediante otro artificio de software convertiremos la cifra hexadecimal en decimal. El convertidor analógico digital lo graduaremos para que mida de 5 milivoltios en 5 milivoltios.

La cifra obtenida será un número hexadecimal equivalente al nº de saltos dados. Así, si tengo 24(h) saltos y cada salto es de 5 milivoltios tendré un valor de B4(h) voltios. Como los humanos contamos con el código decimal, está cifra nos resulta muy difícil de cuantificar. Mediante un pequeño artificio matemático la convertimos al código decimal, obteniendo el nº 180(10), 180 milivoltios.

El sensor nos dice el fabricante que da 10 milivoltios por cada grado centígrado. Esos 180 milivoltios los dividimos entre diez y obtenemos 18,0 ºC

Esquema

Circuito electrónico: LCD + PIC + LM35D.

Fuente de alimentación: Regulada a 5,115 voltios

Patillaje del PIC 16F876.

Conexionado del PIC 16 F876.

Conexionado de la pantalla LCD 2 x 16.

Buzzer o chicharra.

Patillaje del LM35D.

Conexionado del sensor de temperatura LM35D.

PROGRAMA: termolm35.asm

El programa empezará titulando el montaje con la siguiente pantalla:

A continuación saldrá una carátula en la pantalla con los lugares

donde saldrán las temperaturas en formato hexadecimal ( nº directo

del ADC), formato hexadecimal del nº anterior pero multiplicado por

cinco ( cada salto del ADC es de 5 milivoltios) y por último en formato decimal.

Y por fin la temperatura en los tres formatos. Por ejemplo:

Nº hexadecimal del ADC = 0021h

Nº hexadecimal del ADC x 5 = 00A5h

Nº decimal = 016.5 ºC

;---------------------------------------------------------

;OSCILLATOR = XTAL/4 MHz.

;CODE PROTECT = CP OFF

;FUSES:

;WDT = NO

;PWRT = SI

;BODEN = SI

;LVP = NO

;CPD = NO

;WRT = SI

;DEBURGGER = NO

;-----------------------------------------------------

;-----------------------------------------------------

;Proyecto: termómetro LM35D

;-----------------------------------------------------

LIST p=16f876

INCLUDE "p16f876.inc"

pagina0 macro

bcf PCLATH,4

bcf PCLATH,3

endm

pagina1 macro

bcf PCLATH,4

bsf PCLATH,3

endm

pagina2 macro

bsf PCLATH,4

bcf PCLATH,3

endm

pagina3 macro

bsf PCLATH,4

bsf PCLATH,3

endm

;--------------------------

ORG 00h

goto inicio

ORG 04h

goto int

int

nop

retfie

ORG 10h

;----------------------------

; I N I C I O

;----------------------------

inicio

;Configuraciones de hard-soft.

;Configurar PA0-5 (A/D.); configurar puerto A para los convertidores ADC.

call banco1

movlw 84h

movwf ADCON1

call banco0

call paconfig

;Configurar PB1-7 salidas.; configurar puerto B para la LCD.

pagina3

call pbconfig

;Configuración inicial LCD.

call lconfigI

;Configuración de trabajo LCD.

call lconfigW

call lcdtm; TERMO

pagina0

;Activar/desactivar buzzer.

call bz1

call sg1

call bz1

;---------------------------------

;Termómetro LM35.

;---------------------------------

pagina3

call lcdtmc; TERMÓMETRO A/D,x5 y decimal.

pagina0

call sg1

call sg1

call bz300

convs

call banco1

movlw 84h

movwf ADCON1

call banco0

call paconfig

movlw 0c1h; CANAL0 y Fosc interno.

movwf ADCON0

call usg150

bsf ADCON0,GO

conv

btfsc ADCON0,GO

goto conv

call banco1

movf ADRESL,0

call banco0

movwf 61h

movf ADRESH,0

movwf 60h

pagina1

call multx5; multiplicar por 5 el nº del ADC en hexadecimal.

pagina0

pagina2

call hexdecT; convertir el nº hexadecimal en decimal.

pagina0

pagina3

call lcdbase2; ver el nº hex ADC.

call lcdbase3; ver el nº anterior mult x 5.

call lcdbase4; ver el nº en decimal.

pagina0

goto convs

;------------------------------------------

;------------------------------------------

;------------------------------------------

;-----------------------------------

;Configurar el Puerto A.

;-----------------------------------

paconfig

call banco1

movlw 1bh

movwf TRISA

call banco0

return

...

Descargar como (para miembros actualizados) txt (39 Kb)
Leer 56 páginas más »
Disponible sólo en Clubensayos.com