micro control adores pics ii-luis urdaneta

80
Diseño Programación Simulación Diseño Programación Simulación Por Por Luis Luis D. Urdaneta Urdaneta G.

Upload: luis-d-urdaneta-g

Post on 09-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Micro Control Adores PICs II-Luis Urdaneta

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..

Page 2: Micro Control Adores PICs II-Luis Urdaneta

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))

Page 3: Micro Control Adores PICs II-Luis Urdaneta

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)

Page 4: Micro Control Adores PICs II-Luis Urdaneta

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

Page 5: Micro Control Adores PICs II-Luis Urdaneta

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

Page 6: Micro Control Adores PICs II-Luis Urdaneta

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

Page 7: Micro Control Adores PICs II-Luis Urdaneta

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

Page 8: Micro Control Adores PICs II-Luis Urdaneta

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

Page 9: Micro Control Adores PICs II-Luis Urdaneta

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

Page 10: Micro Control Adores PICs II-Luis Urdaneta

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

Page 11: Micro Control Adores PICs II-Luis Urdaneta

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

Page 12: Micro Control Adores PICs II-Luis Urdaneta

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£ 

11

1¡ 

¦ 

RN1

£ £ ¡ 

R1

1¡ 

k

+ ̈

V

Q1£ 

N¥ ¦ ¡  

P G AMA 1

R¤ 

.£ 

k

Page 13: Micro Control Adores PICs II-Luis Urdaneta

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.

Page 14: Micro Control Adores PICs II-Luis Urdaneta

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

Page 15: Micro Control Adores PICs II-Luis Urdaneta

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

Page 16: Micro Control Adores PICs II-Luis Urdaneta

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

Page 17: Micro Control Adores PICs II-Luis Urdaneta

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

Page 18: Micro Control Adores PICs II-Luis Urdaneta

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

Page 19: Micro Control Adores PICs II-Luis Urdaneta

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

Page 20: Micro Control Adores PICs II-Luis Urdaneta

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

Page 21: Micro Control Adores PICs II-Luis Urdaneta

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

Page 22: Micro Control Adores PICs II-Luis Urdaneta

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

Page 23: Micro Control Adores PICs II-Luis Urdaneta

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

Page 24: Micro Control Adores PICs II-Luis Urdaneta

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

3

 RT 

 N 

!

Rutinas de RetardoRutinas de Retardo

Page 25: Micro Control Adores PICs II-Luis Urdaneta

8/8/2019 Micro Control Adores PICs II-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 25/80

Page 26: Micro Control Adores PICs II-Luis Urdaneta

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

Page 27: Micro Control Adores PICs II-Luis Urdaneta

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

Page 28: Micro Control Adores PICs II-Luis Urdaneta

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

Page 29: Micro Control Adores PICs II-Luis Urdaneta

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

Page 30: Micro Control Adores PICs II-Luis Urdaneta

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

Page 31: Micro Control Adores PICs II-Luis Urdaneta

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

Page 32: Micro Control Adores PICs II-Luis Urdaneta

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

Page 33: Micro Control Adores PICs II-Luis Urdaneta

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

Page 34: Micro Control Adores PICs II-Luis Urdaneta

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

Page 35: Micro Control Adores PICs II-Luis Urdaneta

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

Page 36: Micro Control Adores PICs II-Luis Urdaneta

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

Page 37: Micro Control Adores PICs II-Luis Urdaneta

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

Page 38: Micro Control Adores PICs II-Luis Urdaneta

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

Page 39: Micro Control Adores PICs II-Luis Urdaneta

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

Page 40: Micro Control Adores PICs II-Luis Urdaneta

8/8/2019 Micro Control Adores PICs II-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 40/80

Page 41: Micro Control Adores PICs II-Luis Urdaneta

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

Page 42: Micro Control Adores PICs II-Luis Urdaneta

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

Page 43: Micro Control Adores PICs II-Luis Urdaneta

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.

Page 44: Micro Control Adores PICs II-Luis Urdaneta

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

Page 45: Micro Control Adores PICs II-Luis Urdaneta

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

Page 46: Micro Control Adores PICs II-Luis Urdaneta

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

Page 47: Micro Control Adores PICs II-Luis Urdaneta

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

Page 48: Micro Control Adores PICs II-Luis Urdaneta

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

Page 49: Micro Control Adores PICs II-Luis Urdaneta

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

Page 50: Micro Control Adores PICs II-Luis Urdaneta

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

Page 51: Micro Control Adores PICs II-Luis Urdaneta

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 

Page 52: Micro Control Adores PICs II-Luis Urdaneta

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

Page 53: Micro Control Adores PICs II-Luis Urdaneta

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

Page 54: Micro Control Adores PICs II-Luis Urdaneta

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.

Page 55: Micro Control Adores PICs II-Luis Urdaneta

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.

Page 56: Micro Control Adores PICs II-Luis Urdaneta

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

Page 57: Micro Control Adores PICs II-Luis Urdaneta

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.

Page 58: Micro Control Adores PICs II-Luis Urdaneta

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

Page 59: Micro Control Adores PICs II-Luis Urdaneta

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

Page 60: Micro Control Adores PICs II-Luis Urdaneta

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

Page 61: Micro Control Adores PICs II-Luis Urdaneta

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

Page 62: Micro Control Adores PICs II-Luis Urdaneta

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

Page 63: Micro Control Adores PICs II-Luis Urdaneta

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

Page 64: Micro Control Adores PICs II-Luis Urdaneta

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.

Page 65: Micro Control Adores PICs II-Luis Urdaneta

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

Page 66: Micro Control Adores PICs II-Luis Urdaneta

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

Page 67: Micro Control Adores PICs II-Luis Urdaneta

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 

Page 68: Micro Control Adores PICs II-Luis Urdaneta

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

Page 69: Micro Control Adores PICs II-Luis Urdaneta

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

Page 70: Micro Control Adores PICs II-Luis Urdaneta

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

Page 71: Micro Control Adores PICs II-Luis Urdaneta

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

Page 72: Micro Control Adores PICs II-Luis Urdaneta

8/8/2019 Micro Control Adores PICs II-Luis Urdaneta

http://slidepdf.com/reader/full/micro-control-adores-pics-ii-luis-urdaneta 72/80

Page 73: Micro Control Adores PICs II-Luis Urdaneta

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

Page 74: Micro Control Adores PICs II-Luis Urdaneta

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

Page 75: Micro Control Adores PICs II-Luis Urdaneta

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

Page 76: Micro Control Adores PICs II-Luis Urdaneta

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

Page 77: Micro Control Adores PICs II-Luis Urdaneta

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

Page 78: Micro Control Adores PICs II-Luis Urdaneta

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

Page 79: Micro Control Adores PICs II-Luis Urdaneta

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

Page 80: Micro Control Adores PICs II-Luis Urdaneta

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