Está en la página 1de 4

PROGAMACIÓN EN C++

I. CÓDIGO

EJERCICIO 1: Parpadeo de led 5 veces con pulsador


EJERCICIO 2: Tres botones con diferentes configuraciones
EJERCICIO 3 (SEMAFORO):

I. EXPLICACIÓN

EJERCICIO 1: Primero se configura las entradas y salidas usando DDRx en el puerto B,


los ceros son las salidas y la 1 como entrada con el operador lógico AND y OR; en la
configuración del programa se usa la condicional while para configurar como entrada
el primer pin, entonces if el botón1 es igual a 2 porque la salida del primer pin 2^1 =2,
entonces for: int que es entero, el i va a decrementar entre 0 y 5, con el PORTB que es
la salida del led va a decrementar de uno en uno y por la condición del for va a
parpadear cinco veces y el delay es la pausa en cada parpadeo.

EJERCICIO 2: Configuramos las entradas en el puerto B(el pin 0 y el pin 2) y D(el pin2)
con el enmascaramiento para los pines específicos usando AND y OR, definimos ambos
botones igual a cero para inicie desde cero. Usando el condicional while configuramos
el programa con cada botón, en el botón 1 donde la salida es el pin 1, en el botón 2 la
salida es el pin 3, en el botón 3 del puerto D la salida es el pin 3. Entonces usando if si
el botón 1 es igual a 2 usando for con su condición respectiva, PORTB y delay para el
parpadeo del led. Segunda condicional if se cumple que el botón 2 es igual a ocho
porque el pin es 3 que es igual 2^3 es igual a ocho, se usa el mismo bucle para que
parpadee diez veces cambiando la condición de i igual a cero y menor que diez. En el
tercer botón usamos el puerto D en el pin 3 por eso el botón 3 es igual a ocho tambien
y en este caso el led parpadea veinte veces.

EJERCICIO 3: Configuramos las salidas desde el pin 2 hasta el pin 7(ROJO, AMARILLO Y
VERDE) en el puerto B y las entradas en el puerto D. En el programa usamos el
condicional while donde guardamos el pin 7 como ROJO y el pin 2 como VERDE, solo
trabajaremos con while no con if, entonces usamos el botón 1 igual a cero porque Del
PORTB& y el botón 2 para el pin 1 como entradas especifica. Cuando se prenda el
primer botón se prende del semáforo 1 el led ROJO y del semáforo 2 el led AMARILLO,
después de una pausa luego en el PORTB prende el led VERDE del semáforo 1 y se
pone en ROJO en el semáforo 2, luego se llama a la pausa. En el botón 2 se presiona
entonces en el semáforo uno pasa a AMARILLO y en el semáforo 2 sigue en ROJO,
llama una pausa y vVERDE.

II. COMENTAR LO APRENDIDO

Se aprendió a configurar los pines de entrada y salida porque es confuso ya que en


ASEMBLER es diferente, pero en C++ usando el DDRx configuramos primero las
entradas y con PINx almacenando en la función se configura la salida esto lo hicimos es
números binarios para facilitar el enmascaramiento. Tambien se diferencio las
condicionales entre while e if ya que en if debemos definir las condiciones para el
parpadeo y la pausa, pero while no.

III. CONCLUSIONES

Consideramos que es más fácil e accesible programar en C++ a diferencia de


ASEMBLER ya que las funciones están bien definidas. Como en el semáforo se uso la
condicional while para definir las salidas de los leds en cada botón.

INTEGRANTES:

 ARELI SELENIA CHINGA MARTINEZ


 ERICK ACUÑA CHAMBI
 PATRICK CHAVEZ
 WALTER LOZANO

También podría gustarte