Professional Documents
Culture Documents
CURSO: MICROCONTROLADORES Y
MICROPROGRAMACIÓN
CLASES PRÁCTICAS
AREQUIPA – PERÚ
2011
1. Introducción
Objetivos
Describir la arquitectura del microcontrolador PIC 16F877 PIC
Manejar a través del lenguaje ensamblador los recursos del microcontrolador
(Microprogramación)
Simular en MPLAB y Proteus sistemas basados en el microcontrolador 16F877
Microcontrolador
Circuito integrado programable que contiene los elementos básicos de un
computador.
2 39
3 38
4 37
5 36
6 35
7 34
8 33
9 32
10 31
11 30
12 29
13 28
14 27
15 26
16 25
17 24
El MC en un Sistema de Control
Señal de
Señal de Mando
Referencia Variable
Controlada
Actuadores Planta
Programación del MC
Escribir el programa en lenguaje ensamblador o en lenguaje C. En el curso
usaremos el lenguaje ensamblador.
Depurar el programa
Obtener el programa en lenguaje máquina
Grabar el programa en el microcontrolador
Arquitectura
Atributos del sistema visibles al programador en lenguaje ensamblador:
Registros de Trabajo
Modos de direccionamiento
Conjunto de Instrucciones
Sistema de Interrupciones
Organización
Unidades funcionales e interconexiones que materializan una Arquitectura
(Hardware)
El Microcontrolador PIC 16F877
CPU RISC. Tiene 35 instrucciones.
Cada instrucción es de una sola palabra de 14 bits.
Máxima frecuencia de reloj 20 MHz.
Todas las instrucciones a excepción de las de salto se ejecutan en un ciclo de
instrucción.
Memoria de programa Flash de 8Kx14 words
Memoria de datos RAM de 368 bytes
Memoria de datos EEPROM de 256 Bytes
5 puertos de entrada/salida: A, B, C, D, E con 6, 8, 8, 8, 3 líneas
respectivamente
3 timers: 2 de 8 bits y 1 de 16 bits
2 módulos de captura-comparación-PWM
ADC de 10 bits de 8 canales
Puerto paralelo esclavo
Comunicación serial USART, SPI/I2C
Diagrama de Bloques
Memoria
de Memoria de Timer 2
Memoria
Programa Datos
EEPROM Timer 1
(Flash) (SRAM)
256x8 CCP1 CCP2
8Kx14 368x8 Timer 0
Puertos de MSSP
ADC USART
Entrada/Salida SPI/I2C
Microprocesador
Circuito integrado que contiene una unidad central de procesamiento CPU
Diagrama de bloques de la CPU
Memoria de Programa
Circuito digital que almacena Instrucciones.
Memoria de Datos
Circuito digital que almacena los Datos.
Contenido
13 0
Arreglo
Celdas de 14 bits,
lineal Posiciones
de
celdas ...
Dirección
Combinación binaria que Identifica a una posición de memoria
0000 H 000 H
0001 H 001 H
0002 H 002 H
0003 H 003 H
1FFE H 1FE H
1FFF H 1FF H
Dato
Combinación binaria a ser procesada
Instrucción
Combinación binaria que para el Procesador Central es una orden a ser ejecutada
Formato de Instrucción
13 0
Un Word de 14 bits
Programa
Secuencia de Instrucciones
Dirección Contenido
0000 H Instrucción 1
0001 H Instrucción 2
0002 H Instrucción 3
0003 H Instrucción 4
0004 H Instrucción 5
0005 H Instrucción 6
... ...
1FFE H
1FFF H
1007 H 3CA9
1008 H 0077
1009 H 24B2
100A H 09C1
100B H 180D
100C H 1160
... ...
Función de la CPU
10001100100111
01110001010100
00011101010100
11101010100011
01010100000111
11101000100011
00001101010011
Diagrama de Flujo
INICIO
0000 → PC
Carga de la
instrucción FETCH
PC + 1 → PC
Ejecución
Ejecución
3. La Memoria del MC
Tipos de Memoria
8Kx14 de memoria FLASH de programa
368 bytes de memoria SRAM (RAM estática) de datos
256 bytes de EEPROM (RAM no volátil), también para datos
Memoria FLASH
Almacena programas. Es direccionada por el contador de programa PC
Memoria SRAM
Almacena datos
Registros de Funciones Especiales
Configuran y permiten el acceso a los recursos del microcontrolador
Memoria EEPROM
El acceso se realiza a través de los registros SFR:
10D EEADR 00
10F EEADRH
10C EEDATA 256 bytes
10E EEDATH
18C EECON1
18D EECON2
FF