Está en la página 1de 3

E.I.S.

“PEDRO DOMINGO MURILLO” LABORATORIO Nº 4


CARRERA: ELECTRÓNICA TEMA: CONVERSOR ANÁLOGO DIGITAL
NIVEL: SUPERIOR FECHA: miércoles 4 de mayo
ASIGNATURA: MIC – 400 “B”
MICROCONTROLADORES I

OBJETIVO

Manejar el Convertidor Análogo Digital del PIC 16F877A utilizando registros tales
como ADRESH, ADRESL, ADCON0 y ADCON1.

DESARROLLO

Este laboratorio consiste en realizar la conversión de un determinado voltaje análogo


de entrada mediante un potenciómetro y visualizada en leds la conversión digital en su
equivalente binario.
Todo convertidor ADC requiere voltajes de referencia que determinan el valor de
mínima escala (VREF – ) y el de plena escala (VREF +), de tal manera que la conversión
de algún valor de voltaje analógico Vin, en el rango de V REF – a VREF + producirá un
valor equivalente binario D en el rango de 0 a 2 n (0 a 1024), n es la resolución del
convertidor (n= 10).
La relación de escalas es lineal, se tiene:
D V REF −¿
n =V ¿ − ¿ D/(2n -1)=(Vin - Vref-)/(Vref+
2 −1 V REF +¿−V ¿ ¿
REF−¿

- Vref-)

Generalmente la elección más común es: VREF + = VDD = +5V y VREF – = VSS = 0V y como
n= 10 se obtiene:

1023
D= V ¿ = 204.6 V ¿ D = (1023/5)* Vin = 204.6 * Vin
5

V ¿varía en el rango desde 0V hasta 5V, entonces el valor obtenido en D varía también
en el rango de 0 a 1023.
O a la inversa, obtenemos un valor D y se quiere conocer que voltaje representa:

5
V¿ = D Vin = (5/1023)*D
1023

PREINFORME
1. Explicar detalladamente el programa propuesto para el ADC. La señal
analógica debe ingresar por una entrada analógica diferente de AN0.
2. Dibujar el layout del circuito.

LABORATORIO

1. Realizar un programa ADC generando el archivo .hex en el MPLAB.


2. Implementar el circuito Convertidor Análogo Digital y demostrar su
funcionamiento.
3. Simular el ADC en el PROTEUS, comprobando su funcionamiento.
4. Llenar la tabla adjunta.

Una sugerencia de un convertidor ADC es el siguiente ejemplo (solo muestra en la


salida 8 bit en ADRESH por el puerto C, se podría mostrar 10 bit utilizando ADRESL).
CIRCUITO CONVERSOR ANÁLOGO DIGITAL
PROGRAMA EN ASSEMBLER

__CONFIG _WDT_OFF&_PWRTE_ON&_XT_OSC&_LVP_OFF&_CP_OFF ; Configuración para el


programador
LIST p=16F877A
INCLUDE <P16F877A.INC>

ORG 0x00 ; Inicio de programa

M EQU 0x20
N EQU 0x21
O EQU 0x22

BSF STATUS,5
BSF TRISA,0
CLRF TRISC
BCF STATUS,5
MOVLW B'11000101'
MOVWF ADCON0
BSF STATUS,5
MOVLW B'00001110'
MOVWF ADCON1
BCF STATUS,5

PRINCIPAL
MOVF ADRESH,0
MOVWF PORTC
CALL DELAY
BSF ADCON0,GO_DONE
GOTO PRINCIPAL
DELAY
MOVLW D'5'
MOVWF O
TRES
MOVLW D'80'
MOVW M
DOS
MOVLW D'250'
MOVWF N
UNO
NOP
NOP
DECFSZ N,1
GOTO UNO
DECFSZ M,1
GOTO DOS
DECFSZ O,1
GOTO TRES
RETURN
END

C1

22nF 1
4 MHZ
C2 CRYSTAL U1
13 33
2

OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
22nF 35
RB2
2 36
RA0/AN0 RB3/PGM
3 37
+5V RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
RV1 7
RA5/AN4/SS/C2OUT
15
RC0/T1OSO/T1CKI
8 16
RV1(3) RE0/AN5/RD RC1/T1OSI/CCP2
9 17
V=2.79993 RE1/AN6/WR RC2/CCP1
56%

10 18
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
+5V 25
10k RC6/TX/CK
26
RC7/RX/DT
19
RD0/PSP0
20
RD1/PSP1
R1 RD2/PSP2
21
10k RD3/PSP3
22 R
27 220
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A

TABLA de datos que se debe obtener en la conversión ADC

Vin RC7 RC6 RC5 RC4 RC3 RC2 RC1 RC0 Valor
(V) LSB decimal
0 0 0 0 0 0 0 0 0 0
0.25 0 0 0 0 1 1 0 0
1.5
..
..
2.45 1 0 0 1 1 1 1 0
..
..
4.3 1 1 0 0 1 0 1 1
4.95 1 1 1 1 0 1 0 0
5.00 1 1 1 1 1 1 1 1 1023

También podría gustarte