Sunteți pe pagina 1din 10

UNIVERSIDAD NACIONAL DE INGENIERIA

Facultad de Ingeniería Eléctrica y Electrónica


Sección de Proyección Social y Extensión Universitaria

LABORATORIO 2
Objetivos:

Los objetivos de este laboratorio son:


 Aprender a configurar los registros TRIS y PORT del PIC para el control
de periféricos de entrada y salida.
 Aplicar lo aprendido en la Sesión 2 mediante el manejo de LEDs y
pulsadores.
 Familiarizarse con el uso del módulo entrenador y el software
PROTEUS.

Configuración del registro TRIS


Para configurar los puertos del PIC como entrada o salida se usa el
registro TRIS. Escribiendo '0' en un bit del registro TRIS configura ese pin como
salida y escribiendo un '1' se configura ese pin como entrada.
Por ejemplo si configuramos el registro TRISC, puerto C, como se
muestra en la Figura 1. Los pines 0, 2 y 6 han sido configurados como salida y
los pines 1, 3, 4, 5 y 7 como entrada.

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 55 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

Registro PORT
Después de la configuración del registro TRIS, si un pin fue configurado
como salida puede escribirse un '1' lógico (2.4v-5v) o un '0' lógico a través
usando el registro PORT. Si el pin fue configurado como entrada entonces
puede leerse un ‘1’ lógico o un ‘0’ lógico a través de ese pin.
Por ejemplo, con la configuración anterior de TRISC si queremos escribir
un ‘1’ lógico por los pines 0, 2 y un ‘0’ lógico por el pin 6. El registro PORTC
quedará como en la Figura 2. En los bits 1, 3, 4, 5, 7 de PORTC se observan
aspas esto se debe a que estos pines fueron configurados como entradas, la
escritura en un puerto se realiza solo en los pines configurados como salida.

Los puertos A y E del PIC necesitan una configuración adicional debido


a que pueden usarse como analógicos o digitales. Esta configuración se realiza
en el registro ADCON1, el cual se muestra en la Figura 3.

Dependiendo del valor escrito en 4 primeros bits de ADCON 1,


PCFG<3:0> puede seleccionarse los pines que funcionaran como analógicos o
digitales, como se muestra en la tabla 1. Por ejemplo si el valor de ADCON1=0
según la tabla todos los pines son analógicos (A). Si el valor de ADCON1=3 los
pines son:

Si el valor de ADCON1=6 o ADCON1=7 según la tabla todos los pines


son digitales (D):

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 56 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

A continuación veremos una serie de ejemplos que explicarán paso a


paso el manejo de LEDs y pulsadores que corresponde a la parte práctica de lo
aprendido en la sesión 2. Para este laboratorio se usaran dos herramientas: el
software PROTEUS y el módulo entrenador del curso. En el PROTEUS
simularemos el comportamiento de nuestro código en el PIC y en el módulo
entrenador comprobaremos su funcionamiento.
Ejemplo 1: Encendiendo un LED
En la figura 4 se muestra la conexión de los pulsadores y LEDs con el PIC
en PROTEUS. Los LEDs han sido conectados al Puerto D (PORTD) y los
pulsadores al Puerto B (PORTB) y en la figura 5 se muestran las conexiones
del PORTD y el PORTB en el módulo entrenador. Es necesario colocar en
nuestro programa la palabra de configuración usando la directiva #pragma
para lo siguiente:
 Fosc ( Frequency oscilation) : HS, debido a que la tarjeta entrenadora
tiene un cristal de 20 MHZ
 WDTE (Watch Dog Timer Enable): OFF, deshabilitamos el perro
guardian para evitar que reinicie nuestro programa constantemente.
 CP (Code Protection): Deshabilitamos la protección del código.
 LVP (Low Voltage Programming) : OFF, grabamos al PIC mediante el
protocolo ICSP que ingresa un promedio de 12v por el pin de Master
Clear o reset por ello la programación en bajo voltaje es deshabilitada.

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 57 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 58 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 59 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

Ejemplo 2: Parpadeo (Blink) de un LED


Si prendemos y apagamos un LED no podremos visualizar el blink o
parpadeo del LED, esto se debe a que un ciclo de instrucción en el PIC es
equivalente a cuatro ciclos de reloj (20MHz) lo cual es muy rápido el ojo
humano.
Es necesario usar un retardo o demora de tiempo entre el encendido y
apagado de un LED, para esto usamos la macro __delay_ms(t), que es propia
del compilador XC8. La macro __delay_ms(t) necesita la frecuencia de reloj a
la que trabaja el PIC, por ello en el programa es necesario definirla con:
#define _XTAL_FREQ 20000000 (Cristal del módulo entrenador)
Los retardos se generan en milisegundos, por ejemplo:
__delay_ms(80); // genera 80 milisegundos
__delay_ms(1000); // Genera 1000 milisegundos o 1 segundo

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 60 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

Ejemplo 3: Uso del operador de rotación para el encendido secuencial de


los LEDs
Los operadores de desplazamiento hacia la derecha (>>) y hacia la
izquierda (<<) generan desplazamientos de bits como se muestra en la figura 7
y 8. Para nuestro ejemplo los LEDs deben encenderse de forma secuencia
hacia la derecha e izquierda. Para generar el encendido de LEDs hacia la
izquierda desplazamos siete veces un 1 y para generar el encendido de LEDs
hacia la derecha desplazamos siete veces el valor 128, como se muestra en la
figura 9.

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 61 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 62 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

Ejemplo 4: Lectura de un pulsador


Para leer un pulsador es decir detectar si ha sido presionado o no, es
necesario configurar el pin del PIC que se conecta al pulsador como entrada.
Es recomendable también usar la configuración pull-up o pull-down como se
muestra en la figura 10.
Todos los pulsadores tienen un efecto mecánico al ser pulsados que es
el efecto de rebote, este efecto genera picos transitorios que el PIC puede
interpretar erróneamente como un pulsación. Para evitar ese efecto se suele
esperar el término de estos picos transitorios mediante un retardo el cual puede
ser de 2mS o 20mS o más dependiendo de las características del pulsador.

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 63 DE 95


UNIVERSIDAD NACIONAL DE INGENIERIA
Facultad de Ingeniería Eléctrica y Electrónica
Sección de Proyección Social y Extensión Universitaria

MICROCONTROLADORES PIC NIVEL I - PROF.ING.JOSE ESTRADA MONTES PAGINA 64 DE 95

S-ar putea să vă placă și