E.I.S.
“PEDRO DOMINGO MURILLO” LABORATORIO N° 5
CARRERA: ELECTRÓNICA TEMA: CONVERSOR ANALOGO DIGITAL – ADC
NIVEL: SUPERIOR Fecha: 26 de abril 2023
ASIGNATURA: MIC - 400 paralelo B
MICROCONTROLADORES I
OBJETIVO
Utilizar al Microcontrolador 16f877A para realizar un conversor análogo digital.
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 VREF – a VREF + producirá un valor equivalente
binario D en el rango de 0 a 2n (0 a 1024), n es la resolución del convertidor (n= 10).
𝐷 𝑉 −𝑉𝑅𝐸𝐹−
La relación de escalas es lineal, se tiene: 2𝑛 −1 = 𝑉 𝑖𝑛 −𝑉
𝑅𝐸𝐹+ 𝑅𝐸𝐹−
Generalmente la elección más común es: VREF + = VDD = +5V y VREF – = VSS = 0V y como n=
10 se obtiene:
1023
𝐷= 𝑉𝑖𝑛 = 204.6 𝑉𝑖𝑛
5
𝑉𝑖𝑛 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
𝑉𝑖𝑛 = 1023
𝐷
PREINFORME
1. Realizar la programación en MikroBasic para un ADC, para leer el valor analógico
por un canal elegido por el grupo de trabajo y mostrar el resultado de la conversión
por PORTB y PORTC.
program ADC_on_LEDs
dim temp_res as word
main:
ADCON0 = 0x05 ' Configura el registro ADCON0
ADCON1 = 0x0F ' Configura el registro ADCON1
TRISA = 0xFF ' PORTA entrada
TRISB = 0 ' PORTB salida
TRISC = 0 ' PORTC salida
while TRUE
temp_res = ADC_Read(0) ' Obtiene resultados de la conversión en 10 bits
PORTB = temp_res ' Envia los 8 bits menos significativos a PORTB
PORTC = word(temp_res >> 8) ' Envía los 2 bits más significativos a RC1 y RC0
wend
end.
C1
22pF
1
4MHZ
CRYSTAL
U1
C2
2
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
35
RB2
22pF 2 36
RA0/AN0 RB3/PGM
3 37
Vcc RA1/AN1 RB4
4 38
RA2/AN2/VREF-/CVREF RB5
5 39
RA3/AN3/VREF+ RB6/PGC
6 40
RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT
15
RV1 RC0/T1OSO/T1CKI
8 16
RE0/AN5/RD RC1/T1OSI/CCP2
9 17
RE1/AN6/WR RC2/CCP1
10 18
RE2/AN7/CS RC3/SCK/SCL
23
RC4/SDI/SDA
1 24
MCLR/Vpp/THV RC5/SDO
25
RC6/TX/CK
26
Vcc RC7/RX/DT
10k
+4.50 19
RD0/PSP0
Volts 20
RD1/PSP1
21
RD2/PSP2
22
RD3/PSP3
R1 RD4/PSP4
27
10k 28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A