Post on 06-Aug-2015
description
72
Práctica 1
Fig.19 Configuración básica de conexión.
Realizar el programa y el circuito que permita encender los bits 0,1,3,5 y 7 del puerto B del PIC 16F84.
RA1RA2RA3 RA0RA4/TOCKIOSC1
OSC2/MCLRVss VddRB0/INT RB7RB1 RB6RB2 RB5RB3 RB4
PIC
16F
84
4 MHZ 22pF
Vcc
Vcc
73
Práctica 2
Fig.20 Interpretación de registros de RAM y el PIC
Realizar un programa que permita monitorear el estado del puerto A (entrada) en el puerto B (salida).
74
Práctica 3 Haga que el programa quede en un ciclo infinito de tal forma que permita cambiar el dato del puerto A.
Fig.21 Datos en PORTA y PORTB.
Realizar un programa que permita hacer la operación de suma del puerto A (entrada) con el dato 05H y el resultado mostrarlo en el puerto B. PORTB = PORTA + 05H
75
Práctica 4
FIg.22 Conexión de PORTB.
Realizar un programa que permita hacer la función espejo en el puerto B, el nibble menos significativo del puerto será de entrada y el nibble mas significativo será de salida, permitiendo de esta manera monitorear el estado del nibble de entrada en el nibble de salida.
76
Práctica 5
Fig.23 Conexión de PORTA y RB0
Resuelva el problema de una alarma que funciona como sigue: - Se activa el buzzer conectado en RB0 mientras el sensor en RA2 se
activa. (si RA2=Activo RB0=Activo, si RA2=Desactivo RB0=Desactivo)
77
Práctica 6
Resuelva el problema de la misma alarma, solo que activará el buzzer conectado al bit RB0 cuando cualquiera de los 5 (RA0, RA1, RA2, RA3,RA4) sensores se active. (Activar=ON=1 Lógico)
78
Práctica 7
Resuelva el problema de la misma alarma, solo que ahora se activará el buzzer conectado al bit RB0 cuando cualquiera de los 5 (RA0, RA1, RA2, RA3,RA4) sensores se active. (Activar=ON=1 Lógico)
79
Práctica 8 Los bits RA1, RA3 y RA4 no deben influir en la activación de la alarma.
Continuando con la misma alarma, esta vez se activará el buzzer conectado al bit RB0 cuando los dos sensores conectados en RA0 y RA2 se activen (Activar=ON=1 Lógico). Solo cuando los dos se activen.
80
Práctica 9 Calcule la subrutina de tiempo que permita realizar el retardo necesario.
Realizar un programa que permita obtener un señal cuadrada simétrica de 50 HZ en el bit 5 del puerto B.
81
PRÁCTICA 10 Tiempo 5 Seg 1 Seg. 5 Seg. 1 Seg. 5 Seg 1 Seg. Lámpara sur/norte Verde Amarillo Rojo Verde Amarillo Lámpara este/oeste Rojo Verde Amarillo Rojo
Realizar un programa que controle el semáforo vehicular, de acuerdo al siguiente patrón en el crucero vehicular.
82
PRÁCTICA 11
Tiempo 1 Seg. 5 Seg. 1 Seg. Señal del vehículo Verde Amarilla Roja Verde Señal del peatón Rojo Verde Rojo
Fig.30 Interpretación real de semáforos. Distribuir las lámparas en los bits del puerto B y el boton de paso en el puerto A.
Haga un programa para controlar el crucero de un peatón en una calle. Haga que la señal del peatón este constantemente en rojo y la señal para los vehículos este constantemente en verde. Cuando presionen el “push boton”, la señal del vehículo cambia a amarillo, y después de 1 segundo, la señal del vehículo cambia a rojo, y la señal del peatón cambia a verde en el mismo tiempo. Después de 5 segundos la señal del peatón que ha estado en verde cambia a rojo, y después de 1 segundo, la señal de los vehículos regresa a la condición previa de presionar el “pushboton”, y espera nuevamente para ser presionado.
83
Práctica 12
Realice un programa que permita rotar el dato 01H en el puerto B de manera infinita. Controle la rotación para que el bit se rote de la posición de Bit 0 al Bit 7.
84
Práctica 13
Realice un programa que permita rotar el dato 01H en el puerto B a la izquierda y cuando llegue al bit 7 se realice la rotación a la derecha, de la posición de bit 7 a la posición bit 0. Repita el proceso de rotación izquierda –derecha en forma cíclica.
85
Práctica 14
Realice un programa que permita llenar el puerto B de bits, es decir que ponga unos de manera secuencial desde el bit 0 hasta el bit 7, y después realice el vaciado o apagado de LEDs desde el bit 7 hasta el bit 0, haga que se repita esto de manera cíclica.
86
Práctica 15
Realice un programa que permita controlar la rotación de un motor a pasos (3-0) de 4 fases en sentido CCW. Inicia la rotación cuando se presiona el bit 0 del puerto A y si se presiona cuando esta rotando este deberá parar, es decir el bit será de arranque y paro.
87
Práctica 16
Realice un programa que permita controlar el sentido de giro del motor a pasos (3-0) de 4 fases conectado al puerto B, de acuerdo al estado del puerto A: el bit 0 controla el arranque/paro del motor, el bit 1 controla el sentido CW, el bit 2 controla el sentido CCW. (PIC16F84)
88
Práctica 17 Nota: Cuando llegue a sus límites, máximo y mínimo de velocidad, no permitir su desbordamiento.
Realizar un programa que permita controlar la velocidad del motor a pasos (PORTB 3-0) que gira en CCW, controlado mediante el puerto A: el bit 0 incrementa la velocidad, el bit 1 decrementa la velocidad.
89
Práctica 18
Realizar un programa que permita controlar el número de pasos que dará el motor a pasos (PORTB 3-0) y el sentido de giro mediante el puerto D del PIC16F877.
90
Práctica 19
PORTD
7 6 5 4 3 2 1 0 Bit1 0 0 1 1 0 1 0
El número de pasos0…….. Dirección CCW1…….. Dirección CW
El dato del ejemplo anterior indica rotar el motor (7-4) en CW, 26 pasos
0…….. Motor (3-0)1…….. Motor (7-4)
Realizar un programa que permita controlar los dos motores a pasos mediante las señales de entrada del puerto D del PIC16F877.
91
Práctica 20
Realizar un programa que permita controlar los dos motores a pasos, mediante las señales de entrada del puerto A del PIC16F84..
92
Práctica 21 Obtenga el código de representación de cada número en binario y hexadecimal.
Fig. 45 Habilitación del display por J3.
Realice un programa que permita controlar un display de 7 segmentos conectado al puerto B, de tal forma que podamos visualizar en el display un contador del 0 al 9. Solo utilice un display, habilitándolo directamente a tierra, ponga e l”jumper” J3 como se muestra en el circuito siguiente.
93
Práctica 22
Realice un programa que permita crear un dado electrónico, cuando se presione el interruptor RA2 se deberá generar un número aleatorio entre 1 y 6, el cual se deberá observar en un display de 7 segmentos. Active el “Jumper” J3 para visualizar el dado electrónico.
94
Práctica 23
Fig.46 Habilitar displays por transistor
Realice un programa que permita controlar dos displays de 7 segmentos conectados al puerto B para realizar un contador de 00 a 99. El control debe ser multiplexado mediante el bit 7 del puerto B. Habilite los dos displays por medio de los transistores, ponga los Jumpers J2 y J3 como se muestra en la figura siguiente.
J4
J3 TRA
GND
J2 TRA
GND
95
Práctica 24
Utilice el Pic 16F877 para que controle un display de cristal líquido (LCD), despliegue un mensaje y después de 3 segundos muestre otro mensaje donde le indique al usuario que interruptores puede presionar para controlar un motor o un LED.
96
Práctica 25
Utilice el Pic 16F877 para que controle un display de cristal líquido (LCD), despliegue un contador del 00 al 99.
97
BIBLIOGRAFIA Microcontroladores PIC José María Angulo Usategui, Ignacio Angulo Martínez Primera parte: PIC16F84 McGraw-Hill Interamericana de España, S.A.U. Microcontroladores PIC José María Angulo Usategui, J.Mª. Romero Segunda parte: PIC16F8XX McGraw-Hill Interamericana de España, S.A.U. Microchip Technology Inc. www.microchip.com