nombre de la prÁctica objetivo especÍfico

20
Laboratorio de Microprocesadores El MICROCONTROLADOR 8051 Carlos E. Canto Quintal M.C. - 102 - NOMBRE DE LA PRÁCTICA Microcomputadora con el 8051 OBJETIVO ESPECÍFICO: Conocer las componentes y la programación de un Microcontrolador 8051 INTRODUCCIÓN: SISTEMAS BASADOS EN MICROCONTROLADOR Un sistema de computadora basado en microcontrolador es diferente funcionalmente a un sistema basado en un microprocesador. El primero se utiliza de una forma más eficiente en un sistema que ejecuta un programa dedicado (o fijo) repetitivamente sin la necesidad de ser reprogramado. A un microcontrolador con frecuencia es llamado computadora en un “chip”. El nombre anterior se le otorga ya que contiene todos los componentes de un sistema de computadora (bus, CPU, memoria y puertos E/S) en un solo circuito integrado. APLICACIONES TIPICAS DE LOS MICROCNTROLADORES Ejemplos en los cuales se incluye el uso de programas fijos repetitivos son los siguientes: Videograbadoras Máquinas contestadoras Instrumentación médica Automóviles Hornos de micro-ondas Básculas digitales Bombas de gasolina Cajeros automáticos EL MICROCONTROLADOR 8051 El 8051 fue creado por INTEL en 1981 y tiene las características siguientes: o CPU de 8 bits o Procesador Booleano con el cual puede realizar operaciones bit a bit o 128 bytes de RAM interna o 4 Kbytes de memoria de programa interna (ROM) o 5 fuentes de interrupción con 2 niveles de prioridad PRACTICA N0. 10

Upload: others

Post on 25-Jul-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 102 -

NOMBRE DE LA PRÁCTICA Microcomputadora con el 8051

OBJETIVO ESPECÍFICO:

Conocer las componentes y la programación de un Microcontrolador 8051

INTRODUCCIÓN:

SISTEMAS BASADOS EN MICROCONTROLADOR

Un sistema de computadora basado en microcontrolador es diferente funcionalmente a un sistema basado en un microprocesador. El primero se utiliza de una forma más eficiente en un sistema que ejecuta un programa dedicado (o fijo) repetitivamente sin la necesidad de ser reprogramado. A un microcontrolador con frecuencia es llamado computadora en un “chip”. El nombre anterior se le otorga ya que contiene todos los componentes de un sistema de computadora (bus, CPU, memoria y puertos E/S) en un solo circuito integrado.

APLICACIONES TIPICAS DE LOS MICROCNTROLADORES Ejemplos en los cuales se incluye el uso de programas fijos repetitivos son los siguientes: • Videograbadoras • Máquinas contestadoras • Instrumentación médica • Automóviles • Hornos de micro-ondas • Básculas digitales • Bombas de gasolina • Cajeros automáticos

EL MICROCONTROLADOR 8051 El 8051 fue creado por INTEL en 1981 y tiene las características siguientes:

o CPU de 8 bits o Procesador Booleano con el cual puede realizar operaciones bit a

bit o 128 bytes de RAM interna o 4 Kbytes de memoria de programa interna (ROM) o 5 fuentes de interrupción con 2 niveles de prioridad

PRACTICA N0. 10

Page 2: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 103 -

o 32 bits de entrada/salida direccionables bit a bit o 1 puerto serie Full dúplex (UART) o 2 Contadores-Temporizadores de 16 bits programables o 1 oscilador para las señales de reloj o Posibilidad de direccionar hasta 64Kbytes de memoria de

programa externa o Posibilidad de direccionar hasta 64Kbytes de memoria de datos

externa o varias velocidades desde 12MHz

Posteriormente han sido desarrolladas otras versiones del 8051 con distintas características de RAM, ROM, etc.. ARQUITECTURA INTERNA DEL 8051

LA DISTRIBUCIÓN DE MEMORIA DEL 8051 El 8051 está diseñado en base a lo que se conoce como Arquitectura Hardvard. Dicha arquitectura divide el espacio total de memoria en dos áreas distintas: de código o de programa y de datos. MEMORIA DE CODIGO O DE PROGRAMA. El 8051 tiene 4096 bytes de memoria de código interna. El rango se puede incrementar, usando memoria externa, hasta un total de 64 KB.

Interrupcionesinternas

Interrupciones externas

4KROM4K

ROM128 bytes

RAM128 bytes

RAM Timer0Timer0Timer1Timer1

Control del bus

Control del bus 4 Puertos E/S

(32 líneas)4 Puertos E/S

(32 líneas)Puerto seriePuerto serie

8051CPU8051CPU

OSCOSC

Controladorde

interrupciones

Controladorde

interrupciones

Entradas a contadores

Bus de datos/direcciones

P0 P1P2 P3RD WR RxDTxD

SFRInterrupcionesinternas

Interrupciones externas

4KROM4K

ROM128 bytes

RAM128 bytes

RAM Timer0Timer0Timer1Timer1

Control del bus

Control del bus 4 Puertos E/S

(32 líneas)4 Puertos E/S

(32 líneas)Puerto seriePuerto serie

8051CPU8051CPU

OSCOSC

Controladorde

interrupciones

Controladorde

interrupciones

Entradas a contadores

Bus de datos/direcciones

P0 P1P2 P3RD WR RxDTxD

SFR

MEMORIA DE PROGRAMA DEL 8051MEMORIA DE PROGRAMA DEL 8051MEMORIA DE PROGRAMA DEL 8051

&

4K BytesInterna

4K BytesInterna

0000

0FFF4K BytesInterna

4K BytesInterna

0000

0FFF

60 KBytes

Externa

60 KBytes

Externa

1000

FFFF

60 KBytes

Externa

60 KBytes

Externa

1000

FFFF

O

64 KBytes

Externa

64 KBytes

Externa

0000

FFFF

64 KBytes

Externa

64 KBytes

Externa

0000

FFFF

El tamaño de la memoria de programa externa puede ampliarse hasta 64kbytes.

Los primeros 4k (8 K para el 8052 ) pueden residir en el chip.

Page 3: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 104 -

MEMORIA DE DATOS INTERNA. La capacidad de memoria de datos interna es de 256 bytes. La mitad baja, 128 bytes, se usa para almacenamiento por el programa de variables de datos. La parte superior se reserva para los Registros de Funciones Especiales (SFR).

REGISTROS DE FUNCIONES ESPECIALES. Los SFRs se usan para almacenar los valores, en bytes, que controlan la operación del 8051. Aquellos registros cuya dirección es divisible por 8 se puede direccionar por bit. El espacio de memoria para los SFRs está contenido de los bytes 128 (80H) al 255 (FFH). Este espacio de memoria es accesible solo a través de direccionamiento directo. Algunas de las direcciones en el espacio de SFRs son direccionables tanto en forma de byte como de bit. Así que otras solo son direccionables en forma de byte. Estos registros tienen valores que el 8051 utiliza conforme ejecuta instrucciones. MEMORIA DIRECCIONABLE POR BIT. Aparte de los SFRs direccionables por bit, también se pueden direccionar 16 bytes de memoria interna de datos de esta manera. Esto le permite al programador manipular los datos en un sentido bit a bit, lo cual es una de las características más sobresalientes del 8051. MEMORIA EXTERNA DE DATOS. Si se requiere de más memoria para almacenamiento de datos, el 8051 puede direccionar en forma externa un adicional de 64 KB de RAM.

Memoria de Datos InternaMemoria de Datos Interna

Accesible solo conDireccionamiento

Directo

Accesible solo conDireccionamiento

Directo

Accesible conDireccionamiento

Directo e Indirecto

Accesible conDireccionamiento

Directo e Indirecto

Accesible Solo con

DireccionamientoIndirecto

Accesible Solo con

DireccionamientoIndirecto

Registros de Función Especial

PuertosBits de status y controlRegistros de TimersStack pointerAcumuladorEtc.

00H

7FH80H

FFH

128 bytes Más bajos

128 bytesMás altos

Externa Externa

Relación de áreas de almacenamiento en el µC8051

Relación de áreas de almacenamiento en el µC8051

Interna oexterna

Interna oexterna

Externa Externa

Memoria de programas

Memorias de Datos Interna

Memorias de Datos Externa

Espacio de Registros de Función Especial

SFR

0000H

0FFFH1000H

FFFFH

00H

7FH 80H

FFH

0000H

FFFFH

El 8051 tiene espacios de direcciones separados para memoria de programa y memoria de datos.

Page 4: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 105 -

DIAGRAMA FUNCIONAL DE PINES DEL 8051 El 8051 se encuentra disponible en un encapsulado tipo DIP de 40 pines. Sus

FUNCIONES ALTERNAS DE LOS PUERTOS DEL 8051 Cada uno de los puertos de E/S tiene una función alternativa que le permite mayor

versatilidad al 8051. El Puerto 0 sirve para multiplexar la parte baja de direcciones y al bus de datos

durante el acceso a código y memoria de datos externos. El Puerto 1 tiene funciones alternativas solo en el 8052. Los bits 0 y 1 sirven como

T2 y T2EX respectivamente. El Puerto 2 emite el byte de la parte alta de direcciones durante el acceso a

memoria, de código o datos, externa que utiliza direcciones de 16 bits. El puerto 3 tiene las funciones listadas en seguida:

P3.0 RXD (Entrada de puerto serie) P3.1 TXD (Salida de puerto serie) P3.2 INT0 (Interrupción externa 0) P3.3 INT1(Interrupción externa 1) P3.4 T0 (Entrada para temporizador 0) P3.5 T1 (Entrada para temporizador 1) P3.6 WR (pulso de escritura para memoria ext.) P3.7 RD (pulso de lectura para memoria ext)

MIEMBROS Y PRODUCTOS DE LA FAMILIA MCS-51 Los tres miembros originales de la familia son el 8031, 8051 y 8751, en seguida se describen sus características. 8031 y 8051. • Estos dispositivos proveen una solución efectiva en costo para aquellas aplicaciones de control que requieren de hasta 64 KB de código y/o 64 KB de almacenamiento. El 8031 contiene: • 128 bytes de memoria de datos de lectura/escritura • 32 líneas de E/S bidireccional (4 puertos) • dos contadores/temporizadores de 16 bits • Una estructura de interrupciones con dos niveles de prioridad y cinco fuentes • Puerto serie de E/S programable • Oscilador integrado con circuitería de reloj

80318031

EA/VDD

ALE/PROG

RXD

TXD

INT0INT1

T1T0

WR

RD

XTAL1

XTAL2

PUERT0 0

VSS VCC RST/VPO

PUERT0 1

PUERT0 2PUERT0 3

PSEN

80318031

EA/VDD

ALE/PROG

RXD

TXD

INT0INT1

T1T0

WR

RD

XTAL1

XTAL2

PUERT0 0

VSS VCC RST/VPO

PUERT0 1

PUERT0 2PUERT0 3

PSEN

Page 5: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 106 -

El 8051 tiene todas las características del 8031 más 4 KB de memoria de código de solo lectura, no volátil. El 8751 es una versión EPROM del 8051, tiene todas las características del 8031 más 4 KB de memoria de código de solo lectura, programable y borrable.

VERSIONES CHMOS Los dispositivos anteriores se encuentran disponibles en una versión CHMOS de ahorro de energía: 80C31, 80C51 y 87C51 respectivamente. Estos dispositivos CHMOS operan a una velocidad mayor, tiene una mayor densidad de transistores y consumen menos potencia que los dispositivos previamente listados. Cada uno de estos componentes tiene la misma funcionalidad que su equivalente estándar más dos modos seleccionables mediante programación que reducen el consumo de potencia: Espera (Idle) y Potencia Baja (Power Down). Estos modos hacen de dichos componentes ideales para aplicaciones operadas por batería.

MODO DE ESPERA (IDLE) Este modo congela al CPU mientras que permite que continúen funcionando la memoria RAM, contadores, puerto serie y sistema de interrupciones.

MODO DE POTENCIA BAJA Este modo protege el contenido de memoria RAM, pero congela el oscilador, causando que todas las demás funciones del chip no operen.

Miembros de la subfamilia 8052 y 80C51FA El 8032 y el 8752 son productos subfamiliares del 8052. El 83C51FA y el 87C51FA son miembros del 80C51FA así como el 83C51FB y el 87C51FB son miembros de la subfamilia del 80C51FB.

8032, 8052 y 8752. El 8052 tiene 8 KB de ROM programada de fábrica y el 8032 es una versión sin ROM del 8052, mientras que el 8752 tiene 8 KB de memoria de programa EPROM. Sus características se listan en seguida: • 256 bytes de memoria de datos de lectura/escritura • 32 líneas bidireccionales de E/S (4 puertos) • 3 temporizadores/contadores de 16 bits • Estructura de interrupciones con dos niveles de prioridad y seis fuentes

originadoras. • Puerto serie programable de E/S • Oscilador integrado con circuitería de reloj

83C51FA, 80C51FA y 87C51FA El 8032, 8052 y 8752 también tienen sus versiones CHMOS: 83C51FA y FB, 80C51FA y FB y 87C51FA y FB, respectivamente. Estos dispositivos presentan características similares a los anteriores CHMOS. Los dispositivos FB son versiones compatibles con la serie FA, pero tienen 16 KB de ROM, además se incluye una nueva característica el Arreglo de Contador Programable.

ARREGLO DE CONTADOR PROGRAMABLE (PCA) Consiste de un contador de 16 bits y cinco módulos de 16 bit de comparación/captura. Estos últimos comparten los pines P1.2 a P1.7. Cada módulo tiene su propio registro de modo, CCAPMn, que se utiliza para configurar el módulo n. Cada módulo puede programarse como: • Modulador de ancho de pulso (usado para conversión d/a) • Registro de comparación/captura (para medición muy precisa en tiempo real de

ancho de pulso) • salida de alta velocidad

Page 6: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 107 -

Adicionalmente, el módulo 4 se puede programar para actuar como un temporizador tipo Perro Guardián (Watchdog Timer). El PCA puede generar una interrupción cuando se programa como temporizador ó como registro de comparación/captura.

OTROS PARIENTES DE LA FAMILIA 8051 Existen otros componentes que han tomado la base del microcontrolador 8051 y le han sumado alguna otra funcionalidad. Estos componentes híbridos se conocen como proliferaciones. Los siguientes componentes utilizan la arquitectura del 8051 así como un controlador de comunicaciones serie en el caso del 8X44, un controlador de comunicaciones serie de alta velocidad en el 8XC152 y un controlador de periféricos en el 8XC452. Sumario de la Familia 8051 Nombre Versión sin ROM Versión EPROM Bytes en ROM Bytes enRAM Timers 8051 8031 8751 4K 128 2 80C51 80C31 87C51 4K 128 2 8052 8032 8752 8K 256 3 83C51FA 80C51FA 87C51FA 8K 256 3 83C51FB 80C51FB 87C51FB 16K 256 2 83C152 80C152 87C152 8K 256 2 83C452 80C452 87C452 8K 256 2 8044 8344 8744 4K 192 2

TEMPORIZADORES/CONTADORES El 8051 tiene dos temporizadores/contadores de 16 bits, cada uno de ellos puede operar en cuatro modos, dándole un rango amplio de opciones para resolver muchos problemas diferentes. Los registros de funciones especiales TL0 y TH0 son los bytes alto y bajo del temporizador/contador 0. El temporizador 1 está formado por TL1 y TH1. Cada uno puede programarse para usar ciclos de máquina (temporizador) ó señales externas en su pin de puerto (contador), como fuente de conteo.

Un temporizador cuenta hacia arriba desde su valor inicial hasta que llega a un sobreflujo. Al ocurrir se pone a uno la bandera correspondiente (TF0 ó TF1), y el conteo continúa. TF0 y TF1 se encuentran en el registro TCON.

Oscilador interno

Oscilador interno

fxtal: 12: 12

CONTADORCONTADOR

fxtal / 12fosc= fxtal

Conteo inicialConteo inicial

TF0TF0C/T=1 contador

C/T=0 timer

C / TC / TTRxTRxGATEGATE

CLK OVF

Genera InterrupciónGenera

Interrupción

Xtal1Xtal1

Xtal2Xtal2

TxTx

INTxINTx

Oscilador interno

Oscilador interno

fxtal: 12: 12

CONTADORCONTADOR

fxtal / 12fosc= fxtal

Conteo inicialConteo inicial

TF0TF0C/T=1 contador

C/T=0 timer

C / TC / TC / TC / TTRxTRxGATEGATE

CLK OVF

Genera InterrupciónGenera

Interrupción

Xtal1Xtal1

Xtal2Xtal2

TxTx

INTxINTx

Page 7: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 108 -

REGISTRO PARA CONTROL DE LOS TEMPORIZADORES (TCON)

Un temporizador puede ser escrito ó leído en cualquier momento. El bit TR0 es el interruptor de funcionamiento para el temporizador 0: si se pone a 1 se enciende el temporizador 0. TR1 hace lo mismo para el temporizador 1. Estos bits se pueden accesar en forma independiente.

Modo 0. (Contador de 8 bits con Pre-escalamiento de 5 bits) Este modo es el de omisión después de inicializar el procesador (reset). El byte bajo utiliza solo cinco bits para ejecutar un pre-escalamiento ó división por 32 en la fuente de conteo. Cada uno de sus sobreflujos suma una cuenta al byte alto. Se pueden programar tanto el byte alto como el bajo. Al escribir los valores iniciales adecuados se puede ajustar el sobreflujo sobre un rango de 1 a 8 K (1 uS a 8.19 mS con un reloj de 12 Mhz).

Interrupciones de los temporizadores La bandera de sobreflujo para cada temporizador sirve también como el flip-flop de petición de interrupción para ese temporizador. Si el bit de habilitación de interrupción es uno (Etx para el temporizador x) y EA=1, la ejecución del programa saltará a la localidad del vector de interrupción del temporizador correspondiente (por supuesto que al finalizar de ejecutar la instrucción actual, y si no se esta dando servicio a otra interrupción de igual o mayor prioridad). El hardware limpia la bandera Tfx, cuando salta hacia la rutina de servicio de interrupción del temporizador x. El uso de una interrupción (en lugar de consulta) para disparar algún proceso después de un retardo requerido permite que se manejen otros procesos durante el retardo.

Modo 1. (Contador de 16 bits) En este modo, TLx se pone en cascada con THx, dando un rango máximo de conteo de 64 K, ó 65 ms (a 12 Mhz). Si se escriben valores iniciales en THx y Tlx, la cuenta antes del sobreflujo puede ajustarse tan baja como una.

Page 8: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 109 -

Se puede utilizar para el conteo ya sea ciclos de máquina ó la entrada externa. La bandera de sobreflujo se puede utilizar para consultarse ó para generar una

interrupción.

Modo 2. (Contador de 8 bits con auto-recarga) En este modo el conteo se hace solo por Tlx (ocho bits). THx se carga por el programa con un valor que el hardware cargará en TLx cada vez que exista sobreflujo. La cuenta antes del sobreflujo se puede seleccionar entre uno y 256 (cargar 0 para obtener una cuenta de 256). Se puede utilizar para el conteo ya sea ciclos de máquina ó la entrada externa. La bandera de sobreflujo se puede utilizar para consultarse ó para generar una interrupción.

Modo 3: caso especial.

Este es el único modo en el que los dos temporizadores se comportan de una forma diferente el uno del otro. Al colocar el temporizador 0 en modo 3 se divide en dos unidades de ocho bits: TL0 se convierte en un contador/temporizador de 8 bits y TH0 en un temporizador únicamente de 8 bits (no usa el pin externo de entrada). TL0 utiliza el bit de puesta en marcha, la bandera de sobreflujo y el pin externo de entrada del temporizador 0. TH0 utiliza el bit de puesta en marcha y la bandera de sobreflujo del temporizador 1 (incluyendo el vector de interrupción asociado). El temporizador 1 corre libremente si se encuentra en los modos 0, 1 ó 2 cuando el temporizador 0 se pone en modo 3. El temporizador 1 se desactiva al ponerlo en modo 3.

Page 9: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 110 -

DISPARO DE LOS TEMPORIZADORES.

Cada temporizador tiene un bit en el registro TMOD que es el control de disparo. Al inicio el bit es 0, el disparo se encuentra apagado, y los temporizadores se activa y desactivan como ya se ha descrito. Cuando el bit de disparo (gate) se pone a uno, el temporizador se activa solo cuando tanto su bit de puesta en marcha (Trx) y su correspondiente entrada externa de interrupción se encuentran en uno. Esto le permite al temporizador medir la duración de pulsos aplicados a su entrada (pin) de interrupción en términos de la fuente de conteo del temporizador. También, la misma entrada continuará disparando la interrupción externa correspondiente, si se encuentra habilitada. La rutina de servicio de interrupción puede leer (y poner a cero) la cuenta acumulada mientras la señal permaneció en alto.

El registro TMOD selecciona las opciones. TMOD es el registro de selección de MODo de los temporizadores; es un SFR que se encuentra en la dirección 89H. Su cuatro bits más significativos seleccionan las opciones para el temporizador 1, y los cuatro bits más bajos hacen lo mismo para el temporizador 0. Este registro no se puede accesar por bits. Los bits 0 y 1 de cada nibble seleccionan el modo (0, 1 ,2 ó 3) para cada temporizador. El bit 2 selecciona si el temporizador cuenta ciclos de máquina (bit=0) ó cuenta pulsos externos (bit=1). El bit 3 es el control de disparo para el temporizador: un 1 activa el modo de disparo. En la función de “contador”, el registro TLx se incrementa en respuesta a una transición de 1 a 0 en el pin externo de entrada Tx. La razón máxima de conteo es 1/24 de la frecuencia del cristal. TMOD

PUERTO SERIE

Page 10: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 111 -

El puerto serial es un puerto “FULL DUPLEX” , lo cual significa que puede transmitir y recibir datos simultáneamente . El receptor contiene un almacén “Buffer”, que le permite comenzar a recibir un segundo dato sin necesidad de que el primero haya sido completamente leído del registro Buffer. Sin embargo si el primer byte permanece sin ser leído hasta el final de la recepción del segundo dato, éste se perderá. Tanto el dato recibido como el transmitido son depositados en el registro SBUF del SFR (espacio de funciones especiales).

REGISTRO DE CONTROL DEL PUERTO SERIAL SCON El puerto Serie puede ser operado en 4 modos diferentes que son especificados con los bits SM0 y SM1 del registro de Control del Puerto Serie (SCON)

SMO SCON.7 Especifica el modo de control del puerto serie. SM1 SCON.6 Especifica el modo de control del puerto serie. SM2 SCON.5 Habilita la comunicación del tipo "multiprocesador"

utilizado en los modos 2 y 3. En estos modos, si SM2 = 1, RI no es activado si el noveno dato recibido (RB8) es 0. En modo 1, RI no es activado si no se recibe un bit de stop. En el modo 0, SM2 será 0.

REN SCON.4 Establece la recepción serie, cuando REN = 0 se desactiva la recepción ( por software ).

TB8 SCON.3 Almacena el noveno bit que será transmitido en los modos 2 y 3 .

RB8 SCON.2 Es el noveno bit que fue recibido en los modos 2 y 3 . En el modo 1, si SM2 = 0, RB8 es el bit de stop recibido. En el modo 0 RB8 no es usado.

TI SCON.1 Bandera de interrupción de la transmisión. Activada por hardware al final del octavo bit en el modo 0, o al principio del bit de stop en los otros modos. Debe ser limpiado por software.

RI SCON.0 Bandera de interrupción de la recepción. Activada por hardware al final del octavo bit en el modo 0, o al medio tiempo de trasmitido el bit de stop en los otros modos.Debe ser limpiado por software.

MODOS DE OPERACIÓN DEL PUERTO SERIE El UART del 8051 puede ser operado en un modo síncrono y 3 modos asíncronos

EL MODO 0. Los datos seriales que entran o salen a través de RxD o TxD respectivamente, lo hacen mediante 8 corrimientos, con una frecuencia de transmisión (Baud Rate) fija

Page 11: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 112 -

de de 1/12 de la frecuencia del oscilador. La figura muestra el Puerto Serie en Modo 0. La transmisión es iniciada por cualquier instrucción que utilice SBUF como registro de “Destino”, v.gr. MOV SBUF,A . Para que la recepción pueda ser iniciada se debe cumplir la condición REN=1 y RI=0.

La recepción es iniciada por la detección de un transiente negativo (de 1 a 0) en la línea RxD, la cual es muestreada a una frecuencia de 16 veces la frecuencia de “Baud Rate” que ha sido establecida. Cuando un transiente es detectado el divisor entre 16 es inmediatamente reestablecido y 1FFH es escrito en la entrada del registro de corrimiento.

OPERACIÓN SERIE ASÍNCRONA

Los modos de comunicación serie del 8051 pensados para comunicación entre procesos ó entre sistemas son asíncronos. Esto significa que el dispositivo transmisor envía datos solos, sin una señal de sincronización.

Tramas de datos: El puerto serie del 8051 puede utilizar tramas de datos que contengan ya sea 8 ó 9 bits de datos. El UART siempre le suma un bit de inicio, que es bajo, y un bit de paro, que es alto. El UART pone la línea de salida serial a un alto siempre que no

se está enviando ninguna trama. El programa debe iniciar la transmisión de cada trama que se vaya a enviar (por ende controla el tiempo de retardo entre las tramas enviadas). Pero el UART maneja la transmisión bit a bit (y la recepción), sin involucrar a la CPU.

0 b0 b1 b2 b3 b4 b5 b6 b7

8 bits de datos8 bits de datos

Bit de arranqueBit de arranque

Línea ociosaLínea ociosa

Bit de parada

111

DATO TRANSMITIDO

RELOJ DE SINCRONÍA CON RECEPTOR

LSB

Control RXControl RX

Bus interno de datosBus interno de datos

Buffer serialSBUF

Buffer serialSBUF

Detector de ceroDetector de cero

D Q

Control TXControl TXreloj

start shift

enviar

TI

clk

RXDRXD

TXDTXD

recibir

“1”

escritura al SBUF

Señal de interrupción del puerto serial

Señal de interrupción del puerto serial

RI

estados S6 de los ciclos de máquina

MSB

Shift clk

DATO TRANSMITIDO

RELOJ DE SINCRONÍA CON RECEPTOR

LSB

Control RXControl RX

Bus interno de datosBus interno de datos

Buffer serialSBUF

Buffer serialSBUF

Detector de ceroDetector de cero

D Q

Control TXControl TXreloj

start shift

enviar

TI

clk

RXDRXD

TXDTXD

recibir

“1”

escritura al SBUF

Señal de interrupción del puerto serial

Señal de interrupción del puerto serial

RI

estados S6 de los ciclos de máquina

MSB

Shift clk

Page 12: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 113 -

El registro de corrimientos de transmisión recibe una “onda cuadrada” del generador de baudaje. Cada bit de dato en una trama (incluyendo los bits de inicio y paro) se aplica al pin TXD por 16 de estos pulsos. El circuito de recepción (si está habilitado) espera una transición de bajada que señale el comienzo de un bit de inicio y con esto una nueva trama. Utiliza los pulsos de su generador de baudaje para determinar cual debería ser el centro de cada bit esperado. Toma tres muestras alrededor de este punto, y recorre este valor, basándose en dos de tres de dichas muestras.

SBUF: El registro (buffer) del puerto serie.

SBUF=fuente copia el dato de fuente al registro de corrimiento de transmisión de datos y, también, es el comando de inicio de transmisión; el registro de transmisión es de solo escritura. destino =SBUF lee el dato del registro de recepción; el cual es de solo lectura. Los dos registros de datos del puerto serie, uno para transmitir y otro para recibir, tienen el mismo nombre, SBUF, y la misma dirección, 99H en el espacio de SFR. Cual de ellos se accesa, se especifica por el hecho de que si se lee ó se escribe. Los circuitos de transmisión y recepción son independientes, así que la transmisión y recepción pueden proceder en forma simultánea (full duplex) mientras que el CPU maneja un tercer proceso. El modo del puerto serie y otras opciones se seleccionan al ajustar bits en el byte de control, el cual se denomina SCON (98H en el espacio SFR). Que también contiene al bit que habilita la recepción serie de datos. MODOS ASÍNCRONOS

Page 13: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 114 -

El 8051 provee tres modos serie de comunicación asíncrona para interfaz con otros procesadores ó sistemas. En los tres modos, el circuito de transmisión se encarga de generar un bit de inicio y un bit de paro.

Modo 1: Dato de 8 bits con velocidad variable. Se transmiten por la línea (TxD) o se reciben por línea (RxD) 10 bits. Un bit de inicio (Start bit de nivel 0 lógico). En recepción el bit de Fin (Stop), se almacena en RB8 de SCON, si SM2=0. El Baud Rate (frecuencia de transmisión o recepción) es variable. Se utiliza el temporizador 1 como parte del generador de baudaje, así que programándolo con diferentes valores de recarga, el baud-rate puede ajustarse de 122 a 62500 bits por seg (bps), con un cristal de 12 Mhz. (Esto asume usar el temporizador 1 en modo 2, para autorecarga). Se puede duplicar el baud-rate al poner en uno el bit SMOD del registro PCON. El uso del octavo bit (así como de los otros siete) se controla por el programa para ajustarse a la aplicación. En algunos protocolos se utiliza para el bit de paridad, algunas veces como un segundo bit de paro, etc.

Modo 2: Dato de 9 bits con velocidad fija. 11 bits son transmitidos (TxD) o recibidos (RxD), un bit de inicio (Start bit de nivel 0 lógico), 8 bits de datos, un noveno bit de datos programable, en la transmisión es TB8, en la recepción es RB8 de SCON, y un bit de Fin (Stop bit). Su Baud Rate es de 1/32 o 1/64 de la frecuencia de oscilación. Es igual al modo 3, a excepción de que no se utiliza el temporizador 1 como parte del generador de baud-rate. Así el temporizador 1 puede utilizarse en otras cosas a expensas de un baud-rate fijo, lo cual no es un problema para la comunicación entre varios 8051s. En los modos 2 y 3 el noveno bit se puede utilizar para distinguir entre una trama de datos y una de dirección en una comunicación multiprocesadores.

Modo 3: Dato de 9 bits con velocidad variable. 11 bits son transmisión (TxD) o recibidos (RxD), en la misma forma que el modo 2, sólo que aquí la frecuencia de transmisión/recepción (Baud Rate) es variable. Se utiliza el Timer 1 para generar el Baud Rate. En los 4 modos, la transmisión es inicializada cuando SBUF es utilizado como registro destino. La recepción en el modo 0 comienza cuando RI=0, en los otros modos, cuando se detecta el bit de inicio (START) si REN=1. Trabaja como el modo 1, excepto que en lugar de ocho, se transmiten o reciben nueve bits de datos. Los ocho bits bajos van o vienen del SBUF, pero el noveno tiene dos espacios en SCON: TB8 para la transmisión y RB8 para la recepción. Este último bit puede utilizarse para ajustarse a protocolos especiales. Por ejemplo el TTY estándar requiere de dos bits de paro, un bit de paridad y siete bits de datos.

Programación del puerto serie Para programar el puerto serie, se debe seleccionar el modo y baud-rate apropiado para la aplicación, calcular el valor de recarga necesitado para el temporizador y finalmente programar el SCON y temporizador 1. Después de escoger entre un esquema de encuesta contínua (sondeo) ó manjeo de interrupción, se escribe el programa para el proceso de transmisión/recepción.

Generación del baud-rate. MODO FORMULA CON CRISTAL DE 12 MHz 0 Baud rate=Osc/12 1 Mbps

Page 14: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 115 -

1, 3 Baud rate=Osc/( 12*2*16*(256-TH1) ) 31250/(256-TH1) bps 2 Baud rate= Osc*2SMOD/64 187.5 Kbps Para los modos 1, 2 y 3 el baud-rate se duplica si el bit siete de PCON (SMOD) se pone a uno. SCON: El control del puerto serie. SM0 SM1 SM2 REN TB8 RB8 TI RI SM0, SM1: seleccionan el modo de operación. SM2: Deshabilita la recepción de tramas para las cuales el bit 8 es cero. REN: Habilita y deshabilita la recepción de datos. TB8: Determina el estado del noveno bit transmitido en modo UART de 9 bits. RB8: Indica el estado del noveno bit recibido. TI: Se pone a uno, por el circuito, cuando se esta transmitiendo. RI: Se pone a uno, por el circuito, cuando se ha recibido un byte. Debe limpiarse por software.

INTERRUPCIONES La estructura de interrupciones del 8051 provee una herramienta poderosa que permite al CPU el manejar un número de procesos diferentes “concurrentemente”, siempre y cuando cada proceso necesite solo una fracción del tiempo del CPU. Concurrentemente significa manejar cada proceso con un tiempo de respuesta lo suficientemente rápido, de tal forma que el proceso funcione tan bien como si tuviera un procesador dedicado para él. Esto es, el trabajo para diferentes procesos se realiza en realidad secuencialmente pero parece serlo en paralelo. El 8051 provee interrupciones para los periféricos y también dos interrupciones de fuentes externas. • La función de las Interrupciones de Hardware • Estructura de Interrupciones del 8051 • Ejemplos de Utilización de Interrupciones • Latencia de una Interrupción • Opciones para las Interrupciones Externas La función de las Interrupciones de Hardware Esta sección muestra un ejemplo de como una interrupción puede ahorrar tiempo del CPU, y permitir lo que parece ser “procesamiento paralelo”. Se discute el sistema general para las interrupciones de hardware utilizado por los microprocesadores y lo compara con el mecanismo de una subrutina.

ENTRADA/SALIDA MANEJADA POR INTERRUPCIONES Muchos dispositivos de Entrada/Salida (impresoras, modems, etc) requieren solo de una pequeña fracción de tiempo de CPU para servicio. Si, por ejemplo, se inicializa un dispositivo como una impresora, que requiere miles de ciclos de máquina para imprimir cada caracter, podría enviar una señal que indique cuando está lista para recibir otro caracter. El 8051 podría “consultar” (polling) el pin de un puerto que se encontraría conectado a la señal de “listo” de la impresora, pero de esta forma el 8051 estaría gastando miles de instrucciones entre el envío de cada caracter. Si la línea de “listo” (ready) se conecta a una entrada de interrupción externa, el 8051 puede ocuparse de otros procesos hasta que la impresora se encuentre lista para otro caracter. Entonces, se interrumpe al 8051, la ejecución salta a la rutina

Page 15: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 116 -

de servicio de interrupción (ISR) apropiada, la cual envía el siguiente caracter y la ejecución regresa a cualquiera que sea el proceso que fue interrumpido. Se le da servicio a la impresora (casi exactamente) tan rápido como si el CPU solo estuviera dedicado a ella; pero otros procesos también se están ejecutando concurrentemente.

ESTRUCTURA DE INTERRUPCIONES DEL 8051 Fuentes de Interrupción y Vectores. Para cada fuente de interrupción el hardware tiene una dirección de código en particular (vector de interrupción) que carga en el Contador de Programa (PC) cuando se actúa en dicha interrupción.

La primera instrucción de la ISR para esa interrupción debe estar en la localidad de ese vector. Ya que solo se tienen 8 bytes entre los vectores, con frecuencia se utiliza una instrucción JMP para ir a otra área de memoria de código. Las siguientes sentencias asumen que todas las interrupciones se encuentran habilitadas. * Interrupción externa 0 (función alternativa de entrada para la terminal P3.2, tambien llamada INT0) causa el salto de ejecución hacia la 03H. * La interrupción del Temporizador 0 causa el salto de ejecución a la 0BH. * Interrupción externa 1 (función alternativa de entrada para la terminal P3.3, también llamada INT1) causa el salto de ejecución hacia la 1BH. * La interrupción del Temporizador 1 causa el salto de ejecución a la 1BH. * La interrupción del puerto serie (entrada ó salida) causa el salto de ejecución a la 23H * La interrupción del Temporizador 2 causa el salto de ejecución a la 2BH, solo disponible en el 8052 y 80C51FA. * La interrupción del Arreglo Programable de Contadores causa el salto de ejecución a la 33H; solo disponible en el 80C51FA. * La reinicialización del micro (Reset) causa un salto en la ejecución a la 00, así como la inicialización de la mayoría de los SFR. Se puede pensar como una interrupción especial externa con vector en 0, y el programa completo como una ISR.

Secuencia de Procesamiento de una Interrupción Cuando ocurre una petición de interrupción, siempre debe terminar la instrucción que actualmente se este ejecutando antes de que el hardware pueda saltar hacia la ISR. El hardware procede con las siguientes pruebas antes de que termine la instrucción: * Si la interrupción no se encuentra habilitada individualmente ( por su bit en el SFR IE), se ignora la petición de interrupción y la ejecución se continúa en forma secuencial.

Page 16: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 117 -

* Si las interrupciones no están habilitadas globalmente (con el bit EA en el SFR IE), se ignora la petición de interrupción y la ejecución se continúa en forma secuencial. * Cada interrupción se puede programar para tener ya sea prioridad alta (1) ó baja (0, por omisión). Si la nueva interrupción no es de más alta prioridad, que cualquiera que se esté ejecutando, se ignora hasta que se complete la interrupción actual. * Si la nueva interrupción pasa todas las pruebas de arriba, el hardware coloca la dirección de regreso en la pila (Stack), carga el PC con el vector de interrupción correspondiente e inicia la ejecución de su ISR.

Registros de Prioridad de Interrupciones Existe un registro de hardware para cada prioridad (alta ó baja), cuya salida única se pone a uno cuando una interrupción de esa prioridad se está ejecutando. Esto previene que otra interrupción de la misma prioridad, ó menor, interrumpa a la ISR que se encuentre ejecutando actualmente. Una interrupción de alta prioridad se puede ejecutar dentro de una ISR de baja prioridad. La instrucción RETI realiza un RET y también limpia el registro de más alta prioridad que actualmente se encuentre activo. Al colocar RETI al final de cada ISR normalmente es suficiente para hacer que trabaje el sistema de prioridad tal y como se especificó. Registro de Prioridades de las Interrupciones (IP: Interrups Priority Register)

Bits de Control de Interrupciones El SFR de Control de Habilitación de Interrupciones (IE, 0A8H) contiene el bit de Habilitación Global (EA), que se debe activar para que se permita cualquier interrupción. También se tienen los bits de habilitación individual para cada una de las cinco interrupciones en el 8051 (seis en el 8052 y siete en el 80C51FA). Para que cualquier interrupción pueda ser permitida, su bit individual de habilitación y el de EA deben estar activos. El registro IE se puede accesar por byte ó por bit.

Registro habilitador de las Interrupciones (IE: Interrupts Enable Register)

El SFR de Control de Prioridad de Interrupciones (IP, 0B8H) contiene el bit de selección de prioridad para cada interrupción individual. Un cero selecciona prioridad baja y un uno prioridad alta. Se puede accesar por byte ó por bit. Si dos ó más interrupciones de la misma prioridad hacen petición al mismo tiempo, y estan habilitadas; una secuencia de muestreo interna predefinida determina a cual se le da el servicio primero. Dicha secuencia de prioridad es la siguiente, de la más alta a más baja:

Page 17: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 118 -

Externa 0, Temporizador 0, Externa 1, Temporizador 1, (PCA), Serie, T2

OPCIONES PARA LA INTERRUPCIÓN EXTERNA Las dos interrupciones externas se pueden programar en forma separada para que sean sensibles al nivel ó al cambio. Cada tipo tiene sus beneficios; cual es el mejor depende de las necesidades de la aplicación.

Sensado por nivel: Una interrupción externa que se programa con este tipo, envía una petición al circuito principal de interrupciones cuando (y mientras) en su terminal se lea un 0 lógico. La ISR se debe de asegurar que el dispositivo que realiza la petición ponga en 1 la terminal (ó debe deshabilitar la interrupción) para que evite el que se reentre a la ISR justo después de la instrucción RETI. El sensado por nivel facilita el manejo de fuentes múltiples con una sola terminal de interrupción, colocando en las terminales de otro puerto cada fuente diferente. La ISR consultará dichas terminales del puerto para identificar la fuente de interrupción. Con este método la petición de interrupción puede pasar desapercibida (olvidada) por el 8051 si la fuente se desactiva cuando no se encuentra disponible. Esto algunas veces es bueno.

Sensado por Cambio: Una interrupción externa programada con este tipo se consulta una vez por cada ciclo de máquina. Si con muestras sucesivas se nota que ha ocurrido una transición de bajada (cambio de uno a cero), se activa una bandera (IE0 ó IE1). Esta bandera señala al circuito principal de interrupciones hasta que el hardware llama a la ISR requerida y al mismo tiempo limpia la bandera. Este modo "recuerda" una petición de interrupción, si es que la señal externa regresa a uno antes de que se le de servicio a la interrupción. También, si la señal permanece en cero (activa) después de que la ISR ha terminado, no ocasionará otra interrupción no deseada.

Bits de Banderas y Control. La parte baja del SFR Control del Temporizador (TCON, 88H) se dedica para las interrupciones externas. Los bits IT0 e IT1 controlan el tipo de activación para la INT0 e INT1 respectivamente. Un cero (por omisión) selecciona sensado por nivel, un uno sensado por cambio. Los bits IE0, IE1 son las banderas para INT0 e INT1. Mientras IEn este activada, el circuito principal de interrupciones estará recibiendo una petición de salto a la ISR de la INTn.

Page 18: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 119 -

Almacenado temporal y restablecimiento de datos.

Cuando un programa llama a una subrutina, típicamente tiene datos en algunos registros y/o en los SFR que necesita utilizar después de que la subrutina haga su trabajo. Si la subrutina también va a utilizar algunos de ellos, ya sea el programa que llama o la subrutina debe almacenar y restablecer los valores originales. Para ello se puede utilizar el stack mediante las instrucciones PUSH y POP descritas en seguida: PUSH dirección directa • SP=SP+1 • el byte contenido en la dirección directa se escribe en el stack. POP dirección directa • el contenido de la parte alta del stack se escribe a la dirección directa • SP=SP-1 •

Conmutación de bancos. Los programas pueden utilizar el direccionamiento por registro de una manera eficiente conmutando entre cuatro bancos separados de registros para uso del programa principal y hasta tres subrutinas. • Colocar las variables utilizadas con mayor frecuencia en los registros para

ahorrarse un byte siempre que el programa las accesa • Los cuatro bancos de ocho bytes le permiten a las subrutinas el usar registros

para sus variables de uso frecuente. Se almacenan y restablecen los registros del programa que llama, conmutando entre bancos.

• El banco de registros que se encuentra activo se selecciona mediante dos bits (RS0, RS1) del registro PSW. El banco seleccionado por omisión es el banco 0.

Banco RS1 RS0 Localidades 0 0 0 0-7 1 0 1 8-FH 2 1 0 10-17H 3 1 1 18-1FH

MATERIAL Y EQUIPO UTILIZADO: CI Atmel 89C52 CI Max232 (o Dallas DS275)

PSW.7 Bandera de acarreo recibe el acarreo producido por los bits 7 en las operaciones de la ALU PSW.6 Bandera de acarreo auxiliar recibe el acarreo producido por los bits 3 en la adición de operandosPSW.5Bandera de Status de propósito General

PSW.4Bit1 selector de Banco de Registro

CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV PP

PSW.3Bit 0 selector de Banco de Registro

PSW.2Bandera de Sobreflujo, se activa con operaciones aritméticas

PSW.1Bandera Definida por el Usuario

PSW.0Paridad del acumulador activada por Hardware a 1 si contiene un número impar de 1´s, sino se pone a 0

PSW.7 Bandera de acarreo recibe el acarreo producido por los bits 7 en las operaciones de la ALU PSW.6 Bandera de acarreo auxiliar recibe el acarreo producido por los bits 3 en la adición de operandosPSW.5Bandera de Status de propósito General

PSW.4Bit1 selector de Banco de Registro

CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV PP

PSW.3Bit 0 selector de Banco de Registro

PSW.2Bandera de Sobreflujo, se activa con operaciones aritméticas

PSW.1Bandera Definida por el Usuario

PSW.0Paridad del acumulador activada por Hardware a 1 si contiene un número impar de 1´s, sino se pone a 0

CYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV PPCYCY ACAC F0F0 RS1RS1 RS0RS0 OVOV PP

PSW.3Bit 0 selector de Banco de Registro

PSW.2Bandera de Sobreflujo, se activa con operaciones aritméticas

PSW.1Bandera Definida por el Usuario

PSW.0Paridad del acumulador activada por Hardware a 1 si contiene un número impar de 1´s, sino se pone a 0

Page 19: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 120 -

Regulador 7805 Cristal piezo-eléctrico de 11.0592 Mhz 1 Condensador de 470 µF 6 condensadores de 1µF Resistencia de 8.2 KΩ Conector DB-9 Plug del eliminador de baterias usado Tarjeta de PCB 1 74LS244 8 LED´s 8 resistencias de 330 Ω 4 conectores de 8 bits Push-button NA Cautín Soldadura Osciloscopio o analizador lógico

CORRELACIÓN CON TEMAS DEL PROGRAMA VIGENTE: Con esta práctica se cubre algunos de los aspectos de la unidad III: Microcntroladores

METODOLOGÍA (DESARROLLO DE LA PRÁCTICA): I.-Para conocer a fondo la arquitectura, la programación y la aplicación los microcontroladores de la familia 8051, el alumno diseñará e implementará en circuito impreso (PCB) un sistema basado en el microcontrolador de Atmel 89C52. Para el diseño de la tarjeta impresa, se recomienda una distribución como la mostrada en la figura. Incluya un regulador 7805 para que pueda ser alimentado con un eliminador de baterías de 9 ó 12 v. También incluya un MAX232 para poder conectar su tarjeta a otro equipo con el estándar RS232 como por ejemplo una PC

II.-Ya que la tarjeta esté ensamblada, usando un analizador lógico o un osciloscopio el alumno, observará la señal obtenida en la terminal ALE del del AT89C52. Si la frecuencia de la señal obtenida es del orden de 2 MHZ, entonces la tarjeta funciona correctamente. III.-Se le conecta al puerto P1 un buffer octal 3-state 74LS244 para poder manejar un LED con cada bit del puerto. IV.-Se implementará un programa y se cargará en la memoria Flash del microcontrolador (usando un Programador ) que debe realizar los siguiente:

P0P1

P2P3

MAX

232

Plug

89C5289C52

Reset

Conector DB-9

Dc in

Cristal de 11.0592 Mhz

7805

P0P1

P2P3

MAX

232M

AX232

Plug

89C5289C52

Reset

Conector DB-9 Conector DB-9

Dc in

Cristal de 11.0592 Mhz

78057805

Page 20: NOMBRE DE LA PRÁCTICA OBJETIVO ESPECÍFICO

Laboratorio de Microprocesadores El MICROCONTROLADOR 8051

Carlos E. Canto Quintal M.C.

- 121 -

Al momento de resetear la tarjeta, se prende el LED en el bit menos significativo, un tiempo después se apaga y prende el siguiente y así sucesivamente, produciendo así corrimiento de encendido y apagado de LED´s Una vez que el funcionamiento del sistema sea satisfactorio, el alumno contará con una tarjeta para realizar las dos prácticas siguientes, eliminando así los riesgos inherentes al implementar el sistema en protoboard.

SUGERENCIA DIDÁCTICA:

I.- investigue acerca de los miembros de la familia de microcontroladores 8051 tanto de Intel como de otros fabricantes. II.- Implemente y cargue otros programas de prueba al sistema implementado III.- Estudie la posibilidad de implementar su propio programador del Microcontrolador ATMEL 89C52 y toda la parentela. IV.-Investigue y compare las ventajas de los Microcontroladores Programables en Sistema (ISP: In System Programming) como el AT89S52 y otros.

REPORTE: I.- incluya en su reporte el layout de su tarjeta II.-incluya un resumen sobre su investigación realizada III.-sus comentarios y conclusiones

BIBLIOGRAFÍA: • http://www.8052.com • Manual del Atmel 89C52 • Manual del Max2322 • 8 bit Embedded microcontrollers

Intel • TTL Data Book

TI