TEMA 2. Interrupciones y periféricos básicos

Documentos relacionados
BLOQUE 3. Enrique Mandado Pérez María José Moure Rodríguez. Microcontroladores

Figura 2. Formato de un dato serie síncrono.

MANUAL DEL MICROCONTROLADOR 8051

INTERFAZ SERIAL DEL 80C31

TEMPORIZADORES Y CONTADORES

Diseño Basado en Microcontroladores. Programa Detallado

TEMPORIZADORES Y CONTADORES (T/C) (Timers/Counters)

Los Temporizadores/Contadores

PIC 18F45XX CARACTERÍSTICAS GENERALES

MICROCONTROLADORES PIC

Temporizadores/Contadores

INTERRUPCIONES. Existen 256 interrupciones En el modo real cada una tiene un vector asociado Vectores de 4 bytes: segmento + offset 32 F0 50 8A

ITT-327-T Microprocesadores

Temporización. Internal Timers

INTRODUCCIÓN. Interrupciones.

INTERRUPCIONES. La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

MICROCONTROLADORES MCS-51

Interrupciones. Temporizadores y Contadores de eventos en microcontroladores.

La comunicación asíncrona de los sistemas periféricos con la CPU, en ambos sentidos, se puede establecer de dos maneras fundamentales:

Contenido TEMA 2 ENTRADA / SALIDA. Interfaz HW: buses del sistema. Interfaz HW de E/S

ESTRUCTURA FÍSICA DEL µp 8086

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

CAPITULO 1 CARACTERÍSTICAS GENERALES DEL MICROCONTROLADOR menú principal

PIC16F882/883/884/886/887

V.- V.-El El manejo de de las las Interrupciones

Relación de Problemas I

SISTEMAS ELECTRÓNICOS DIGITALES

SISTEMAS DIGITALES II MICROPROCESADORES

UART. Diseño de Sistemas con FPGA 1er cuatrimestre 2013 Patricia Borensztejn

INDICE Programa Entrada Unidad de control Unidad aritmética y lógica (ALU)

5. Microcontroladores de 32 bits. (C) 2007 Ibercomp S. A.

Estructura de Computadores

NT 3 PROGRAMACION ON-LINE DE TODA LA FAMILIA APPCON

PIC 18F45XX EL TIMER 0

Tema 14. Interrupciones. Las. C. F. G.S. D.P.E. Módulo de Proyectos 1

Tema: Microprocesadores

Instrucciones de Comunicaciones

SISTEMAS ELECTRÓNICOS AVANZADOS. ING. TÉC. INDUSTRIAL ELECTRÓNICO

CUESTIONARIO TEMPORIZADORES/CONTADORES RESPUESTAS

Tutoría 2. Banco de memoria de 8 y 16 bits (8086)

Entradas y Salidas. Componentes básicos de una PC

Microprocesadores. Temporizadores / Contadores. Prof. Luis Araujo. Universidad de Los Andes

Entrada salida y comunicación

Controlador de Interrupciones (Versión programable) Manual de Usuario

APUNTE DEL 8155 ELECTRÓNICA DIGITAL III

Mientras que el Timer 0 y 1 tienen cuatro modos de operación, el Timer 2 tiene tres modos como se va a ver en el Apartado 7.2 y 7.3.

Conversor RS232-RS485/RS422 Aislado MCV1-C485-IA-IS. Manual del Usuario. Power. TX Data. RX Data MCV1. Internet Enabling Solutions.

Timer s Escuela Superior de Cómputo IPN. Departamento de Posgrado Dr. Julio Cesar Sosa Savedra curso.escom@yahoo.com

Control y temporización Comunicación con la CPU Comunicación con el dispositivo externo Almacén temporal de datos Detección de errores

Tema 6. Comunicaciones asíncronas (UART's)

COMUNICACIÓN SERIE (RS232)

11 Número de publicación: Int. Cl.: 72 Inventor/es: Tsuji, Ryuichi. 74 Agente: Elzaburu Márquez, Alberto

Bus I 2 C. Introducción

MODBUS CONTENIDO. Protocolo de Comunicaciones MODBUS. Introducción Estructura de la Red MODBUS Características del Protocolo Aplicaciones Referencias

28/09/2012. Interfaz con Dispositivos de Salida. Interfaz con Dispositivos de Entrada. Port Mapped. Memory mapped. Interfaz con Dispositivos I/O

Tema 10: Transmisión de datos

PROBLEMAS TEMA 3: Unidad de Entrada/Salida

Control Digital en PC con MS-DOS

Tipos de Filtros Introducción

PCF8574 EXPANSOR REMOTO 8-BIT I/O PARA I²C-BUS

Osciloscopio basado en Windows 95 utilizando el puerto serie

COMUNICACIÓN SERIAL FAMILIA DSP56800: Síncronas y Asíncronas CAPÍTULO VII

GUÍA RÁPIDA CJ1W-SCU41

Introducción a la Entrada/Salida

Memoria Virtual. Memoria Virtual

CICLOS DEL PROCESADOR

Guía resumida para utilizar el microcontrolador CY7C68013

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Modos de ahorro de energía a en los chips CMOS

TEMA III - Interrupciones en Sistemas en Tiempo Real

Arquitectura de Computadores. Apellidos, Nombre:

SISTEMAS OPERATIVOS Arquitectura de computadores

Tema 8: Organización de la Entrada/salida

1-Introducción. KIT ARM- Ténicas Digitales II - Ing. Ruben M. Lozano /9

Taller de Firmware. Introducción al PIC16F877. Facultad de Ingeniería Instituto de Com putación

DIVISION DE ELECTRONICA Y COMPUTACION

Estructura de Computadores. Contenido. Sistema de E/S. 7.- E/S y dispositivos periféricos

Laboratorio de Sistemas Embebidos Conceptos generales (2009)

Guía rápida para gestionar el puerto paralelo del PC

6-REGISTROS DEL 8086 Y DEL 80286

Electrónica Digital II

Temporización mediante el temporizador del sistema SysTick en microcontroladores ARM Cortex-M

Curso sobre Microcontroladores Familia HC9S08 de Freescale

2.1 Características Técnicas

ARQUITECTURA DEL MICROPROCESADOR 8086

Ejercicio * N N X X X X X X X X X X X X X X X X X X X X

TUTORIAL DE ENTRADA/SALIDA

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 5 ENTRADA/SALIDA. JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 5.

ESTRUCTURA DE COMPUTADORES I (Capítulo 16:El Teclado) 1/5 16-EL TECLADO

Tema 9 Periféricos de Entrada

CAN-101, HT6P20x2 Encoder para aplicaciones remotas de control

El módulo LCD Ejemplos de funcionamiento

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA Diseño con Microcontroladores

TEMA 6.- INTERFACES PARA DISCOS DUROS. nexo de conexión que facilita la comunicación entre dos dispositivos

b) Las teclas pueden generar varios impulsos tanto al pulsar como al soltar (rebotes durante t < 100 ms, p. ej.). El usuario pulsa la tecla así

SelectRAM+memory Bloques de memoria RAM En las FPGAs Spartan IIE

ARQUITECTURA DE COMPUTADORES (2º ING. INFORMATICA) PRACTICA 5 (CURSO 2004/05) ENTRADA/SALIDA. Contador 1. Contador 2

TEMA 20 EL CONVERSOR A/D

AUTOMATIZACION. Reconocer la arquitectura y características de un PLC Diferenciar los tipos de entradas y salidas MARCO TEORICO. Estructura Interna

La familia PIC18 USB posee 4 timers: Timer0, Timer1, Timer2 y Timer3, cada uno de los cuales tiene sus características únicas.

Transcripción:

TEMA 2 Interrupciones y periféricos básicos

INDICE 1. Interrupciones 1. Fuentes y habilitación de interrupciones 2. Vectores de interrupción 3. Prioridad y anidamiento 4. Registros de configuración 5. Latencia 6. Interrupciones externas 7. Manejo de interrupciones desde C 8. Ejemplos 2. Perifericos básicos 1. Timers 0 y 1 2. Comunicaciones serie asíncronas 3-2

FUENTES Y HABILITACIÓN DE INTERRUPCIÓN 8051 NO ENMASCARABLES NO HAY ENMASCARABLES EXTERNAS INT0 (Externa 0) INT1 (Externa 1) INTERNAS TF0 (Timer 0) TF1 (Timer 1) RI/TI (UART Rx/Tx) 5 FUENTES 80C51_FH Pg 16 3-3

FUENTES Y HABILITACIÓN DE INTERRUPCIÓN 80c552 NO ENMASCARABLES (NO HAY) ENMASCARABLES EXTERNAS INT0 (Externa 0) INT1 (Externa 1) INTERNAS TF0 (Timer 0) TF1 (Timer 1) RI/TI (UART Rx/Tx) SIO (I2C) T2 (8 ints) ADC (Conversor A-D) 15 FUENTES 80C552_OV Pg 42 3-4

VECTORES DE INTERRUPCION INTERRUPCIONES (8051) Cada fuente de interrupción hace saltar a una dirección fija de la memoria de programa Las direcciones son las más bajas (0x0003-0x0023) 8 bytes para cada rutina 0000 Direcciones 0003 entre 0 y 3? IE0 000B RESET TF0 0013 IE1 001B TF1 0023 RI+TI 80C552_OV Pg 48 3-5

VECTORES DE INTERRUPCION Rutinas de atención Tamaño Si es < 8 bytes Se atiende en el propio vector (más rápida) Si es > 8 bytes Se realiza el salto a la dirección en la que está la rutina (mas lenta) Finalización La última instrucción debe ser RETI. 80C552_OV Pg 48 3-6

PRIORIDAD Y ANIDAMIENTO 2 NIVELES DE PRIORIDAD PARA LA CPU (INTL e INTH). CADA FUENTE PUEDE CONECTARSE A UNO DE LOS NIVELES. HABILITACION GLOBAL E INDIVIDUAL. INTH TF0 TF1 CPU IE0 TF0 IE1 TF1 RI+TI INTL 80C552_OV Pg 48 3-7

PRIORIDAD Y ANIDAMIENTO TF1 (INTL) TF0 (INTL) Programa Principal Principal Programa Principal ISR TF1 ISR TF0 LAS INTERRUPCIONES DE IGUAL PRIORIDAD (INTH O INTL) NO SE ANIDAN 3-8

PRIORIDAD Y ANIDAMIENTO TF1 (INTL) TF0 (INTH) INTH interrumpe a INTL Programa Principal Programa Principal ISR TF1 ISR TF1 ISR TF0 SÓLO ES POSIBLE ANIDAR 2 NIVELES DE INTERRUPCIÓN 3-9

LATENCIA TIEMPO MININO PARA ATENDER UNA INTERRUPCION 3 CICLOS MAQUINA @ 12MHz = 3 us TIEMPO MAXIMO PARA ATENDER UNA INTERRUPCION 9 CICLOS MAQUINA @ 12 MHz = 9 us PROBLEMÁTICA Tiempo no despreciable Tiempo no constante 8051_FH Pg 7 y 16 3-10

INTERRUPCIONES EXTERNAS ACTIVACIÓN POR NIVEL O FLANCO FLANCO: Liberación automática del flag en el momento en el que se accede a la dirección de atención a la rutina. NIVEL: Periférico debe liberar el nivel una vez que se atienda. Puede ocurrir que: El periférico no libere el nivel por lo que se producirá otra interrupción. El periférico no mantenga suficiente tiempo activo el nivel por lo que se perdería la interrupción. 8051_FH Pg 7 y 16 3-11

INTERRUPCIONES EXTERNAS Ejemplo de Interrupciones externas IE0 Activa por flanco (Todas las INTs de la misma prioridad) ISR RI+TI ISR IE0 P.P. PP PP RI+TI Acti. IE0 DesAct IE0 t 3-12

INTERRUPCIONES EXTERNAS Ejemplo de Interrupciones externas IE0 Activa por nivel (Todas las INTs de la misma prioridad) ISR RI+TI P.P. PP RI+TI Acti. IE0 DesAct IE0 t 3-13

INTERRUPCIONES EXTERNAS Ejemplo de Interrupciones externas IE0 Activa por nivel. (Todas las INTs de la misma prioridad) ISR RI+TI ISR IE0 ISR IE0 P.P. PP PP PP RI+TI Acti. IE0 DesAct IE0 t 3-14

MANEJO DE INTERRUPCIONES DESDE C PARA ATENDER A UNA INTERRUPCION HAY QUE. Habilitar la interrupción individualmente Nivel de byte IEN0 = 0x01; //Habilita INT externa 0 Nivel de bit EX0 = 1; //Habilita INT externa 0 Elegir la prioridad de la interrupción Nivel de byte IP0 = 0x01; //INT externa 0 de alta prioridad Nivel de bit PX0 = 1; //INT externa 0 de alta prioridad Si son externas seleccionar nivel o flanco Nivel de byte TCON = 0x01; //INT externa 0 por flanco de bajada Nivel de bit IT0 = 1; //INT externa 0 por flanco de bajada Activar las interrupciones Nivel de byte IP0 = 0x80; Nivel de bit EA = 1; 3-15

MANEJO DE INTERRUPCIONES DESDE C Declaración de una ISR (Interrupt Service Routine) 1. void nombre_rutina (void) interrupt num_int Hace que en las direcciones del vector se coloque un salto a la dirección de la rutina. Hace que se salven en la pila los registros que use la rutina. Hace que la rutina retorne con RETI recuperando PC y registros de la pila. 2. void nombre_rutina (void) interrupt num_int using num_banco Hace que se emplee un banco de registros diferente 3-16

EJEMPLOS Prioridad entre INTH e INTL P.P. TF1 (INTH) ISR TF1 (INTH) TF0 (INTL) RI+TI (INTH) P.P. ISR RI+TI (INTH) P.P. ISR TF0 (INTL) P.P. t 3-17

EJEMPLOS Prioridad dentro de la misma cadena de prioridad P.P. TF1 (INTH) ISR TF1 (INTH) TF0 (INTL) IE0 (INTL) P.P. ISR IE0 (INTL) P.P. ISR TF0 (INTL) P.P. t 3-18

EJEMPLOS Perdida de Interrupciones P.P. RI+TI ISR RI+TI RI+TI RI+TI RI=0 TI=0 P.P. t 3-19

TIMER 0-1. Diagrama de bloques básico TIMER PUEDE CONTAR EVENTOS O TEMPORIZAR Reloj Interno Señal Externa Contador /Temporizador CLK Enable CONTADOR Habilitación Bus Interno OVF Flag HW OR SW 3-20

Modelo de los Timer 0 y 1 PATILLAJE T0 /INT0 T1 /INT1 P3.4 P3.2 P3.5 P3.3 REGISTROS (SFR) TMOD (89h) TCON (88h) 7 TH0 (8Ch) TL0 (8Ah) 0 TH1 (8Dh) TL1 (8Bh) 3-21

FUNCIONALIDAD MODO 0 y MODO 1 Contar eventos hasta 2 13 o 2 16 eventos Generar tiempos de retardo programables (Monoestable) dependiendo de los valores cargados en TH y TL. Modo 0 Modo 1 t MODO0 = 2 13 ( THx*32 + TLx[4..0]) f /12 OSC t MODO1 = 2 16 ( TH1*256 + TL1) f /12 OSC 3-22

FUNCIONALIDAD MODO 2 Generar interrupciones periódicas de periodo: t MODO2 Frecuencia Máxima. Guardar en TH1=0xFF Frec _ Max = fosc Frecuencia Mínima. Guardar en TH1=0x00 = 2 8 f Generar la frecuencia de reloj para las comunicaciones serie asíncronas 2 12 f _ Min OSC 8 Frec = TH /12 osc *12 3-23

FUNCIONALIDAD MODO 3 Los timers 0 y 1 se convierten en tres contadores de 8 bits. TL0 puede temporizar o contar eventos y generar IE0. TH0 sólo puede temporizar y generar IE1 por lo que esta interrupción no puede ser empleada por el Timer 1. Timer 1 se puede emplear para generar la frecuencia de funcionamiento de la UART. Cuando el timer 0 funciona en modo 3, el Timer 1 puede configurarse como temporizador o contador en uno de los modos: 0, 1 o 2, estando siempre funcionando y sin indicador de desbordamiento; para pararlo hay que configurarlo también en modo 3. 3-24

REGISTROS DE CONTROL TF1: Flag de desbordamiento del TIMER 1. Puesto a 1 automáticamente cuando el contador llega a 0. Si la interrupción correspondiente está permitida, este indicador automáticamente se vuelve a poner a 0 cuando se ejecuta la subrutina de interrupción. Si se utiliza por sondeo hay que borrar el flag manualmente. TR1: Bit de arranque del TIMER 1. Se debe poner a 1 por software para permitir la cuenta y a 0 para pararlo TF0: Idem que TF1 para Timer 0 TR0 Idem que TR1 para Timer 0 80C51_FH Pg 7 3-25

REGISTROS DE CONTROL GATE: Habilitación HW del timer =1, el TIMER x está habilitado solamente cuando su patilla de entrada INTx está a 1 y el bit TRx del registro TCON está a 1 = 0, el TIMER x está habilitado si TRx está a 1. C/T: Funcionamiento como contador o temporizador = 0, el TIMER actúa como TEMPORIZADOR = 1, el TIMER actúa como CONTADOR de los eventos presentes en la patilla de entrada Tx. 80C51_FH Pg 7 3-26

REGISTROS DE CONTROL M1 M0 0 0 Contador de 13 bits 0 1 Contador de 16 bits Modos de funcionamiento 1 0 Contador de 8 bits con recarga automática. El contenido de THx se carga en TLx cuando éste llega a 0 1 1 TIMER 0: El registro TL0 actúa como contador de 8 bits controlado normalmente por los bits de control del TIMER 0. Por otra parte, TH0 es configurado como temporizador de 8 bits controlado por los bits de control del TIMER 1. TIMER 1: El contador trabaja como temporizador sin salida de interrupción ni control. 80C51_FH Pg 7 3-27

Comunicaciones Serie y Paralelo COMUNICACIONES PARALELO Comunicaciones serie Síncronas Transmisor serie 1 línea de datos Transmisor paralelo línea de reloj Receptor serie n líneas de datos líneas de protocolo Receptor paralelo COMUNICACIONES SERIE Comunicaciones serie Asíncronas Transmisor serie 1 línea de datos Receptor serie 3-28

Comunicaciones Serie Síncronas Sistema Digital A TxD RxD CLK GND Formato de la trama: d n-1 Canal de Comunicación d 0 d 1 d n-1 RxD TxD Sistema Digital B CLK GND d 0 d 1 CLK Dato i-1 Dato i Dato i+1 3-29

Comunicaciones Serie Asíncronas Sistema Digital A TxD RxD GND Formato de la trama: 0 d 0 Canal de Comunicación RxD TxD Sistema Digital B GND d 1 d n-1 P 1 Bit de Arranque Bits de Datos Bit de Paridad Bits de Parada Línea desocupada TRAMA DE BITS PARA CADA DATO Línea desocupada 3-3030

Comunicaciones Serie Asíncronas CARACTERISTICAS DE LAS COMUNICACIONES SERIE ASINCRONAS Velocidad de la comunicación: inversa del tiempo dedicado a transmitir un bit en la línea. Velocidades normalizadas: 110, 300, 600, 1200, 2400, 4800, 9600, 19200, 57600, 115200, baudios Numero de bits de datos: entre 1 y 8. Habitualmente 7 u 8 Numero de bits de parada: puede ser 1, 1.5 o 2 (tiempos de bit en la línea). Paridad: el criterio para el bit de paridad puede ser par, impar, sin paridad, marca (1) o espacio (0) El Transmisor y el Receptor conectados por una línea serie asíncrona deben estar configurados con los mismos parámetros 3-3131

Comunicaciones Serie Asíncronas Controlador de Comunicaciones Serie Asíncronas genérico INT D0..D7 RD WR A i CS RESET CLK Lógica de control Velocidad de la comunicación Paralelo-serie Reg. de salida Reg. de entrada Serie-paralelo Salida serie Entrada serie Reg. Estado (flags) Configuración 3-3232

Comunicaciones Serie Asíncronas Transmisor de las Comunicaciones Serie Asíncronas Orden de arranque RELOJ Configuración: 1 Habilitación del transmisor Permiso interrupciones Tx DATOS REGISTRO DE DESPLAZAMIENTO 0 Indicadores ( Flags ): Salida serie Listo para transmitir otro dato 3-3333

Comunicaciones Serie Asíncronas Receptor de las Comunicaciones Serie Asíncronas Entrada serie Detector de arranque Configuración: Rx Reloj DATO Registro de desplazamiento - Habilitación del receptor - Permiso interrupciones Señal de entrada Muestreo Indicadores ( Flags ): - Dato recibido - Errores de recepción: Error de trama Error de paridad Overrun Ruptura línea 3-3434

UART MCS-51 (DIAGRAMA DE BLOQUES) Diagrama de bloques Generador Velocidad comunicación SCON (configuración y flags) SBUF (Tx) (sólo escritura) BUFFER SBUF (Rx) (sólo lectura) Tx (P3.1) Rx (P3.0) 3-3535

UART MCS-51 (DIAGRAMA DE BLOQUES) PATILLAJE Rx P3.1 Tx P3.0 REGISTROS (SFR) SBUF (99h) SCON (98h) PCON (87h) NOTA: En los microcontroladores 8xC552 los registros se llaman S0BUF y S0CON para distinguirlos de los asociados al bus I2C 3-3636

UART MCS-51 (MODO 0) Modo 0: registro de desplazamiento de entrada RX TX CLK Línea desocupada % 12 SCON (configuración y flags) d 0 d 1 d 7 Dato recibido BUFFER SBUF (solo lectura) Línea desocupada Tx (P3.1) Rx (P3.0) Tx: salida de la señal de reloj de la transmisión Rx: entrada de datos recibidos, un bit por cada ciclo de reloj Velocidad: la frecuencia del oscilador dividido por 12 80C51_FH Pg 10 3-3737

UART MCS-51 (MODO 0) Ejemplo de aplicación de modo 0 como entrada 3-3838

UART MCS-51 (MODO 0) Modo 0: registro de desplazamiento de salida RX TX CLK Línea desocupada % 12 SCON (configuración y flags) d 0 d 1 d 7 Dato transmitido SBUF (solo escritura) Línea desocupada Tx (P3.1) Rx (P3.0) Tx: salida de la señal de reloj de la transmisión Rx: salida de datos, un bit por cada ciclo de reloj Velocidad: la frecuencia del oscilador dividido por 12 80C51_FH Pg 10 3-3939

UART MCS-51 (MODO 0) Ejemplo de aplicación de modo 0 como salida 3-40

UART MCS-51 (MODO 1) Tramas modo 1 Bit de Arranque 0 0 0 0 Bits de Datos: SBUF Bit de Parada d 0 d 1 d 6 d 7 1 d 0 d 1 d 6 P 1 d 0 d 1 d 6 1 1 d 0 d 1 P 1 1 Datos Parada Paridad 8 1 no 7 1 si 7 2 no 6 2 si La velocidad se genera a través del timer 1, configurado como temporizador con autorecarga (modo 2). BAUD RATE = 32 2 12 f (256 SMOD OSC TH 1) 80C51_FH Pg 11 3-41

UART MCS-51 (MODO 2) Tramas modo 2 Bit de Arranque Velocidad constante Bits de Datos: SBUF TB8 o RB8 Bit de Parada 0 d 0 d 1 d 6 d 7 d 8 1 0 d 0 d 1 d 6 d 7 P 1 0 d 0 d 1 d 6 d 7 1 1 0 d 0 d 1 d 6 P 1 1 BAUD RATE = SMOD 2 f OSC 64 Datos Parada Paridad 9 1 no 8 1 si 8 2 no 7 2 si 80C51_FH Pg 11 3-42

UART MCS-51 (MODO 3) Tramas modo 3 Bit de Arranque Bits de Datos: SBUF TB8 o RB8 Bit de Parada 0 d 0 d 1 d 6 d 7 d 8 1 0 d 0 d 1 d 6 d 7 P 1 0 d 0 d 1 d 6 d 7 1 1 0 d 0 d 1 d 6 P 1 1 Datos Parada Paridad 9 1 no 8 1 si 8 2 no 7 2 si La velocidad se genera a través del timer 1, configurado como temporizador con autorecarga (modo 2). BAUD RATE = 32 2 12 f (256 SMOD OSC TH 1) 80C51_FH Pg 11 3-43

Frecuencia de comunicación serie Configuración TMOD Frecuencias comunicación típicas FRECUENCIA DE COMUN. 19200 9600 4800 TIMER 1 TIMER 0 GATE C/T M1 M0 GATE C/T M1 M0 0 0 1 0 0 0 0 0 FRECUENCIA OSCILADOR 11,059 Mhz. 11,059 Mhz. 11,059 Mhz. VALOR SMOD 1 0 0 C/T 0 0 0 MODO 2 2 2 TIMER 1 TH1 FDH FDH FAH 2400 11,059 Mhz. 0 0 2 F4H 1200 11,059 Mhz. 0 0 2 E8H 300 6 Mhz. 0 0 2 CCH 110 6 Mhz. 0 0 2 72H 31250(MIDI) 12 Mhz. 0 0 2 FFH 3-44

UART MCS-51 (INTERRUPCIONES) Interrupciones de las comunicaciones serie TI RI Interrupción puerto serie ES EA PS Petición prioridad alta Petición prioridad baja - Se genera una única interrupción del puerto serie - Es necesario consultar los flags (RI y TI) para diferenciar interrupciones del receptor y del transmisor - Es necesario borrar los flags por programa 3-45

REGISTROS DE CONTROL 7 6 5 4 3 2 1 0 SCON SM0 SM1 SM2 REN TB8 RB8 TI RI (98H) (MSB) (LSB) Bit Símbolo Función SCON.7 SM0 Selección del modo de funcionamiento SCON.6 SM1 SM1 SM0 MODO DESCRIPCION VELOCIDAD COMUNICACION 0 0 0 Reg. Desplazamiento CLK / 12 0 1 1 UART 8 bits variable (timer 1) 1 0 2 UART 9 bits CLK / 64 o CLK / 32 1 1 3 UART 9 bits variable (timer 1) SCON.5 SM2 Habilitación de comunicaciones multiprocesador (modos 2 y 3). En modo 0 debe ser 0. En modo 1: si SM2=1 sólo se activa RI si se recibe un bit de parada correcto SCON.4 REN Habilitación del receptor 80C51_FH Pg 10 3-46

REGISTROS DE CONTROL 7 6 5 4 3 2 1 0 SCON (98H) SM0 (MSB) SM1 SM2 Bit Símbolo Función REN TB8 RB8 SCON.3 TB8 Bit noveno a transmitir en los modos 2 y 3. En los modos 0 y 1 no se utiliza SCON.2 RB8 Noveno bit recibido en los modos 2 y 3. En modo 0 debe ser 0. En modo 1: si SM2=0, RB8 es el bit de parada recibido SCON.1 TI Flag de interrupción del transmisor. Indica que está listo para transmitir un nuevo dato. Hay que borrarlo por programa TI RI (LSB) SCON.0 RI Flag de interrupción del receptor. Indica que SBUF tiene un dato recibido. Hay que borrarlo por programa 80C51_FH Pg 10 3-47

REGISTROS DE CONTROL PCON 7 6 5 4 3 2 1 0 SMOD (87H) (MSB) (LSB) Bit Símbolo Función PCON.3 SMOD Multiplicar por dos la velocidad de transmisión en los modos 1, 2 y 3 80C51_PG Pg 5 3-48