Manual de Practicas de PICs ITC
Manual de Practicas de PICs ITC
Manual de Practicas de PICs ITC
Vcc
PIC 16F84
RA1 RA0 O RA4/TOCKI SC1 /MCLR OSC2 Vss Vdd RB0/INT RB7 RB1 RB6 RB2 RB5 RB3 RB4
RA2 RA3
4 MHZ
22p F
Vcc
72
Prctica 2 Realizar un programa que permita (entrada) en el puerto B (salida). monitorear el estado del puerto A
73
Prctica 3 Realizar un programa que permita hacer la operacin de suma del puerto A (entrada) con el dato 05H y el resultado mostrarlo en el puerto B. PORTB = PORTA + 05H Haga que el programa quede en un ciclo infinito de tal forma que permita cambiar el dato del puerto A.
74
Prctica 4 Realizar un programa que permita hacer la funcin 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.
75
Prctica 5 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)
76
Prctica 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 Lgico)
77
Prctica 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 Lgico)
78
Prctica 8 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 Lgico). Solo cuando los dos se activen. Los bits RA1, RA3 y RA4 no deben influir en la activacin de la alarma.
79
Prctica 9 Realizar un programa que permita obtener un seal cuadrada simtrica de 50 HZ en el bit 5 del puerto B.
80
PRCTICA 10 Realizar un programa que controle el semforo vehicular, de acuerdo al siguiente patrn en el crucero vehicular. Tiempo Lmpara sur/norte Lmpara este/oeste 5 Seg 1 Seg. Verde Amarillo Rojo 5 Seg. 1 Seg. Rojo Verde Amarillo 5 Seg 1 Seg. Verde Amarillo Rojo
81
PRCTICA 11 Haga un programa para controlar el crucero de un peatn en una calle. Haga que la seal del peatn este constantemente en rojo y la seal para los vehculos este constantemente en verde. Cuando presionen el push boton, la seal del vehculo cambia a amarillo, y despus de 1 segundo, la seal del vehculo cambia a rojo, y la seal del peatn cambia a verde en el mismo tiempo. Despus de 5 segundos la seal del peatn que ha estado en verde cambia a rojo, y despus de 1 segundo, la seal de los vehculos regresa a la condicin previa de presionar el pushboton, y espera nuevamente para ser presionado.
Verde Rojo
1 Seg. Amarilla
Distribuir las lmparas en los bits del puerto B y el boton de paso en el puerto A.
82
Prctica 12 Realice un programa que permita rotar el dato 01H en el puerto B de manera infinita. Controle la rotacin para que el bit se rote de la posicin de Bit 0 al Bit 7.
83
Prctica 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 rotacin a la derecha, de la posicin de bit 7 a la posicin bit 0. Repita el proceso de rotacin izquierda derecha en forma cclica.
84
Prctica 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 despus realice el vaciado o apagado de LEDs desde el bit 7 hasta el bit 0, haga que se repita esto de manera cclica.
85
Prctica 15 Realice un programa que permita controlar la rotacin de un motor a pasos (3-0) de 4 fases en sentido CCW. Inicia la rotacin 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.
86
Prctica 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)
87
Prctica 17 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.
Nota: Cuando llegue a sus lmites, mximo y mnimo de velocidad, no permitir su desbordamiento.
88
Prctica 18 Realizar un programa que permita controlar el nmero de pasos que dar el motor a pasos (PORTB 3-0) y el sentido de giro mediante el puerto D del PIC16F877.
89
Prctica 19 Realizar un programa que permita controlar los dos motores a pasos mediante las seales de entrada del puerto D del PIC16F877.
PORTD 7 6 5 4 3 2 1 0 1 0 0 1 1 0 1 0 Bit
El nmero de pasos 0.. Direccin CCW 1.. Direccin CW 0.. Motor (3-0) 1.. Motor (7-4)
El dato del ejemplo anterior indica rotar el motor (7-4) en CW, 26 pasos
90
Prctica 20 Realizar un programa que permita controlar los dos motores a pasos, mediante las seales de entrada del puerto A del PIC16F84..
91
Prctica 21 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, habilitndolo directamente a tierra, ponga e ljumper J3 como se muestra en el circuito siguiente. Obtenga el cdigo de representacin de cada nmero en binario y hexadecimal.
92
Prctica 22 Realice un programa que permita crear un dado electrnico, cuando se presione el interruptor RA2 se deber generar un nmero aleatorio entre 1 y 6, el cual se deber observar en un display de 7 segmentos. Active el Jumper J3 para visualizar el dado electrnico.
93
Prctica 23 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.
J2
TRA
J3 J4
GND TRA
GND
94
Prctica 24 Utilice el Pic 16F877 para que controle un display de cristal lquido (LCD), despliegue un mensaje y despus de 3 segundos muestre otro mensaje donde le indique al usuario que interruptores puede presionar para controlar un motor o un LED.
95
Prctica 25 Utilice el Pic 16F877 para que controle un display de cristal lquido (LCD), despliegue un contador del 00 al 99.
96
BIBLIOGRAFIA
Microcontroladores PIC Jos Mara Angulo Usategui, Ignacio Angulo Martnez Primera parte: PIC16F84 McGraw-Hill Interamericana de Espaa, S.A.U.
Microcontroladores PIC Jos Mara Angulo Usategui, J.M. Romero Segunda parte: PIC16F8XX McGraw-Hill Interamericana de Espaa, S.A.U.
97