Microcontroladores de arquitectura X51

54
Arquitectura de la Familia x51 Dr. Adrián Castañeda Galván 1

description

Esta presentación se hizo con fines didácticos para estudiar la arquitectura de microcontroladores x51 de manera simple y ordenada, siguiendo una estructura básica para el análisis de un microcontrolador. En las diapositivas también se muestra la configuración del x51 como microcontrolador con memoria RAM externa, con memoria ROM externa y como sistema mínimo. Toda la presentación esta pensada para uso de estudiantes, maestros y público en general y puede ser modificada sin autorización.

Transcript of Microcontroladores de arquitectura X51

Page 1: Microcontroladores de arquitectura X51

Arquitectura de la Familia x51

Dr. Adrián Castañeda Galván 1

Page 2: Microcontroladores de arquitectura X51

Aplicación de los μCLa aplicaciones de los microcontroladores, caen en una de dos categorías: Sistemas de Control de Lazo Abierto o Sistemas de Control de Lazo Cerrado; aunque también pueden encontrarse en aplicaciones de manipulación de estructura de datos, por ejemplo, en sistemas de robótica, o en sistemas de comunicación.

Dr. Adrián Castañeda Galván 2

Page 3: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 3

Page 4: Microcontroladores de arquitectura X51

Características del μC x52 Capacidad de proceso de palabra de 8 bits Procesador Booleano. Circuito de reloj incorporado. Frecuencia hasta 24 MHz. 4 Puertos de 8 bits, 32 Líneas de entrada y salida. 8KB de ROM 4KB para el x51 256 Bytes de RAM 384 contando el SFR. Capacidad de expandirse como μP con 64KB de ROM y RAM. 1 UART FULL DUPLEX. 3 Timers de 16 bits. 2 para el x51 2 Interrupciones Externas. 6 Fuentes de interrupciones con niveles de prioridad. 255 Instrucciones Diferentes. Alta Inmunidad al ruido eléctrico.

Dr. Adrián Castañeda Galván 4

Page 5: Microcontroladores de arquitectura X51

Organización de la máquina

Dr. Adrián Castañeda Galván 5

CONTROLDE

INTERRUPCION

8K

ROMTIMER0, 1

TIMER 2

CPU

OSCBUS DE

CONTROL

PUERTO

SERIAL

256 BYTES

RAM

4 PUERTOS

DE I / O

P0 P1 P2 P3P0/P1DIRECCIONES/DATOS

TXD RXD

Int. externas

Cont.

ext

Page 6: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 6

Page 7: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 7

Page 8: Microcontroladores de arquitectura X51

Descripción de los pines  Los puertos P0 a P3 son bidireccionales y tienen funciones alternas que se muestra en la figura. El P0 necesita resistencias de PULL UP dado que es de colector abierto.

RST: una entrada alta durante 2 ciclos de reloj detiene la máquina.

ALE: Address Latch Enable. Un pulso positivo de salida permite fijar el byte bajo de la dirección durante el acceso a una memoria externa. En operación normal, ALE es emitido en un rango constante de 1/6 de la frecuencia del oscilador, y puede ser usada para cronometrar.

Dr. Adrián Castañeda Galván 8

Page 9: Microcontroladores de arquitectura X51

Descripción de los pines PSEN: Program Store Enable. habilitador de lectura para memoria de programas externos. (OEROM)

RD: read para leer de la memoria de datos externa.(OERAM)

WR: write para escribir en la memoria de datos externa.(WRRAM)

EA:External Access Enable. EA debe mantenerse externamente en posición baja para habilitar el mecanismo que elige el código de las localizaciones de la memoria de programas externos, 0000H y 0FFFH. Si EA se mantiene en posición alta, el dispositivo ejecuta los programas que se encuentran en la memoria interna ROM, a menos que el contador del programa contenga una dirección mayor a 0FFFH.

Dr. Adrián Castañeda Galván 9

Page 10: Microcontroladores de arquitectura X51

Descripción de los pines

Dr. Adrián Castañeda Galván 10

Page 11: Microcontroladores de arquitectura X51

Estructura del reloj

Dr. Adrián Castañeda Galván 11

Page 12: Microcontroladores de arquitectura X51

Ciclo máquina Un ciclo máquina para esta familia de microcontroladores, consiste en una secuencia de 6 estados nombrados S1 a S6. Cada estado esta formado por dos periodos de la señal de reloj denominadas fases (F1 y F2). 

Teniendo en cuenta que cada ciclo tienen 12 periodos, si el oscilador es de 12 MHz, la duración del ciclo máquina es de 1μs.

La secuencia de búsqueda/ejecución son las mismas, sea la memoria de programas interna o externa.

Dr. Adrián Castañeda Galván 12

Page 13: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 13

Page 14: Microcontroladores de arquitectura X51

Organización de la memoria ROM

Dr. Adrián Castañeda Galván 14

Page 15: Microcontroladores de arquitectura X51

Vector de interrupciones

Dr. Adrián Castañeda Galván 15

Interrupción DirecciónRESET 0000H

IE0 0003HTF0 000BHIE1 0013HTF1 001BH

RX Y TX 0023HTF2 Y EXF2 002BH

Page 16: Microcontroladores de arquitectura X51

Organización de la memoria RAM

Dr. Adrián Castañeda Galván 16

La memoria de datos se divide en 2

•Ram Interna

•Ram Externa

La Ram Externa se accesapor la instrucción MOVX.

La Ram Interna se divide en 3 según su modo de direccionamiento

Directo e Indirecto

Solo DirectoSolo Indirecto

Page 17: Microcontroladores de arquitectura X51

Memoria de Datos. SFR

Dr. Adrián Castañeda Galván 1780

P1

87TCON TMOD TL0 TL1 TH0 TH1

SCON SBUFP2IEP3IP

PSW

ACC

B

889098A0A8B0B8C0C8D0D8E0E8F0F8 FF

F7EFE7DFD7CFC7BFB7

9F978F

AFA7

P0 SP DPL DPH PCON

T2CON RCAP2L RCAP2H TL2 TH2

Page 18: Microcontroladores de arquitectura X51

Memoria de Datos. Área de Direccionamiento Directo e Indirecto bancos de registros( 00H –1FH )

Bit a Bit ( 20H –2FH ) son 128 bits 

Scratch PAD ( 30H – 7FH ). Block de notas de rápido acceso 

Dr. Adrián Castañeda Galván 18

7FH

2FH

1FH

17H

0FH

07H

20H

18H

10H

08H

0

11

10

01

00

{{{{ Valor de reset

del Stack Pointer 07

4 bancos de 8

registros

R0- R7

Espacio direccionableBit a bit

Área de Scratch PAD30H

Page 19: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 19

Page 20: Microcontroladores de arquitectura X51

MODOS DE DIRECCIONAMIENTO a) DIRECCIONAMIENTO INMEDIATO b) DIRECCIONAMIENTO DIRECTO c) DIRECCIONAMIENTO INDIRECTO e) DIRECCIONAMIENTO POR REGISTRO d) DIRECCIONAMIENTO INDEXADO f) DIRECCIONAMIENTO POR BIT

Dr. Adrián Castañeda Galván 20

Page 21: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 21

Page 22: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 22

Page 23: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 23

Page 24: Microcontroladores de arquitectura X51

DIRECCIONAMIENTO INDEXADO

Dr. Adrián Castañeda Galván 24

Este direccionamiento solo es posible en la memoria de programas y sólo permite la lectura. Es utilizado para la lectura de tablas. Un registro de 16 bits como el DPTR o el contador de programa PC apunta a la base y el acumulador es el OFFSET

MOVC A, @A+DPTRMOVC A, @A+PC

Page 25: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 25

Page 26: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 26

Page 27: Microcontroladores de arquitectura X51

De los Mcsx51

Dr. Adrián Castañeda Galván27

Page 28: Microcontroladores de arquitectura X51

Registro Program Status Word

Dr. Adrián Castañeda Galván 28

Page 29: Microcontroladores de arquitectura X51

Selección del Banco de Registros en PSW

Rs1 Rs0 Banco Dirección

0 0 0 00H-07H

0 1 1 08H-0FH

1 0 2 10H-17H

1 1 3 18H-1FH

Dr. Adrián Castañeda Galván 29

Page 30: Microcontroladores de arquitectura X51

Registro Power Control

Dr. Adrián Castañeda Galván 30

Page 31: Microcontroladores de arquitectura X51

Interrupciones

Dr. Adrián Castañeda Galván 31

Page 32: Microcontroladores de arquitectura X51

TCON Registro de control de temporizadores, contadores e interrupciones

Dr. Adrián Castañeda Galván 32

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

B BIT FUNCIONTF1 TCON.7 Bandera de Desborde del T1 TR1 TCON.6 Arranque del T1TF0 TCON.5 Bandera de Desborde del T0TR0 TCON.4 Arranque del T0IE1 TCON.3 Bandera de petición de interrupción 1IT1 TCON.2 Control de interrupción 1=Flanco

Negativo 0=Nivel bajoIE0 TCON.1 Bandera de petición de interrupción 0IT0 TCON.0 Control de interrupción 1=Flanco

Negativo 0=Nivel bajo

Page 33: Microcontroladores de arquitectura X51

Interrupción externa

Dr. Adrián Castañeda Galván 33

Pin 3.2 y 3.3

Por flanco

Por nivel

ts=tiempo de servicio de subrutina

ts ts

ts ts ts ts ts

Page 34: Microcontroladores de arquitectura X51

TCON Registro de control de temporizadores, contadores e interrupciones

Dr. Adrián Castañeda Galván 34

TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

B BIT FUNCIONTF1 TCON.7 Bandera de Desborde del T1 TR1 TCON.6 Arranque del T1TF0 TCON.5 Bandera de Desborde del T0TR0 TCON.4 Arranque del T0IE1 TCON.3 Bandera de petición de interrupción 1IT1 TCON.2 Control de interrupción 1=Flanco

Negativo 0=Nivel bajoIE0 TCON.1 Bandera de petición de interrupción 1IT0 TCON.0 Control de interrupción 1=Flanco

Negativo 0=Nivel bajo

Page 35: Microcontroladores de arquitectura X51

TMOD Registro de control de modo de Timers y Contadores

Si Gate=1 y TR=1 el C/T funciona sí la línea de INT está en alto (control por hardware).

Si Gate=0 el C/T funciona solo si TR=1 (C.S). C/T Selecciona el Contador o Temporizador.

M1 M0 Modos de Operación. 0 0 Modo 0 Timer de 13 bits 0 1 Modo 1 Timer de 16bits 1 0  Modo 2 Recargable de 8 bits 1 1 Modo 3 TL0 como contador 

o temporizador TH0 solo como temporizador

Dr. Adrián Castañeda Galván 35

GATE C/T M1 M0 GATE C/T M1 M0

TIMER1 TIMER 0

Page 36: Microcontroladores de arquitectura X51

Timer1 en MODO 0. Contador de 13 bits. MODO 1 16 bits

Dr. Adrián Castañeda Galván 36

Page 37: Microcontroladores de arquitectura X51

Timer1 en MODO 2. 8 Bits Auto recarga 

Dr. Adrián Castañeda Galván 37

Page 38: Microcontroladores de arquitectura X51

Timers en MODO 3

Dr. Adrián Castañeda Galván 38

Page 39: Microcontroladores de arquitectura X51

Registro SCON para comunicación serie.(MSB) (LSB)

SM0 SM1 SM2 REN TB8 RB8 TI RISímbolo Nombre y SignificadoSM0 – SM1 Determinan el modo de operación del puerto serie

SM2 En modos 2 y 3, si SM2=1, RI no se activa si RB8 no es cero.En modo 1, si SM2=1, RI no se activa si no se recibe el bit

stop.En modo 0 debe estar en 0.

REN Cuando = “1” permite la recepción.

TB8 Es el noveno bit a transmitir (bit de paridad en Modo 2 y 3)

RB8 En modos 2 y 3 es el noveno bit que se recibeEn modo 1, si SM2=0 es el bit de stopEn modo 0 no se utiliza

TI Bandera de Interrupción de Transmisión. Debe borrarse por programa

RI Bandera de Interrupción de Recepción. Debe borrarse por programa

Dr. Adrián Castañeda Galván 39

Page 40: Microcontroladores de arquitectura X51

Modos de operación del puerto serieMODO 0: Los datos entran y salen por el pin RXD. El pin TXD presenta los impulsos de desplazamiento del reloj. El tamaño de palabra es de 8 bits siendo el primero en salir o llegar el LSB. La frecuencia es 1/12 la frecuencia del reloj.MODO 1: es la comunicación estándar 1 bit de start 8 de datos y 1 de stop. Los 10 bits son transmitidos por TXD y recibidos por RXD. La velocidad de trasmisión es ajustada por el usuario.

MODO 2: Se transmiten (TxD) o se reciben (RxD) 11 bits, un bit de inicio (strat=0) 8 bits de datos (primero D0), el 9 bit es TB8 en la transmisión y RB8 en la recepción un bit de paro (Stop=1). En recepción el bit de paro (STOP) se va a RB8 si SM2=0 de SCON, el baud rate es fijo al 1/32 o 1/64 de la frecuencia de reloj.MODO 3: Se transmiten (TxD) o se reciben (RxD) 11 bits, semejante al modo 2 excepto que la velocidad de transmisión (baud rate) es variable.

Dr. Adrián Castañeda Galván 40

Page 41: Microcontroladores de arquitectura X51

Generación del Baud Rate

Dr. Adrián Castañeda Galván 41

En modo 1 y 3 :Baud rate =

K x Frecuencia de reloj

32 x 12 x [256 - TH1]

donde K = 1 si SMOD = 0K = 2 si SMOD = 1

En modo 2 :1 / 64 si SMOD = 0

1 / 32 si SMOD = 1

Page 42: Microcontroladores de arquitectura X51

Baud Rates Comunmente usados

Dr. Adrián Castañeda Galván 42

Page 43: Microcontroladores de arquitectura X51

Resumen de losRegistros de control

Interrupción externa Registros

IE (EA, EXx) IP (PXx) TCON ( ITx, IEx)

Puertos P3.2 y P3.3

Timer/Counter Registros

IE (EA,ETx) IP (PTx) TCON ( TRx,TFx) TMOD (Gate, C/T, M1, M0)

P3.4 y P3.5 Serial

Registros PCON (SMOD) SCON (TI, RI, SMx, REN)

Timer 1 en modo 2 TH1 valor dependiente de Baud Rate

Dr. Adrián Castañeda Galván 43

Page 44: Microcontroladores de arquitectura X51

Sintaxis del ensamblador

Dr. Adrián Castañeda Galván 44

Page 45: Microcontroladores de arquitectura X51

Tipos de instrucciones Instrucciones booleanas Instrucciones aritméticas Instrucciones lógicas Instrucciones de transferencia de datos Instrucciones de salto.

Dr. Adrián Castañeda Galván 45

Page 46: Microcontroladores de arquitectura X51

Sintaxis del Ensamblador

Dr. Adrián Castañeda Galván 46

< etiqueta :> <mnemónico> <operandos> <;comentarios>

Salto: CJNE A,#5H,Regreso ;este es un comentario

Page 47: Microcontroladores de arquitectura X51

Como MicroprocesadorComo Microcontrolador

Dr. Adrián Castañeda Galván 47

Page 48: Microcontroladores de arquitectura X51

Configuración como μP. Memoria de programa Rom Externa.

Dr. Adrián Castañeda Galván 48

PSEN - Program Store EnableALE - Address Latch Enable

Page 49: Microcontroladores de arquitectura X51

Lectura de memoria de programa externa

Dr. Adrián Castañeda Galván 49

ALE

PSEN

P0

P2A8 - A15 A8 - A15

A0-A7 DATOS A0-A7

Page 50: Microcontroladores de arquitectura X51

Configuración para lectura de datos externa.

Dr. Adrián Castañeda Galván 50

Page 51: Microcontroladores de arquitectura X51

Lectura de memoria de datos externa

Dr. Adrián Castañeda Galván 51

PSEN

RD

P0

P2

A0-A7

P2.0 - P2.7 o A8 - A15 A8 - A15

A0 - A7Datos

Page 52: Microcontroladores de arquitectura X51

Escritura en memoria de datos externa

Dr. Adrián Castañeda Galván 52

ALE

PSEN

WR

P0

P2P2.0 - P2.7 o A8 - A15 A8 - A15

A0-A7DATOS A0-A7

Page 53: Microcontroladores de arquitectura X51

Configuración como μP

Dr. Adrián Castañeda Galván 53

Page 54: Microcontroladores de arquitectura X51

Dr. Adrián Castañeda Galván 54