8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
1/87
Diseo
Programacin
Simulacin
Diseo
Programacin
Simulacin
Por Por LuisLuis DD.. UrdanetaUrdaneta G G..
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
2/87
290290290290290290
T imerT imer 0 del0 del PIC16F84APIC16F84A
Usar el Timer 0 para generar un tren de pulso con ciclo de trabajo de50 %, en el terminal 1 del puerto A .
Para generar la seal solicitada se complementa el bit RA1 cada 500s. Para obtener retardos superiores a 256 s con fosc = 4 Mhz sedebe usar el preescalador .
El valor a cargar en TMR0 (con presclador 1:2) es :
Programa 5Programa 5
0
4256 500 6
4 2( )TMR
Mhz Valor s Q! v !
v
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
3/87
291291291291291291
T imerT imer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
4/87
292292292292292292
T imerT imer 0 del0 del PIC16F84APIC16F84A
Seal en RA.1 obtenida de una simulacin en PROTEUS
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
5/87
293293293293293293
T imerT imer 0 del0 del PIC16F84APIC16F84A
OSC /CLKIN6
RB /INT 6
RB 7
RB2 8
RB3 9
RB4RB5RB6 2
RB7 3
RA 7
RA 8
RA2RA3 2
RA4/T CKI 3
OSC2/CLKOUT5
MCLR4
U
PIC 6F84A
X4Mhz
C
22pF
C2
22pF
RST
CLKCE
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
6/87
292929292929
T imerT imer 0 del0 del PIC16F84APIC16F84A
El osciloscopio presenta la seal generada por el cdigo anterior. Ob-serve que la onda no tiene una frecuencia exacta de 1.0 KHz . Esto sedebe a que el tiempo que el terminal RA.1 pasa en 1 en 0 se alargasobre los 500 s generados con precisin por el Timer 0 , debido altiempo usado en la ejecucin de las instrucciones necesarias paracargar el registro contadorTMR0, limpiar la bandera T0IF y el saltofinal.
Para obtener una seal de 1.0 KHz se debe disminuir el retardo del
Timer 0 , como compensacin. Si ahora cargamos en TMR0: 0x0A enlugar de 0x06 , se obtiene en RA.1 :
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
7/87
292929292929
T imerT imer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
8/87
292929292929
T imerT imer 0 del0 del PIC16F84APIC16F84A
29
2
22
222
2
22
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
9/87
292929292929
El sistema deEl sistema deInterrupcionesInterrupciones
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
10/87
292929292929
Interrupciones delInterrupciones del PIC16F84APIC16F84A
En los ejemplos anteriores, el curso secuencial delprograma solo es cambiado por instrucciones especficasde saltos o llamadas/retorno desde subprogramas. El usode la tcnica de interrupciones provee un mecanismo parasuspender el curso normal de un programa, ejecutar unasubrutina y retornar a continuar con la ejecucin delcdigo suspendido temporalmente.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
11/87
299299299299299299
Interrupciones delInterrupciones del PIC16F84APIC16F84A
Una interrupcin, como todo evento asincrnico , puedeproducirse en cualquier momento durante la ejecucin de
un programa. Cuando ocurre, se completa la instruccinque est en ejecucin. Si la interrupcin en cuestin esthabilitada, se acepta la peticin y se transfiere el control auna rutina de servicio de interrupcin (RSI ). Esta salva lasvariables necesarias para preservar las operaciones a
reanudarse, y atiende al perifrico que origin la llamada.Una vez completada la RSI , el control se transfiere denuevo al programa principal.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
12/87
300300300300300300
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
13/87
301301301301301301
Interrupciones delInterrupciones del PIC16F84APIC16F84A
1. Culmina la ejecucin de la instruccin en curso.
2. El contenido del contador de programa se almacena enla pila.3. El PC se carga con la direccin de la primera
instruccin de la RSI .4. Se ejecuta la rutina de servicio.
5. Se recupera el contenido del PC guardado en la pila.
En general las tareas que siguen a una interrupcin sonlas siguientes :
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
14/87
302302302302302302
Interrupciones delInterrupciones del PIC16F84APIC16F84A
L as ventaja principal de la tcnica de interrupciones es elahorro del tiempo de CPU , el cual deja de usar elmecanismo de consultas para detectar la ocurrencia deun eventos crticos, como por ejemplo el desborde de unT/C .
Para ilustrar sobre la conveniencia del uso deinterrupciones, considere el siguiente ejemplo en el cual
se intenta medir el tiempo transcurrido entre dos picos Rde una seal ECG .
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
15/87
303303303303303303
Interrupciones delInterrupciones del PIC16F84APIC16F84A
Seal ECG
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
16/87
303030303030
Interrupciones delInterrupciones del PIC16F84APIC16F84A
Si se usa un algoritmo de consulta para la deteccin de los picosR, la prueba fallar 9999 veces en 10000 intentos (resolucin 100s). Esto significa que el 99.99 % del tiempo de ejecucin delprograma, el CPU lo gasta intentando detectar un evento en 10000 .
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
17/87
303030303030
Interrupciones delInterrupciones del PIC16F84APIC16F84A
El PIC 16F84 responde a 4 fuentes de interrupcin:
Internas:1.- Un cambio de entrada en cualquiera de los cuatro bits de
orden alto del puerto B ( RB7-RB4 ), desde la ltimalectura de este puerto.
2.- El desborde del registro TMR0 del TIMER 0
3.- L a culminacin de un ciclo de escritura en la EEPROMinterna.
Externa :4.- Seal en INT/RB0
El flanco que dispara la solicitud puede ser seleccionado por programa .
EventosEventos fuentesfuentes dede interrupcininterrupcin
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
18/87
303030303030
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
19/87
303030303030
Interrupciones delInterrupciones del PIC16F84APIC16F84A
Despus de un
RESE T , las interrupciones son deshabilitadas.
Debidoa esto, para que un evento genere una interrupcin el programa
deber habilitar el sistema de interrupciones y especificar cual ocuales fuentes sern habilitadas.
Habilitacin de interrupciones
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
20/87
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
21/87
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
22/87
310310310310310310
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
23/87
311311311311311311
Interrupciones delInterrupciones del PIC16F84APIC16F84A
L as banderas particulares de interrupcin ( T0IF,INTF ) se activan (a 1), independientemente queel bit de habilitacin de interrupcin correspon-diente ( T0IE, INTE ) o el bit GIE estn activados.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
24/87
312312312312312312
InterrupcionesInterrupciones mltiplesmltiples. . D eteccinD eteccin de de lala fuentefuente
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
25/87
313313313313313313
L os registros cuyos contenidos sean destruidos por la rutina deservicio de interrupcin, deben ser salvados al inicio de sta yrecuperados antes de la instruccin RETFIE correspondiente.Para salvar el acumulador y las banderas de estado , M icrochip
recomienda el siguiente cdigo:
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
26/87
313131313131
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
27/87
313131313131
Programa 6Programa 6
El siguiente ejemplo muestra el uso del Timer 0 comotemporizador, para medir el tiempo entre eventos. Estos son lospicos R de una seal ECG .L a duracin debe ser expresada en milisegundos y se suponeque un circuito detector de picos interrumpe al procesador en lospuntos en cuestin.
Programa 6Programa 6
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
28/87
313131313131
L a salida del detector de picos se aplica al terminal INT/RB0 delmicrocontrolador y el Timer 0 se configura para que desbordecada milisegundo.
Usando un cristal de 4.096 MHz , el tiempo de desborde del TMR0es dado por:
Programa 6Programa 6
4256
4 096.
x t p! v v
Para tx igual a 1 ms , el factor de divisin p del pre-escalador es 4.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
29/87
313131313131
Existen dos fuentes de interrupcin:
1.- El desborde de TMR0 , lo cual produce el incremento de uncontador de 16 bits.
2.- Una seal externa desde el detector de pico. Como respuesta,se carga el contenido del contador en un registro:[res_alto res_bajo]Se pone el contador de milisegundos en cero y se activa unabandera ( band,0 ) a 1 para indicar que un nuevo resultado estdisponible.
Se usar una rutina de servicio de interrupcin comn a ambasfuentes, seleccionndose al inicio la de la misma la seccin decdigo que corresponda a la fuente que gener la interrupcin
Programa 6Programa 6
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
30/87
313131313131
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
31/87
319319319319319319
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
32/87
320320320320320320
Interrupciones delInterrupciones del PIC16F84APIC16F84A
0
2
3
0
2
3
0
2
3 2
0
3
2
!
"
#
$
%
"
&
'
( "
22 ) $
( 2
22 ) $
AM FM
+
-
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
33/87
321321321321321321
Programa 7Programa 7
Programa 7Programa 7
En este ejemplo sencillo se usa el Timer 0 configurado
como contador de eventos.Se tiene una correa transportadora la cual trasladaproductos de dos tipos: altos y bajos . El sistema tiene dosemisores y dos receptores de luz: A y B. El haz de luz A esinterrumpido siempre que un objeto alto pasa por la lnea
de deteccin. El rayo luminoso de B es cortado cuandocualquiera de los artculos pasa frente al sensor.L as salidas de los sensores tienen niveles TTL .
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
34/87
322322322322322322
Programa 7Programa 7
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
35/87
323323323323323323
Programa 7Programa 7
El Ctrl debe contar 100 productos y determinar elnmero de objetos de cada tipo. Adems, se debeverificar que exista un mximo de 60% de objetos altos . Siesto se cumple, se emite un b eep y se reinicia con unnuevo lote de 100 artculos .
Si la proporcin no es la establecida, se debe generar unaalarma y parar la correa hasta que sea presionado un
pulsador de INICIO. Tambin existe un interruptor PARAR ,para emergencias.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
36/87
323232323232
Programa 7Programa 7
L a salida del sensor A se conecta a la entrada de interrupcin externaen RB0/INT , de modo que un contador de 8 bits registre el nmero deobjetos altos . L a seal de B se aplica a la entrada externa del Timer 0 :
RA4/T0CKI, para que ste cuente el numero total de productos quepasan por el subsistema.
Se habilita slo la interrupcin externa. Se consulta la bandera T0IFpara determinar cuando han pasado 100 objetos.
D e esta forma es posible conocer la proporcin de productos deambas clase con respecto a un total especificado.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
37/87
323232323232
Programa 7Programa 7
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
38/87
323232323232
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
39/87
323232323232
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
40/87
323232323232
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
41/87
329329329329329329
Interrupciones delInterrupciones del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
42/87
330330330330330330
Interrupciones delInterrupciones del PIC16F84APIC16F84A
Simulacin conSimulacin conPRO TEU SPRO TEU S
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
43/87
331331331331331331
Interrupciones delInterrupciones del PIC16F84APIC16F84A
0 13.3k
0 1
3.3k
0 31
Q12
3
14 5
Q1
6 7 8
31
Q36 7 8
39
Q@
2 3
1A B
0
@
1k
Q C 2 3
1A B
+19
V
0 C
1k
D
E
0
E
0 F G F H F
E
0
+I
V
P Q 1
R S 3
1T 3 U V 7 W 1
4
X 2 5 T 7 W 6
4
X 2
1
Y
X 2 9
A
X 2
3`
X 2 B 15
X 2 a 11
X 2 4 19
X 2 Y 13
X b 5 1Y
X b
1 1A
X b 9 1X b
39
X b B T 6 5 3 V 7 3
R S 3 9 T 3 U V R c 6 1a
d 3 U X
B
e 1
8 7 3
14 f A B b
g
1B d h
i
H 1
9 9
p
f
H 1
9 9
p
f
+a
V
0 q Q q r
0 s
A
.9
k
0 t
15
k0 u
15
k
+a
V
motor
0BAJAS
0 ALTAS
1
23
U1 v A
74LS32
1
23
U3 v A
74LS08
4
56
U3 v B
74LS08
motor
Solo para simulacin
1 2
U4 v A
74LS04
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
44/87
332332332332332332
Este ejemplo presenta un instrumento para la medida de latemperatura ambiente sin usar un convertidor A/D .
El rango del termmetro es -10 C e T e 60 C y el cambio mnimodetectable de temperatura debe ser de 0.5 C . El sensor que seutiliza es un termistor de coeficiente de temperatura negativo.
En la siguiente figura se muestra el circuito analgico de
medicin, el cual es controlado por el Ctrl. L a medida sepresenta en un mdulo L C D con interconexin de 8 bits.
Programa 8Programa 8
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
45/87
333333333333333333
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
46/87
333333333333
Programa 8Programa 8
L as termocuplas son los sensores de temperatura con el msamplio espectro de aplicacin y los R TD (R esistance TemperatureDetector ) son los ms estables; al termistor lo distingue su gransensibilidad. El costo derivado por el incremento de lasensibilidad es un dispositivo no lineal en extremo y altamentedependiente de los parmetros del proceso.
L a mayor parte de las aplicaciones de medidas de temperaturausan un convertidor A/ D para la adquisicin desde el sensor deuna tensin funcin de la temperatura en el punto de medida. D eacuerdo con el tipo de sensor usado, se usa una ecuacin paraconvertir el voltaje adquirido a unidades de temperatura o paradispositivos no lineales se usa una tabla de consulta.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
47/87
333333333333
Programa 8Programa 8
Para disminuir el costo del medidor, en este caso la medida detemperatura se realiza en forma indirecta. Observe en la figuraanterior que el sensor est conectado a una red RC . Se mide eltiempo que el capacitor C 4 se carga hasta un valor igual a Vref . Sise selecciona el voltaje Vref } /V CC , este tiempo es igual a:
T = R T 1 C 4Como el valor de C 4 es conocido, midiendo T se puede calcular RT1 . El proceso de medida se inicia activado el transistor Q 1, demodo que C 4 se descargue. A continuacin se corta Q 1 y searranca un contador que se detendr cuando la salida delcomparador conmute a nivel alto, anunciando que la tensin enC 4 alcanzo el valor Vref . Finalmente se usa el tiempo T paraconsultar una tabla en memoria, que relaciona el tiempo de cargacon la temperatura en grados centgrado, y se presenta elresultado de la medida.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
48/87
333333333333
Programa 8Programa 8
El sensor a utilizar es el N T C de P hilips 2322 6 4 5 0.802 , el cualtiene la siguiente curva de respuesta:
Usando esta informacin se obtiene, de forma que simplifique elproceso de medida, la relacin entre el tiempo de carga y latemperatura.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
49/87
333333333333
Programa 8Programa 8
Para no trabajar con fracciones, se aplica la siguiente trans-formacin a los valores de temperatura de la tabla anterior:
Obtenindose una nueva tabla:
Una vez consultada la tabla se invierte la transformacin y seregistra que los valores menores de 16 son negativos.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
50/87
333333333333
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
51/87
339339339339339339
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
52/87
3 03 03 03 03 03 0
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
53/87
3 13 13 13 13 13 1
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
54/87
3 23 23 23 23 23 2
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
55/87
3 33 33 33 33 33 3
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
56/87
333333
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
57/87
333333
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
58/87
333333
Programa 8Programa 8
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
59/87
333333
Programa 8Programa 8
Simulacin conSimulacin conPRO TEU SPRO TEU S
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
60/87
333333
Programa 8Programa 8
d e s c
w x y
y
3
3
3
y 3
w x y
y
w
y
y
j
k
n
k l
n
m
n
o
3
3
l
m
n
m
n
o 3
G
D
n
DD
c z
c z
o
{
|
}
o ~
k 3 uf
|
3 3 3
}
D D
3
D D D 3
D D D W} } D D
}
3
k D
3
m
n
- co
o
%
o
W x
W-
w
-3
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
61/87
3 93 93 93 93 93 9
El ControladorEl ControladorPICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
62/87
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
63/87
3 13 13 13 13 13 1
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
64/87
3 23 23 23 23 23 2
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
65/87
3 33 33 33 33 33 3
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
66/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
67/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
El mecanismo de acceso a laEl mecanismo de acceso a lamemoriamemoria EEPROMEEPROM interna es igual alinterna es igual aldescrito para eldescrito para el PICPIC 16F84A,16F84A, al igualal igual
que la operacin de losque la operacin de los puertospuertos ,,
interrupcionesinterrupciones yy Timer Timer 00..
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
68/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
El Mdulo de Conversin
El Mdulo de ConversinAnlogo/DigitalAnlogo/Digital
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
69/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
El mdulo de conversin A/D tiene 8 entradas aplicadas acircuitos S/H . Como resultado de la conversin de una muestrade entrada se entrega un valor binario de 10 bits . L a resolucines de 1 parte en 1024 (2 10 ). En algunos casos es suficiente con
conversin a 8 bits, con resolucin de 1 parte en 256 (2 8).
( )
2
ref ref
S adcn
V V
V N ! v
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
70/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
El mdulo A/D tiene 4 registros asociados a su operacin: 2registros para el resultado y 2 registros de control.
El registro AD CON0 controla la operacin del mdulo. Por ejemplo: selecciona el canal e inicia el proceso de conversin.
El registro AD CON1 configura las lneas del puerto del mdulo.Estas se pueden usar como entradas analgicas o como lneasde E/S digitales.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
71/87
3 93 93 93 93 93 9
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
72/87
3 03 03 03 03 03 0
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
73/87
3 13 13 13 13 13 1
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
74/87
3 23 23 23 23 23 2
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
75/87
3 33 33 33 33 33 3
El ControladorEl Controlador PICPIC 16F87716F877
Pasos para realizar laconversin A/D
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
76/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
1. Configure el mdulo A/DConfigurar los pines de entrada de los canales analgicos a usar. Configure los voltajes dereferencia. (en el registro AD CON1 )Seleccione el canal de entrada al mdulo A/D (en el registro AD CON0 )Seleccione el reloj de conversin A/D (en el registro AD CON0 )Ponga a funcionar el mdulo A/D (en el registro AD CON0 )
2. Configure la interrupcin del A/D si lo desea:AD IF=0 -lgico (bit que indica si se produjo una conversin)AD IE=1 -lgico (habilitador de interrupcin del modulo analgico)PEIE=1 lgico (habilitador de interrupcin de perifricos)GIE=1 -lgico (Habilitador general de interrupciones)
3. Espere por el tiempo de adquisicin (es el tiempo que se demora en trabajar el bloque de samplingand hold)
4. Comienzo de la conversinGO/- D ONE=1-lgico (en el registro AD CON0 )
5. Esperar a que la conversin se complete. Para saber si la conversin termino podemos:Revisar el bit GO/- D ONE esperando que sea de nuevo 0 -lgicoO esperar al flag de AD IF sea 1-lgico (puede emplearse como interrupcin)
6. L eer el resultado del A/D en el par de registros ( AD RESH:A D RES L ). No debemos olvidar colocar el bitAD IF a 0-lgico (si se requiere)
7. Para la siguiente conversin, regrese al paso 1 o paso 2 dependiendo si se usa uno o ms canales.
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
77/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
Seleccin del reloj del convertidor Seleccin del reloj del convertidor A/DA/D
El conversor A/D requiere un reloj interno para funcionar. Este sederiva del oscilador maestro y debe ser elegido de modo que eltiempo de conversin por bit TAD sea un mnimo de 1.6 s .
El periodo del oscilador de frecuencia 4MHz es de 0.25 s y serequiere TAD con un mnimo de 1.6 s . Si se selecciona el divisor
por 8 , el periodo de reloj del AD C ser:
8 x 0.25 s = 2.0 s < 1.6 s
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
78/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
Resultado de la conversinResultado de la conversin A/DA/D
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
79/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
Para conversiones de 10 bits conviene elegir justificacin hacia laderecha . En este caso deben procesarse ambos registros deresultados: AD RESH-A D RES L , para obtener el valor de laconversin.
Para conversiones de 8 bits es recomendable usar justificacinhacia la izquierda . En este caso el resultado de 8 bits estar en elregistro: AD RESH .
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
80/87
333333
Programar el PIC 16F877 para adquirir una tensin continua de unmximo de 2.5 V , aplicada al canal 0 del convertidor A/D . L aconversin debe ser de 8 bits.
Para simplificar la conversin a binario se usa una tensin dereferencia de 2.56 V.
Programa 9Programa 9
El ControladorEl Controlador PICPIC 16F87716F877
3
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
81/87
3 93 93 93 93 93 9
El ControladorEl Controlador PICPIC 16F87716F877
3
3
3
9 3
3
Z -
9
-
39
3
-
9
-
3
-
3
9
-
39
3
3-
3 3
3
3
33
-
- 3
9
-
3
3
-
3
3
3
H
- -
3
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
82/87
3 03 03 03 03 03 0
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
83/87
3 13 13 13 13 13 1
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
84/87
3 23 23 23 23 23 2
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
85/87
3 33 33 33 33 33 3
El ControladorEl Controlador PICPIC 16F87716F877
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
86/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
LM0 32L+2.
V
8/8/2019 Micro Control Adores PICs IV-Luis Urdaneta
87/87
333333
El ControladorEl Controlador PICPIC 16F87716F877
14Mhz
C2
22pF
C3
22pF
+
V
SET
R410 k
1 4
D 6
1 3
D
1 2
D 4
1 1
D 3
1 0
D 2
9
D 1
8
D 0
E
6
R W
R S
4
V S S
1
V D D
2
V E E
3 LCD1
+
V
R110 k
D1BZX
9C2 V
R23 90R
RV2(3)V= 2.
93
RA0/AN02
RA1/AN13
RA2/AN2/ VREF-4
RA4/T0CKI6
RA
/AN4/SS
RE0/AN
/RD8
RE1/AN6/WR9
RE2/AN
/CS10
OSC1/CLKIN13
OSC2/CLKOUT14
RC1/T1OSI/CCP2 16
RC2/CCP1 1
RC 3/SCK/SCL 18
RD0/PSP0 19
RD1/PSP1 20
RB
/PGD 40RB6/PGC 39
RB 38
RB4 3 RB 3/PGM 36
RB2 3 RB1 34
RB0/INT 33
RD
/PSP 30
RD6/PSP6 29RD
/PSP 28RD4/PSP4
2 RD 3 /PSP 3 22
RD2/PSP2 21
RC
/RX/DT26
RC6/TX/CK 2 RC
/SDO 24RC4/SDI/SDA 23
RA 3/AN 3/VREF +
RC0/T1OSO/T1CKI 1
MCLR/ Vpp/TH V1
U1
PIC16F8
3 1 %
RV2
1k
%
RV1
10 k
RV1( 3)V=1 .4
346