310 likes | 492 Views
PICmicro GAMA MEDIA: PIC16F84 [II]. DTO. INGENIERIA ELECTRÓNICA. TEMA 4. RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT0. RA4/TOCK1 RA3 RA2 RA1 RA0. Puerto A: 5 bits Puerto B: 8 bits. PICmicro GAMA MEDIA: PIC16F84 [II]. Puertos de entrada/salida
E N D
PICmicro GAMA MEDIA: PIC16F84 [II] DTO. INGENIERIA ELECTRÓNICA TEMA 4
RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0/INT0 RA4/TOCK1 RA3 RA2 RA1 RA0 Puerto A: 5 bits Puerto B: 8 bits PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Dependiendo del PIC existen distintos tipos de puerto. El PIC16F84 tiene dos puertos paralelos A y B. • Puerto A: posee 5 pines bidireccionales. El pin RA4 tiene una configuración distinta (drenador abierto) al resto de los pines del puerto. • Puerto B: posee 8 pines bidireccionales. Todos los pines tienen la posibilidad de tener una resistencia de PULL-UP interna. Los pines de RB4 a RB7 tienen la posibilidad de producir una interrupción por cambio de nivel. El pin RB0 tiene la posibilidad de producir una interrupción por cambio de estado.
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO A • RA3:RA0 RA4
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO A
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO A • RA3:RA0
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO A
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO A • Si un pin está definido como salida y se ejecuta una instrucción de lectura, se debería leer el estado del pin, que sería el “escrito” por programa en el biestable D del PORT al estar activada la etapa de salida de los MOS. • Si un pin está definido como entrada y se ejecuta una operación de escritura, el bit escrito quedará “retenido” en el biestable D de salida pero no aparecerá en el pin al estar desactivada la etapa de salida de los MOS.
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO A • El pin RA4/TOCKI es un DRENADOR ABIERTO • Si se utiliza de SALIDA: Resistencia EXTERNA de Pull-up • Como ENTRADA: puede ser utilizada como Trigger-Schmitt
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO B • RB7:RB4 RB3:RB0
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO B
Vcc PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO B Resistencias de PULL-UP conectadas Se habilitan o Deshabilitan todas a la vez por registro: OPTION_REG BSF OPTION_REG,RBPU BCF OPTION_REG,RBPU Si el puerto se define como SALIDA, las resistencias NO ACTUAN La opción de PULL-UP se deshabilita tras un RESET.
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO B • Para que las resistencias se activen se deben dar dos condiciones: • Que el bit RBPU=0 en OPTION_REG • Que la línea sea de entrada (TRISB<i>=1) • En ese caso, la salida de la puerta NAND que controla el pMOS presenta un cero y el transistor se sitúa en zona resistiva • El micro está hecho con tecnología CMOS, luego las entradas no pueden quedar “al aire” ya que el nivel lógico estaría indefinido, algún tipo de polarización hay que poner, mediante resistencias que si no son las internas, deberían ser externas (ejemplo conexión pulsador)
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO B • RB3:RB0
Los pines RB6 y RB7 se utilizan, también, para programación serie PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Estructura básica del PUERTO B • RB7:RB4
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Características Eléctricas.
PICmicro GAMA MEDIA: PIC16F84 [II] • Puertos de entrada/salida • Si el pin estuviera definido por error como salida y la conexión externa correspondiera realmente a una entrada cuyo nivel no tiene porqué coincidir con el que intenta “imponer” la salida, podría aparecer una sobrecorriente que “quemaría” la etapa de salida de manera definitiva. • Por tal motivo es especialmente importante prestar atención a la configuración que se hace de la dirección de los pines de los puertos desde el programa y también puede ser aconsejable “proteger” eléctricamente esos pines con alguna limitación en la corriente de salida (una resistencia serie por ejemplo) ante errores de programación.
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de salida • LEDS/DISPLAYS Hay que tener en cuenta la corriente que puede suministrar el micro en función de la corriente consumida por los leds. Recordar que el micro suministra una corriente máxima por patilla (25mA) y puerto (entre 50 y 150mA).
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de salida • LEDS/DISPLAYS Para reducir el número de pines usados se puede emplear un decodificador. Para aumentar el número de displays se puede emplear la técnica de multiplexación (a una frecuencia adecuada para el ojo)
1 V SS 2 V CC 3 V C 4 RS 1 1 1 1 1 5 R/W 9 8 7 6 5 4 3 2 1 4 3 2 1 0 6 E 7 D0 8 D1 9 D2 10 D3 11 D4 12 D5 13 D6 14 D7 PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de salida • LCD
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de salida • Control de Cargas por Relé (Icarga > Ipic) La carga puede ser de CA o CC VDD>Vpic Activación a nivel Alto o a nivel Bajo Icarga elevadas Multiples cargas
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de salida • Control de Cargas con salida aislada • Control de Motores
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de entrada • Pulsadores • Muy utilizados para introducir información al micro. Existen de varios tipos: lámina flexible, efecto hall, efecto inductivo, etc. • El problema más usual el efecto rebote, al producirse oscilaciones en la señal tanto al pulsar como al soltar. • La solución puede ser: • Hardware: mediante redes RC • Software: mediante bucles de espera
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de entrada • Microinterruptores Interruptores de décadas
PICmicro GAMA MEDIA: PIC16F84 [II] Dispositivos de entrada Adaptación de niveles de CC de entrada mayores que la tensión del micro.
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de entrada • Adaptación de niveles de CC de entrada menores que la tensión del micro. • Adaptación de niveles de CA.
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de entrada • Teclados • Teclados lineales: son sencillos pero no permiten muchas teclas. El micro detecta un 0 (o un 1, dependiendo de la configuración) en una de las líneas y por lo tanto detecta la tecla pulsada. Para ello, el micro “lee” periódicamente las líneas de entradas (es la llamada técnica de polling). El problema es que durante la lectura de las líneas de entrada el micro NO puede hacer otra acción, para evitarlo se suele utilizar la INTERRUPCIÓN.
PICmicro GAMA MEDIA: PIC16F84 [II] Dispositivos de entrada Teclados Utilizando la interrupción ( y las resistencias de pullup) se puede mantener al micro ejecutando otras acciones. La pulsación de una tecla provocará un cambio de valor en un bit del PORTB y este cambio provoca la entrada de la rutina de interrupción en la que se realizará la lectura del PORTB.
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de entrada • Teclados • Teclados matriciales: son los más utilizados por aumentar el número de teclas sin aumentan sustancialmente el número de entradas al micro.
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de entrada • Teclados • Fase 1: Detectar que se ha pulsado una tecla • Interrupción • Muestreo periódico (polling) • Fase 2: Identificar qué tecla se ha pulsado • Técnicas de identificación de la tecla pulsada (fila y columna): • Muestreo secuencial • Inversión de línea
PICmicro GAMA MEDIA: PIC16F84 [II] • Dispositivos de entrada • Teclados • Muestreo 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 sólo una de ellas valga 0 en cada instante. La combinación que dé lugar a un ‘0’ en alguna de las entradas identificará la tecla que se ha pulsado. Es un método sencillo de implementar, pero tardará más o menos en encontrar la tecla pulsada en función de la posición que ocupe.
PICmicro GAMA MEDIA: PIC16F84 [II] PRÁCTICA 2 PRÁCTICA 3