Está en la página 1de 12

1.

Introduccin
Competencias Especficas
Conocer, comprender y aplicar el microcontrolador PIC 16F877 PIC.
Utilizar los recursos del microcontrolador a travs de la programacin.
En las clases prcticas: simular en MPLAB y Proteus sistemas basados en el
microcontrolador 16F877.
En las clases de laboratorio: implementar fsicamente sistemas basados en el
microcontrolador 16F877.

Microcontrolador
Circuito integrado programable que contiene los elementos bsicos de un
computador.

Sirve para controlar una tarea determinada.


Por su tamao reducido suele ir incorporado en el dispositivo al que gobierna
(controlador embebido)
Funcin 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

El MC en un Sistema de Control 16 25

17 24
Seal de
Seal de Mando 18 23
Referencia Variable
19 22
Controlada
20 21
Actuadores Planta

Seal Medida Elemento de


Medicin

Programacin 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 mquina
Grabar el programa en el microcontrolador
Arquitectura del microcontrolador
Atributos del sistema visibles al programador en lenguaje ensamblador:
Registros de Trabajo
Modos de direccionamiento
Conjunto de Instrucciones
Sistema de Interrupciones

Organizacin del microcontrolador


Unidades funcionales e interconexiones que materializan una Arquitectura
(Hardware)

El Microcontrolador PIC 16F877


CPU RISC. Tiene 35 instrucciones.
Cada instruccin es de una sola palabra de 14 bits.
Mxima frecuencia de reloj 20 MHz.
Todas las instrucciones a excepcin de las de salto se ejecutan en un ciclo de
instruccin.
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 lneas
respectivamente
3 timers: 2 de 8 bits y 1 de 16 bits
2 mdulos de captura-comparacin-PWM
ADC de 10 bits de 8 canales
Puerto paralelo esclavo
Comunicacin 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 ...

Direccin
Combinacin binaria que Identifica a una posicin de memoria

Memoria de Programa Memoria de Datos


Direccin Contenido Direccin 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
Combinacin binaria a ser procesada

Instruccin
Combinacin binaria que para el Procesador Central es una orden a ser ejecutada
Formato de Instruccin
13 0
Un Word de 14 bits

Lectura de Memoria de Programa

CPU Memoria de Programa


IR Direccin Contenido
1377 1377 0000 H
0001 H
0002 H 1377
0003 H
PC 0004 H
0002 H 0002 ... ...
H 1FFE H
1FFF H

Programa
Secuencia de Instrucciones
Direccin Contenido
0000 H Instruccin 1

0001 H Instruccin 2
0002 H Instruccin 3
0003 H Instruccin 4
0004 H Instruccin 5
0005 H Instruccin 6

... ...

1FFE H
1FFF H

Funcin del Contador de Programa


Direccionar la instruccin a realizar. (PC) - Contenido del registro PC
Ejemplo (PC) =100A;
Memoria de Programa
PC
Direccin Contenido
100A
... ...

1007 H 3CA9
1008 H 0077
1009 H 24B2
100A H 09C1
100B H 180D
100C H 1160

... ...

Funcin de la CPU

10001100100111
01110001010100
00011101010100
11101010100011
01010100000111
11101000100011
00001101010011
Diagrama de Flujo
INICIO

0000 (PC)

Carga de la
instruccin FETCH

(PC) + 1 (PC)
Ejecucin
Ejecucin

3. La Memoria del MC
Tipos de Memoria
8Kx14 de memoria FLASH de programa
368 bytes de memoria SRAM (RAM esttica) de datos
256 bytes de EEPROM (RAM no voltil), tambin 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 travs 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 seleccin de banco en direccionamiento directo
/TO: Bit time-out
/PD: Bit power-down
Z : Bit cero
DC : Bit de acarreo/prstamo de dgito
C : Bit de acarreo/prstamo

También podría gustarte