Entradas y Salidas Digitales

28
E/S DIGITALES MICROELECTRONICA

Transcript of Entradas y Salidas Digitales

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 1/28

E/S DIGITALES

MICROELECTRONICA

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 2/28

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 3/28

RETO:

 Semáforos en una intersección, incluido

Stop y Go para Peatones

ENCENDIDO Y APAGADO

nunc a o:   ea zar una emu ac n e os

semáforos en una intersección mediante el

Encendido y Apagado de Leds, con indicadores de

stop y go para peatones.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 4/28

 Para rotar los bits a la izquierda empleamos las

funciones:

 rotate_left( adress, bytes);

 En donde address puede ser un identificador de un

 

ROTACIÓN DE BITS

 

array o a irecci n a un yte o a una estructura,

bytes   es el número de bytes implicados en la

rotación.

 Ejemplo:   var = 0x40; rotate_left(&var,1); // var=0x80

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 5/28

TRASLADO DE BITS La misma explicación es válida para:

 rotate_right( adress, bytes)

 Otra forma de realizar el mismo efecto es empleando elo erador

  desplazamiento (>> derecha, << izquierda)

 Ejemplos:   var=0x40; var=var<<n // n   es el número de bits a desplazar

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 6/28

 Enunciado: Se trata de hacer encender 8 LEDs de

manera consecutiva, sin que permanezcan

encendidos dos de ellos simultáneamente. Los LEDs

PRÁCTICA

,

PORTD <RD7:RD0>.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 7/28

FLUJOGRAMA

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 8/28

SIMULACIÓN

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 9/28

RETO:

 Enunciado:

 Encender secuencialmente, a la izquierda dos (2) a,

retardo de 500ms. Y al mismo tiempo a la

izquierda tres (3) a la vez, l 8 LEDs conectados al

PORTD con un retardo de 1s.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 10/28

RETO:

 Enunciado:

 Realizar el juego de luces del auto fantástico con,

50ms.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 11/28

Entradas Di itales

Interruptores y Switchs

 

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 12/28

ENTRADAS DE DATOS

 Los dispositivos de entrada de datos encontramos con

frecuencia en   sensores   de alarmas (magnéticos, de

movimiento, infrarrojos, etc.), sensores   digitales

industriales (sensores digitales de proximidad, finales de

carrera, pulsadores de marcha y paro de motores, etc.).

Rebotes en un pulsador 

 El problema en la utilización de estos dispositivos son los

rebotes que aparecen en el momento en que cambian deposición, cuya duración depende de la fuerza con que se

presione este dispositivo, y a su estructura interna.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 13/28

ENTRADAS DE DATOS

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 14/28

ELIMINAR REBOTES

 Para eliminar este problema se suele realizar

por dos medios:

 Hardware mediante el empleo de un flip-flop, uncon ensa or, e c.

 Software   utilizando los retardos de cerca de

10ms que es lo que normalmente una personatarda en presionar y soltar una tecla.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 15/28

 Enunciado:

 Se desea controlar una lámpara desde dos puntos

diferentes por medio de 2 interruptores. La

PRÁCTICA

a RA0 y RA1

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 16/28

DESARROLLO

 Como podemos observar en el circuito, cuando los

interruptores están   abiertos   introducen un “0L”

(conectados a través de resistencias pull-down). De

acuerdo a las condiciones del enunciado, la lámpara

debe funcionar de acuerdo a la siguiente tabla deverdad:

S1 (RA1 S0 (RA0)SALIDA

(RB0)

Observaciones

00

1

1

01

0

1

01

1

0

ApagadoEncendido

Encendido

Apagado

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 17/28

DESARROLLO

 Como se mencionó anteriormente, en lenguaje C,

para realizar la   lectura  de un puerto se utiliza la

función

=   _ _ 

// Pone en var el valor de los pines del port_y

 Según analizamos anteriormente, la sentencia case esla herramienta más indicada a utilizarse en este caso.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 18/28

SIMULACIÓN

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 19/28

 Enunciado:

 Realizar un programa que permita visualizar, el

estado (on/off) de 5 switchs conectados en el

puerto B (<RB4:0>), mediante 5 diodos LED

PRÁCTICA

conectados en el puerto D (<RD4:0>). La

conexión de los switchs se realizará empleando

resistencias pull-up, de tal forma que, cuando un

switch esté abierto el microcontrolador reciba un“1L”. En esta posición el LED correspondiente

estará apagado.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 20/28

DESARROLLO

 En este circuito, los switchs, al estar en posición OFF

(abiertos), sus pines están conectados a través de la

resistencia de 10KΩ  a 5V, dando un estado lógico alto

(1L), en esa posición el LED correspondiente debe estar

puerto B para sacar un estado lógico bajo (0L) que

apague el LED.

 La misma lógica se aplicará en la posición ON (cerrado).

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 21/28

SIMULACIÓN

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 22/28

 Enunciado:

 Se desea realizar un programa que cuente los

pulsos provenientes de un pulsador

(CONTADOR) conectado a RD1 y los visualice en

PRÁCTICA

.

número máximo de conteo será 12, momento en

el cual se detiene y activa una señal visual (LED) o

sonara (Zumbador, conectado al RD2) por 5 veces.El reinicio del conteo se realiza presionando la

tecla REINICIO conectada al pin RD0

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 23/28

DESARROLLO

 En este caso vamos a utilizar las funciones de

verificación del estado de un pin del puerto,

 If (bit_test(var,3) || !bit_test(var,1))   // o

el bit 3 de var es 1 o el bit 1 es 0.   mismo e ecto se tiene si se emp ea

  if(input(pin_x) || !input(pin_y))

 Para el incremento utilizaremos:

  var++   // equivale a var=var+1

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 24/28

DESARROLLO

 El programa se ha realizado de tal forma que el

incremento en el conteo se realiza solo si se suelta

la tecla de conteo.

 Además se han utilizado unos e ueños retardos

Luis David Narváez

para eliminar los rebotes.

 Otra situación importante que hay que remarcar es

que el reinicio se sucede únicamente si el contador

ha llegado al valor máximo (12 decimal).

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 25/28

SIMULACIÓN

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 26/28

RETO: Enunciado:

 Realizar un contador binario tal que, con un

ulsador cuente en forma ascendente hasta lle ar

a 255(Puede ser hasta 25 por pruebas) y luego

sea descendente. Un led conectado en RA3 se

encenderá cuando el contador este al máximo o

al mínimo (0 y 255).

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 27/28

RETO: Enunciado:

 Realizar un contador binario con dos pulsadores,

uno ascendente hasta 255 con otro

descendente hasta 0. El cambio de ascendente a

descendente   se realiza en cualquier instante

según se presione el pulsador correspondiente.

Existirá además un botón de reinicio.

Luis David Narváez

8/16/2019 Entradas y Salidas Digitales

http://slidepdf.com/reader/full/entradas-y-salidas-digitales 28/28

 

PREGUNTAS /COMENTARIOS

Luis David Narváez