Sunteți pe pagina 1din 7

Tcnicas

Digitales
II
TP Gabinete N3

Conversores A/D
Alumno: Miralles Pedro

Ejercicio N2

Se desea medir la temperatura en el exterior de la cabina de un


avin cuyos valores extremos se estiman en -45 C/+50 C
La medicin ser mostrada en un display de 2 dgitos con el formato
XX (Unidades y decenas de C)
El transductor entrega valores normalizados del tipo -5Vcc a +5Vcc
El conversor A/D tiene una resolucin de 6 bits y entrega
informacin digital en binario natural (entero y positivo)

Consideraciones

Debemos acondicionar la seal para que resulte en el rango de 0 a 5V que es lo


que el PIC puede medir en su ADC

Se aadir un segmento de indicacin de temperatura negativa

Slo debemos usar 6bits de los 10 que tiene el PIC, por lo tanto debemos atenuar
la seal

Clculos
Al poder mostrar slo unidades y decenas, debemos mostrar 95 valores (rango extremos)
Nuestro conversor A/D dispone de 64 pasos
Obtenemos 1,5/paso de resolucin
Si utilizo slo 6 bits (64 pasos) el mximo voltaje de entrada debe ser 0,3125V

LEVEL SHIFTER

CIRCUITO EN PROTEUS

PREGUNTAS:
A) De cuntos C (con 3 decimales) ser el salto de un valor binario al siguiente?

El ADC de 6 bits tiene 64 valores para digitalizar un a rango de -45 grados a


50 grados. Por lo cual obtenemos 1.5/paso
B) Qu valores mostrar el display en la zona de los (-)20C a los (-)21C, considerando
variaciones de 0,1C entre los valores a considerar (Total 11 Valores)?

Desde -19,5 hasta 20,9 grados el display va a mostrar 20y desde -21 hasta 22,5 grados el display va a mostrar 21
C) Valor de CERO (0) a la salida del transductor y en Binario a la salida del conversor A/D.

Para el varlor (0) a la salida del transductor, o btendremos 155mV y la salida


del conversor nos mostrar 11110
D) Valor de FONDO de ESCALA (FS) a la salida del transductor y en Binario a la salida del
conversor A/D

Para FS en el transductor obtendremos 5V, y luego del acondicionamiento


0,3125mV. La salida del conversor mostrar 111111
E) Valor terico de temperatura que representa el MSB en ALTO y todos los dems bits en BAJO

El valor terico de temperatura que representa el MSB en alto y los dems en


bajo es de 3 grados (100000) equivalente al bit 32 del ADC
F) Valor de tensin a la salida del transductor, binario a la salida del conversor y valor mostrado en
el display para una temperatura de 25C

Para 25C tenemos un voltaje de 2,263v en el transductor, 101110 y el valor


mostrado en el display va a ser de 24 grados.
G) Valor que representa de LSB expresado en C.

Para LSB=0 representa los -45 grados y el LSB=1 representa los -43.5 grados
(muestra -44)

********CDIGO***********
list
p=16f877A
#include
<p16f877A.inc>
;ByteAlto
equ
0x20 ; Registro para guardar Byte alto de la conversion.ByteBajo
equ
0x21 ; Regsitro para guardar Byte bajo de la conversion.Contador
equ
0x22 ; registro utilizado en demora.tiempo
equ 0x26 ;
; ************************************************
Configuracion
org
0x00
bsf
STATUS,RP0
clrf
TRISB
movlw 0x8E
movwf ADCON1
bcf
STATUS,RP0 ; Banco 0
clrf
PORTB

Inicio
movlw 0x41
movwf ADCON0
call
Demora_20us
bsf
ADCON0,GO
Espera
btfsc
goto

ADCON0,GO
Espera

bsf
STATUS,RP0 ; Banco 1
movf ADRESL,W
bcf
STATUS,RP0 ; Banco 0.movwf ByteBajo
bcf
ADCON0,ADON
;muestra por los display
movf ByteBajo,w
call
tabla
movwf PORTB
goto Bucle

Bucle
movlw 0x05
movwf tiempo
Demora
decfsz tiempo

goto
goto

Demora
Inicio

Demora_20us
movlw 0x05 ;
movwf Contador
Repeticion
decfsz Contador,1 ; Decrementa Contador1.goto Repeticion ; Si no es cero repetimos ciclo.return
; Regresa de la subrutina.tabla
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw

addwf PCL,f
b'01000101'
b'01000100'
b'01000010'
b'01000001'
b'00111001'
b'00111000'
b'00110110'
b'00110101'
b'00110011'
b'00110010'
b'00110000'
b'00101001'
b'00100111'
b'00100110'
b'00100100'
b'00100011'
b'00100001'
b'00100000'
b'00011000'
b'00010111'
b'00010101'
b'00010100'
b'00010010'
b'00010001'
b'00001001'
b'00001000'
b'00000110'
b'00000101'
b'00000011'
b'00000010'
b'00000000'
b'00000001'
b'00000011'

retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
retlw
end

b'00000100'
b'00000110'
b'00000111'
b'00001001'
b'00010000'
b'00010010'
b'00010011'
b'00010101'
b'00010110'
b'00011000'
b'00011001'
b'00100001'
b'00100010'
b'00100100'
b'00100101'
b'00100111'
b'00101000'
b'00110000'
b'00110001'
b'00110011'
b'00110100'
b'00110110'
b'00110111'
b'00111001'
b'01000000'
b'01000010'
b'01000011'
b'01000101'
b'01000110'
b'01001000'
b'01001001'
b'01010000'

S-ar putea să vă placă și