Está en la página 1de 12

UNIVERSIDAD NACIONAL DE SAN AGUSTIN DE AREQUIPA

FACULTAD DE INGENIERIA DE PRODUCCION Y SERVICIOS


DEPARTAMENTO ACADEMICO DE INGENIERIA ELECTRONICA
ESCUELA PROFESIONAL DE INGENIERIA ELECTRONICA

CURSO: MICROCONTROLADORES Y
MICROPROGRAMACIÓN
CLASES PRÁCTICAS

Wildor Ferrel Serruto

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.

 Sirve para controlar una tarea determinada.


 Por su tamaño reducido suele ir incorporado en el dispositivo al que gobierna
(controlador embebido)

Función Principal del MC


1 40

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

Señal Medida Elemento de


Medición

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

CPU Buses Internos

Puertos de MSSP
ADC USART
Entrada/Salida SPI/I2C

2. La CPU – El Procesador Central


Circuito digital que ejecuta programas almacenados en la memoria de programa.

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.

Esquema Simplificado de Memoria de Programa

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

Memoria de Programa Memoria de Datos


Dirección Contenido Dirección Contenido

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

Lectura de Memoria de Programa

CPU Memoria de Programa


IR Dirección Contenido
1377 1377 0000 H
0001 H
0002 H 1377
0003 H
PC 0004 H
0002 H 0002 ... ...
1FFE H
1FFF H

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

Función del Contador de Programa


Direccionar la instrucción a realizar. (PC) - Contenido del registro PC
Ejemplo (PC) =100A;
Memoria de Programa
PC
Dirección Contenido
100A
... ...

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

STATUS - Registro de Estado

IRP: Selecciona el banco en direccionamiento indirecto


RP1 RP0: Bits de selección de banco en direccionamiento directo
/TO: Bit time-out
/PD: Bit power-down
Z : Bit cero
DC : Bit de acarreo/préstamo de dígito
C : Bit de acarreo/préstamo