Sei sulla pagina 1di 8

Ejercicios bsicos para microconladores Nivel 0

1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Por el puerto B se obtiene el dato del puerto A Por el puerto B se obtiene el dato del puerto A complementado Por el puerto B se obtiene el dato del puerto A multiplicado por 3 unidades. Por el puerto B se obtiene el dato del puerto A intercambiado los nibbles alto y bajo. Por el puerto B se obtiene el doto del puerto A desplazando un bit hacia la izquierda, por la derecha entra un 1 ejm. A= xxx11001 entonces B= xx110011. Por el puerto B rotar hacia la izquierda un bit activado en 1 Por el puerto B rotar hacia la derecha dos bits activados 11 Escribir en un display de 7 segmentos sin utilizar decodificador un valor ascendente entre 0 F. Por el puerto B visualizar un contador binario ascendente Por el puerto B visualizar un contador binario descendente Mediante un display alfanumrico mostrar en forma descendente las letras del alfabeto de A a Z. Por el puerto B mostrar las siguientes operaciones portB.0 = portC.0 and portC.1 portB.1= portC.2 or portC.3 portB.2 = portC.4 xor portC.5

Nivel 1
1. Por el puerto B, que acta como salida es controlado por el bit 0 del puerto A, que acta como entrada. De manera tal que: portA.0 =1 se enciende todos los leds de salida portA.0 =0 se apaga todos los leds de salida. 2. Prender y apagar un led cada 0.5 segundos con un 16F84A por RB0 3. Prender y apagar 4 leds cada segundo (RB0 a RB3). 0,5 segundos prendido y 0,5 segundos apagado con un 16F84A 4. Segn el estado de los interruptores RA0 y RA1, activar los leds RB0-RB7 conectados a la puerta B, conforme a la siguiente tabla de la verdad:

5. Una lmpara conectada en RB0 se controla mediante dos interruptores conectados en RA0 y RA1. Cuando cualquiera de los interruptores cambie de estado, la lmpara tambin lo har. 6. Una lmpara conectada en RB0 se controla mediante 3 interruptores conectados en RA0 , RA1 y RA2 . Cuando 2 interruptores estn en estado alto se activara la salida RB0,en otra condicin la la salida estar apagado. 7. Efecto de luces tipo Auto Fantstico con un 16F84A por el puerto b, RB0 a RB7

8. Disee un contador de 8 bits, que se incrementa cada vez que se pulsa P (RA3). Visualice el resultado por el puerto B. Activar un led (RA0), cuando el contador llegue a D125 y pagarlo cuando llegue a D221. Repetir el ciclo. 9. Utilizando un PIC16F877 realice un Juego de Luces de 8 leds, donde por medio de un Pulsador de Inicio el Juego se coloque en funcionamiento. El Juego se comportara de la siguiente manera: Los leds inicialmente se encendern solo uno a la vez en secuencia, de izquierda a derecha y de derecha a izquierda; Este proceso lo realizara 5 veces, donde al terminar pasara a la siguiente secuencia que se comportara de la siguiente manera: El secuenciador ser de 8 leds donde encendern uno por uno, y al estar todos encendidos se apagaran; Este Proceso se realizara 4 veces. Luego todo este proceso se realizara nuevamente. Nota: Utilice las instrucciones RLF y RRF 10. Utilizando un PIC16F877 realice un Contador de 4 en 4 que cuando llegue a 40 realice el encendido de una alarma por medio del Pin RA4, luego de ello se debe realizar el contador de 4 en 4 de forma descendente y al terminar se debe realizar todo el proceso nuevamente. 11. Utilizando un PIC16F877 realice la captacin de dos nmeros de 4 bits, los cuales ambos son suministrados por el Puerto D. Estos nmeros deben de ser comparados para lo siguiente: Si A=B encender una alarma. (Por RE0) Si A>B realizar la suma de estos nmeros para luego realizar un contador desde este valor hasta su desbordamiento. (Mostrar por el Puerto C) Si A<B realizar el complemento a 1 del numero B. (Mostrar por el Puerto C) El numero A son los 4 bits menos significativos del Puerto D y el numero B son los 4 bits mas significativos del Puerto D. 12. Utilizando un PIC16F84, realice un contador binario de 5 a 55 por medio de leds. 13. Utilizando un PIC16F877 realice un secuenciador de 8 leds de izquierda a derecha y de derecha a izquierda por el Puerto C. Se deben ir encendiendo los leds de 2 en 2 en forma secuencial. (Mientras dos leds estn encendidos todos los dems estn apagados). El secuenciador a la izquierda se realiza por medio de la activacin de un suiche colocado en RB0 en activo bajo. El secuenciador a la derecha se realiza por la activacin de un suiche colocado en RB1 en activo bajo. En otros estados de la entrada la salida cera apagado 14. Se tienen 2 nmeros de 6 bits que sern introducidos por el Puerto B (digA) y Puerto C (digB) del microcontrolador, donde se tendrn que comparar ambos nmeros para realizar los siguientes procesos: Si digA = digB se realiza un contador desde 10 hasta que se rebose mostrado por el Puerto B, de 5 en 5. Si digA < digB se realizara el encendido de 1 led de uno en uno hasta lograr que todos los led estn encendidos. Hay que tomar en cuenta que los leds estn colocados en el Puerto A y se debe empezar con el menos significativo. En cualquier otra condicin se debe evaluar nuevamente las dos anteriores. 15. Se tienen 2 suiches que de acuerdo a las combinaciones de estos se realizaran uno de los siguientes procesos: Si el SW1 = 1 y SW2 =0 se realiza la intermitencia de 8 leds 10 veces. Si el SW1=0 y el SW2=1 encender 8 leds de 2 en 2 de adentro hacia fuera y de afuera hacia adentro. Este proceso se debe ejecutar 5 veces. Si el SW1=0 y el SW2=0 el valor actual del puerto debe mantenerse. Si el SW1=1 y el SW2=1 se realizara un contador de 6 en 6 hasta 36

16. Se desea tomar un numero introducido por el Puerto B y uno Introducido por el Puerto C para realizar lo siguiente: Realizar una operacin NAND con ambos registros para luego realizar el intercambio de cuartetos en el resultado, donde al culminar este procedimiento se comparara el valor resultante (Llamado resultado) de la siguiente manera: Si resultado es menor a Puerto B, se debe realizar un contador ascendentedescendente de 0 a 128 que realizara su funcin cada vez que se presione un pulsador colocado en RE0 para hacer un incremento o un pulsador colocado en RE1 para hacer un decremento. Cada vez que se presione el pulsador correspondiente se incrementara o excrementar solo un valor segn sea el caso. Cabe destacar que en su valor mnimo al ser decrementado tomara su mximo valor, y en su valor mximo al ser incrementado tomara su mnimo valor. Muestreos por el Puerto D. Si resultado es mayor o igual al Puerto B se realizara la multiplicacin de este resultado por 4. Muestreos por el Puerto D. En cualquier otro caso se debe de volver a verificar las situaciones anteriores 17. Introduzca un nmero por el Puerto A y otro por el Puerto B, de 6 bits. Realice una operacin lgica NOR entre los 2 nmeros introducidos, guarde el resultado en un registro GPR y colquelo en la posicin 32h. Con el registro almacenado debe de realizar las siguientes comparaciones: Si GPR = 25 Realizar un contador impar de dos (2) en dos (2) hasta 22 binario por el Puerto C. Si GPR >25 Decremente un contador desde este valor hasta 1. Si el resultado de la NOR es menor a 2 smele 5. Si GPR < 25 Smele al registro 25, saque el complemento a 2 al resultado y colquelo por el Puerto C. 18. Introduzca un nmero por el Puerto E, cuando este nmero sea igual a 7 realizar las siguientes operaciones. Tome un nmero que este en el Puerto A, colquelo en un registro GPR, e inicie a partir de este valor un contador hasta que se rebose tomando en cuenta lo siguiente: Si el contador es < 200, realice una NOR entre el Puerto B y el Puerto A, y al resultado squele una NAND, mostrando esto por el Puerto C. Si el contador es >= 200 realice un contador decreciente de 2 en 2 desde 30 hasta 0, mostrado por el puerto C. Si el contador se rebosa, realice un secuenciador de 8 bits de izquierda a derecha y derecha a izquierda, donde en cada secuencia solo existan 3 leds encendidos. 19. Por medio de la activacin de 1 de 4 suitch, realizara lo siguiente: Si RA0=1 rota a la izquierda con solo 1 led encendido. Si RA1=1 rota a la derecha con solo 1 led encendido. Si RA2=1 rota a la izquierda dejando encendido cada led. Si RA3=1 rota a la derecha dejando encendido cada led La muestra se realiza por el puerto B. 20. Leer las tres lneas mas bajas del puerto A, que fijan el nmero de leds que se iluminan en la salida. A si por ejemplo si lee el dato xx101 (cinco) en los leds conectados al puerto B se iluminara el cdigo 00011111 encendindose cinco leds. 21. leer el valor de una tecla proveniente de un teclado matricial de 4x4 para mostrarlo por el puerto C, donde esta conectado un display sin decodificador.

22. Solicitar una clave por medio de una pantalla LCD, la cual es de 2 dgitos, la cual por defecto es (12), si la clave es incorrecta sonara una alarma de 500 ms y si es correcta se mostrara un mensaje error en el mismo LCD. 23. Hacer un programa para 16F84 de tal manera que a travs de un LCD pueda visualizarse un contador de 0 9 ascendente y 9 0 descendente. 24.

Nivel 2
1. Conteo de botellas que pasan por una cinta transportadora, Inicialmente el sistema debe poner en funcionamiento la cinta, tomando en cuenta que se provoca el incremento de un contador de 00 a 99, en dos display conectados al mismo decodificador, cada vez que pasa una botella que acciona un microsuitch colocado en RB0/INT, que causara una interrupcin para realizar tal fin. Es importante mencionar que el sistema debe durar en funcionamiento 8 Horas, para lo que se simulara un tiempo de 8 minutos con la interrupcin del TMR0.En este momento el sistema emitir una alarma por 2 sg, se detendr el motor de la cinta, para que el operador realice un mantenimiento preventivo. Cabe destacar que para que el sistema vuelva a funcionar normalmente, el operador presionara un Push Boton, lo cual accionara nuevamente el motor de la cinta y el proceso principal ser retomado. Los display son multiplexados con dos transistores pnp y son de ctodo comn. Adems de oscilador de 10 MHz, preescalador para TMR1 a 4. Utilice para los tiempos TMR1. El microsuith esta conectado en forma activo bajo. 2. se tiene un tanque el cual se llena con una vlvula de entrada y se descarga con 4 bombas que funcionan con alternancia. el proceso es el siguiente: Se tiene una vlvula de entrada la cual inicialmente debe accionarse hasta que exista alto nivel en el tanque. en este momento se debe realizar el encendido de las bombas de una en una durante 1 min c/u, con la condicin que si existe bajo nivel, deben apagarse las bombas y llenar el tanque nuevamente, tomando en cuenta que la ultima bomba que estaba encendida, debe encenderse y comenzar su ciclo de tiempo nuevamente. Tambin hay que tomar en cuenta que un operador por medio de un push botton (rb4), puede apagar la bomba que este en funcionamiento, en dicho momento se causara una interrupcin por rb4-rb7 y se iniciara el encendido de la siguiente bomba. 3. Disee un control de nivel para un tanque. Al pulsar INICIO, se activa la bomba B1. La bomba permanece encendida hasta alcanzar el nivel mximo, mediante el cual se apagar. Se debe abrir la vlvula de vaciado. La bomba (B1) se volver a activar de forma automtica cuando se alcance el nivel mnimo procediendo a cerrar la vlvula de vaciado, hasta que alcance el nivel mximo, repitiendo el ciclo de forma automtica sin necesidad de volver a pulsar INICIO.

4. Disee un control de nivel para un tanque. Se tiene un interruptor selector de MODO Si MODO es manual, las bombas se activan sin importar el nivel del tanque subterrneo. Si MODO es automtico, la activacin de las bombas depender de: Si el nivel del agua est por debajo del nivel mnimo, se activar la bomba 1 hasta que se alcance el nivel Mximo, y proceder a apagarse. Si el nivel del agua est por encima del nivel mnimo, pero por debajo del nivel mximo, se activar la bomba 2 hasta que se alcance el nivel Mximo y proceder a apagarse. Se debe monitorear si ha cambiado el MODO. Importante: si no hay agua en el tanque subterrneo, se deben apagar las dos bombas hasta que el nivel del tanque de trabajo alcance al sensor de operacin.

5. Realice la automatizacin de la mezcladora de pinturas, mostrada en la figura siguiente, bajo la siguiente secuencia de funcionamiento: El sistema de mezclado se inicia al pulsarse MARCHA, mediante el cual, se activa B1, por espacio de 10 minutos. B2, MM, VD, MA deben estar apagados. Se enciende un led verde que indica que el sistema esta en marcha. Transcurrido este tiempo, se enciende B2. B1, MM, VD, MA deben estar apagados. B2 se mantiene encendido hasta que el sensor Nivel alto se activa, mediante el cual se detiene B2, se activa MM. B1, VD, MA, se mantienen apagados.

MM se mantiene encendido por espacio de 2 minutos. B1, B2, VD, MA, se mantienen apagados. Una vez transcurrido este tiempo, se detiene MM. Se activa VD , hasta que se activa el sensor Nivel bajo, mediante el cual se cierra VD y se activa MA por espacio de 7,5 minutos, reinicindose el proceso nuevamente. El sistema cuenta con un pulsador de PARE, que al activarse en cualquier momento detiene todo el proceso, apagando B1, B2, VD, MA, Y MM , activando un led rojo y apagando al led verde, indicando que existe una parada del proceso. Para reiniciar el proceso nuevamente en donde se qued al momento de detenerlo, se debe pulsar REINICIO.

6. Se desea automatizar una lavadora CHACACHACA bajo dos modos de lavado (uno de Lavado Rpido de 30 minutos de duracin y otro de Lavado Lento de 50 minutos de duracin), el sistema constar de un pulsador de INICIO y un interruptor selector de modo de lavado. Automatice bajo las siguientes condiciones:

Se elige entre lavado rpido lento Se presiona INICIO y realiza lo siguiente: Se llena la CHACACHACA hasta el nivel de agua mximo; lava bate por la mitad del tiempo; se detiene; se vaca; se llena otra vez de agua; lava bate hasta que falten tres minutos; se detiene; se vaca; se llena otra vez de agua; lava bate por

el resto del tiempo; se vaca nuevamente y emite una alarma sonora por espacio de 10 segundos; y se detiene a la espera de un nuevo proceso de lavado. Si no hay agua en el depsito de agua, se detiene el lavado, se cierra la vlvula de llenado y se emite una alarma sonora hasta que se solucione el problema agregando agua al depsito hasta el nivel mnimo de lavado. ML: Motor de Lavadora. VD: Vlvula de Desage. VLL: Vlvula de Llenado. Nmnimo, Nmximo, Nmnimo de lavado, Nivel de alarma: Sensores de nivel.

Potrebbero piacerti anche