Download - 2. entradas salidas digitales
![Page 1: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/1.jpg)
E/S DIGITALES
MICROELECTRONICA
![Page 2: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/2.jpg)
MODALIDAD
Encendido y Apagado. Rotación de bits. Traslado de bits. Interruptores y Switchs.
Rebotes
Contadores
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](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/3.jpg)
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
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.
Luis David Narváez
![Page 4: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/4.jpg)
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
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
Luis David Narváez
![Page 5: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/5.jpg)
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
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](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/6.jpg)
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
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>.
Luis David Narváez
![Page 7: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/7.jpg)
FLUJOGRAMA
Luis David Narváez
![Page 8: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/8.jpg)
SIMULACIÓN
Luis David Narváez
![Page 9: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/9.jpg)
RETO: Enunciado: Encender secuencialmente, a la izquierda dos (2) a
la vez, los 8 LEDs conectados al PORTB con unretardo de 500ms. Y al mismo tiempo a laizquierda tres (3) a la vez, l 8 LEDs conectados alPORTD con un retardo de 1s.
RETO: Enunciado: Encender secuencialmente, a la izquierda dos (2) a
la vez, los 8 LEDs conectados al PORTB con unretardo de 500ms. Y al mismo tiempo a laizquierda tres (3) a la vez, l 8 LEDs conectados alPORTD con un retardo de 1s.
Luis David Narváez
![Page 10: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/10.jpg)
RETO: Enunciado: Realizar el juego de luces del auto fantástico con
8 LEDs conectados al PORTB, con un retardo de50ms.
RETO: Enunciado: Realizar el juego de luces del auto fantástico con
8 LEDs conectados al PORTB, con un retardo de50ms.
Luis David Narváez
![Page 11: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/11.jpg)
Entradas Digitales
Interruptores y Switchs
Entradas Digitales
Luis David Narváez
![Page 12: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/12.jpg)
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.
Los dispositivos de entrada de datos encontramos confrecuencia 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 13: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/13.jpg)
ENTRADAS DE DATOS
Luis David Narváez
![Page 14: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/14.jpg)
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.
Para eliminar este problema se suele realizarpor 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 15: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/15.jpg)
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
PRÁCTICA
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
![Page 16: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/16.jpg)
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:
Como podemos observar en el circuito, cuando losinterruptores 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 17: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/17.jpg)
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.
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 18: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/18.jpg)
SIMULACIÓN
Luis David Narváez
![Page 19: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/19.jpg)
Enunciado: Realizar un programa que permita visualizar, el
estado (on/off) de 5 switchs conectados en elpuerto B (<RB4:0>), mediante 5 diodos LEDconectados en el puerto D (<RD4:0>). Laconexión de los switchs se realizará empleandoresistencias pull-up, de tal forma que, cuando unswitch esté abierto el microcontrolador reciba un“1L”. En esta posición el LED correspondienteestará apagado.
PRÁCTICA
Enunciado: Realizar un programa que permita visualizar, el
estado (on/off) de 5 switchs conectados en elpuerto B (<RB4:0>), mediante 5 diodos LEDconectados en el puerto D (<RD4:0>). Laconexión de los switchs se realizará empleandoresistencias pull-up, de tal forma que, cuando unswitch esté abierto el microcontrolador reciba un“1L”. En esta posición el LED correspondienteestará apagado.
Luis David Narváez
![Page 20: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/20.jpg)
DESARROLLO
En este circuito, los switchs, al estar en posición OFF(abiertos), sus pines están conectados a través de laresistencia de 10KΩ a 5V, dando un estado lógico alto(1L), en esa posición el LED correspondiente debe estarapagado, entonces se requiere invertir el valor leído en elpuerto B para sacar un estado lógico bajo (0L) queapague el LED.
La misma lógica se aplicará en la posición ON (cerrado).
En este circuito, los switchs, al estar en posición OFF(abiertos), sus pines están conectados a través de laresistencia de 10KΩ a 5V, dando un estado lógico alto(1L), en esa posición el LED correspondiente debe estarapagado, entonces se requiere invertir el valor leído en elpuerto B para sacar un estado lógico bajo (0L) queapague el LED.
La misma lógica se aplicará en la posición ON (cerrado).
Luis David Narváez
![Page 21: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/21.jpg)
SIMULACIÓN
Luis David Narváez
![Page 22: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/22.jpg)
Enunciado: Se desea realizar un programa que cuente los
pulsos provenientes de un pulsador(CONTADOR) conectado a RD1 y los visualice enforma binaria en LEDs conectados al PORTB. Elnúmero máximo de conteo será 12, momento enel cual se detiene y activa una señal visual (LED) osonara (Zumbador, conectado al RD2) por 5 veces.El reinicio del conteo se realiza presionando latecla REINICIO conectada al pin RD0
PRÁCTICA Enunciado: Se desea realizar un programa que cuente los
pulsos provenientes de un pulsador(CONTADOR) conectado a RD1 y los visualice enforma binaria en LEDs conectados al PORTB. Elnúmero máximo de conteo será 12, momento enel cual se detiene y activa una señal visual (LED) osonara (Zumbador, conectado al RD2) por 5 veces.El reinicio del conteo se realiza presionando latecla REINICIO conectada al pin RD0
Luis David Narváez
![Page 23: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/23.jpg)
DESARROLLO
En este caso vamos a utilizar las funciones deverificació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. El mismo efecto se tiene si se emplea if(input(pin_x) || !input(pin_y))
Para el incremento utilizaremos: var++ // equivale a var=var+1
En este caso vamos a utilizar las funciones deverificació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. El mismo efecto se tiene si se emplea if(input(pin_x) || !input(pin_y))
Para el incremento utilizaremos: var++ // equivale a var=var+1
Luis David Narváez
![Page 24: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/24.jpg)
DESARROLLO
El programa se ha realizado de tal forma que elincremento en el conteo se realiza solo si se sueltala tecla de conteo.
Además se han utilizado unos pequeños retardospara eliminar los rebotes.
Otra situación importante que hay que remarcar esque el reinicio se sucede únicamente si el contadorha llegado al valor máximo (12 decimal).
Luis David Narváez
El programa se ha realizado de tal forma que elincremento en el conteo se realiza solo si se sueltala tecla de conteo.
Además se han utilizado unos pequeños retardospara eliminar los rebotes.
Otra situación importante que hay que remarcar esque el reinicio se sucede únicamente si el contadorha llegado al valor máximo (12 decimal).
![Page 25: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/25.jpg)
SIMULACIÓN
Luis David Narváez
![Page 26: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/26.jpg)
RETO: Enunciado: Realizar un contador binario tal que, con un
pulsador cuente en forma ascendente hasta llegara 255(Puede ser hasta 25 por pruebas) y luegosea descendente. Un led conectado en RA3 seencenderá cuando el contador este al máximo oal mínimo (0 y 255).
RETO: Enunciado: Realizar un contador binario tal que, con un
pulsador cuente en forma ascendente hasta llegara 255(Puede ser hasta 25 por pruebas) y luegosea descendente. Un led conectado en RA3 seencenderá cuando el contador este al máximo oal mínimo (0 y 255).
Luis David Narváez
![Page 27: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/27.jpg)
RETO: Enunciado: Realizar un contador binario con dos pulsadores,
uno ascendente hasta 255 y con otrodescendente hasta 0. El cambio de ascendente adescendente se realiza en cualquier instantesegún se presione el pulsador correspondiente.Existirá además un botón de reinicio.
RETO: Enunciado: Realizar un contador binario con dos pulsadores,
uno ascendente hasta 255 y con otrodescendente hasta 0. El cambio de ascendente adescendente se realiza en cualquier instantesegún se presione el pulsador correspondiente.Existirá además un botón de reinicio.
Luis David Narváez
![Page 28: 2. entradas salidas digitales](https://reader035.vdocuments.pub/reader035/viewer/2022082210/55ae1aef1a28ab777e8b45ca/html5/thumbnails/28.jpg)
MUCHAS GRACIASMUCHAS GRACIAS
PREGUNTAS /COMENTARIOS
Luis David Narváez