04.Entradas y salidas digitales

13
Sistemas Basados en Microprocesadores Entradas y Salidas Digitales

description

 

Transcript of 04.Entradas y salidas digitales

Page 1: 04.Entradas y salidas digitales

Sistemas Basados en

Microprocesadores

Entradas y Salidas Digitales

Page 2: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

Pines de Entrada/Salida

Está organizados en puertas de hasta 8 líneas.

Los PIC18 dispone de hasta 8 puertas dependiendo del

encapsulado.

Todas las líneas están multiplexadas (realizan

diversas funciones según estén programadas), pero

todas tienen la capacidad de trabajar como líneas de

E/S digitales.

Para su manejo como E/S digitales, todas ellas se

manejan por medio de 3 registros:

TRISx configuración de la puerta.

PORTx valor del estado de la puerta.

LATx inhibe la salida de los niveles lógicos.

Page 3: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

E/S digitales

Para indicar que una línea es una entrada, se pone ‘1’ en el bit correspondiente del registro TRISx; para indicar que es salida, se pone un ‘0’.

Para conocer el estado de una línea de entrada, se lee el bit correspondiente del registro PORTx.

Para establecer el estado de una línea de salida, se escribe un ‘0’ o un ‘1’ en el bit correspondiente del registro PORTx o LATx. Es preferible utilizar el registro LATx para la escritura.

Page 4: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

E/S digitales: Puerta A

Esta puerta dispone de 7 líneas.

Todas ellas pueden ser E/S digitales configurando el

registro ADCON1.

5 de ellas pueden trabajan como entradas para el

conversor A/D.

RA4 es la entrada de pulsos para el TMR0.

Debido a ello, si se usa esta línea como salida necesita de una

resistencia Pull-Up para su correcto funcionamiento.

Si no se pone la resistencia

Pull-Up la línea sólo sacará 0V

aunque haya un ‘1’ en el bit

RA4 del registro PORTA

Page 5: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

E/S digitales: Puerta A (Continuación…)

Explicación detallada de los pines de la puerta A:

Para cada

puerta, hay una

tabla como esta

en el datasheet

Page 6: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

E/S digitales: Puerta B

Tiene 8 líneas <RB7:RB0>

Todas ellas pueden ser E/S digitales y disponen de

resistencias Pull-Up internas que se pueden habilitar con

el bit RBPU# del registro INTCON.

<RB2:RB0> implementan cada una de ellas una

interrupción externa por flanco.

<RB7:RB4> implementa una interrupción por cambio de

nivel en cualquiera de las 4 líneas.

Page 7: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

E/S digitales: Puerta C

Dispone de 8 líneas <RC7:RC0>

Además de actuar como E/S digitales, guardan relación

con los módulos CCP, las comunicaciones USART y el

módulo MSSP, y como oscilador externo y entrada de

pulsos para el TMR1/TMR3.

El funcionamiento con estos periféricos puede variar el valor

asignado a las líneas de TRISC.

Page 8: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

E/S digitales: Puerta D y Puerta E

La puerta D dispone de 8 líneas que pueden trabajar

como líneas de E/S digital, y si se usa el puerto

paralelo se utiliza como puerto de datos.

La puerta E dispone de 3 líneas que pueden trabajar

como E/S digital (en PIC de más de 40 pines, la

puerta E dispone de 8 bits).

Si se usa el puerto paralelo, trabajan como señales de

control para la comunicación.

También pueden ser utilizadas como entradas del

conversor A/D.

Page 9: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

Uso de Máscaras

Una máscara de bits se puede entender como un

dato binario (normalmente constante) que permite

actuar selectivamente sobre ciertos bits de otro dato

a través de una operación lógica (AND, OR, EOR).

Las máscaras de bits se emplean para actuar sobre

subconjuntos de bits de un operando.

Poner bits a 0 máscara AND dato.

Poner bits a 1 máscara OR dato.

Invertir bits máscara EOR dato.

Page 10: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

Uso de Máscaras (Continuación…)

Ejemplos

Poner a 1 los bits 1, 2 y 4 del registro D1, dejando

intactos los demás.Solución: 0b00010110 or D1

Invertir los bits 4, 5, 6 y 7 del registro D2, dejando

intactos los demás.Solución: 0b11110000 eor D2

Borrar los bits 2, 3 , 5 y 7 del registro D3, dejando

intactos los demásSolución: 0b01010011 and D3

Page 11: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

E/S Digitales y Máscaras

Para comprobar el estado de una línea de entrada

se pueden utilizar las instrucciones btfss y btfsc.

Cuando se quieren comprobar más de una línea a la vez

se utilizan máscaras.

movf PORTB, W

andlw 0b00111100

sublw 0b00110000

btfss STATUS, Z

goto datoNoBuscado

goto datoBuscado

¿Qué dato debe contener PORTB

para llegar a datoBuscado?

Page 12: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

El efecto rebote

En el momento de presionar un pulsador o cualquier

conmutador electromecánico es inevitable que se

produzca un pequeño arco eléctrico durante un

breve instante.

El periodo transitorio de un rebote depende de

diversos factores como son la calidad de los

switches y la rapidez de su accionamiento.

Lo máximo que puede durar son 20mS.

Puede darse el caso de que el

µControlador detecte varias pulsaciones

en lugar de una única pulsación

Page 13: 04.Entradas y salidas digitales

http://paginaspersonales.deusto.es/jonathan.garibay/

El efecto rebote (Continuación…)

Trabajo personal

Buscar las posibles soluciones a este problema (mínimo

de 2 ideas)