2. entradas salidas digitales ingenieria - PIC

17
E/S DIGITALES MICROELECTRONICA

description

Manejo de Entradas Digitales en el Microcontrolador.

Transcript of 2. entradas salidas digitales ingenieria - PIC

Page 1: 2. entradas salidas digitales   ingenieria - PIC

E/S DIGITALES

MICROELECTRONICA

Page 2: 2. entradas salidas digitales   ingenieria - PIC

MODALIDAD

Encendido y Apagado. Rotación de bits. Traslado de bits. Interruptores y Switchs.

Rebotes

Contadores

Luis David Narváez

Page 3: 2. entradas salidas digitales   ingenieria - PIC

RETO: Semáforos en una intersección, incluido

Stop y Go para Peatones Enunciado: Realizar una emulación de dos

semáforos en una intersección mediante elEncendido y Apagado de Leds, con indicadores destop y go para peatones.

ENCENDIDO Y APAGADO

Luis David Narváez

Page 4: 2. entradas salidas digitales   ingenieria - PIC

Para rotar los bits a la izquierda empleamos lasfunciones: rotate_left( adress, bytes);

En donde address puede ser un identificador de unarray o la dirección a un byte o a una estructura,bytes es el número de bytes implicados en larotación.

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

ROTACIÓN DE BITS

Luis David Narváez

Page 5: 2. entradas salidas digitales   ingenieria - PIC

TRASLADO DE BITS La misma explicación es válida para: rotate_right( adress, bytes)

Otra forma de realizar el mismo efecto es empleando eloperador desplazamiento (>> derecha, << izquierda)

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

Luis David Narváez

Page 6: 2. entradas salidas digitales   ingenieria - PIC

Enunciado: Se trata de hacer encender 8 LEDs demanera consecutiva, sin que permanezcanencendidos dos de ellos simultáneamente. Los LEDsestán conectados al PORTB<RB7:RB0>, y alPORTD <RD7:RD0>.

PRÁCTICA

Luis David Narváez

Page 7: 2. entradas salidas digitales   ingenieria - PIC

FLUJOGRAMA

Luis David Narváez

Page 8: 2. entradas salidas digitales   ingenieria - PIC

SIMULACIÓN

Luis David Narváez

Page 9: 2. entradas salidas digitales   ingenieria - PIC

Interruptores y Switchs

Entradas Digitales

Luis David Narváez

Page 10: 2. entradas salidas digitales   ingenieria - PIC

ENTRADAS DE DATOS Los dispositivos de entrada de datos encontramos con

frecuencia en sensores de alarmas (magnéticos, demovimiento, infrarrojos, etc.), sensores digitalesindustriales (sensores digitales de proximidad, finales decarrera, 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 sepresione este dispositivo, y a su estructura interna.

Luis David Narváez

Page 11: 2. entradas salidas digitales   ingenieria - PIC

ENTRADAS DE DATOS

Luis David Narváez

Page 12: 2. entradas salidas digitales   ingenieria - PIC

ELIMINAR REBOTES Para eliminar este problema se suele realizar

por dos medios:

Hardware mediante el empleo de un flip-flop, uncondensador, etc.

Software utilizando los retardos de cerca de10ms que es lo que normalmente una personatarda en presionar y soltar una tecla.

Luis David Narváez

Page 13: 2. entradas salidas digitales   ingenieria - PIC

Enunciado: Se desea controlar una lámpara desde dos puntos

diferentes por medio de 2 interruptores. Lalámpara está conectada al RB0 y los interruptoresa RA0 y RA1

Luis David Narváez

PRÁCTICA

Page 14: 2. entradas salidas digitales   ingenieria - PIC

DESARROLLO Como podemos observar en el circuito, cuando los

interruptores están abiertos introducen un “0L”(conectados a través de resistencias pull-down). Deacuerdo a las condiciones del enunciado, la lámparadebe funcionar de acuerdo a la siguiente tabla deverdad:

S1 (RA1 S0 (RA0)SALIDA

(RB0)Observaciones

0011

0101

0110

ApagadoEncendidoEncendidoApagado

Luis David Narváez

Page 15: 2. entradas salidas digitales   ingenieria - PIC

DESARROLLO Como se mencionó anteriormente, en lenguaje C,

para realizar la lectura de un puerto se utiliza lafunción

var= input_port_y ()// 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

Page 16: 2. entradas salidas digitales   ingenieria - PIC

CÓDIGO

Luis David Narváez

Page 17: 2. entradas salidas digitales   ingenieria - PIC

SIMULACIÓN

Luis David Narváez