You are on page 1of 8

Ejercicios bsicos para microconladores

Nivel 0
1. Por el puerto B se obtiene el dato del puerto A
2. Por el puerto B se obtiene el dato del puerto A complementado
3. Por el puerto B se obtiene el dato del puerto A multiplicado por 3
unidades.
4. Por el puerto B se obtiene el dato del puerto A intercambiado los nibbles
alto y bajo.
5. 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.
6. Por el puerto B rotar hacia la izquierda un bit activado en 1
7. Por el puerto B rotar hacia la derecha dos bits activados 11
8. Mostrar en un display de 7 segmentos sin utilizar decodificador los
nmeros hexadecimales ascendente entre 0 F.
9. Por el puerto B visualizar un contador binario ascendente
10.Por el puerto B visualizar un contador binario descendente

Nivel 1
1. Mediante un display alfanumrico mostrar en forma descendente las
letras del alfabeto de Z a A.
2. 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
3. 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:

4. 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.
5. 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 salida estar
apagado.
6. Efecto de luces tipo Auto Fantstico con un 16F84A por el puerto b, RB0
a RB7
7. 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 apagarlo cuando llegue a D221.


Repetir el ciclo.
8. 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
9. 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.
10.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.
11.Utilizando un PIC16F84, realice un contador binario de 5 a 55 por medio
de leds.
12.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
13.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.
14.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
15.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
ascendente-descendente 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
16.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.
17.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.
18.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.
19.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.
20.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.
21.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.
22.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.
23.

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, M M, 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, V D,
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, V D,
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.

You might also like