Está en la página 1de 29

Familia MCS-51

Familia de microcontroladores basados en el 8051. Creado por INTEL en 1981 8031: no tiene memoria interna (la ejecucin se hace desde una memoria externa) 8051: tiene 4Kbytes de memoria ROM incluida en el chip 8751: tiene 4Kbytes de memoria EPROM 8951: tiene 4Kbytes de memoria EEPROM

Quienes forman la Familia 8x51


Son los uc diseados alrededor del ncleo hardware y software. Fabricantes: INTEL, SIEMENS, PHILIPS, MHS Electronics

Ncleo del uC 8051


El Uc 8051 es el ncleo a partir del cual han sido diseados los otros miembros de la familia MCS-51

Ncleo del uC 8051


Interrupciones externas Entradas a contadores
Controlador de interrupciones

4K ROM

128 bytes RAM SFR

Timer0 Timer1

Interrupciones internas

8051 CPU

OSC

Control del bus

4 Puertos E/S (32 lneas)

Puerto serie

RD

WR
P0 P2 P1 P3 Bus de datos/direcciones

TxD

RxD

CARACTERISTICAS:
CPU de 8 bit - Procesador Booleano, se puede realizar operaciones bit a bit - 128 bytes de RAM interna y 256 bytes incluyendo los S.F.R. - 4 Kbytes de memoria ROM - Espacio de memoria de 64Kbytes para programa externo - Espacio de memoria de 64Kbytes para datos externos - 2 Contadores/Temporizadores 0 y 1 (timers 0 y 1)
-

CARACTERISTICAS:
- Comunicacin Asncrona Full dplex - 5 fuentes de interrupcin con 2 niveles de prioridad cada una: - 2 interrupciones externas - 2 interrupciones de los contadores/temporizadores 0 y 1(timers) - 1 interrupcin del puerto serie - Oscilador interno - C.P.U de 12 MHz

ORGANIZACIN DE LOS ESPACIOS DE MEMORIA


MEMORIA DE PROGRAMA
FFFF 65535 FFFF 65535

60K BYTES EXTERNA

1000

4096

64K BYTES EXTERNA

O
0FFF 4K BYTES INTERNA 0000 EA = 1 0 0000 EA = 0 PSEN 0 4095

ORGANIZACIN DE LOS ESPACIOS DE MEMORIA


MEMORIA DE DATOS
FFFF 65535

RAM INTERNA FF SFR 80 7F 00 128 127 0 255

64 K BYTES EXTERNA

Y
0000 0

RD

WR

Pines del 89C51/52

EA

Descripcin de los pines


Vcc: (E) Alimentacin de voltaje +5V. Tolera 10% Vss: (E) Tierra 0 V referencia P0.0-P0.7: (E/S) Puerto 0. Puerto bidireccional con salidas en colector abierto P1.0-P1.7: (E/S) Puerto 1. Puerto bidireccional P2.0-P2.7: (E/S) Puerto 2. Puerto bidireccional P3.0-P3.7: (E/S) Puerto 3. Puerto bidireccional RST: (E) Reset. Inicializacin, con 1 lgico, con duracin de 2 ciclos de mquina inicializa el Uc EA: (E) External Access. Con EA = 0, los puertos P0 y P2 desempean las funciones de bus de direcciones y datos. Con EA = 1, el cdigo de programa se busca en memoria interna

Descripcin de los pines


PSEN: (S) Program Store Enable. 64 K Bytes de memoria de programa y 64K Bytes de memoria de datos, implica un bus de direcciones de 17 bits, entonces PSEN es el dcimo sptimo bit. Cuando EA=0, PSEN pasa a 0 ALE: (E/S) Adress Latch Enable. Gobierna el multiplexado del P0: parte baja del bus de direcciones y datos. Si ALE=1 P0 presenta A0/A7, cuando ALE=0 P0 funciona como bus de datos. XTAL1: (E) Crystal 1. Entrada del amplificador inversor para el oscilador de reloj XTAL 2: (S) Crystal 2. Salida del amplificador inversor

Descripcin complementaria de los pines


P0: Sirve para multiplexar la parte baja de direcciones y al bus de datos durante el acceso a cdigo y memoria de datos externos P1: Tiene funciones alternativas solo en el 8052. Los bits 0 y 1 sirven como T2 y T2EX respectivamente. P2: Emite el byte de la parte alta de direcciones durante el acceso a memoria, de programa o datos externa que utiliza direcciones de 16 bits

Descripcin complementaria de los pines


P3: Tiene las funciones siguientes: P3.0 RXD (Entrada del interfaz serie) P3.1 TXD (Salida del interfaz serie) P3.2 INT0 (Entrada para interrupcin externa 0) P3.3 INT1(Entrada para interrupcin externa 1) P3.4 T0 (Entrada de conteo para el timer 0) P3.5 T1 (Entrada de conteo para el timer 1) P3.6 WR (Salida de escritura de la memoria externa) P3.7 RD (Salida de lectura de la memoria externa) Estas dos ltimas seales son activas bajas

128 BYTES DE LA PARTE MAS BAJA DE LA RAM


7FH ESPACIO LIBRE DE DATOS 30H 2FH 20H
BANCO DE REGISTROS 3 R0 R7 BANCO DE REGISTROS 2 R0 R7

ESPACIO DE DIRECCIONAMIENTO POR BITS

1FH

18H

17H 4 BANCOS DE 8 REGISTROS CADA UNO R0 a R7

10H
BANCO DE REGISTROS 1 R0 R7

0FH

08H
BANCO DE REGISTROS R0 R7

0 07H

00H

SFR Localidades de los registros de funciones especiales


Estn en la parte alta de la RAM (128 Bytes) SIMBOLO ACC B PSW SP P0 P1 P2 P3 NOMBRE Acumulador Registro B Program Status Word Stack Pointer Puerto 0 Puerto 1 Puerto 2 Puerto 3 DIRECCION 0E0H 0F0H 0D0H 81H 80H 90H 0A0H 0B0H

SFR Localidades de los registros de funciones especiales


SIMBOLO NOMBRE DIRECCION

IP IE TMOD TCON TH0 TL0 SCON SBUF PCON

Control de Prioridad de Interrup. Control de Validacin de Interrup. Modo de control Timer/Contador Control Timer/Contador Byte alto del T/C 0 Byte bajo del T/C 0 Control serie Buffer de datos serie Control de Potencia

0B8H 0A8H 89H 88H 8CH 8AH 98H 99H 87H

PSW: PROGRAM STATUS WORD


Registro de palabra de estado del programa
CY
CY AC F0 RS1 RS0 OV -P

AC
PSW.7 PSW.6 PSW.5 PSW.4 PSW.3 PSW.2 PSW.1 PSW.0

F0

RS1 RS0 OV

--

Bandera de Carry Bandera de Carry auxiliar Bandera 0 para usos generales Bit 1 selector del banco de registros Bit 0 selector del banco de registros Bandera de overflow Bandera sin definir Bandera de paridad

P=1, si el Acumulador contiene un nmero impar de 1s P=0, si el Acumulador contiene un nmero par de 1s

PCON: REGISTRO DE CONTROL DE POTENCIA (CONSUMO DE


ENERGIA)

PCON.7 (SMOD) divide la frecuencia de TX o de RX por el puerto serie, proporcionada ya sea, por la fase 2 de los estados, (1/2 de la frecuencia del oscilador en la transmisin serie en modo 2), o bien, por el timer 1 en los modos 1 y 3.

REGISTROS DE INTERRUPCIONES
Las interrupciones son controladas mediante la escritura en los registros IE (Interruption Enable) e IP (Interruption Priority) los cuales son fsicamente representados en la siguiente figura

REGISTROS DE INTERRUPCIONES

IE: REGISTRO HABILITADOR DE INTERRUPCIONES


La desactivacin general de las interrupciones es efectuada mediante EA = 0, en la bandera EA (IE.7). Con la bandera EA = 1, el 8051 est en condiciones de aceptar interrupciones, aunque la verdadera aceptacin es realizada cuando se escribe 1 lgico en la bandera de la interrupcin correspondiente del registro de interrupciones IE

IE: REGISTRO HABILITADOR DE INTERRUPCIONES

REGISTRO DE PRIORIDAD
El 8051 tiene dos planos de prioridad para trabajar las interrupciones, llamadas alto y bajo, respectivamente. En la inicializacin, todas las interrupciones trabajan en el plano de baja prioridad. Para pasar del plano de baja prioridad al de alta, es necesario escribir un 1 lgico en las Banderas correspondientes a las interrupciones que se desean aumentar de prioridad, ubicadas dentro del registro IP

2.4.2 REGISTRO DE PRIORIDAD

PROGRAMA EJEMPLO
ORG LJMP ORG MOV RLC MOV JNC RRC MOV JNC SJMP 0H 100H 100H A,#01H A P0,A IZDA A P0,A DCHA IZDA

IZDA:

DCHA:

END

Programa laboratorio: GENERADOR DE LETRAS


ORG AJMP ORG AJMP INICIAR: MOV MOV MOV MOV RET TCON,#00H TMOD,#00H PSW,#00H IE,#00H 0000H 0100H 0100H START

DELAYMS: MOV LOOPA: INC R7 MOV A,R7 CJNE A,#0FFH,LOOPA RET DELAYHS: MOV MOV LOOPB: INC ACALL MOV JNZ DEC MOV JNZ RET R6 DELAYMS A,R6 LOOPB R5 A,R5 LOOPB R6,#00H R5,#002H R7,#00H

LETRA_0:
MOV RET LETRA_1: MOV RET LETRA_2: MOV RET START: ACALL INICIAR LOOP: ACALL ACALL ACALL ACALL ACALL ACALL AJMP LETRA_0 DELAYHS LETRA_1 DELAYHS LETRA_2 DELAYHS LOOP P1,#01101101B P1,#00110000B P1,#01111110B

END

También podría gustarte