Sei sulla pagina 1di 7

MICROCONTROLADORES

TALLER: MANEJO DE ENTRADAS Y SALIDAS


Para los siguientes ejercicios realizar la caracterización de los puertos, la tabla de asignación de entradas y salidas, el
diagrama de flujo, el programa en lenguaje C, simulación en Proteus y en montaje del circuito.

El siguiente diagrama es para todos los ejercicios planteados. Deben tomar como material de apoyo los siguientes
documentos:
01_Puertos.pdf
02_Interfaces con Micros.pdf
03_Resumen de DDF.pdf

Todos ellos se encuentran en BackBoard.

Diagrama esquemático 1.

Ejercicios:

1. Ocho leds conectados al puerto B, se encienden de la siguiente manera. Los primero 4 bits se encienden y los
restantes se apagan, por 1 segundo, luego se invierte el orden. Esta operación se realza siempre y cuando un
interruptor S2 este activo o presionado.

Andrey Julián Renteria Scarpetta Versión 1.0 Página 1 de 7


MICROCONTROLADORES
TALLER: MANEJO DE ENTRADAS Y SALIDAS
2. Si se pulsa el interruptor S5 y el Led 16 está encendido éste debe apagarse. Si se pulsa de nuevo el interruptor S5
y el led16 está apagado, éste debe encenderse.

Nota: Utilizar retardos entre cada acción, para evitar el fenómeno de rebote debido a la velocidad de ejecución del
microcontrolador.

3. Si se pulsa S5 el LED8 se enciende; si se pulsa S6 el LED8 se apaga. En caso que se presionen los dos interruptores
al tiempo, el estado del led no debe cambiar.

4. Igual que el problema anterior, pero si presionan los dos interruptores el LED8 debe de parpadear.

5. Mientras no se presione el interruptor S3, el led 1 se queda parpadeando, en caso contrario este se apaga.
Mientras no se presione el interruptor S6, el led 9 estará parpadeando; en caso contrario este se apaga.

6. Se quiere generar dos secuencias diferentes con los leds conectados en el PORTB. Estas secuencias serán
controladas por los dos interruptores S7 y S8 según figura 1b.

SI S5 = 0 y S6 = 0 los leds SI S5 = 1 y S6 = 0 los leds


permaneces apagados Realiza la secuencia 1

SI S5 = 0 y S6 = 1 los leds SI S5 = 1 y S6 = 1 los leds


Realiza la secuencia 2 Realiza la secuencia 3

7. Diseñe un algoritmo que dé solución al siguiente problema utilizando la asignación de pines del ejercicio
anterior
- Cuando se presiona el S1 y S2 nó, se activa el motor 1 y el led LM1 pero parpadeando cada 1s
- Cuando se presiona el S2 y S1 nó, se activa el motor 2 y el led LM2 pero parpadeando cara 1s
- Cuando se presiona S1 y S2 se activan M1 y M2 de manera alterna cada 5s, simultáneamente se deben
activar los led de cada motor.
- Si no está presionado ningún interruptor se debe apagar todo.
8. Diseñe un algoritmo que dé solución al siguiente problema utilizando la asignación de pines del ejercicio
anterior

Andrey Julián Renteria Scarpetta Versión 1.0 Página 2 de 7


MICROCONTROLADORES
TALLER: MANEJO DE ENTRADAS Y SALIDAS
- Cuando se presiona S1 y s2 no, entonces se debe encender M1 y led LM1 por dos segundos luego M2 y led
LM2 por otros dos segundos.
- Si se presiona S2 y S1 no, entonces M1, M2, Led LM1y LM2 se activas por 5 segundos y se desactivan
durante 3 segundos.
- Si se presiona S1 y S2 al tiempo, debe primero encenderse el motor M1 y 2 segundos después el motor
M2, una vez se active el motor M2, pasados 5 segundo se desactivan los dos motores.
- Si no está presionado ningún interruptor se debe apagar todo

9. Los leds conectados al puerto B rotan o se encienden de izquierda a derecha cada 0.3s; Cuando llega al final se
apagan todos los leds y de nuevo se repite la operación. Para este ejercicio utilice la función For.
10.Lo mismo que el ejercicio anterior, pero cuando el último led llega al final, este se regresa comenzando a rotar a la
derecha. El retardo de cada desplazamiento es cada 0,5s. El proceso se repite indefinidamente. Para este ejercicio
utilice la función For.
11.Cuando se pulsa el interruptor S5 el led 9 se enciende y apaga 10 veces. Cuando se presiona S6 el led 9 se
enciende y se apaga 5 veces.

Andrey Julián Renteria Scarpetta Versión 1.0 Página 3 de 7


MICROCONTROLADORES
TALLER: MANEJO DE ENTRADAS Y SALIDAS

Diagramas de flujo.
1 2
Inicio Inicio

-Definiciones del microcontrolador -Definiciones del microcontrolador


-Definiciones de puertos -Definiciones de puertos
-Definición de E/ S -Definiciones de E/S
S2 S5 , LED16

-Configuración de puertos
puerto B como salida -Configuración de puertos

NO NO
true Fin true Fin

Si
S2
PRESIONADO Si
S5
PRESIONADO
NO
portb = 0b00001111
NO
Si
Led 16
Retardo 1s On?

portb = 0b11110000 NO

Led8 = off Led8 = on


Retardo 1s

Retardo 200ms

3 4
Inicio Inicio

Led on/off
-Definiciones del microcontrolador -Definiciones del microcontrolador
-Definiciones de puertos -Definiciones de puertos
Led8 = on;
-Definiciones de E/S -Definiciones de E/S
Retardo 200ms
S5, S6, LED8 S5, S6, LED8

Led8 = off
Retardo 200ms
-Configuración de puertos
-Configuración de puertos
Fin

NO
true Fin

NO
true Fin
S5 pres y Si
Led8 = on
S6 no press

NO
S5 pres y Si
Led8 = on
S6 no press
S5 no pres Si
Led8 = off
y S6 pres
NO

S5 no pres Si S5 pres
Led8 = off Led8 ON/OFF
y S6 pres y S6 pres

Andrey Julián Renteria Scarpetta Versión 1.0 Página 4 de 7


MICROCONTROLADORES
TALLER: MANEJO DE ENTRADAS Y SALIDAS
5
Inicio

-Definiciones del microcontrolador


-Definiciones de puertos
-Definiciones de E/S
S3, S6, LED1 , LED9

-Configuración de puertos

NO
true Fin

Si
S3 NO
PRESIONADO
Led1 = on
NO Retardo 200ms

Led1 = off
Retardo 200ms

Si
S6 NO
PRESIONADO

no Led9 = on
Retardo 200ms

Led9 = off
Retardo 200ms

6
Inicio Secuencia 1 Secuencia 2 Secuencia 3

-Definiciones del microcontrolador Portb = 0b11000000 Portb = 0b10000001 Portb = 0b11000000


-Definiciones de puertos Retardo 500ms Retardo 500ms Retardo 500ms
-Definición de E/S
S7, S8
Portb = 0b00110000 Portb = 0b11000011 Portb = 0b11110000
Retardo 500ms Retardo 500ms Retardo 500ms
-Configuración de puertos
puerto B como salida
Portb = 0b00001100 Portb = 0b11100111 Portb = 0b11111100
Retardo 500ms Retardo 500ms Retardo 500ms

Portb = 0b00000011 Portb = 0b11111111 Portb = 0b11111111


Retardo 500ms Retardo 500ms Retardo 500ms
NO
true Fin

Fin Fin Portb = 0b11111100


Retardo 500ms
S7 == 1 y Si
Portb = 0b00000000
S8 == 0 Portb = 0b11110000
Retardo 500ms
NO

S7 == 0 y Si Fin
Secuencia 1
S8 == 1

S7 == 0 y Si
Secuencia 2
S8 == 0

S7 == 1 y Si
Secuencia 3
S8 == 1

Andrey Julián Renteria Scarpetta Versión 1.0 Página 5 de 7


MICROCONTROLADORES
TALLER: MANEJO DE ENTRADAS Y SALIDAS
7
Secuencia 1 Secuencia 2
Inicio
M1 = ON M2 = ON
-Definiciones del microcontrolador
-Definiciones de puertos
-Definición de E/S LM1 = ON LM2 = ON
S1,S2,M1,M2,LM1,LM2 Retardo 500ms Retardo 1s

LM1 = OFF LM2 = OFF


-Configuración de puertos
Bit B4,D3,E0,E1 como salida Retardo 500ms Retardo 500ms

Fin Fin

N
true Fin
Secuencia 3 Secuencia 4
S

S1 pres y S M1 = on LM1 = on M1 = off LM1 = off


Secuencia 1
S2 no press Retardo 5s M2 = off LM2 = off
NO

M1 = off LM1 = off


Fin
S1 no pres Si M2 = on LM2 = on
Secuencia 2
y S2 pres Retardo 5s

M2 = off LM2 = off


S1 pres
Secuencia 3
y S2 pres

Fin
Secuencia 4

8
Inicio
Secuencia 1 Secuencia 2

-Definiciones del microcontrolador


-Definiciones de puertos M1 = on LM1 = on M1 = on LM1 = on
-Definición de E/S
S1, S2,M1,M2,LM1,LM2 Retardo 2s M2 = on LM2 = on
M1 = off LM1 = off Retardo 5s

-Configuración de puertos
Bit B4,D3,E0,E1 como salida M2 = on LM2 = on M1 = off LM1 = off
Retardo 5s M2 = off LM2 = off
M2 = off LM2 = off Retardo 3s

true NO
Fin Fin Fin

Secuencia 3 Secuencia 4
s1 pres y Si
Secuencia 1
s2 no press

M1 = on
no M1 = off LM1 = off
Retardo 2s
M2 = off LM2 = off
s1 no pres Si
Secuencia 2
y s2 pres
M2 = ON
no Retardo 5s Fin
s1 pres Si
Secuencia 3
y s2 pres M1 = off
no
M2 = off
Retardo 1s
Secuencia 4

Fin

Andrey Julián Renteria Scarpetta Versión 1.0 Página 6 de 7


MICROCONTROLADORES
TALLER: MANEJO DE ENTRADAS Y SALIDAS
9 10
Inicio

Inicio
-Definiciones del microcontrolador
-Definiciones de puertos
-Definiciones de variables
-Definiciones del microcontrolador int8 i
-Definiciones de puertos
-Definiciones de variables
Int8 i -Configuración de puertos
puerto B como salida

-Configuración de puertos
puerto B como salida
NO
true Fin

si
NO
true Fin portb = 0b00000001

Retardo 300ms

Portb = 0b00000001 No
i = 0, hasta i<8; i + 1

si
Retardo 300ms
portb = portb<< 1

No
Retardo 500ms
i = 0, hasta i<8; i + 1
si

portb = portb << 1 No


i = 0, hasta i<7; i + 1

si
Retardo 300ms
portb = portb>> 1

Retardo 500ms

11
Inicio

-Definiciones del microcontrolador


-Definiciones de puertos
-Definiciones deE/S S5, S6 LED9
-Definición de variables int8 i

-Configuración de puertos

NO
true Fin

Si
S5 presionado

i = 0, hasta i<10; i ++

si

Led9 = 1;
Retardo 100ms

Led9 = 0
Retardo 100ms

si
S6 presionado

no i = 0, hasta i<5; i ++

si

Led9 = 1;
Retardo 100ms

Led9 = 0
Retardo 100ms

Andrey Julián Renteria Scarpetta Versión 1.0 Página 7 de 7

Potrebbero piacerti anche