Está en la página 1de 32

Escuela Tcnica de Ingenieros de Telecomunicacin

Departamento de Tecnologa Electrnica


Universidad de Vigo

Microcontroladores

SISTEMAS ELECTRNICOS DIGITALES


BLOQUE 3
MICROCONTROLADORES
(PARTE 4)
DESARROLLO DE SISTEMAS ELECTRNICOS DIGITALES
BASADOS EN EL MICROCONTROLADOR 8051
Interrupciones,Temporizadores/Contadores y Puerto serie
Enrique Mandado Prez
Mara Jos Moure Rodrguez

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES

Dos formas mediante las cuales el microcontrolador puede controlar la


entrada/salida:
Iniciada por el microprocesador (Hand shake) :
PARO, ESPERA o DETENCIN
CONSULTA
Iniciada por el perifrico:
INTERRUPCIONES

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: FUENTES DE INTERRUPCIN

5 fuentes de interrupcin:
3 Generadas por los perifricos integrados:
Paso por cero del temporizador T0.
Paso por cero del temporizador T1.
Recepcin/Transmisin del Puerto (Canal) Serie.
2 Generadas por terminales de E/S:
Externa 0 (P3.2).
Externa 1 (P3.3).

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: CARACTERSTICAS BSICAS

IDENTIFICACIN DE LA INTERRUPCIN:
Biestable (Flag) asociado a cada fuente de interrupcin.
Vector de interrupcin asociado con cada fuente de interrupcin.

PRIORIDAD:
2 niveles de prioridad programable.
Secuencia fija de prioridad dentro de cada nivel.

INHIBICION:
Inhibicin global.
Inhibicin individual.

BORRADO:
Automtico.
Mediante instrucciones en la rutina de atencin a la interrupcin (Manual) .

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES EXTERNAS 0/1

INT0 (P3.2)
Interrupcin por nivel lgico cero: IT0=0 (TCON.0).
Interrupcin por flanco de bajada: IT0=1 (TCON.0).
Biestable: IE0 (TCON.1).

INT1 (P3.3)
Interrupcin por nivel lgico cero: IT1=0 (TCON.2).
Interrupcin por flanco de bajada: IT1=1 (TCON.2).
Biestable: IE1 (TCON.3).

CONFIGURACIN INTERRUPCIN EXT0/1


Microcontroladores

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: CONFIGURACIN INTERRUPCIN EXT0/1

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: INHIBICIN GLOBAL/EXT1/EXT2

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

B8H

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051

---

PS

INTERRUPCIONES: REGISTRO DE
CONFIGURACIN DE LA PRIORIDAD

Nivel de prioridad del puerto serie

PT1

Nivel de prioridad de la int. temp. 1

PX1

Nivel de prioridad de la int. ext. 1

PT0

Nivel de prioridad de la int. temp. 0

PX0

Nivel de prioridad de la int. ext. 0

IP

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: PRIORIDAD DE INTERRUPCIONES

La subrutina de atencin a una interrupcin solo puede ser interrumpida por otra
peticin de interrupcin de mayor prioridad.
Si se producen de forma simultanea dos o ms peticiones de interrupcin de la
misma prioridad, el microcontrolador acta de acuerdo con la siguiente secuencia
de prioridad :

Prioridad

Externa 0

Mxima

Temporizador 0
Externa 1
Temporizador 1
Canal Serie 0

Mnima

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: HARDWARE DE INTERRUPCIN

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: VECTORES DE INTERRUPCIN

Vector de interrupcin: direccin (Memoria de Programa) de la primera


instruccin de la subrutina de atencin.
La CPU ejecuta una instruccin LCALL con dicho vector. La instruccin
RETI permite volver al punto en el que se produjo la interrupcin al mismo
tiempo que desinhibe (habilita) las interrupciones de menor o igual prioridad.
Fuente de
interrupcin

Vector de
Interrupcin

Externa 0

0003H

Tempo. T0

000BH

Externa 1

0013H

Tempo. T1

001BH

P. Serie

0023H

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: BORRADO DE LA PETICIN DE INTERRUPCIN

Fuente de
Interrupcin

Automtica al ser
atendida

Paso por cero T0

Si

Paso por cero T1

Si

Canal Serie 0
Flanco bajada en INT0 o INT1
Nivel bajo en INT0 o INT1

Manual en la rutina
de atencin

Si
Si
No se puede borrar. La seal externa
determina el borrado

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: ATENCIN DE LA INTERRUPCIN
Una interrupcin se atiende a partir del ciclo mquina siguiente a su
deteccin siempre y cuando no se d alguna de las tres circunstancias
siguientes:
1. Se est atendiendo otra interrupcin de igual o mayor prioridad.
2. El ciclo mquina actual no es el ltimo de la instruccin que se est ejecutando.
3. La instruccin que se est ejecutando es RETI (retorno de interrupcin) o
alguna instruccin de lectura o escritura en los registros IE o IP. En estos casos
se ejecuta adems la instruccin siguiente.

Si se da alguna de estas tres circunstancias anteriores, la interrupcin no se


atiende hasta que finaliza dicha accin siempre que:
La peticin de interrupcin contine activada.
No se haya pedido otra interrupcin de mayor prioridad durante la espera.

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
INTERRUPCIONES: EJEMPLO DE UTILIZACIN DE LAS
INTERRUPCIONES
ORG 0h
AJMP inicio
ORG 03h
JMP Intext0
ORG 100h
Inicio:
SETB IT0
SETB EX0
SETB EA
JMP $
Intext0:
PUSH ACC
POP ACC
RETI
END

; Direccin de la subrutina de atencin


; Configuracin por flanco
; Habilitacin de interrupcin externa
; Habilitacin global de interrupciones
; Subrutina de atencin a la interrupcin
; Es necesario guardar el contenido de los
; registros que utiliza la subrutina

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
TEMPORIZADOR/CONTADOR
CARACTERSTICAS BSICAS
Est basado en dos contadores de 16 bits (T0, T1) que pueden funcionar
como:
Temporizador:
Su valor se incrementa en cada ciclo mquina.
Frecuencia 1/12 del generador de impulsos (GI).
Contador:
Su valor se incrementa con los flancos negativos aplicados a los terminales
T0, T1.
La mxima frecuencia de contaje es 1/24 de la del generador de impulsos.

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
FUNCIONAMIENTO DEL TEMPORIZADOR/CONTADOR
TEMPORIZADOR

CONTADOR
CUENTA LOS FLANCOS DE
BAJADA APLICADOS A UN
TERMINAL EXTERNO

CTR

CTR
G

MCTR

12

CLK

MCTR

M1

CLK

C2/1+

M1
C2/1+

1, 2D

1, 2D

T0: P3.4
T1: P3.5

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
REGISTROSNASOCIADOS CON LOS
TEMPORIZADORES/CONTADORES

Registros Temporizadores/Contadores formados por dos registros de 8 bits:


T0 -> TH0 , TL0
T1 -> TH1 , TL1

Control con dos registros de SFR:


TCON habilita la funcin y memoriza la interrupcin.
TMOD determina el tipo de funcin (Temp./Cont.) y el modo de trabajo:
MODO 0:
Temporizador/Contador de 8 bits con divisor 32.
MODO 1:
Temporizador/Contador de 16 bits.
MODO 2:
Temporizador/Contador de 8 bits con auto-recarga.
MODO 3:
T0 como temporizador de 8 bits y T1 parado.

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
REGISTROS DE CONTROL
DE LOS TEMPORIZADORES/CONTADORES

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
TEMPORIZADOR/CONTADOR: MODO 0

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
TEMPORIZADOR/CONTADOR: MODO 1
PASO DE 11111111 11111111 000000000
00000000

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
TEMPORIZADOR/CONTADOR: MODO 2
PASO DE 11111111 00000000

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
TEMPORIZADOR/CONTADOR: MODO 3

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
HABILITACIN DE LAS INTERRUPCIONES DE TO Y T1

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
REGISTROS DE CONTROL DE TO Y T1

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
REGISTROS DE MODO DE FUNCIONAMIENTO DE TO Y T1

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
EJEMPLO DE PROGRAMACIN DEL TEMPORIZADOR T0
ORG 0h
AJMP inicio
ORG 0Bh
JMP IntT0
ORG 100h
Inicio:
mov TMOD,#01h
mov TL0,#LOW(-30000)
mov TH0,#HIGH(-30000)
SETB EA
SETB TR0
JMP $
IntT0:
-----RETI
END

; Direccin de la subrutina de atencin


; Configuracin T0 modo 1, activado SW
; Valor inicial de la temporizacin
; Habilitacin global de interrupciones
; Arranque del temporizador SW
; Subrutina de atencin a la interrupcin

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
PUERTO SERIE: CARACTERSTICAS GENERALES
Transmisin/Recepcin
Sncrona (half-duplex):
RxD0 (P3.0): entrada/salida de datos
TxD0 (P3.1): reloj de desplazamiento
Asncrona (full-duplex):
Transmisin por TxD0 (P3.1).
Recepcin por RxD0 (P3.0).

Disponen de registro temporal (buffer) de recepcin y de


transmisin (SBUF).
Orden de los bits -> Primero el menos significativo.
Interfaz S0:
4 modos de funcionamiento (1 sncrono, 3 asncronos).

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
PUERTO SERIE: TRANSMISIN/RECEPCIN
Transmisin
Se inicia escribiendo en el registro SBUF (99H).
Se marca la finalizacin de la transmisin de la unidad de informacin en el
bit TI (SC0N.1). Esta situacin puede provocar una peticin de atencin por
interrupcin. Se puede atender por consulta.

Recepcin
Se permite la recepcin con el Bit REN (SCON.4).
Se marca la recepcin de la unidad de informacin en el bit RI (SCON.0).
Esta situacin puede provocar una peticin de atencin por interrupcin. Se
puede atender por consulta.

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
PUERTO SERIE: MODOS DE FUNCIONAMIENTO 0 Y 1
MODO 0 (registro de desplazamiento):
Modo sncrono, semidoble (half-duplex).
Unidad de informacin -> 8 bits.
Frecuencia de Transmisin/Recepcin fija = fosc/12.

MODO 1 (UART 8 bits frecuencia variable):

Modo Asncrono, doble simultnea(full-duplex) .


Trama -> Se transmiten 10 bits (1 de inicio (start), 1 byte, 1 de final (stop)
En la recepcin el bit de final (stop) se guarda en RB8 (SCON.2)
Frecuencia de Transmisin/Recepcin -> programable.

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
PUERTO SERIE: MODOS DE FUNCIONAMIENTO 2 Y 3

MODO 2 (UART de 9 bits y frecuencia fija):


Modo Asncrono, (Full-duplex)
Trama -> Se transmiten 11 bits ( 1start, 1 octeto, 1 bit programable, 1 stop)
Frecuencia de transmisin:
fosc/32 si SMOD(PCON.7) = 0.
fosc/64 si SMOD=1.
En transmisin, al noveno bit TB80 (S0CON.3) se le puede asignar el valor
0 o 1 (por ejemplo de acuerdo con el bit de paridad de PSW) o se puede
utilizar como un segundo bit de stop.
En recepcin el noveno bit se guarda en RB80 (S0CON.2) y el bit de stop se
ignora.
MODO 3 (UART de 9 bits y frecuencia variable ):
Igual al modo 2 excepto en la frecuencia de transmisin que es variable.

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
PUERTO SERIE: REGISTROS DE CONTROL
SBUFF (99H):Registro de Transmisin/Recepcin

SBUF (99H): Registro de transmisin/recepcin.

SM2
REN
TB8
RB8
TI
RI

SCON

Escuela Tcnica de Ingenieros de Telecomunicacin


Departamento de Tecnologa Electrnica
Universidad de Vigo

Microcontroladores

DESARROLLO DE SISTEMAS ELECTRONICOS


BASADOS EN EL MICROCONTROLADOR 8051
PUERTO SERIE: PROGRAMACIN DE LA FRECUENCIA DE TX/RX
-

Una de las formas de hacerlo es programar el temporizador 1 en modo de


autorecarga (modo 2) y utilizar los siguientes valores para obtener las
velocidades de transmisin ms utilizadas (oscilador 12MHz) :

Rgimen
binario
62.5K
19.2K
9.6K
4.8K
2.4K

SMOD

C/T

Modo

1
1
0
0
0

0
0
0
0
0

2
2
2
2
2

Valor
recarga
FF
FD
FD
FA
F4

1.2K
110

0
0

0
0

2
1

E8
FEEB

También podría gustarte