MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y...
Transcript of MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y...
![Page 1: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/1.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Sistema Microprocesador (varios C.I. en una PCB)
Microcontrolador (único C.I.)
MICROCONTROLADOR PIC DE MICROCHIP
![Page 2: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/2.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
MICROCONTROLADOR PIC DE MICROCHIP
Manuel Rico Secades Marzo 2003
PIC16F877 - 28-PIN 8-BIT CMOS FLASH MICROCONTROLLER
![Page 3: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/3.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
3
![Page 4: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/4.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16C5X gama baja 33 instrucciones de 12 bits
PIC16C6X gama media 35 instrucciones de 14 bits
![Page 5: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/5.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F876: PRINCIPALES CARACTERÍSTICAS
![Page 6: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/6.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F877: ESTRUCTURA INTERNA
Contador/Temporizador
Conversor A/D
Transmisión serie
Compare/Capture/PWM
Memoria para datos no volátiles
Bus de Datos
Bus de Datos (programa)
Registro de trabajo (acumulador)
¡ Tiene de todo !
![Page 7: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/7.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
UN PEQUEÑO EJEMPLO: UN COCHE DE JUGUETE
![Page 8: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/8.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
SELECCIÓN DE FOTOS
Hardware BASE
Con ALERÓN SOLAR
Detalle trasero
Detalle delantero
![Page 9: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/9.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F877: FUNCIÓN DE CADA PIN DEL CHIP
![Page 10: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/10.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F877: FUNCIÓN DE CADA PIN DEL CHIP
![Page 11: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/11.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
OPCIONES PARA EL RELOJ
![Page 12: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/12.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
MICROCONTROLADORES PIC: EJECUCIÓN SEGMENTADA DE INSTRUCCIONES (Arquitectura Harvard)
“Todas las instrucciones se ejecutan en 4 ciclos de reloj, excepto los saltos que necesitan 8”
![Page 13: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/13.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F877: MEMORIA DE PROGRAMA
TIENE 8K x 14 CAPACIDAD DE MEMORIA FLASH CMOS DE ALTA
VELOCIDAD ("HIGH SPEED CMOS FLASH").
DISPONE DE UNA PILA DE 8 NIVELES.
LA PILA OCUPA UN ESPACIO APARTE DENTRO DEL CHIP Y NO
SE PUEDE LEER NI ESCRIBIR DATOS EN ELLA.
LA PILA TIENE FUNCIONAMIENTO CIRCULAR, ES DECIR UNA
VEZ LLENADO EL NIVEL 8 COMIENZA POR EL 1 OTRA VEZ.
¡CUIDADO!. NO TENEMOS NINGÚN FLAG PARA INDICAR QUE LA
PILA ESTA LLENA.
NOTA: La posición 2007 (fuera del área de programación) están los bits de configuración (CONFIGURATION WORD) que ocupan 14 bits como una instrucción de programa. Muy importante configurarlo adecuadamente. (Ver siguiente lámina y parte de características especiales)
![Page 14: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/14.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
![Page 15: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/15.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
0 0000 0000 0000 = 0000h = VECTOR RESET
0 0000 0000 0001 = 0001h
0 0000 0000 0010 = 0002h
0 0000 0000 0011 = 0003h
0 0000 0000 0100 = 0004h = VECTOR INTERRUPCIONES
0 0111 1111 1111 = 07HHh
0 1000 0000 0000 = 0800h
0 1111 1111 1111 = 0FFFh
1 0000 0000 0000 = 1000h
1 1111 1111 1111 = 1FFFh
2K
2K
4K
14 bits
PC = 13 bits
PIC16F876 = 8K x 14
PIC16F876: MEMORIA DE PROGRAMA
![Page 16: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/16.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F876..............368 x 8 de RAM
Banco 0: 96 bytes
Banco 1: 80 bytes
Banco 2: 16 bytes + 80 bytes
Banco 3: 16 bytes + 80 bytes
PIC16F876: MEMORIA DE DATOS
128 bytes
INDF
![Page 17: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/17.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
128 bytes
PIC16F876: MEMORIA DE DATOS
Registro STATUS
Las instrucciones que acceden a la posición 00 (registro INDF) realmente utilizan direccionamiento indirecto
![Page 18: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/18.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Reflexión: No confundir el sitio donde están los datos (dirección) con los datos propiamente.
Para el programa:
•dirección (13 bits = 8K) •datos (14 bits = instrucción)
Para la memoria RAM/REGISTROS
•dirección (9 bits = 512K o bien 2bits (4 bancos) + 7 bits ( posición dentro del banco) = 4 bancos de 128) •datos (8 bits = datos propiamente)
![Page 19: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/19.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F876: REGISTROS ESPECIALES DENTRO DE LA MEMORIA DE DATOS
![Page 20: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/20.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F876: REGISTROS ESPECIALES DENTRO DE LA MEMORIA DE DATOS
En el banco 0
![Page 21: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/21.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F876: REGISTROS ESPECIALES DENTRO DE LA MEMORIA DE DATOS
En el banco 1
![Page 22: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/22.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
PIC16F876: REGISTROS ESPECIALES DENTRO DE LA MEMORIA DE DATOS
En el banco 2
En el banco 3
![Page 23: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/23.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Registro de estado: STATUS
3 bits indican estado de la ALU. 2 bits relacionados con WATCHDOG y SLEEP 3 bits para seleccionar bancos de memoria RAM
STATUS = 03
Recordar el uso de FSR para direccionamiento indirecto.
FSR = 04
![Page 24: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/24.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
JUEGO DE INSTRUCCIONES
Cada instrucción se codifica en 14 bits. (CÓDIGO MÁQUINA)
![Page 25: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/25.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
INSTRUCCIONES
•35 instrucciones
![Page 26: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/26.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
sintaxis para los datos
![Page 27: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/27.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para mover datos
![Page 28: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/28.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para sumar
![Page 29: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/29.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para restar
![Page 30: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/30.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
0 1 255 0 A
A Complemento a 2 de A
0 1 255 0 A
A C2 de B
C = A - B = A + (-B)
B
0 1 255 0 A
A C2 de B C
C2 de C
"NOTAR: Si Carry=0 la resta es negativa B > A"
INTERPRETACIÓN GEOMÉTRICA DE LA RESTA EN COMPLEMENTO A 2 EN 8 BITS ( Lopera 2003)
![Page 31: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/31.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para incrementar
![Page 32: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/32.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para decrementar
![Page 33: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/33.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones especiales
![Page 34: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/34.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para rotar datos
![Page 35: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/35.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para rotar datos (intercambiar nibbles)
Curiosidad: SWAPF REGISTRO,1 SWAPF REGISTRO,0 Recupera el registro en cuestión en el W sin afectar a los flag (es decir si tocar el STATUS). Es útil para los retorno de interrupción donde se salva el STATUS y el W (mirar el template F876TEMP.ASM).
![Page 36: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/36.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones lógicas (AND)
![Page 37: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/37.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones lógicas (OR)
![Page 38: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/38.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones lógicas (ORx)
![Page 39: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/39.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones lógicas (complementar)
![Page 40: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/40.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para borrar (poner a cero)
![Page 41: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/41.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones manipular bits (poner a cero y a uno)
![Page 42: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/42.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para saltar
PC = 13 bits (8 K) En este salto solo ponemos 11 bits (2K)
¡ Cuidado con los saltos de mas de 2K ! Debemos cargar el PCLATH con el valor adecuado.
![Page 43: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/43.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para saltar (condicionado al estado de un bit)
![Page 44: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/44.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Registros de control del contador de programa: PCL y PCLATH
“Escribir en PCLATH no tiene
efecto inmediato sobre el PC.
El valor de PCLATH solo se
transfiere al modificar el
registro PCL”.
Ver manejo de tablas AN556
“Las instrucciones de salto
GOTO y CALL reservan 11
bits dentro del código para el
salto”
PCLATH = 0A PCL = 02
![Page 45: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/45.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para hacer subprogramas (salto)
PC = 13 bits (8 K) En este salto solo ponemos 11 bits (2K)
¡ Cuidado con los saltos de mas de 2K ! Debemos cargar el PCLATH con el valor adecuado. Igual que en la instrucción GOTO
![Page 46: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/46.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para hacer subprogramas (retornos)
Comentario RETLW es útil para manejar tablas de datos grabadas en la memoria de programa. Ver nota de aplicación AN556
![Page 47: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/47.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Instrucciones para retornar de subprogramas de interrupciones
COMENTARIO Como norma general, antes de retornar de una interrupción debemos borrar el bit que la ha generado. Ver la parte de la presentación dedicada a las interrupciones.
Podemos considerar una interrupción como una llamada a un subprograma generada por Hardware. Tiene el matiz, que no sabemos el sitio donde se va a producir. Normalmente necesitaremos salvar el registro W y el STATUS y recuperarlos antes de retornar.
![Page 48: MICROCONTROLADOR PIC DE MICROCHIP€¦ · Registros de control del contador de programa: PCL y PCLATH “Escribir en PCLATH no tiene efecto inmediato sobre el PC. El valor de PCLATH](https://reader035.fdocument.pub/reader035/viewer/2022062508/5fea2d419a45da5adf4354fa/html5/thumbnails/48.jpg)
UNIVERSIDAD DE OVIEDO Manuel Rico-Secades
Fichero P16F877.INC en el directorio MPLAB
Tiene definidas todas la etiquetas de registros para realizar el programa de forma cómoda.
NOTA: El fichero F877TEMP.ASM es un fichero patrón (template) que sirve de ayuda para realizar programas en ensamblador. Esta en el directorio MPLAB también.