Professional Documents
Culture Documents
EJERCICIOS TEMA 2
EJERCICIO 1.
En el siguiente esquema se muestran las conexiones necesarias para que un microcontrolador 8051 (U1) maneje una memoria EPROM (U3), una memoria RAM (U6) y dos registros de 8 bits (U4 y U7); en dicho esquema tambin aparece la lgica de decodificacin necesaria (U5, U8 y U9) y el LATCH (U2) necesario para demultiplexar los buses de datos y de direcciones.
A) MAPA DE MEMORIA DE PROGRAMA A.1) Se conecta /EA a nivel bajo. Dibuje grficamente el mapa de memoria de programa; incluya las direcciones imgenes en caso de que las haya. A.2) Se conecta /EA a nivel alto. Dibuje grficamente el mapa de memoria de cdigo; incluya las direcciones imgenes en caso de que las haya. B) MAPA DE MEMORIA DE DATOS EXTERNA Obtenga el mapa de memoria de datos externa y complete, en hexadecimal, la siguiente tabla: CHIP U6 6264 U4 74LS374 U7 74LS374
3
NUMERO DE DIRECCIONES
DIRECCION INICIAL
DIRECCION FINAL
NUMERO DE IMAGENES
EJERCICIO 2.
El esquema de la figura 1 muestra un microcontrolador 8051, una memoria EPROM, una memoria RAM, un Latch y un dispositivo lgico programable PAL con 8 entradas y 8 salidas. La figura 2 detalla el funcionamiento del Latch.
U1 31 19 18 9 12 13 14 15 1 2 3 4 5 6 7 8 EA/VP X1 X2 RESET INT0 INT1 T0 T1 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7 8051 P2.0 P2.1 P2.2 P2.3 P2.4 P2.5 P2.6 P2.7 RD WR PSEN ALE/P TXD RXD P0.0 P0.1 P0.2 P0.3 P0.4 P0.5 P0.6 P0.7 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 17 16 29 30 11 10 U5 E1 E2 E3 E4 E5 E6 E7 E8 PAL S1 S2 S3 S4 S5 S6 S7 S8 U2 3 4 7 8 13 14 17 18 11 1 1D 2D 3D 4D 5D 6D 7D 8D G OC 74LS373 1Q 2Q 3Q 4Q 5Q 6Q 7Q 8Q 2 5 6 9 12 15 16 19 10 9 8 7 6 5 4 3 25 24 21 23 2 26 20 22 27 1 U3 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 CE OE PGM VPP 27128 O0 O1 O2 O3 O4 O5 O6 O7 11 12 13 15 16 17 18 19
Figura 2. 74LS373 4
Se plantean varias opciones para utilizar los chips de memoria como parte del mapa de memoria de programa o de datos externa del microcontrolador; en cada caso el dispositivo lgico programable implementar las ecuaciones necesarias para realizar la decodificacin y activar las seales de control de las memorias (/CE, /OE, /WE). Las conexiones de las lneas de datos, direcciones y control de las memorias, en todos los casos, son las mismas y lo nico que cambia en cada apartado son las ecuaciones lgicas implementadas en la PAL. A) Realice las conexiones mediante etiquetas de todos los circuitos de la figura 1. Incluya como entradas a la PAL todas las lneas que considere necesarias para situar las memorias como parte del mapa de programa o de datos y lograr decodificacin completa. En cada uno de los siguientes apartados escriba las ecuaciones de las seales de control de las memorias que debera generar la PAL: /CE_EPROM = /CE_RAM = /OE_EPROM = /OE_RAM = /WE_RAM = B) Se conecta la entrada del microcontrolador /EA a nivel alto y se quiere situar las dos memorias en el mapa de memoria de datos (en direcciones consecutivas que terminan en 0xFFFF) sin imgenes. C) Se conecta la entrada del microcontrolador /EA a nivel bajo y se quiere situar la memoria EPROM como memoria de programa (en direcciones a partir de 0x0000) y la memoria RAM como memoria de datos (en direcciones que terminan en 0xFFFF) sin imgenes. D) Se conecta la entrada del microcontrolador /EA a nivel bajo y se quiere situar la memoria EPROM como memoria de programa (en direcciones a partir de 0x0000) y la memoria RAM como memoria de programa y de datos (en direcciones a partir de 0x8000 para ambos mapas) sin imgenes.
EJERCICIO 3.
En el programa que a continuacin se lista, determine el nmero de ciclos de reloj que un microcontrolador de la familia MCS-51 invertira en la ejecucin del mismo. Anote a la derecha de cada instruccin el tipo de direccionamiento empleado y el nmero de ciclos de reloj que se utilizarn para cada una.
; **** PROGRAMA **** MOV ADD MOV MOV A,#33H A,7FH R0,#90H @R0,A
EJERCICIO 4.
En el programa que a continuacin se lista, determine el nmero de ciclos de reloj que un microcontrolador de la familia MCS-51 invertira en la ejecucin del mismo. Anote a la derecha de cada instruccin el tipo de direccionamiento empleado y el nmero de ciclos de reloj que se utilizarn para cada una. Adicionalmente represente un ordinograma que exprese el funcionamiento del programa y realice una estimacin de la duracin del mismo en funcin de la frecuencia de funcionamiento del microcontrolador.
; **** PROGRAMA **** MOV SAL0: SAL1: SAL2: MOV MOV DJNZ R0,#55H R1,#85H R2,#FFH R2,SAL2 ; Decrementa R2, salta a SAL2 ; si R2 es distinto de 0 DJNZ R1,SAL1 ; Decrementa R1, salta a SAL1 ; si R1 es distinto de 0 DJNZ R0,SAL0 ; Decrementa R0, salta a SAL0 ; si R0 es distinto de 0
EJERCICIO 5.
Se desea configurar un microcontrolador 8xC552 para atender a diversas interrupciones tanto externas como internas. El objetivo del problema es determinar los valores a cargar en los registros de prioridad y de habilitacin de las interrupciones en el programa principal y en las rutinas de atencin a las interrupciones para lograr un determinado funcionamiento. En cada apartado se especifica: - Las interrupciones que se utilizarn - El orden de prioridad de las interrupciones, de mayor a menor prioridad - Los anidamientos permitidos entre interrupciones A) Interrupciones y orden de prioridad: Externa 0, Externa 1, Timer 0, Timer 1 y Comunicaciones serie. No se admite ningn tipo de anidamiento. B) Interrupciones y orden de prioridad: Externa 1, Externa 0, Timer 0 y Timer 1. No se admiten anidamientos entre interrupciones conectadas a una misma lnea de prioridad. C) Interrupciones y orden de prioridad: Externa 0, Serie, Timer 0 y Externa 1. D) Interrupciones y orden de prioridad: Externa 0, Externa 1, Timer 0, Timer 1 y Comunicaciones serie. Cualquier interrupcin puede interrumpir a cualquier otra. E) Interrupciones y orden de prioridad: Serie, Timer 1, Timer 0, Externa 1 y Externa 0. No se admiten anidamientos de ningn tipo.
C1
30pF
U2
X1
XTAL1
U1
U5
19
C2
XTAL2
30pF
18
EJERCICIO 6.
C3
RST
Vcc ALE
1uF
Vcc
9
1 11
39 38 37 36 35 34 33 32
D0 D1 D2 D3 D4 D5 D6 D7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
3 4 7 8 13 14 17 18
2 5 6 9 12 15 16 19
R1
18 20
10k
8 7 6 5 4 3 2 1 23 22 19 21 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11
CE OE/VPP
2732
D0 D1 D2 D3 D4 D5 D6 D7
9 10 11 13 14 15 16 17
ALE Vcc
29 30 31
PSEN ALE EA
21 22 23 24 25 26 27 28
U3
10 11 12 13 14 15 16 /WR 17 /RD
U6
80C51
D0 D1 D2 D3 D4 D5 D6 D7
11 12 13 15 16 17 18 19
7
PSEN
AM16V8
1 2 3 4 5 6 7 8 9 11 CLK/I0 I1 I2 I3 I4 I5 I6 I7 I8 OE/I9
IO0 IO1 IO2 IO3 IO4 IO5 IO6 IO7 19 18 17 16 15 14 13 12
/CE1 /CE2 /CE3 /OE1 /OE2 /OE3 CS3 /WE
10 9 8 7 6 5 4 3 25 24 21 23 2
/CE2 /OE2
CE OE PGM VPP
2764
U4
10 9 8 7 6 5 4 3 25 24 21 23 2
/CE3 CS3 /WE /OE3
D0 D1 D2 D3 D4 D5 D6 D7
11 12 13 15 16 17 18 19
CE CS WE OE
6164
A) Completar la tabla siguiente indicando los nombres de los circuitos integrados y una breve descripcin de cada circuito; en el caso de un circuito de memoria indique el tipo de memoria (RAM, EPROM, etc.) y su capacidad. Circuito U1 U2 U3 U4 U5 U6 AM16V8 PAL. Dispositivo lgico programable Descripcin
B) Realice mediante etiquetas y sobre la figura 1, las conexiones de los buses de datos y direcciones para que el microcontrolador pueda utilizar los circuitos de memoria como memoria externa. En los siguientes apartados considerar que las ecuaciones lgicas programadas en la PAL son: /CE1 /CE2 /CE3 CS3 /OE1 /OE2 /OE3 /WE = = = = = = = = A15 + A14 + A15 + A14 + A15 + A14 + /(A15 + A14 PSEN /RD PSEN * /RD /WR A13 + /A12 A13 /A13 + /A13)
C) Complete la tabla siguiente relativa al mapa de memoria de programa del sistema de la figura 1. En caso de existir imgenes indique las direcciones mas bajas; anote todos los valores numricos en hexadecimal. Circuito Tamao (hex.) Dir. inicial (hex.) Dir. final (hex.)
D) Complete la tabla siguiente relativa al mapa de memoria de datos externa del sistema de la figura 1. En caso de existir imgenes indique las direcciones mas bajas; anote todos los valores numricos en hexadecimal. Circuito Tamao (hex.) Dir. inicial (hex.) Dir. final (hex.)
E) Indique sobre las grficas de la figura 2 los mapas de memoria de programa y de datos externa del sistema de la figura 1; seale las imgenes (en caso de que existan) as como los bloques de direcciones que no estn decodicados. En cada bloque de direcciones anote el tipo de memoria (RAM, ROM, EPROM) y el circuito correspondiente (80C51, 2732, etc.).
FFFF
FFFF
0000
0000
Memoria de programa
C 1 30pF
U 2
EJERCICIO 7.
X1
XT AL1
U 1
U 4
19
C 2 30pF
XT AL2
18
C 3 1uF
R ST
1 11
Vcc
39 38 37 36 35 34 33 32
D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
3 4 7 8 13 14 17 18
2 5 6 9 12 15 16 19
R 1 10k
ALE
OE LE
74H C 373
/C E1 /PSEN
8 7 6 5 4 3 2 1 23 22 19 21 A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11
18 20
D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7
9 10 11 13 14 15 16 17
29 30 31
C E OE/VPP
2732
PSEN ALE EA
21 22 23 24 25 26 27 28
U 5
A13 A14 A15
1 2 3 A B C
/C E1
La figura 1 muestra los componentes que forman un sistema basado en microcontrolador 80C51.
10
P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
Vcc
U 3
/C E2
1 2 3 4 5 6 7 8
6 4 5 E1 E2 E3
74H C 138
10 11 12 13 14 15 16 17
Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7
15 14 13 12 11 10 9 7
80C 51
10 9 8 7 6 5 4 3 25 24 21 23 2
D 0 D 1 D 2 D 3 D 4 D 5 D 6 D 7
11 12 13 15 16 17 18 19
U 6:A
/R D
/PSEN
1
3
/C E2 Vcc /W R
2
74H C 08
20 26 27 22
C E C S W E OE
6164
A) Complete la tabla siguiente indicando los nombres de los circuitos integrados y una breve descripcin de cada circuito; en el caso de un circuito de memoria indique el tipo de memoria (RAM, EPROM, etc.) y su capacidad. Circuito U1 U2 U3 U4 U5 Descripcin
B) Realice mediante etiquetas y sobre la figura 1, las conexiones de los buses de datos y direcciones para que el microcontrolador pueda utilizar los circuitos de memoria como memoria externa.
C) Complete la tabla siguiente relativa al mapa de memoria de programa del sistema mostrado en la figura 1. En caso de existir imgenes indique las direcciones mas bajas; anote todos los valores numricos en hexadecimal.
Circuito
Tamao (hex.)
D) Complete la tabla siguiente relativa al mapa de memoria de datos externa del sistema mostrado en la figura 1. En caso de existir imgenes indique las direcciones mas bajas; anote todos los valores numricos en hexadecimal. Circuito Tamao (hex.) Dir. inicial (hex.) Dir. final (hex.)
11
E) Indique sobre las grficas de la figura 2 los mapas de memoria de programa y de datos externa del sistema de la figura 1; seale las imgenes (en caso de que existan) as como los bloques de direcciones que no estn decodicados. En cada bloque de direcciones anote el tipo de memoria (RAM, ROM, EPROM) y el circuito correspondiente (80C51, 2732, etc.).
FFFF
FFFF
0000
0000
Memoria de programa
12
EJERCICIO 8.
Se quiere realizar un sistema basado en el microcontrolador 87C552. a) Con el fin de identificar la memoria interna del microcontrolador rellene la siguiente tabla. MEMORIA DE PROGRAMA MEMORIA DE DATOS Direccin Direccin Direccin Direccin Tipo Capacidad Tipo Capacidad Inicial Final Inicial Final
b) Realizado el software de la aplicacin se observa que el programa principal ocupa 10KB y las rutinas de atencin a las interrupciones ocupan 2KB, as mismo se necesita 3KB para datos. Indique en el esquema de la figura, mediante etiquetas, el conexionado entre las lneas ms relevantes del microcontrolador y los diferentes circuitos teniendo en cuenta que se requiere que: el programa principal est situado en posiciones continuas del mapa de memoria. las rutinas de interrupcin estn en la parte alta del mapa de memoria de programa. los datos se encuentren en la parte baja del mapa no haya imgenes de ninguna de las memorias c) Rellene la siguiente tabla sobre los circuitos de memoria externa que haya utilizado: Tipo U3 U4 U5 U6 d) Indique las diferentes ecuaciones de las lneas de seleccin de los circuitos de memoria externa que haya utilizado en el esquema de la figura. Capacidad Direccin Inicial Direccin Final
13
57 56 55 54 53 52 51 50 16 17 18 19 20 21
P P P P P P P P P P P P P
U2
3 4 7 8 13 14 17 18
1 11
U3
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 2 5 6 9 12 15 16 19
8 7 6 5 4 3 2 1 23 22 19 21
18 20
U4
D0 D1 D2 D3 D4 D5 D6 D7 9 10 11 13 14 15 16 17
8 7 6 5 4 3 2 1 23 22 19 21
18 20
D0 D1 D2 D3 D4 D5 D6 D7
OE LE
74HC373
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11
CE OE/VPP
2732
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11
CE OE/VPP
2732
D0 D1 D2 D3 D4 D5 D6 D7
9 10 11 13 14 15 16 17
61 2
U1
P4.0/CMSR0 P4.1/CMSR1 P4.2/CMSR2 P4.3/CMSR3 P4.4/CMSR4 P4.5/CMSR5 P4.6/CMT0 P4.7/CMT1
P5.0/ADC0 P5.1/ADC1 P5.2/ADC2 P5.3/ADC3 P5.4/ADC4 P5.5/ADC5 P5.6/ADC6 P5.7/ADC7
STADC PWM0 PWM1 EW AVrefAVref+
57 56 55 54 53 52 51 50
16 17 18 19 20 21 22 23
7 8 9 10 11 12 13 14
1 68 67 66 65 64 63 62
3 4 5 6 58 59
AVDD VDD
U5
8 7 6 5 4 3 2 1 23 22 19
18 20 21
U6
D0 D1 D2 D3 D4 D5 D6 D7 9 10 11 13 14 15 16 17
8 7 6 5 4 3 2 1 23 22 19
18 20 21
39 40 41 42 43 44 45 46
24 25 26 27 28 29 30 31
49 47 48 15 35 34
32 33 38
BLOQUE DE CODIFICADOR
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
CE OE WE
2015
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10
CE OE WE
2015
D0 D1 D2 D3 D4 D5 D6 D7
9 10 11 13 14 15 16 17
60 36 37
87C552
U7
14
EJERCICIO 9.
58 57 56 55 54 53 52 51
18 19 20 23 24 25 26 27
10 11 12 13 14 15 16 17
38 39 40 41 42 45 46 47
10 9 8 7 6 5 4 3 25 24 21 23 2 26 1
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
D0 D1 D2 D3 D4 D5 D6 D7
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 CE OE VPP O0 01 02 O3 O4 O5 O6 O7
11 12 13 15 16 17 18 19
11 10 9 8 7 6 5 4 29 28 24 27 3 30 31
23 25 2
13 14 15 18 19 20 21 22
20 22 27
CE OE WE
U8
U4
27C256_L
MS62256
80 1 2 4 5 6 7 8
71 70 69 68 67 66 65 64
49 48 75 76
60 59
ALE PSEN PWM0 PWM1
AVREF+ AVREF-
32
XTAL2
XTAL1
50 77 9 74
EA EW RST STADC
31
U7
Se dispone de un microcontrolador 50C552 al que se le desea aadir memoria externa empleando diversas configuraciones. Se trata por tanto de completar cada uno de los siguientes esquemas indicando las funciones lgicas que se deben emplear en cada caso. Las especificaciones son las siguientes:
a) 32 Kb de memoria de programa empleando exclusivamente las direcciones ms altas de este mapa y 16 Kb de memoria de datos ocupando slo el rango comprendido entre las direcciones 4000h y 7FFFh.
80C552/FP
58 57 56 55 54 53 52 51
10 11 12 13 14 15 16 17
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
38 39 40 41 42 45 46 47
23 25 2
10 9 8 7 6 5 4 3 25 24 21 23 2 26 1
D0 D1 D2 D3 D4 D5 D6 D7
11 12 13 15 16 17 18 19
11 10 9 8 7 6 5 4 29 28 24 27 3 30 31
O0 01 02 O3 O4 O5 O6 O7
13 14 15 18 19 20 21 22
80 1 2 4 5 6 7 8
71 70 69 68 67 66 65 64
b) 32 Kb de memoria de programa ubicados en las direcciones ms altas de este mapa y 16 Kb de memoria de datos ocupando al menos el rango comprendido entre la direcciones 4000h y 7FFFh. En este caso se deben emplear las funciones lgicas mas simples que sea posible.
16
ALE PSEN PWM0 PWM1
XTAL2
31
60 59
AVREF+ AVREF-
32
XTAL1
49 48 75 76
50 77 9 74
U7 80C552/FP
EA EW RST STADC
58 57 56 55 54 53 52 51
38 39 40 41 42 45 46 47
10 9 8 7 6 5 4 3 25 24 21 23 2 26 1
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 CE OE WE
23 25 2
CE OE VPP
D0 D1 D2 D3 D4 D5 D6 D7
11 12 13 15 16 17 18 19
A0 A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 O0 01 02 O3 O4 O5 O6 O7
11 10 9 8 7 6 5 4 29 28 24 27 3 30 31
13 14 15 18 19 20 21 22
20 22 27
U8
U4
c) 32 Kb de memoria ROM ubicados en las direcciones ms bajas del mapa de memoria de programa y 16Kb de memoria RAM que puede emplearse tanto para almacenar datos como para almacenar programa. Si se emplea como memoria para datos debe ubicarse en las direcciones ms bajas del mapa correspondiente. Si se usa para almacenar programa debe colocarse a continuacin de la ya existente en el mapa de programa.
Resuelva este apartado sin que aparezcan imgenes en ninguno de los mapas.
17
MS62256
ALE PSEN PWM0 PWM1
27C256_L
80 1 2 4 5 6 7 8
71 70 69 68 67 66 65 64
49 48 75 76
60 59
AVREF+ AVREF-
32
XTAL2
XTAL1
50 77 9 74
EA EW RST STADC
31
U7
80C552/FP