Micro Control Adores PICs III-Luis Urdaneta
-
Upload
luis-d-urdaneta-g -
Category
Documents
-
view
220 -
download
0
Transcript of Micro Control Adores PICs III-Luis Urdaneta
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 1/110
Diseño
Programación
Simulación
Diseño
Programación
Simulación
Por Por LuisLuis DD.. UrdanetaUrdaneta GG..
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 2/110
180180180180180180
El Sistema deEl Sistema de ResetReset deldel PIC16F84APIC16F84A
Los bits y son activados/desactivados en formadiferente para cada tipo de Reset. Examinando el
estado de estos bits, el código puede determinar la
causa del Reset.
TOPD
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 3/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 4/110
182182182182182182
El Perro Guardián delEl Perro Guardián del PIC16F84APIC16F84A
El temporizador Perro Guardián (El temporizador Perro Guardián (WDTWDT))
Es un oscilador RC interno y no puede ser detenido a menos que
el bit WDTE de la palabra de configuración sea programado como
0. Funciona aunque el reloj principal haya sido desactivado en elmodo SLEEP. Durante operación normal el desborde del WDT
(WatchDog Timer ) fuerza un RESET del procesador. Si el µCtrl
funciona en el modo de bajo consumo (SLEEP), el desborde del
WDT despierta al dispositivo y éste reasume su operación
normal.
El periodo del WDT es de 18 ms por defecto (sin pre-escalador).
Manipulando bits del registro OPTION REG pueden seleccionarse
razones de división de 1:128 para obtener tiempos de hasta 2.3
segundos.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 5/110
183183183183183183
El Perro Guardián delEl Perro Guardián del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 6/110
184184184184184184
Las instrucciones CLRWDT y SLEEP bo-
rran el WDT y el pre-escalador (si estáasignado al WDT), previniendo el des-
borde del temporizador y la generación
de una condición de RESET no deseada.
El Perro Guardián delEl Perro Guardián del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 7/110
185185185185185185
El Modo de Consumo Bajo (El Modo de Consumo Bajo (SLEEPSLEEP))
El Modo de Bajo Consumo delEl Modo de Bajo Consumo del PIC16F84APIC16F84A
La ejecución de una instrucción SLEEP fuerza la entrada del
procesador al modo de consumo bajo (P ower Down). Si el WDT
está habilitado es puesto a cero, pero continúa funcionando. Elbit es puesto a uno y el reloj principal es desactivado. Los
puertos de E/S mantienen el estado que tenían antes de la
ejecución de SLEEP.
T
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 8/110
186186186186186186
Salida desde el Modo de Consumo BajoSalida desde el Modo de Consumo Bajo
El Modo de Bajo Consumo delEl Modo de Bajo Consumo del PIC16F84APIC16F84A
La ocurrencia de alguno de los siguientes eventos causan la
salida del µCtrl del modo SLEEP:
1. La aplicación de un RESET externo.
2. Desborde del temporizador WDT, si está habilitado.
3. Una solicitud de interrupción originada: desde el terminal
RBO/INT, por cambios en líneas del Puerto B o por finalización de un ciclo de escritura en EEPROM.
El evento 1 produce un Reset del procesador y los otros se
consideran una continuación de la ejecución normal del
programa.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 9/110
187187187187187187
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
Estructura yFuncionamiento
de los Puertos de E/S
Estructura yFuncionamiento
de los Puertos de E/S
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 10/110
188188188188188188
Existen dos registros (SFR) asociados con cada puerto:
1. El puerto mismo: PORTA (0x05) y PORTB (0x06)
2. Un registro para programar la dirección del flujo de infor-
mación: TRISA (0x85) y TRISB (0x86)
A las 13 líneas de E/S del PIC16F84A se puede tener acceso
como puertos: PA de 5 bits y PB de 8 bits o por bits
independientes. Todas las líneas pueden programarse como
entrada o salida.
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 11/110
189189189189189189
Si se escribe 1 en un bit del puerto TRIS, el bit correspondiente
del puerto asociado se programa como entrada. La carga de un 0en un bit del registro TRIS, configura la línea correspondiente del
puerto asociado como salida. Después de un RESET, todas las
líneas de E/S quedan programadas como entradas y se leen
como 0. Un RESET en modo SLEEP no modifica el estado de los
puertos.
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 12/110
190190190190190190
bsf status,rp0 ; Selección del banco 1
movlw b¶01010101¶ ; Patrón de configuración
movwf trisb ; Líneas 0,2,4,6 entradas. Líneas 1,3,5,7 salidas
bcf trisa,0 ; Pin 0 es salida
bsf trisa,3 ; Pin 3 es entrada
bcf status,rp0 ; Retorno al banco 1
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 13/110
191191191191191191
Algunas líneas de los puertos tienen función doble:
El bit 4 del puerto A (RA4 /T0CKI) puede funcionar como entrada
al contador interno TIMER 0.
El bit 7 del puerto B (RB0 /INT) puede ser configurado para
aceptar solicitudes externas de interrupción.
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
Aunque un puerto de E/S puede conceptualizarse como un
registro visible y accesible desde el exterior, el hecho que laslíneas sean bidireccionales hace necesario un circuito especial
para construir cada línea de E/S.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 14/110
192192192192192192
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
Estructura Simplificadade una línea de bit
de un Puerto de E/S
Estructura Simplificadade una línea de bit
de un Puerto de E/S
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 15/110
193193193193193193
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 16/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 17/110
195195195195195195
Debido a que las operaciones de lectura/escritura ocurren
independientemente del modo en el cual estén configuradas las
líneas de los puertos, conviene examinar las distintas posi-
bilidades que el programa tiene para leer o modificar los puertos
de E/S. Estas son:
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
1. Leer un puerto configurado como entrada.
2. Escribir a un puerto programado como salida.
3. Leer un puerto puesto como salida.
4. Escribir a un puerto configurado como entrada.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 18/110
196196196196196196
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
Leer Leer unun puertopuerto dede EntradaEntrada TRIS=TRIS=11..
La salida del Buffer TRIS está flotante y el estado del F l ip fl op de
dato no es afectado.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 19/110
197197197197197197
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
Escribir Escribir aa unun puertopuerto dede SalidaSalida TRIS=TRIS=00..
El Buffer TRIS es habilitado y el Flip Flop de Dato es cargado por
el µCtrl durante la operación de escritura a puerto de salida.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 20/110
198198198198198198
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
Leer Leer unun puertopuerto dede SalidaSalida TRIS=TRIS=00..
La salida del Flip Flop de Dato es conectada al terminal de salida,
lo cual implica que la lectura de un puerto de salida carga en el
procesador el estado del Flip Flop de Dato.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 21/110
199199199199199199
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
En el mundo real no siempre ocurre esto. La figura muestra un
transistor en conducción cuya base se conecta directamente al
terminal del puerto.
Aunque el estado de la salida del FF de dato es 1, una lectura de
la línea del puerto no entregaría el resultado esperado. Algunos
µCtrls proveen instrucciones las cuales, en estos casos, leen el
FF de dato en lugar del terminal del puerto.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 22/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 23/110
201201201201201201
Cuando las líneas de un puerto son usadas para el control de
dispositivos externos y después de un RESET deben llevarse a
un estado inicial; primero debe cargarse en el registro de datos el
estado inicial de los dispositivos y sólo entonces las líneas
correspondientes deben ser configuradas como salidas.
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
reset
movlw b¶00001111¶ ; RB7:4 a 0, RB3:0 a 1,
movwf PORTB ; P recargar en puerto B
bsf STATUS,RP0 ; Selección de banco 1
movlw b¶11110000¶ ; Poner RB7:4 entrada, RB3:0 como salida
movwf TRISB ; Hacer visible al exterior
bcf STATUS,RP0 ; Selección de banco 0
Esto se debe a que después de un RESET todas las líneas de E/S
se presentan como entradas.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 24/110
202202202202202202
Una línea de E/S de un PIC16F84 puede aceptar un máximo de 25
mA o entregar hasta 20 mA sin deterioro del estado lógico del
terminal.La corriente máxima de cada puerto de E/S es:
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
CapacidadCapacidad dede corrientecorriente dede loslos puertospuertos dede E/SE/S
El consumo potencia del µCtrl depende del voltaje de operación,
la frecuencia y de las cargas que tengan sus terminales. Para un
reloj de 4 MHz el consumo es de aproximadamente 2 mA;
reduciéndose a 40 microamperios en el modo sl eep
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 25/110
203203203203203203
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 26/110
204204204204204204
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
EstructuraEstructura deldel Buffer Buffer TRISTRIS deldel puertopuerto AA
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 27/110
205205205205205205
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
ResistoresResistores Pull Pull U pU p internosinternos deldel PuertoPuerto BB
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 28/110
206206206206206206
bsf STATUS,RP0 ; Banco 1
movlw b¶00001111¶movwf TRISB ; RB7:4 salidas, RB3:0 entradas
bcf OPTION_REG,NOT_RBPU ; Activar Pull U ps internos
bcf STATUS,RP0 ; Banco 0
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
Los resistores pull u p se activan para las entradas, cargando 0 enel bit OPTION_REG7 y se desactivan automáticamente para las
salidas.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 29/110
207207207207207207
PUERTOPUERTO AA
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 30/110
208208208208208208
PUERTOPUERTO BB
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 31/110
209209209209209209
RebotesRebotes dede contactoscontactos enen interruptoresinterruptores
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 32/110
210210210210210210
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 33/110
211211211211211211
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 34/110
212212212212212212
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
SupresiónSupresión deldel reboterebote concon hardwarehardware
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 35/110
213213213213213213
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 36/110
214214214214214214
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 37/110
215215215215215215
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 38/110
216216216216216216
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
SupresiónSupresión deldel reboterebote concon sof twaresof tware
EjemploEjemploEjemploEjemplo
En la figura se muestra un arreglo de 4 interruptores conectadosal puerto A del µCtrl y un indicador de siete segmentos
controlado desde el puerto B. Escribir dos programas de modo
que:
1. Cuando un interruptor sea presionado y liberado, se muestre
en el indicador el número del pulsador.2. Mostrar el número de veces que S2 es presionado.
En ambos casos considere el rebote de contactos
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 39/110
217217217217217217
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
OSC1/CLKIN1
RB ¡ /INT
RB17
RB2¢
RB£
¤
RB¥ 1¡
RB¦
11
RB 12
RB71£
RA¡
17
RA11¢
RA21
RA£
2
RA¥
/T¡ CKI£
OSC2/CLKOUT1¦
MCLR
¥
U1
PIC1
F ¢
¥
A
X1
¥
Mhz
C1
22pF
C2
22pF
+¦
V
RESET
R¢ .2k
LED 1
+ ¦ V
7 X 22
SR1
1¡ k
+ ¦ V
S1R2
1¡ k
R
1¡ k
S2
SR
1¡ k
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 40/110
218218218218218218
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 41/110
219219219219219219
Los Puertos de E/S delLos Puertos de E/S del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 42/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 43/110
221221221221221221
Programa 2Programa 2
§ ¨ © 1
© L
1
T
1
2
!
" 1
#
11
12
1
$
1
$
11
$
21
$
2
$ "
T ©
§ ¨ ©
2
©
L §
UT1#
% © L
"
U1
PIC1 &
" $
1
"
% h'
C1
22p &
C2
22p &
( #
)
T
.2 0
1 2 3
654
8 9
=
7
++C
ON
A
B
C
D
1 2 3
Colum1 2 3
4
on r 5 3
6
3
7 or 5 3
8
ull up 6
nter nos
+5V
R1
1k
Q12N3906
7 X 220
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 44/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 45/110
223223223223223223
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 46/110
224224224224224224
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 47/110
225225225225225225
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 48/110
226226226226226226
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 49/110
227227227227227227
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 50/110
228228228228228228
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 51/110
229229229229229229
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 52/110
230230230230230230
Programa 2Programa 2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 53/110
231231231231231231
Programa 1Programa 1
Simulación conSimulación conPROTEUSPROTEUS
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 54/110
232232232232232232
Programa 1Programa 1
9 @ A
B
C A D E F G
B
H
I P Q C F G R
H
I P
B
S
I P
2
T
I P
3
U
I P V
B
Q
I P W
B B
I P H
B 2I P S
B 3
I X Q
B
S
I X
B
B
T
I X
2B
I X
3
2I X V
C
R Q
A
E F 3
9 @ A
2C A D E 9 Y R
B
W
` A D I
V
a b
c F
A
B
H d T V X
e
b
V ` f
g
h b
22i
d
h 2
22i
d
p
W q
r s t s u
r v
T
w 2x
1 2 3
654
8 9
=
7
++C
ON
0
A
B
C
D
1 2 4 3
Columnas con resistores pull up internos
+5V
R1
1k
Q12N3906
7 X 220
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 55/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 56/110
234234234234234234
Programa 3Programa 3
RB0RB1
RB2
RB3
RB4RB5
RB6RB7
RB4
RB5
RB6
RB7
R B 0
R B 1
R B 2
R B 3
R B 7
R B 6
R B 5
R B 4
R A 0
R B 1
R B 0
R A0y C1/CLKIN
16
RB0/IN
6
RB17
RB28
RB39
RB410
RB511
RB612
RB713
R A017
R A118
R A21
R A32
R A4/ 0CKI3
y C2/CLKOU
15
CLR4
U1
PIC16 84 A
X1
4
C1
22
C2
22
+5V
R 1
R18.2k
D 7
1 4
D 6
1 3
D 5
1 2
D 4
1 1
D 3
1 0
D 2
9
D 1
8
D 0
7
6
R W
5
R
4
V S S
1
V D D
2
V E E
3
LCD1LM032L
1 2 3
654
8 9
=
7
++CON 0
A
B
C
D
1 2 4 3
VDD
GND
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 57/110
235235235235235235
Programa 3Programa 3
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 58/110
236236236236236236
Programa 3Programa 3
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 59/110
237237237237237237
Programa 3Programa 3
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 60/110
238238238238238238
Programa 3Programa 3
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 61/110
239239239239239239
Programa 3Programa 3
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 62/110
240240240240240240
Programa 3Programa 3
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 63/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 64/110
242242242242242242
Programa 3Programa 3
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 65/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 66/110
244244244244244244
Programa 3Programa 3
RB
RB1
RB2RB3
RB4RB5RB6
RB7
RB4
RB5
RB6
RB7
R B
R B
1
R B 2
R B
3
R B
7
R B
6
R B 5
R B 4
R A
R B
1
R B
RA
OSC1/CLKIN16
RB
/IN 6
RB17
RB2
RB39
RB410
RB511
RB612
RB713
RA 17
RA118
RA21
RA32
RA4/
CKI3
OSC2/CLKOU 15
MCLR4
U1
PIC16F84A
X1
4Mh
C1
22pF
C2
22pF
+5V
RESE 1
R18.2k
D 7
1 4
D 6
1 3
D 5
1 2
D 4
1 1
D 3
1 0
D 2
9
D 1
8
D
7
E
6
R
5
R S
4
V S S
1
V D D
2
V E E
3
LCD1LM032L
1 2 3
654
8 9
=
7
++CON
0
A
B
C
D
1 2 4 3
VDD
GND
PROGR
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 67/110
245245245245245245
Programa 4Programa 4
Programa 4Programa 4
Se debe escribir un programa de control para un voltímetro
DC con convertidor A/D de pendiente doble, usando un
PIC16F84. El valor de la tensión desconocida debe
mostrarse en una pantalla de cristal líquido, con el formato
mostrado en la figura.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 68/110
246246246246246246
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 69/110
247247247247247247
Programa 4Programa 4
Es posible demostrar 1 que un convertidor A/D de pendiente doble
produce una cuenta digital proporcional a la tensión DC que está bajo
medición. Esto es:
donde:
Ve: voltaje DC
que se miden: Cuenta digital correspondiente al valor medido.
Vr : Voltaje de referencia. (2.0 V en este caso)
N: Cuenta correspondiente a Vr . ( 213 = 8192 en este diseño)
r e
e
r
VVn N V n
NV! ! v
1DVD: S istemas de µ procesadoresI\Asignaciones\ S emestre I_07\Asignación 2 \ Vol tímetro DC.pd f
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 70/110
248248248248248248
Programa 4Programa 4
Procedimiento de medición:
El instrumento debe medir el voltaje de entrada, presentarlo en la
pantalla LCD y repetir la medida. Un ciclo de medición consta de tres
pasos:
Paso 1: Inicio
Se conecta la tensión de referencia (Vr = -2 V) a la entrada del
integrador, lo cual produce una rampa positiva. El diodo del integrador
fija el valor máximo de la rampa a su tensión de conducción. Esta
situación se mantiene durante 40 ms como ilustra la figura que sigue.Este tiempo no es crítico y puede ser menor. La salida del comparador
se mantiene a una tensión negativa.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 71/110
249249249249249249
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 72/110
250250250250250250
Programa 4Programa 4
Paso 2: Integración de V e
El código conecta la tensión desconocida Ve al integrador y se genera
una rampa negativa. En t1 (47.4 ms) la rampa cruza el nivel de cerovoltios y el comparador sube a una tensión positiva. El programa debe
detectar este cruce por cero y arrancar un contador previamente
cargado con cero. La cuenta continúa hasta cuando el contador
alcance N = 8192, en t2 = 96.4 ms. El lapso t2 ± t1 de 49 ms es constante
e independiente de la tensión de entrada.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 73/110
251251251251251251
Programa 4Programa 4
Paso 3: Integración de V r
El µP debe conectar de nuevo la tensión de referencia al integrador,
poner el contador en cero e iniciar un nuevo conteo. La rampa, ahorapositiva, se incrementa y en t3 = 130.7 ms alcanza cero voltios y la
salida rectificada del comparador cae nivel bajo. El código debe
detectar este cruce por cero y parar el contador y almacenar la cuenta
igual a n.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 74/110
252252252252252252
Programa 4Programa 4
Durante el intervalo t2 ± t1 de la fase 2, el contador alcanza N = 8192.
Lo cual significa que la velocidad de incremento es aproximadamente
de uno cada 6 µs. El programa debe garantizar que el contador de la
fase 3 avance con esta misma cadencia. El tiempo t3-t2 es igual a 34.3
ms, de modo que bajo las condiciones establecidas, el valor registrado
para n debe ser 5716. Así se tiene:
e 1.395
2
V 5716 8192!
! v
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 75/110
253253253253253253
Programa 4Programa 4
La c u enta n se obtiene en hexadecimal y despué s de apl icar l a f ormul a
con val ores escal ados se tiene V e en binario y debe ser convertido a
decimal. El val or de V e en BCD, con c u atro ci f ras decimal es, pu ede ser
encontrado directamente sin apl icar l a ec u ación, u sando l a t é cnicadescrita en c l ases. E l val or resul tante debe escribirse en el LCD.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 76/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 77/110
255255255255255255
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 78/110
256256256256256256
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 79/110
257257257257257257
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 80/110
258258258258258258
Programa 4Programa 4
;******************************************************************
; Rutinas de control de teclado
;******************************************************************
No se muestran .
La única diferencia con el programa anterior es que no existe la rutina
LCD_PUERTOS. Estos se configuran al inicio del programa principal.
Suprima la llamada CALL LCD_PUERTOS al inicio de LCD_INIC y de
LCD_ENVIAR.
Tampoco se muestra la rutina MENS, usada para presentar las
unidades de medida.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 81/110
259259259259259259
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 82/110
260260260260260260
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 83/110
261261261261261261
Programa 4Programa 4
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 84/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 85/110
263263263263263263
Programa 4Programa 4
Simulación conSimulación conPROTEUSPROTEUS
~
2
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 86/110
264264264264264264
Programa 4Programa 4
x
=
4
2
j
2
4
j
j
62
k 4
l
m
n
o
H6
2
4 j
2
4
:
24
2
2
4
k
z
6
{
u|
-j
}
j
~
o n
4
4
k
j
6k
4
:
24
-j
}
j
n
{
4
:z
24
}
j
2
4
4
:~
24
4
2j
k
}
j
-j
-j
}
j
slo
e
=
j n n
2
j
x
=
2 n
ref
=-2
2 j
i
=-
{ {
:
(}
)
=
n n n
o
6
m o 6 m
k
m
2
{
m
n
m
4
m j
m
6
2 m k
l
k
l
{
l
2
l 2 l
4
2
j
4
6| {
4l
4
z 2
22
|
z
22
|
6
l
l
com
com
4
6
2
4
2
6
4
2
z ~
2
com
=-
{
4{
6 %
|
6 j
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 87/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 88/110
266266266266266266
TimerTimer 0 del0 del PIC16F84APIC16F84A
El uso de rutinas para generar retardos de tiempo
mantiene ocupado permanentemente al procesador. El
uso de un temporizador /contador en hardware pararealizar tareas relacionadas con control de tiempo permite
que el µCTRL realice otras tareas mientras, que el
temporizador/contador genera el retardo o cuenta eventos
externos.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 89/110
267267267267267267
TimerTimer 0 del0 del PIC16F84APIC16F84A
La función de control de tiempo del PIC16F84A es
ejecutada por un Temporizador/Contador (T/C) denomi-
nado TIMER 0, el cual puede ser activado y leído en
cualquier momento.
El Timer 0 es un contador ascendente de 8 bits impulsado
por una fuente de reloj externa o interna. El registro
contador se presenta como el SFR TMR0 (0x01) y es
incrementado por cada pulso de reloj. Cuando el registro
se desborda desde 0xFF hacia 0x00, se activa un bitinterno o se genera una interrupción, si está habilitada. El
Timer 0 es de corrida libre.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 90/110
268268268268268268
Timer 0 delTimer 0 del PIC16F84APIC16F84A
ELEL TIMERTIMER 00 comocomo temporizador temporizador
Cuando el Timer 0 es configurado como temporizador se
incrementa en 1 por cada ciclo de instrucción (4/f osc).
Esto significa que si el registro TMR0 es pre-cargado conun valor de 5610, el desborde ocurrirá 200 µs después para
un cristal de 4 MHz.
El TMR0 tiene también, opcionalmente, disponible a su
entrada un pre-escalador (pos-escalador para el WDT), el
cual divide la frecuencia de reloj por un factor de: 2, 4, 8,
16, 32, 64, 128 ó 256. Esto aumenta el rango de la cuenta
posible, pero disminuye su precisión.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 91/110
269269269269269269
TimerTimer 0 del0 del PIC16F84APIC16F84A
4 4
x
_
Conocida la duración de un ciclo de instrucción
Se puede calcular el número de veces que cuenta
el timer durante un tiempo t , como:
x x cristal
x
ciclo instr
cristal
t t f cuenta t
pt p
f
! ! ! v
v v
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 92/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 93/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 94/110
272272272272272272
TimerTimer 0 del0 del PIC16F84APIC16F84A
Con un cristal de 4 MHz, el retardo máximo será de 256 µs sin pre-
escalador y de 65536 µs con pre-escalador 1:256. Para retardos
mayores debe usarse un cristal de frecuencia menor o repetirse una
cuenta base n veces. Por ejemplo, se desea un retardo de 5 ms, a 4
MHZ. Para esto, se carga en TMR0 el valor 217 (2 16 .9375 ) y se fija el
pre-escalador en 1:128. El tiempo obtenido con tales ajustes es de:
4 128256 217 4 99
4( ) .
x t ms
v
! v !
Este valor puede considerarse, en la mayoría de las aplicaciones,
como un tiempo de 5.0 ms. Para exactitud máxima puede usarse un
cristal externo de 4.096 MHz. En cuyo caso:
4 128256 216 5 0
4 096( ) .
. x
t msv
! v !
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 95/110
273273273273273273
TimerTimer 0 del0 del PIC16F84APIC16F84A
La generación de retardos con duración y/o precisión adecuada,
depende del rango de frecuencia aceptable para el reloj de la
aplicación y de la selección adecuada del divisor del pre-escalador.
Considere que se desea generar 5 ms a una frecuencia de reloj
principal de 800 KHz. Cargando 6 en TMR0 y con pre-escalador en 1:4,
se tiene:
4 4256 6 5 0
0 8( ) .
.
x t ms
v
! v !
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 96/110
274274274274274274
TimerTimer 0 del0 del PIC16F84APIC16F84A
MedidasMedidas dede TiempoTiempo usandousando elel temporizador temporizador
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 97/110
275275275275275275
TimerTimer 0 del0 del PIC16F84APIC16F84A
ELEL TIMERTIMER 00 comocomo contador contador dede eventoseventos
El TIMER 0 puede usarse también como contador. En este caso el
registro contador TMR0 no se incrementa cada ciclo de instrucción,
sino que lo hace como respuesta a una transición de la señal aplicada
al terminal R4/T0CK
I del procesador. La frecuencia máxima que puedeser contada es dada por las siguientes especificaciones de tiempos
mínimos en ns:
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 98/110
276276276276276276
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 99/110
277277277277277277
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 100/110
278278278278278278
TimerTimer 0 del0 del PIC16F84APIC16F84A
ElEl módulomódulo TIMERTIMER 00
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 101/110
279279279279279279
TimerTimer 0 del0 del PIC16F84APIC16F84A
El temporizador/contador TIMER 0 tiene las siguientes
especificaciones:
Temporizador/Contador de 8 bits.
Acepta lecturas y escrituras.
Reloj seleccionable entre interno y externo.
Pre-escalador de 8 bits programable.
Genera interrupción cuando desborda desde 0xFF hacia 0x00.
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 102/110
280280280280280280
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 103/110
281281281281281281
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 104/110
282282282282282282
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 105/110
283283283283283283
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 106/110
284284284284284284
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 107/110
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 108/110
286286286286286286
TimerTimer 0 del0 del PIC16F84APIC16F84A
8/8/2019 Micro Control Adores PICs III-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-iii-luis-urdaneta 109/110
287287287287287287
TimerTimer 0 del0 del PIC16F84APIC16F84A