Está en la página 1de 16

PROGRAMACIN DE MICROCONTROLADORES

IV Ciclo
Laboratorio N07
Conversin AD

Integrantes:
Apellidos y Nombres Seccin Grupo

Espinoza Acua, Cristhian Nasario C5 A 1


Casimiro Echevarria, Gianpierre Wilmer C5 A 1

Profesor: Csar Ciriaco Martnez


Fecha de realizacin : 23 de septiembre
Fecha de entrega : 30 de septiembre

2016 2
Conversin AD

Objetivos

1. Utilizar las instrucciones para programar al microcontroladorPIC16F877


2. Utilizar software de desarrollo proporcionada por el fabricante
3. Implementacin hardware

Introduccin

Los PICs constituyen en la actualidad una forma de proveer inteligencia a


equipos o sistemas para un mejor desempeo de los mismos. Para que
realicen los eventos que queramos es necesario utilizar los puertos como
entrada para que la data ingrese y se procese en el PIC y puertos de salida
para comunicarlos con otros dispositivos y en conjunto logren un objetivo.

Equipos y Materiales

Computadora
Software de desarrollo
Proyector multimedia
Texto del curso
Manual del fabricante
Tarjeta de desarrollo
Procedimiento

1. Copiar el siguiente programa, analizar, comentar, simular e implementar:

;---------------------------------------------
;Ejemplo de conversin ADC:8bits
;Curso PIC16F877
;-----------------------------------------
---- list p=16f877a
include<p16f877a.inc>
include<macro16f877.inc>
__config
0x3f32
cblock 0x20
endc
org 0000h
;-----------------------------
---- banco 1 clrf
trisb ;comentar:
banco 0
clrf portb ;comentar:
movlw .0 ;comentar: call
Inicio_ADC ;comentar:
repite call ADC8Bits
;comentar: movf
RegADC1,0 ;comentar:
movwf portb ;comentar:
goto repite
;---------------------------------
include<electronicpic16f877.asm>
include<adc.asm>
;comentar: end
Programacion en MPLAB

Figura 1: programacin
Ensamble del cdigo en MPLAB

Figura 2: Ensamblaje
Simulacin del cdigo en MPLAB

Figura 3: Simulacin
1. Qu sucede en el ADC?
Convierte una seal analgica a un valor binario de 8 bits.

2. En qu consiste el primer programa?


Consiste en mandar por el PortB lo captado en el adc, es decir la seal captada
por el RA0 se reflejara en forma binaria en los leds PortB
3. Cul es la frmula que nos indica la resolucin del adc de 8bits?
La frmula de resolucin est dada de la siguiente manera:
ViFS
Re s n
(2 1)

4. Para un voltaje 2.8V, de cunto es la conversin binaria?


Calculo de Res:
5
Re s 8
(2 1)
Re s 19.6 mV

Por regla de 3:
19.6 mV 1
2.8 x
2.8
X 142.85
19.6 *10 3
X 143
5. Por qu utilizamos el puerto B?
Porque en ese se ubican los pines (8 bits)

6. Explicar brevemente la funcin de la librera adc.asm


Su principal funcin es la eleccin de los 8 bits

7. En qu canal del PIC est ingresando el voltaje?


Ingresa a travs del canal AN0, pues todo el programa se inicializa en 0.
2.- Copiar el siguiente programa, analizar, comentar, simular e implementar:

;------------------------------------------------------
;Ejemplo de conversin ADC:10bits
;Curso PIC16F877
;--------------------------------------------------
---- list p=16f877a
include<p16f877a.inc>
include<macro16f877.inc>
__config
0x3f32
cblock 0x20
endc
org 0000h
;-----------------------------
---- banco 1 clrf
trisb ;comentar: clrf
trisc ;comentar:
banco 0
clrf portb
;comentar: clrf portc
;comentar: movlw .5
;comentar: call
Inicio_ADC ;comentar:
repite call ADC10Bits
;comentar: movf RegADC1,0
;comentar: movwf portb
;comentar: movf RegADC2,0
;comentar: movwf portc
;comentar: goto repite
;---------------------------------
include<electronicpic16f877.asm>
include<adc.asm> ;comentar:
End
Programacin en MPLAB

Figura 4: programacin
Ensamblaje en MPLAB

Figura 5: ensamblaje
Simulacin de la programacin en MPLAB

Figura 6: simulacin
1. En qu consiste el segundo programa?
Convierte una seal analgica a un valor binario de 10 bits.

2. Hasta cunto puede ser el valor cargado de W antes de llamar a


Inicio_ADC?
1025
3. Por qu se usan dos puertos de salida para este programa?
Se usan dos pines del puerto C y todo el puerto B debido a que el puerto B solo
posee 8 pines para salidas digitales y este ADC es de 10 bits por lo que necesita
10 pines, es por ello que se complementa con los 2 primeros pines del puerto C
que son los ms significativos.
4. Cules es la ecuacin para la resolucin en el segundo programa?
ViFS
Re s
(2 n 1)

5. En qu canal del PIC se est ingresando las variaciones de voltaje


dc?
La seal analgica ingresa a travs del canal AN5 (RE0).
Aplicacin de lo aprendido
Hacer un programa e implementar el hardware respectivo tal que me muestre en
una pantalla LCD el valor de 2 entradas analgicas uno de temperatura de 10 a
120C la cual se mostrar en la primera lnea y otra donde muestre el valor en
tensin de un sensor de Humedad de 0 a 5 Voltios.

Figura 7: Desarrollo del programa en MPLAB.

En esta primera etapa se indicarn las variables a trabajar con el LCD de


2x16 como tambin limpiaremos los Puertos A, B, C, D.
Figura 8: Desarrollo del programa en MPLAB.

Seguidamente se configurarn las salidas para el visualizador LCD.


Figura 9: Desarrollo del programa en MPLAB.
Figura 10: Desarrollo del programa en MPLAB.
Figura 11: Desarrollo del programa en MPLAB.
Simulacin en Proteus:
Debido a que en el software Proteus no existe ningn componente que simule la
funcin de un sensor de humedad, se trabajar con un lm35 un sensor de
temperatura que entrega tensin de acuerdo a la temperatura que medir con
una relacin de 10mV a cada grado Celsius.

D1 D2 D3 D4 D5 D6 D7 D8
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE

R2 R3 R4 R5 R6 220 R8 R9
220 220 220 220 220 220 220 200
BOXER
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
X1 1 35
MCLR/Vpp/THV RB2
36
RB3/PGM
R1 2
RA0/AN0 RB4
37
10k 3 38
RA1/AN1 RB5
4 39
20Mhz RA2/AN2/VREF- RB6/PGC LCD1
5 40
RA3/AN3/VREF+ RB7/PGD LM016L
C2 C1 6
RA4/T0CKI
22p 22p 7 15
RA5/AN4/SS RC0/T1OSO/T1CKI
16
VDD RC1/T1OSI/CCP2
8 17
VDD RE0/AN5/RD RC2/CCP1
9 18
RE1/AN6/WR RC3/SCK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
U1 RC5/SDO

VDD
VSS

VEE
1 25

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
RC6/TX/CK

E
26
RC7/RX/DT
1
2
3

4
5
6

7
8
9
10
11
12
13
14
19
30.0 RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
2 22
VOUT RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
3 LM35 30
RD7/PSP7
PIC16F877

VDD

Figura 12 Simulacin del circuito en Proteus.

Se puede observar en la Simulacin mostrada que efectivamente se


puede visualizar, ya que la temperatura es de 30 siendo visualizado en
el LCD de 16X2, como tambin en los leds de forma binaria.
D1 D2 D3 D4 D5 D6 D7 D8
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE
LED-BLUE

R2 R3 R4 R5 R6 220 R8 R9
220 220 220 220 220 220 220 200
BOXER
13 33
OSC1/CLKIN RB0/INT
14 34
OSC2/CLKOUT RB1
X1 1 35
MCLR/Vpp/THV RB2
36
RB3/PGM
R1 2
RA0/AN0 RB4
37
10k 3 38
RA1/AN1 RB5
4 39
20Mhz RA2/AN2/VREF- RB6/PGC LCD1
5 40
RA3/AN3/VREF+ RB7/PGD LM016L
C2 C1 6
RA4/T0CKI
22p 22p 7 15
RA5/AN4/SS RC0/T1OSO/T1CKI
16
VDD RC1/T1OSI/CCP2
8 17
VDD RE0/AN5/RD RC2/CCP1
9 18
RE1/AN6/WR RC3/SCK/SCL
10 23
RE2/AN7/CS RC4/SDI/SDA
24
U1 RC5/SDO

VDD
VSS

VEE
1 25

RW
RS

D0
D1
D2
D3
D4
D5
D6
D7
RC6/TX/CK

E
26
RC7/RX/DT

1
2
3

4
5
6

7
8
9
10
11
12
13
14
19
-10.0 RD0/PSP0
20
RD1/PSP1
21
RD2/PSP2
2 22
VOUT RD3/PSP3
27
RD4/PSP4
28
RD5/PSP5
29
RD6/PSP6
3 LM35 30
RD7/PSP7
PIC16F877

VDD

Figura 13: Simulacin del circuito en Proteus.

Se puede observar en la Simulacin mostrada tambin que el


sensor y el indicar no trabajarn con temperaturas menores a
0 como se puede ver al censar una temperatura de -10 C el
indicador seguir mostrando el valor de 0 C.
Observaciones
Las instrucciones demoran la misma cantidad de ciclos de reloj. Existen
instrucciones especiales que demoran dos ciclos de reloj en ejecutarse. Adems,
antes de realizar la programacin se recomienda leer algunas libreras
(Macro16f877a, ElectronicPIC, Retardos) estos son los ms usados en esta
sesin y posteriormente nos ayudan a simplificar sus resultados.
Algunas instrucciones requeran que el programador le brinde dos datos, uno del
registro a aplicarse (f) y del destino (d). Al momento de simularlo en el PROTEUS
resulta tedioso pues se necesita de algunos ajustes (llamados de los Puertos a
los pulsadores o leds) que no estn en la gua.
Conclusiones
Al finalizar el laboratorio se concluye que segn los controladores de perifricos
que posea cada modelo de microcontrolador, las lneas de E/S se destinan a
proporcionar el soporte a las seales de entrada, salida y control.
Adems concluimos tambin que la conversin analgica digital, es la que nos
permite transformar una seal analgica (un voltaje), en una representacin
digital (nmeros binarios) del valor correspondiente a la tensin en el pin de
entrada para poder trabajar con ella. Se utiliza en infinidad de aplicaciones, lo
ms comn es usarla para leer seales provenientes de algn sensor
(temperatura, humedad, acelermetros, etc.)
Tambin se concluye que la configuracin de programacin resulta ser tedioso
ya que son varias partes las que se tiene que programar

También podría gustarte