You are on page 1of 16

Electrnica Digital II

Gua de Trabajos Prcticos

Universidad Nacional de Crdoba


Facultad de Ciencias Exctas Fsicas y Naturales

Guia de Problemas
Electrnica Digital II
Ao 2014

Electrnica Digital II
Gua de Trabajos Prcticos

PRACTICO 1
Mapeo de Memorias
Problema 1.1
Implementar un Banco de Memoria que responda al siguiente mapa:

Problema 1.2
Implementar un Banco de Memoria que responda al siguiente mapa:
a partir de 0000h => 8 KB de EPROM
a partir de 3000h => 4 KB de RAM
a partir de 4000h => 16 KB de EPROM
a partir de A000h => 4 KB de EPROM
Se dispone de memorias RAM de 1K x 4 bits y EPROM de 4K x 8 bits.

Problema 1.3
Realizar un mapeo que ubique 4KBytes de EPROM a partir de la posicin 0 y
4KBytes de RAM a partir de 1000H. Se dispone de chips EPROMs de 1Kx4 bits
y RAMs de 512 Bytes.
Problema 1.4
Realizar un mapeo que ubique 8KBytes de EPROM a partir de la posicin 0 y
8KBytes de RAM a partir de 2000H. Se dispone de chips EPROMs de 2Kx4 bits
y RAMs de 1 KBytes.

Electrnica Digital II
Gua de Trabajos Prcticos
Problema 1.5
Dado el siguiente circuito encuentre el mapeo correspondiente:

Problema 1.6
Dado el siguiente circuito encuentre el mapeo correspondiente:

Problema 1.7
Dado el siguiente circuito encuentre el mapeo correspondiente:

Electrnica Digital II
Gua de Trabajos Prcticos

Probema 1.8
Dado el siguiente circuito encuentre el mapeo correspondiente:

Electrnica Digital II
Gua de Trabajos Prcticos

PRACTICO 2
Programacin Bsica
Problema 2.1
Escribir un programa que sume dos valores guardados en 21H y 22H con resultado en 23H y 24H
Problema 2.2
Escribir un programa que resuelva la ecuacin: (A + B) C (posiciones 21H, 21H y 22H)
Problema 2.3
Escribir un programa que sume dos nmeros de 16 bits A (20H 21H) y B (22H y 23H) y el resultado colocarlo en
A.
Problema 2.4
Escribir un programa que su ejecucin demore un milisegundo (Cristal de 4MHz).
Problema 2.5
Escribir un programa que su ejecucin demore un segundo (Cristal de 4MHz).
Problema 2.6
Escribir un programa que compare dos nmeros A y B. Si son iguales, el resultado
debe ser 0. Si A > B, el resultado debe ser la diferencia A - B, y si A < B el
resultado debe ser la suma A + B. (A en posicin 30D, B en 31D y R en 32D)
Problema 2.7
Escribir un programa para almacenar el valor 33D en 15 posiciones contiguas de la
memoria de datos, empezando en la direccin 0x30
Problema 2.8
Escribir un programa que convierta un nmero de 8 bits, escrito en ASCII, en su equivalente en BCD. Num en
0x20
Problema 2.9
Idem anterior, pero de la zona Nums (de 20H a 30H inclusive)
Problema 2.10
Escribir un programa que convierta un nmero de 4 bits escrito en binario natural
en su equivalente en cdigo Gray. (NumB 32D y NumG 33D)

Electrnica Digital II
Gua de Trabajos Prcticos

PRACTICO 3
Entrada Salida Introduccin
Problema 3.1
Escribir un programa que lea y obtenga en dos de los LEDs (RB3 y RB2) conectados al puerto B, el estado
lgico que presentan los pulsadores conectados a los terminales RA4 y RB0, como indica la figura:

Problema 3.2
Escribir un programa que cuente el nmero de veces que se puls la tecla conectada al terminal RA4 y que
saque ese valor en binario natural por el Puerto B. Slo se utilizarn los bits RB0 a RB3 que son los que tienen
conectados diodos LED para su observacin. Como consecuencia, el contador es de 4 bits: de 0 a 15.

Problema 3.3
Escribir un programa que, dependiendo del estado de dos interruptores conectados a RA4 y RB0, presente en
el puerto D diferentes funciones lgicas cuya tabla de verdad es:

Electrnica Digital II
Gua de Trabajos Prcticos
PRACTICO 4
Entradas Salidas
Problema 4.1
Se desea generar un dado electrnico basado en hardware siguiente. Escribir un programa que active el dado
al apretar un pulsador conectado a RA4 y que ilumine un nmero aleatorio al apretar un pulsador conectado a
RB0.

Problema 4.2
Escribir un programa que ilumine los LEDs conectados al puerto D segn las siguientes especificaciones:
- Inicialmente aparecen parpadeando los LED
- Si se aprieta un pulsador conectado a la patilla RA4 se produce un desplazamiento
de derecha a izquierda o de izquierda a derecha en funcin de las veces que se
pulse RA4.
- El desplazamiento debe comenzar al soltar el pulsador.
- En todo momento, en el instante en que se aprieta el pulsador conectado a la
patilla RB0, se pasa al parpadeo inicial.
La frecuencia del oscilador es de 4 MHz.
Problema 4.3
Obtener el cdigo de la tecla que se pulsa en un teclado estndar conectado al puerto B de un microcontrolador
PIC 16F873, como indica la figura.

Problema 4.4
Se desea que al apretar el pulsador conectado a RA4 parpadeen, a una frecuencia de 0.5Hz, los 8 LEDs
conectados en ctodo comn a los 8 terminales del puerto D de un microcontrolador PIC 16F877A. Dicho
parpadeo se debe interrumpir durante unos instantes (3 segundos) si se aprieta el pulsador conectado al
terminal RB0. Inicialmente, los LEDs estn apagados. El oscilador es de 4MHz.

Electrnica Digital II
Gua de Trabajos Prcticos

Problema 4.5
Debido a un accidente de circulacin se han colocado cuatro seales luminosas a cada lado de la calzada para
que sirvan de advertencia a los conductores que circulan por esa ruta (ver figura). El control del
encendido/apagado se realiza mediante un microcontrolador PIC 16F877A y unos drivers conectados a los
terminales del puerto D, como indica la figura. El sistema debe arrancar con todas las lmparas apagadas. Al
apretar el pulsador conectado a RA4, debe comenzar la siguiente secuencia de luces: L0, L2, L4, L6, L1, L3, L5
y L7, es decir, primero las de la derecha y luego las de la izquierda. Al finalizar la secuencia, el ciclo debe
repetirse indefinidamente. El oscilador de 4 MHz y el ciclo completo debe durar (aproximadamente) 1 segundo.

Problema 4.6
Una variedad del ejercicio anterior consiste en hacer que las luces se enciendan por parejas y en secuencia, es
decir, L0 y L1, despus L2 y L3 apagndose L0 y L1, despus L4 y L5 apagndose L2 y L3, y finalmente L6 y
L7 apagndose L4 y L5, para posteriormente repetirse el ciclo. Para dar tiempo a ser observadas, el ciclo de
encendido desde que se enciende la pareja L0 - L1 hasta que vuelve a encenderse debe ser de
(aproximadamente) 0,5 seg.

Problema 4.7
Una variedad del ejercicio anterior es la siguiente: que cuando cada pareja de lmparas se encienda no se
apague la anterior. Cuando finalice la temporizacin de L6/L7 (con las otras 6 lmparas tambin encendidas),
deben apagarse todas un tiempo y comenzar de nuevo el ciclo.

Electrnica Digital II
Gua de Trabajos Prcticos

Electrnica Digital II
Gua de Trabajos Prcticos

PRACTICO 5
Hardware Entrada y Salida Avanzado
Problema 5.1
Mediante un microcontrolador PIC operando con un oscilador de 4 MHz, se desea controlar una mquina
taladradora con las siguientes especificaciones: - Al apretar el pulsador de arranque conectado al terminal RA0
se inicia el ciclo de funcionamiento con un descenso rpido del taladro. - Cuando la parte inferior del
portabrocas activa el sensor conectado al terminal RA2 (pone RA2 a "0"), se activa un rel que hace que la
broca gire. Simultneamente el descenso del taladro debe ser lento. - Cuando la parte inferior del portabrocas
activa el sensor conectado al terminal RA3 (pone RA3 a "0"), se considera que la pieza est taladrada y el
taladro debe subir con rapidez manteniendo el giro de la broca.
- Cuando el taladro en su regreso alcanza el final de carrera que est conectado al terminal RA1 (pone RA1 a
"0") debe detenerse la subida del taladro y desactivarse el rel del giro de la broca. Adems, debe activarse una
seal acstica que avise del fin de la operacin. - El nuevo ciclo comienza al apretarse de nuevo el pulsador de
arranque

Problema 5.2
Se desea gobernar con un microcontrolador PIC 16F877A las luces situadas sobre el techo de una ambulancial
(L0, L1, ... L7). Estas luces estn conectadas a travs de sendos drivers a los terminales del PORTD de forma
que L0 est conectada a RD0, L1 est conectada a RD1 y as sucesivamente hasta L7 que est conectada a
RD7, como indica la figura. Se pretende que al accionar el pulsador conectado a la patilla RA4 del
microcontrolador (ver figura), las luces se activen iluminndose en primer lugar L0 y L4 y una vez transcurridos
aproximadamente 0,2 segundos L0 y L4 se apaguen y se iluminen L1 y L5 para que, transcurridos otros 0,2
seg, se apague L1 y L5 y se enciendan L2 y L6. Tras otros 0,2 seg. deben apagarse L2 y L6 y encenderse L3 y
L7 de forma que, tras estar otros 0,2 seg. encendidas, el ciclo finaliza y deben encenderse de nuevo L0 y L4.
De esa forma se obtiene, mirando desde encima, un efecto visual de movimiento de luz de izquierda a derecha
en las luces delanteras y de derecha a izquierda en las traseras. El oscilador es de cristal de cuarzo de 4 MHz.

Electrnica Digital II
Gua de Trabajos Prcticos

Problema 5.3
Se desea que cuando se apriete el pulsador conectado a RA4 (ver figura), los LEDs conectados a PORTD,
inicialmente apagados, realicen el barrido indicado, es decir, primero enciende el conectado a RD7, tras 20 ms
enciende tambin el conectado a RD6, y as sucesivamente hasta encender los 8. Una vez transcurridos otros
20 ms (con todos encendidos) deben comenzar a apagarse sucesivamente, es decir, en primer lugar se apaga
el conectado a RD7, tras 20 ms se apaga tambin el conectado a RD6 y as sucesivamente hasta apagarse
todos. Transcurridos otros 20 ms, el sistema debe repetir el ciclo si se aprieta de nuevo el pulsador. El oscilador
es de 4 MHz.

Problema 5.4
Se desea que, cuando se apriete el pulsador conectado a RA4, en los LEDs conectados a PORTD se realice
un barrido de izquierda a derecha seguido de otro de derecha a izquierda, como indica la figura, estando en
cada situacin durante 30 ms. Una vez finalizadas las dos secuencias, el sistema debe quedar listo para
repetirlas si se vuelve a apretar el pulsador. El oscilador es de 4 MHz. Inicialmente las luces deben estar
apagadas.

Problema 5.5
El marcador de un polideportivo donde se juega baloncesto necesita aadir un display de 3 cifras de 7
segmentos donde se observe la cuenta descendente de 24 segundos.

Electrnica Digital II
Gua de Trabajos Prcticos
Se activar inicialmente con un valor de 24.0 segundos y cada vez que llegue una seal a RB0. comenzar una
cuenta regresiva hasta alcanzar 00.0 segundos en donde se producir un sonido de 500Hz durante 2 segundos
y luego indicar 24.0 segundos a la espera de RB0 nuevamente.
Si RB0 llega durante la cuenta descendente, el sistema se reinicia a 24.0 segundos.
Dicho display estar controlado por un PIC 16F877A, cuyo oscilador es de 4 MHz,

Problema 5.6
Para aumentar el nivel de ventas, un comerciante presenta una oferta que anuncia mediante un rtulo
rectangular de 1m x 0,8 m situado en el escaparate de su tienda. Para atraer la atencin, coloca en el permetro
del rtulo 8 bombillas cuyo encendido/apagado se controla (a travs de drivers) con los terminales del PORTD
de un MCU PIC 16F877A, como indica la figura.

Se desea que inicialmente las 8 bombillas estn apagadas y que, al apretar el pulsador conectado a RA4, se
enciendan en secuencia y en el sentido de las agujas del reloj durante 0,5 seg.(+/-5 %) (deben llegar a
encenderse las 8 bombillas).
Una vez finalizado este ciclo, deben parpadear las 8 simultneamente durante unos 4 seg. aproximadamente,
transcurridos los cuales volvern a la secuencia y as indefinidamente. El oscilador es de cristal de 4 MHz. Se
pide: escribir un programa en ensamblador que efecte dicho control.

Problema 5.7
El sistema consta de microcontrolador PIC 16F877A, cuyo oscilador es de 4 MHz, que tiene:

El Display de cuatro dgitos de 7 segmentos (nodo comn)

Tecla conectada a RB0, que genera un 0 lgico cuando se oprime

Sensor de temperatura de un horno, con salida analgica de 0 volt a 3 volts que


representan las temperaturas de 0 a 1023 grados
El sistema ser utilizado para indicar el valor ledo en el conversor ADC (binario de10 bits) en el display de 7
segmentos, cada vez que se oprime la tecla conectada a RB0.
El proceso mostrar inicialmente 0 y ser cambiado por el valor ledo en el ADC, cada vez que se oprima la
tecla.

Electrnica Digital II
Gua de Trabajos Prcticos
Dibujar el hardware completo del sistema y realizar el software necesario para satisfacer el requerimiento
anterior.
Problema 5.8
Idem al problema anterior, solo que adems debe transmitir por el puerto serie, la lectura realizada a 4800
baudios,
Se debe anteponer, la palabra ADC (en ASCII), el nmero de lectura en un byte (en BCD). El valor transmitido

Electrnica Digital II
Gua de Trabajos Prcticos
PRACTICO 6
Subrutina e Interrupciones - Introduccion
Problema 6.1
Realizar un programa que se encarga de manejar tres displays de siete segmentos de representacin (ms el
correspondiente al punto decimal) como dispositivos de salida y un teclado matricial 4x4 como elemento de
entrada.
Se activan los displays con 3 lneas del PORTA (RA1, RA2 y RA3) y los segmentos con el PORTD.
En los displays se pueden representar los nmeros del 0 al 9 y las letras de la A a la F, estos caracteres se
pueden seleccionar desde el teclado.
Inicialmente aparecern tres ceros (000) y a medida que se van pulsando las teclas, van apareciendo por la
derecha los caracteres asociados a las teclas pulsadas y lo desplazan todo una posicin hacia la izquierda. El
teclado responde al esquema elctrico y la disposicin mostrada en la figura siguiente e ir conectado al
PORTB segn el orden que se representa en la figura de la prxima hoja.

Electrnica Digital II
Gua de Trabajos Prcticos
Problema 6.2
Sobre el Hardware que se plantea en el esquema, redactar un programa en assembler que genere las formas
de onda que se indican en la tabla.

Los valores de tensin de referencia del conversor son 0V y 4V. Segn la tecla que se presione, la salida ser:

La rutina que debe cumplir es la siguiente:


1. El tipo de salida se presetear con 1,2,3,4 y M.
2. La salida permanecer en 0 hasta que se presione I.
3. Cuando se est generando, la salida se pondr en 0 cuando se presione
cualquier tecla, excepto Inicio.
4. Si se presionan 2 teclas, ser vlida la ltima.
5. Recin comenzar a generar el nuevo tipo de onda preseteado cuando se
presione I.
Problema 6.3
Generar un sonido en el pin RB1, siendo de 1000Hz, 500Hz, 250Hz y 125Hz las frecuencias generadas
Cada vez que llega una interrupcin externa a RB0 cambia de frecuencia comenzando con 1000Hz, 500Hz, 250Hz,
125Hz, 1000Hz , 500Hz....
Realizar el hardware y software completo, con los comentarios correspondientes. (Cristal del PIC 4MHz)
Problema 6.4
Un sistema basado en el PIC 16F87X se utiliza para medir tiempos entre eventos.
Utilizando un display de 4 dgitos de 7 segmentos, se indicara el tiempo entre eventos, que son segundos con
precisin de centsimas de segundo.
Cada evento genera una interrupcin en RB0 y se debe mostrar en el display el tiempo transcurrido entre los
dos ltimos eventos.
Realizar el hardware y software completo, con los comentarios correspondientes. (Cristal del PIC 4MHz)

Electrnica Digital II
Gua de Trabajos Prcticos
PRACTICO 7
Subrutina e Interrupciones Avanzado.
Problema 7.1
Se desea implementar un viejo juego llamado SIMON. El hardware consiste en:
Cuatro LEDs conectados a 4 pines de un puerto
Los LEDs sern Azul, Verde, Rojo y Amarillo
Cuatro pulsadores conectados a otros 4 pines
Un pulsador para comenzar el juego
Un parlante conectado a un pin para generar tonos
Capacidad de memorizar hasta una secuencia de 20 pulsaciones de teclas.
Oscilador de 4 Mhz.
El Sistema debe aleatoriamente generar la nueva pulsacin.
Deben generarse cuatro tonos distintos segn sea el color encendido
Debe generarse un tono de baja frecuencia para cuando pierde el jugador y otro si llega a 20 pasos.
Cada secuencia debe tener una temporizacin de cada paso de 300mseg.
Problema 7.2
Generar un nmero aleatorio de 1 a 6 con estadstica
Se desea generar un dado electrnico basado en el hardware del Cronometro y dos pulsadores A y B.
El sistema muestra inicialmente el primer dgito cambiando rapidamente (muestra como si fuera un 8)
Cuando se oprime A se detiene y muestra aleatoriamente un nmero de 1 a 6 (tener especial cuidado para que
todos los nmeros tengan la misma probabilidad de salir). Luego de mostrar el nmero (de 1 a 6) por 2
segundos vuelve a mostrar ese dgito cambiando rapidamente.
Este proceso se repite n veces y cuando se oprima B, mostrar el nmero 1 y a su lado la cantidad de veces
que sali este nmero, luego de 2 segundos mostrar el nmero 2 y cuantas veces se di este y asi
sucesivamente hasta el nmero 6, para volver nuevamente con el 1 y asi indefinidamente hasta que se vuelve a
apretar B, que detiene este proceso y comienza a mostrar el primer dgito cambiando rapidamente
Problema 7.3
Se desea implementar un sistema basado en PIC que ejecute simultneamente los problemas presentados en
el Terico
a) Luces que se desplazan (con cola de atenuacin)
b) Cronmetro

Problema 7.4
Se desea implementar un sistema basado en PIC que ejecute simultneamente los problemas presentados en
el Terico
c) Luces que se desplazan (con cola de atenuacin)
d) Cronmetro
e) Medicin de la tensin de alimentacin del PIC (dos dgitos agregados al cronmetro)
Problema 7.5
Se desea implementar un sistema basado en PIC que ejecute simultneamente los problemas presentados en
el Terico
f) Luces que se desplazan (con cola de atenuacin)
g) Cronmetro
h) Medicin de la tensin de alimentacin del PIC (dos dgitos agregados al cronmetro)
i) SIMON

You might also like