Sei sulla pagina 1di 3

Programacin Bsica

Importante: En todos los problemas debe de realizar el diagrama circuital con el microcontrolador indicado y programa.

1.- 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 2.- Utilizando un PIC16F873 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. 3.- 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. 4.- Utilizando un PIC16F84, realice un contador binario de 5 a 55 por medio de leds.

5.- Utilizando un PIC16F873 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 y El secuenciador a la derecha se realiza por la activacin de un suiche colocado en RB1 en activo bajo. 6.- 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 estan colocados en el Puerto A y se debe empezar con el menos significativo. - En cualquier otra condicin se debe evaluar nuevamente las dos anteriores. 7.- 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 8.- 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 decrementara 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 9.- 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. 10.- Introduzca un nmero por el Puerto E, cuando este nmero sea igual a 7 realizar las siguientes operaciones. Tome un numero 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 <= 255 y > 0 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 2 leds encendidos.