perifericos de entrada salida

Download Perifericos de Entrada Salida

Post on 10-Jul-2015

36 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

PERIFRICOS DE E/S

Perifricos de E/STecladosMuy utilizado para introducir informacin al microcontrolador. Los hay de varios tipos: de lmina flexible, de efecto Hall, de efecto inductivo, de efecto capacitivo. Los ms comunes son los de lmina flexible.

El problema de los rebotes. Debido al efecto muelle del pulsador, se producen oscilaciones en la seal tanto al pulsar como al soltar la tecla. u1 +Vcc SOLUCIONES SOLUCIONESIDEALu1 R

u1REAL

t

Hw: Red R-C Hw: Red R-C Biestables Biestables Sw: Espera de Sw: Espera de un tiempo un tiempo suficiente suficiente

t

Perifricos de E/STeclados linealesMuy sencillos, pero no permiten disponer de muchas teclas.+Vcc

E0 E1

De este modo, cuando el microcontrolador detecte un 0 al final de la lnea, se sabr que se ha pulsado una tecla y, adems, se sabr cul ha sido.

En

Basta con que el programa compruebe peridicamente el estado de las entradas a las que se ha conectado el teclado.

1

Perifricos de E/STeclados matricialesVarias teclas controladas con un nmero reducido de puertos E/S.+Vcc

SF1 SF2 SF3 SF4 E C1 E C2 E C3 E C4

0 0 0 0 1 1 0 1 1

La pulsacin de una tecla se pone de manifiesto en las entradas del microcontrolador conectadas al teclado. En este ejemplo, se sabe que se ha pulsado una tecla de la tercera columna, pero no se sabe cul. Se necesita desarrollar algoritmos que permitan determinar cul es la tecla que se ha pulsada.

Perifricos de E/SMuestreo secuencial. Una vez que se ha detectado que se ha pulsado una tecla, se cambia el valor de las salidas en el microcontrolador de modo que slo una de ellas valga 0 en cada instante. La combinacin que d lugar a un 0 en alguna de las entradas identificar la tecla que se ha pulsado.+Vcc

SF1 SF2 SF3 SF4 E C1 E C2 E C3 E C4 0 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1

S F1 S F2 S F3 S F4 EC1 EC2 EC3 EC4

1 0 1 1 1 1 0 1

Es un mtodo sencillo de implementar, pero tardar ms o menos en encontrar la tecla pulsada en funcin de la posicin que ocupe sta.

2

Perifricos de E/SInversin de lnea. Tras detectar que hay una tecla pulsada, se almacena el valor que hay en las entradas, se invierten las lneas (las que eran entradas pasan a ser salidas y viceversa) y se saca por las nuevas salidas la combinacin almacenada.+ Vcc

EF1 EF2 EF3 EF4 S C1 S C2 S C3 S C4

1 0 1 1 1 1 0 1 1

Esto dar lugar a que en las nuevas entradas slo aparezca un cero en la fila a la que pertenece la tecla pulsada. Como todos los bits son entrada en algn momento, se necesita colocar resistencias en los 8 bits. Este mtodo es ms rpido que el anterior y tarda lo mismo en identificar cualquier tecla.

Perifricos de E/SConexin de teclados matriciales en los PIC. El puerto B de los microcontroladores PIC est especialmente pensado para conectar un teclado matricial de 44.+VccF1 F2 F3 F4

RB0 0 [S] RB1 0 RB2 0 RB3 0 RB4 1 [E] RB5 1 RB6 1 RB7 1

* La posibilidad de habilitar resistencias de reduce el nmero de componentes externos. * La existencia de una interrupcin asociada a cambios en los bits RB avisa de que se ha pulsado una tecla.

C1 C2 C3 C4

3

Perifricos de E/SExtensin a teclados de ms de 16 teclas. Se puede ampliar el tamao del teclado sin ms que utilizar codificadores y decodificadores.

+Vcc

SF1 SF2 SF3 SF4 E C1 E C2 E C3 E C4

0 0 0 0 1 1 1 1 Codif 16 4 Decodif. 4 16

Teclado Matricial 16 16

Perifricos de E/SPantallas de cristal lquido (LCD)Usado para representar caracteres alfanumricos. Control bastante complejo. El control directo de los electrodos del LCD casi necesitara un microcontrolador dedicado exclusivamente a esta tarea. Lo ms habitual es utilizar un LCD con un driver especfico: el HD44780 de Hitachi o compatible.

4

Perifricos de E/SCaractersticas del HD44780Driver para LCD de matriz de puntos para representacin de caracteres y smbolos en formato 58 510. Dispone de 240 patrones de caracteres almacenados en ROM, de los cuales 208 de tamao 58 y 32 de tamao 510.HD44780COM1 . . COM8 SEG1 . . . . . SEG40

HD44780COM1 . . . COM11

Cursor

SEG1 . . . . . SEG40

Cursor

Ejemplo en 58 y 8 caracteres/lnea

Ejemplo en 510 y 8 caracteres/lnea

Perifricos de E/SMemoria RAM de pantalla (Display Data RAM: DDRAM) con un total de 80 posiciones 8 bits/posicin. En los 8 bits se almacena el cdigo del carcter para un generador de caracteres ROM que dispone de 240 caracteres posibles y 8 posiciones (dobles) para caracteres definibles por el usuario en una memoria CGRAM (caracteres grficos). Visibles 1 2 lneas con 16 caracteres/lnea. Ventana de caracteres visibles (16 posiciones)

Registro:

1 2

......

11

......

26

......

39 40

Memoria de pantalla para una lnea (40 posiciones)

5

Perifricos de E/SLa DDRAM almacena el cdigo de los caracteres que estn siendo visualizados o que se encuentran en posiciones no visibles debido a la posicin de la ventana de visualizacin. Tiene un tamao de 2 lneas 40 bytes/lnea = 80 bytes. Direcciones no contiguas entre las lneas 1 y 2. 0x00 a 0x27: 40 caracteres de la lnea 1. 0x40 a 0x67: 40 caracteres de la lnea 2.00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 ... 25 26 27

40 41 42 43 44 45 46 47 48 49 4A 4B 4C 4D 4E 4F 50 51 52 53 54

...

65 66 67

Localizacin en display virtual (x,y). x: posicin horizontal (de 1 a 40). y: lnea (1 2).

Display real inicial

Perifricos de E/SInterface hardware LCD con driver HD44780Pines externos. 1.2.3.4.5.6.7.8.9.10.11.12.13.14.VSS VDD VEE RS R/W E D0 D1 D2 D3 D4 D5 D6 D7 Masa 2,7V a 5,5V Alimentacin Mximo contraste a VSS Ajuste de Contraste Seleccin de Registro Bits de control Lectura / Escritura (entradas al driver) Enable Bit de Datos menos significativo Bit de Datos Bit de Datos Bit de Datos Bits de datos (entradas/salidas) Bit de Datos Bit de Datos Bit de Datos Bit de Datos ms significativo

6

Perifricos de E/S

DATOSCONTROL Internos Internos El LCD trabaja con 8 bits El LCD trabaja con 8 bits

MCUDATOS

LCD

Externos Externos Hay dos posibilidades: Hay dos posibilidades: 8 bits (D7 a D0) 8 bits (D7 a D0) 4 bits (D7 a D4) 4 bits (D7 a D4) 1 los 4 bits ms altos 1 los 4 bits ms altos 2 los 4 bits ms bajos 2 los 4 bits ms bajos

BITS DE CONTROL BITS DE CONTROLE: E: Validacin de datos. Validacin de datos. R/W: Operacin de lectura (1) oo de escritura (0). R/W: Operacin de lectura (1) de escritura (0). RS: RS: Seleccin de Registro Interno (1: datos // 0: control). Seleccin de Registro Interno (1: datos 0: control).

Perifricos de E/SControl del LCDE: Seal de validacin de datos. En las transferencias de informacin con el LCD (lecturas o escrituras) se debe poner a 1. Si no se usa el LCD, debe permanecer a 0.

R/W: Selecciona lectura (1) o escritura (0) en el LCD. Lo normal es escribir en el LCD, pero es posible leer la RAM y el estado del LCD (ocupado o disponible) y el contador de direcciones. RS: Se selecciona uno de los dos Registros Internos del LCD. IR (Registro de Instrucciones). Almacena cdigos de instrucciones relativas al manejo del display: borrar display, desplazar cursor, definir interface a 4 u 8 bits, etc. DR (Registro de Datos). Almacena datos a leer o escribir en RAM.

7

Perifricos de E/SOperaciones de control en el LCDRS=0 (Registro de Control) R/W=1 R/W=0 Leer flag de ocupado (BF) y puntero de direcciones (AC) Envo de comando para funcionamiento interno RS=1 (Registro de Datos) Leer contenido de DDRAM o CGRAM Escribir en DDRAM o CGRAM

BF:

o Flag de Ocupado. Si est a 1, el LCD est en modo de operacin interna y no puede procesar nuevos comandos hasta que se pone a 0. o Contador de Direcciones. Es el puntero de la direccin DDRAM o CGRAM a la que se accedera con un comando de lectura o escritura a RAM. El puntero se incrementa o se decrementa (segn el modo elegido) de manera automtica.

AC:

Perifricos de E/SSecuencias de operacinEscritura en un Registro del LCD 1. 2. 3. 4. 5. E 0 RS 0 1 y R/W 0 E 1 Situar dato en el bus E 0

Lectura de un Registro del LCD 1. 2. 3. 4. 5. E 0 RS 0 1 y R/W 1 E 1 Leer dato del bus E 0

8

Perifricos de E/SDescripcin de los comandosBorrar Display: 0 0 0 0 0 0 0 1 Borra todas las posiciones de la DDRAM y sita el display real en la posicin inicial. Adems sita el puntero en la posicin 0 de la DDRAM.(1,1) (16,1)0 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 0A 0B 0C 0D 0E 0F 1 0 1 1 1 2 1 3 1 4 ... 25 26 27

(1,2)

4 0 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4A 4B 4C 4D 4E 4F 5 0 5 1 5 2 5 3 5 4

(16,2)

...

65 66 67

Cursor a Casa:

0 0 0 0 0 0 1 x

El cursor es un indicador de la posicin que se puede escribir a continuacin en el LCD. Indica la posicin actual del puntero de direcciones. Este comando enva el cursor a la posicin (1,1) (puntero en 0x00) y el display real se sita en la posicin inicial. No se modifica el contenido de la DDRAM

Perifricos de E/SModo de Funcionamiento: 0 0 0 0 0 1 I/D S

El bit I/D especifica incremento y desplazamiento del cursor a la derecha (I/D=1) o decremento y desplazamiento del cursor a la izquierda (I/D=0) tras realizar una lectura o escritura en DDRAM. Si S=1, se desplaza el display real cada vez que se imprime un carcter. El desplazamiento ser a la izquierda o a la derecha segn el valor de I/D.

Control de Display, Cursor y Parpadeo:

0 0 0 0 1 D C B

Si D=0, el LCD no muestra nada pero la DDRAM mantiene su contenido. Se pueden enviar y leer datos normalmente, pero no aparecer nada en pantalla. Para volver a visualizar n