micro control adores pics ii-luis urdaneta
TRANSCRIPT
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 1/80
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 II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 2/80
101101101101101101
Ejemplo de tabla de consultaEjemplo de tabla de consulta((LookupLookup TableTable))
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 3/80
102102102102102102
Tablas de ConsultaTablas de Consulta
Conversión desde binario a 7-segmentos (Cátodo común)
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 4/80
103103103103103103
Escribir un programa que:
1. Almacene a partir del registro f:0x30, los códigos 7segmentos de los dígitos hexadecimales.
2. Presente los dígitos en el LED 0 del simulador PIC Simulator
Ide.
Programa 1Programa 1
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 5/80
104104104104104104
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 6/80
105105105105105105
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 7/80
106106106106106106
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 8/80
107107107107107107
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 9/80
108108108108108108
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 10/80
109109109109109109
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 11/80
110110110110110110
Programa 1Programa 1
Simulación conSimulación conPROTEUSPROTEUS
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 12/80
111111111111111111
Programa 1Programa 1
OSC1/CLKIN1
RB¡
/INT
RB1
¢
RB£
¤
RB¥
¦
RB§ 1
¡
RB ̈ 11
RB 1
£
RB
¢ 1¥
RA¡ 1
¢
RA1
1¤
RA£ 1
RA¥
£
RA§
/T¡
CKI
¥
OSC
£
/CLKOUT
1 ̈
MCLR
§
U1
PIC1
F¤ §
A
X1§
Mhz
C1
£ £
pF
C
£ £
pF
+ ̈
V
1£
¥
§
̈
¢
¤
1
1 ̈
1§
1¥
1£
11
1¡
¦
RN1
£ £ ¡
R1
1¡
k
+ ̈
V
Q1£
N¥ ¦ ¡
P G AMA 1
R¤
.£
k
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 13/80
112112112112112112
Programa 1Programa 1
Los circuitos siguientes corresponden aLos circuitos siguientes corresponden a 7 ejemplos7 ejemplos dedepresentación en indicadores incandescentespresentación en indicadores incandescentes multiplexamultiplexa--
dos.dos. Los ejemplos contienen el código y pueden encontrarseLos ejemplos contienen el código y pueden encontrarse
enen la literatura de apoyola literatura de apoyo entregada al inicio del curso.entregada al inicio del curso.
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 14/80
113113113113113113
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 15/80
114114114114114114
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 16/80
115115115115115115
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 17/80
116116116116116116
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 18/80
117117117117117117
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 19/80
118118118118118118
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 20/80
119119119119119119
Programa 1Programa 1
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 21/80
120120120120120120
Rutinas de RetardoRutinas de Retardo
Problema:
En un punto del código se requiere un tiempo de espera de Txsegundos.
Solución:Escribir un código o rutina de retardo que tenga un tiempo deejecución igual a Tx.
Desventaja:El procesador estará ocupado durante el tiempo Tx.
RutinasRutinas dede RetardoRetardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 22/80
121121121121121121
CicloCiclo BásicoBásico dede retardoretardo« Ciclos de Instrucciónmovlw N 1movwf cont 1
rep decfsz cont,f 1/2goto rep 2«
Los dos ciclos primeros corresponden a la carga del valor N en elcontador. El lazo se ejecutará N veces. Los primeros (N-1) pasosserán de 3 ciclos cada uno y el último paso será de 2 ciclos, cuandoel contador llegue a 0.
? A
1 1 ( 1) 3 2
3 1 s
R ci
R ci
T N T
T N T Q
! v v
! v v
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 23/80
122122122122122122
max
Para un cristal exter no de 4 MHz
4
3 1 4
3 1
766
R
R
T N MHz
T N s
Td s
Q
Q
! v v
! v
!
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 24/80
123123123123123123
Cálculo de N
1
3
RT
N
!
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 25/80
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 26/80
125125125125125125
Para generar un pulso en alto de 50 µs en la línea 0 del puerto b:
cont equ 0xcbsf status,rp0bcf trisb,0
bcf status,rp0 CICLOSbcf portb,0 ; Salida a 0 al iniciomovlw nmovwf contbsf portb,0 ; Pulso a nivel alto
en1 decfsz cont ; Contador ± 1 y probar si llegó a 0 1/2
goto en1 ; Contador difiere de cero, esperar 2bcf portb,0 ; Contador es 0. Fin de pulso 1
? A( 1) 3 2 1 3 R
T N s N s Q Q! v ! v
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 27/80
126126126126126126
Cálculo de
50 16.663
N ! !
Seleccionando N=17, se obtiene un ancho de pulso de 51 µs y
con N= 16, de 48 µs.
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 28/80
127127127127127127
Solución:Usar instrucciones nop para ajustar el retardo:
CICLOS
cont equ 0xcbsf status,rp0bcf trisb,0bcf status,rp0bcf portb,0movlw nmovwf contbsf portb,0
en1 decfsz cont ; 1/2
goto en1 ; 2nop ; 1nop ; 1bcf portb,0 ; 1
? A( 1) 3 2 1 1 1 (3 16 2) 50 R
T N s s s Q Q Q! v ! v !
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 29/80
128128128128128128
Retardos de mayor duración
Para retardos de mayor duración debe usarse más de uncontador.
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 30/80
129129129129129129
«movlw Mmovwf cont1
rep1 movlw Nmovwf cont2
rep2 decfsz cont2,f goto rep2
decfsz cont1,f goto rep1
«
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 31/80
130130130130130130
? A
? A
2 ( 1) ( 3) 2
3 1
(3 4) 1 (1)
1, =255
3 4
1770
769
R
R
R
R
R
T M T T s
T N
T N M s
T M seleccionando
N
T M T s
Q
Q
Q
! v
!
! v
!
! u
max
(2)
196096 R
T s Q!
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 32/80
131131131131131131
Se desea un retardo de 20 ms. Usando la ecuación 2, se obtienepara M el valor: 26.007. Se usa M = 26.0 y de acuerdo con laecuación 2 debe obtenerse un retardo de 19.995 ms. Esté valor se verificó usando un simulador. El resultado de redondear M
es que se produce un error de 0.025 %.
Para un tiempo de 56 ms, se obtiene M = 71.52 y se usa 72.0. Elretardo obtenido es de 55.369 ms con error de 0.67 %.
No es obligatorio usar la ecuación 2 (N=255). Los valores de N y
M se pueden ajustar simultáneamente y usar la ecuación 1 paracalcular el retardo resultante. Por ejemplo N =3 y M=5 generanun retardo de 66 µs exactos.
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 33/80
132132132132132132
SiSi elel retardoretardo queque sese requiererequiere eses
mayor mayor queque elel tiempotiempo máximomáximoobtenibleobtenible concon dosdos contadorescontadores,,debendeben usarseusarse trestres registrosregistros coco--momo contadorescontadores..
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 34/80
133133133133133133
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 35/80
134134134134134134
«movlw Lmovwf cont1
rep1 movlw Mmovwf cont2
rep2 movlw Nmovwf cont3
rep3 decfsz cont3goto rep3decfsz cont2goto rep2
decfsz reg1goto rep1
«
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 36/80
135135135135135135
? A
? A
? A
2 ( 1) ( 3) 2
(3 4)
2 ( 1) ((3 4) ) 4) (3 4) 3
= = 255
( 1) (196099) 196100
1
196099
R
R
R
R
R
T L T T s
T N M
T L N M N M s
Seleccionando
T L s
T L T
Q
Q
Q
! v
! v
! v v v
! v
!
max
196100 (3)
50.005 R
s
T s
Qu
!
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 37/80
136136136136136136
Para un retardo de 20 s, la ecuación 3 responde que L = 101.99.Usando L = 102, el simulador reporta un retardo de 20.002 s(20.002099 s con la ecuación). El error es de 0.01 %.
Para presentar los dígitos binarios en el LED del problema 1, serequiere un retardo de 1.0 s. M=5.099 se aproxima a 5.0,obteniéndose un tiempo de 0.980496 s y error de 1.95 %.
Observe que si usa:
L=M=64 y N = 80,el retardo será de 0.99969 s con un error de 0.031 %
Rutinas de RetardoRutinas de Retardo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 38/80
137137137137137137
La emoria delLa emoria del PIC16F84PIC16F84
Ocupa la posición 0x2007 de la memoria de programa y no sepuede tener acceso a esta posición durante la ejecución deprograma.
Sirve para configurar ciertas funciones del µCtrl durante elproceso de grabación del programa en la FLASH:
La Palabra de ConfiguraciónLa Palabra de Configuración
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 39/80
138138138138138138
La emoria delLa emoria del PIC16F84PIC16F84
La Palabra de ConfiguraciónLa Palabra de Configuración
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 40/80
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 41/80
140140140140140140
La emoria delLa emoria del PIC16F84PIC16F84
Está dividida en dos áreas:
ÁreaÁrea dede SRAMSRAM:
Contiene 22 Registros de Funciones Especiales (SFR) para elcontrol del microcontrolador y 68 Registros de PropósitoGeneral (GPR) para almacenamiento temporal de datos.
ÁreaÁrea dede EEPROMEEPROM:
64 bytes para datos permanentes
La Memoria de DatosLa Memoria de Datos
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 42/80
141141141141141141
La emoria delLa emoria del PIC16F84PIC16F84
Los registros están organizados en dos bloques o páginas de128 bytes cada uno. En los primeros 12 bytes de cada bloqueresiden los registros SFR:
11 SFR en el rango 0x00-0x0B Bloque 0
11 SFR en el rango 0x80-0x8B Bloque 1
68 GPR en el rango 0x0C-0x4F Bloque 0
En el bloque 1 no existen GPR. Las direcciones 0xC y 0x8Capuntan al mismo GPR en el banco 0.
La Memoria de Datos SRAMLa Memoria de Datos SRAM
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 43/80
142142142142142142
La emoria delLa emoria del PIC16F84PIC16F84
Las instrucciones del pic16F84 pueden emitir direcciones de 7bits, lo cual hace posible el acceso a un espacio de 128 bytesde la memoria de datos entre las direcciones 0x00 y 0x7F. El
circuito integrado sólo incorpora los primeros 80 bytes (0x00-0x4F).
A toda la memoria de datos se puede tener acceso por mediode direccionamiento directo o indirecto (con el FSR). En elprimer caso el bit RP0 del registro STATUS selecciona el
bloque correspondiente.En direccionamiento indirecto el bit extra de la dirección loprovee el bit 7 del registro FSR sin importar cual banco estéseleccionado.
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 44/80
143143143143143143
La emoria delLa emoria del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 45/80
144144144144144144
La emoria delLa emoria del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 46/80
145145145145145145
La emoria delLa emoria del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 47/80
146146146146146146
La emoria delLa emoria del PIC16F84PIC16F84
Con capacidad de 64 bytes, permite almacenar datos quedeben ser permanentes, como canales programados en untelevisor o la configuración de calibración de un instrumentode medida.
No forma parte de la memoria principal del µCtrl. Lasdirecciones se suministran usando el registro SFR EEADR(0x09) y los datos se leen o escriben por medio del registroSFR EEDATA (0x08).
La Memoria de Datos EEPROMLa Memoria de Datos EEPROM
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 48/80
147147147147147147
La emoria delLa emoria del PIC16F84PIC16F84
El proceso de lectura de la EEPROM es simple. Pero el deescritura es más complejo. Para escribir datos en la EEPROMse requieren tiempos de algunos milisegundos (usualmente10 ms) y debe cumplirse una secuencia determinada para
escribir cada byte que involucra la manipulación de bits decontrol para el inicio del ciclo de escritura y para la detecciónde la culminación del mismo. Los registro FSR asociados a laoperación de la EEPROM son:
EECONEECON11 ((00xx8888)) Registro 1 para Control de la EEPROM
EECONEECON22 ((00xx8989)) Registro 2 para Control de la EEPROM1
EEADREEADR ((00xx0909)) Registro de Direcciones de la EEPROMEEDATAEEDATA ((00xx0808)) Registro de Datos de la EEPROM
1 o es un registro físico
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 49/80
148148148148148148
La emoria delLa emoria del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 50/80
149149149149149149
La emoria delLa emoria del PIC16F84PIC16F84
1. La dirección de la posición a leer es cargada en EEADR.
2. El bit 0 (RD) de EECON1 es puesto a 1 para iniciar el ciclode lectura.
El dato seleccionado es copiado en EEDATA y puede ser leídopor la siguiente instrucción. El dato se mantiene en EEDATAhasta la próxima lectura o hasta cuando sea modificado por
una operación de escritura.
Lectura de la EEPROMLectura de la EEPROM
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 51/80
150150150150150150
La emoria delLa emoria del PIC16F84PIC16F84
El siguiente código lee la dirección dir de la EEPROM.
bcf STATUS,RP0 ; banco 0movlw dir ;dirección al acumulador movwf EEADR ; copiar W a EEADRbsf STATUS,RP0 ; banco 1bsf EECON1,RD ; iniciar lecturabcf STATUS,RP0 ; banco 0
movf EEDATA,W ; dato en el acumulador
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 52/80
151151151151151151
La emoria delLa emoria del PIC16F84PIC16F84
1. La dirección se carga en EEARD y el dato en EEDATA.
2. Se habilita la escritura en EEPROM poniendo a 1 el bit 2
(WREN) del FSR EECON1.
3. Se envía el byte 0x55 seguido del byte 0xAA al registroEECON2.
4. El bit 1 (WR) de EECON1 se pone a 1 para iniciar el ciclo
de escritura.
Escritura de la EEPROMEscritura de la EEPROM
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 53/80
152152152152152152
La emoria delLa emoria del PIC16F84PIC16F84
El siguiente código escribe el byte dato en la dirección dir de laEEPROM.
bcf STATUS,RP0 ; banco 0movlw dir movwf EEADR ; se copia dirección a EEADRmovlw dato ;movwf EEDATA ; se carga el dato en EEDATAbsf STATUS,RP0 ; banco 1bsf EECON1,WREN ; se habilita la escrituramovlw 0x55movwf EECON2 ; se escribe 0x55 en EECON2movlw 0xAAmovwf EECON2 ; se escribe 0xAA en EECON2bsf EECON1,WR ; se inicia ciclo de escritura
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 54/80
153153153153153153
La emoria delLa emoria del PIC16F84PIC16F84
El bit WREN debe ser borrado por el programa y debemantenerse en cero todo el tiempo, excepto cuando seactualice la EEPROM. El bit WR no puede ser puesto a 1, amenos que WREN esté en 1.
Al final del ciclo de escritura, WR pasa a 0 y el bit bandera deinterrupción de escritura completada EEIF (bit 4 de EECON1)pasa a 1 y se genera una interrupción, si está habilitada.
Para detectar el final de una operación de escritura (esto es
crítico) en EEPROM, el código puede consultar el estado deEEIF o habilitar la interrupción correspondiente.
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 55/80
154154154154154154
La emoria delLa emoria del PIC16F84PIC16F84
Es recomendable que durante la secuencia de escritura en EEPROMlas interrupciones sean deshabilitadas usando el FSR INTCON. Seexceptúa la interrupción disparada por la culminación de un ciclo deescritura en EEPROM, la cual se habilita con un bit de INTCON.
El fabricante de memorias EEPROM especifica un número máximo deciclos de escritura/borrado que el dispositivo puede soportar. Enciertas aplicaciones donde la EEPROM puede llegar a funcionar ensus límites de operación, conviene verificar que la escritura de losdatos se ha realizado correctamente.
Para probar que el dato en W ha sido escrito correctamente, se lee laEEPROM y el valor en W se substrae del contenido del FSR EEDATA.Si no ocurrió error en la escritura, la bandera Z se pondrá en 1.
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 56/80
155155155155155155
Consideraciones deConsideraciones deTiempoTiempo ee InformaciónInformación
dede NivelNivel ba joba jo
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 57/80
156156156156156156
Relo j delRelo j del PIC16F84PIC16F84
El Generador de RelojEl Generador de Reloj
Los PIC de la serie 16 operan con una señal de reloj defrecuencia precisa suministrada por un oscilador
realizado con un inversor operando linealmente. Parausar el generador interno se conecta un cristal, unresonador o una red RC en los terminales OSC1-OSC2del dispositivo.
E
l reloj externo se aplica a la entrada OSC1, con elterminal OSC2 desconectado o a tierra. En cualquier caso la frecuencia con la cual se ejecutan lasinstrucciones es ¼ de la frecuencia del oscilador maestro.
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 58/80
157157157157157157
Tipos de Oscilador Tipos de Oscilador
Los PIC de la serie 16 pueden operar en 4 modos deoscilador. Usando los bits FOSC1 y FOSC0 de la palabra
de configuración, puede seleccionarse uno de estosmodos.
MODO BITS: FOSC1-0 FRECUENCIA
LP 00 Baja Potencia: cristales or debajo de 200
H . Por ejemplo 32.768 H .
XT 01 Para cristales o resonadores de asta 4 HH 10 Alta Velocidad : Para cristales y resonadores
sobre 4 H
11 ed Externa para disminuir costos.
Relo j delRelo j del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 59/80
158158158158158158
Potencia vs FrecuenciaPotencia vs Frecuencia
Relo j delRelo j del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 60/80
159159159159159159
CRISTAL/RESONADORCRISTAL/RESONADOR REDRED RCRC
Usando el Generador de Reloj InternoUsando el Generador de Reloj Interno
Relo j delRelo j del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 61/80
160160160160160160
ValoresValores dede loslos capacitadorescapacitadores enen OSCOSC11 yy OSCOSC22
Relo j delRelo j del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 62/80
161161161161161161
Usando un Reloj ExternoUsando un Reloj Externo
Relo j delRelo j del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 63/80
162162162162162162
Frecuencia de Reloj y de InstrucciónFrecuencia de Reloj y de Instrucción
Relo j delRelo j del PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 64/80
163163163163163163
El Ciclo de InstrucciónEl Ciclo de Instrucción PIC16F84PIC16F84
El Ciclo de InstrucciónEl Ciclo de Instrucción
T1: PC=PC+1 y se carga en el bus de direcciones de programa.
T4: La instrucción se carga en el registro de instrucciones.
La decodificación/ejecución de la instrucción se realiza en elsiguiente ciclo T1-T4.
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 65/80
164164164164164164
Procesamiento en Línea (Procesamiento en Línea (PipelinePipeline))
TCY0: se busca movlw 55h. (se ejecuta la instrucción anterior)
TCY1: se ejecuta movlw 55h y se lee movwf portb.TCY2: se ejecuta movwf portb y se busca call sub_1
TCY3: se ejecuta call sub_1 y se lee bsf porta,bit3
TCY4: Sólo se lee la primera instrucción de la subrutina SUB_1.TCY5: Se ejecuta la primera instrucción de la subrutina SUB_1 y se lee SUB-1+1.
El Ciclo de InstrucciónEl Ciclo de Instrucción PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 66/80
165165165165165165
Todas las instrucciones se ejecutan en un ciclo deTodas las instrucciones se ejecutan en un ciclo deinstrucción, exceptuando:instrucción, exceptuando:
gotogoto kkcallcall kk
returnreturnretlwretlw kkretfieretfiedecfszdecfsz f f cuando se ejecuta el saltocuando se ejecuta el salto
incfszincfsz f f ³³
btfssbtfss bb ³³btfscbtfsc bb ³³ ,,
las cuales requieren 2 ciclos de instrucción paralas cuales requieren 2 ciclos de instrucción paraejecutarseejecutarse
El Ciclo de InstrucciónEl Ciclo de Instrucción PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 67/80
166166166166166166
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
La secuencia de inicio permite llevar al µControlador a unestado conocido con condiciones de operación apropiadas.Luego de conectar la energía al PIC, se requiere, que antes de
iniciar la ejecución del programa de aplicación:1. La tensión de alimentación y la salida del oscilador de reloj
se estabilicen.
2. El contador de programa se cargue con 0 y que el chip sea
configurado de cierta manera, manipulando algunos de losFSR que controlan la operación del PIC. Por ejemplo losbits RPI, RP1 y RP0 del registro STATUS son borrados,seleccionándose al inicio el banco 0 de la memoria dedatos.
El Sistema deEl Sistema de R eset R eset
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 68/80
167167167167167167
SiSi sese mantienemantiene elel terminalterminal MCLRMCLRdeldel PICPIC1616FF8484AA enen nivelnivel bajobajo duranduran
tete alal menosmenos 22 µsµs ((¿¿100100 nsns??),), eleldispositivodispositivo entraentra enen elel estadoestado dedeRESETRESET yy sólosólo salesale dede ésteéste unauna vezvez
queque lele entradaentrada MCLRMCLR hayahaya retornaretorna--dodo aa nivelnivel altoalto..
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 69/80
168168168168168168
Estado de losEstado de los FSRsFSRs después de undespués de un RESETRESET
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 70/80
169169169169169169
Circuitos de RESET AutomáticoCircuitos de RESET Automático
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 71/80
170170170170170170
Un mecanismo de RESET interno distingue diferentes tipos deRESET :
Circuito de RESET InternoCircuito de RESET Interno
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 72/80
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 73/80
172172172172172172
En t0 la energía es aplicada y VDD se incrementa expo-nencialmente hacia +5 V. Si la velocidad inicial de subida esmayor que 0.05 V /ms, cuando VDD alcance algún valor devoltaje entre 1.5 V- 2.1 V, se genera una señal interna deRESET la cual dispara la siguiente secuencia de eventos:
1. Un temporizador de encendido (PW RT: Power Up T imer )genera un retardo fijo TPWRT igual a 72 ms aplicando lasalida de un oscilador interno a un contador de 10 bits.Esto permite que la fuente de poder se estabilice.
Este retardo puede suprimirse poniendo a 1 el bit: PWRTEde la palabra de configuración.
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 74/80
173173173173173173
2. Al finalizar TPWRT, un retardo TOST (O scillator Start Up
T imer ) con una duración de 1024 ciclos del reloj maestroes realizado, siempre y cuando se estén usando modos
de cristal del oscilador. Este tiempo es generado por uncontador de 10 bits impulsado por el reloj principal delµCtrl y garantiza que el oscilador principal se haestabilizado y funciona correctamente antes de iniciar laejecución del programa. Este temporizador es habilitadoautomática-mente excepto para el modo RC del oscilador.
Este temporizador también se inicia cuando el proce-sador despierta desde el modo SLEEP y cumple la mismafunción.
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 75/80
174174174174174174
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 76/80
175175175175175175
El Sistema deEl Sistema de R eset R eset
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 77/80
176176176176176176
Secuencia de RESET durante el encendido. RESET externo no esta conectado a VDD
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 78/80
177177177177177177
Secuencia de RESET durante el encendido. RESET externo no esta conectado a VDD
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 79/80
178178178178178178
Secuencia de RESET durante el encendido. RESET externo conectado a VDD
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84
8/8/2019 Micro Control Adores PICs II-Luis Urdaneta
http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 80/80
179179179179179179
Secuencia de RESET durante el encendido. RESET externo conectado a VDD. Tiempo de subida lento.
El Sistema deEl Sistema de ResetReset deldel PIC16F84PIC16F84