🔸 Introducción


Las sentencias condicionales y la lectura de entradas son elementos fundamentales en la programación de sistemas embebidos y dispositivos electrónicos. Estas herramientas permiten tomar decisiones y responder a diferentes condiciones dentro del programa, lo que es esencial para controlar el comportamiento del sistema en tiempo real.

En esta sección, exploráremos los conceptos básicos de las sentencias condicionales, como el if, if-else, else if encadenado y switch case, así como la lectura de entradas en dispositivos electrónicos, que es crucial para interactuar con el entorno y responder a eventos externos.

📑 INDICE ~

📘 Fundamento Teórico


📖 Operadores de comparación

Los operadores de comparación son herramientas fundamentales en las sentencias condicionales. Estos operadores permiten comparar dos valores y determinar si son iguales, diferentes, mayores, menores, o mayores/menores o iguales.

📑 Ejemplo en C

condition
x == y (x is equal to y)
x != y (x is not equal to y)
x <  y (x is less than y)
x >  y (x is greater than y)
x <= y (x is less than or equal to y)
x >= y (x is greater than or equal to y)

📖 Sentencia condicional “If”

La sentencia if permite ejecutar un bloque de código si se cumple una condición especificada.

📑 Ejemplo en C

if (condition) 
{
  //statement(s)
}

📖 Sentencia condicional “if - else”

La sentencia if-else permite ejecutar un bloque de código si se cumple una condición y otro bloque de código si no se cumple la condición.

📑 Ejemplo en C

if (condition) 
{
  //statement(s)
}
else
{
  //statement(s)
}

📖 Sentencia condicional “else if encadenado”

La estructura else if encadenado permite evaluar múltiples condiciones en secuencia.

📑 Ejemplo en C

if (condition) 
{
  //statement(s)
}
	else if (condition)
	{
	  //statement(s)
	}
		else if (condition)
			{
			  //statement(s)
			}
				else
				{
				  //statement(s)
				}

📖 Sentencia condicional “Switch case”

La estructura switch case permite evaluar una expresión y ejecutar diferentes bloques de código según el valor de la expresión.

📑 Ejemplo en C

switch (var) 
{
  case constante1:
    // statements
    break;
  case constante2:
    // statements
    break;
  case constante3:
    // statements
    break;
  default:
    // statements
    break;
}

📖 Lectura de entradas

La lectura de entradas es fundamental en la interacción de sistemas electrónicos con su entorno. Para leer una entrada, se realiza una operación de AND bitwise entre el puerto de entrada y una máscara que indica qué bit se desea leer. Esto permite determinar el estado de un bit específico y tomar decisiones basadas en este estado.

Para leer una entrada existe la siguiente manera:

Se llama el puerto de entrada PINX = 0bXXXXXXXX el cual contiene un numero desconocido, después se crea una máscara con una and bitwise con el número 0b00000001 para saber el estado del bit 0 sin importar los demás para crear la siguiente lógica

$$ \begin{align} 0bxxxxxxxx\\ \&\ 0b00000001 \\Res = 0b0000000x \end{align} $$

📑 Ejemplo en AVR

//-Mascara de bits
//PINX -> puerto de lectura
// & compuerta and bitwise
//0b00000001 -> bit a evaluar (bit0)
if (PINX & 0b00000001)
//0bXXXXXXXX & 0b00000001 = 0b0000000X
//0bXXXXXXX0 & 0b00000001 = 0b00000000
//0bXXXXXXX1 & 0b00000001 = 0b00000001

//-Si el bit 0 es 1 entra al if
if (PINX & 0b00000001)
//-Reducido
if (PINX & (1 << PINX0))
//-Reducido con Macro
if (PINX & _BV(PINX0))
//--Reducido con Macro AVR
if (bit_is_set(PINX,PINX0))
//--Reducido con Macro AVR
if (bit_is_clear(PINX,PINX0))

🧠 Ejercicios


❗Véase también


✔️ Referencias


👁️‍🗨️ Otros temas


📚 Tabla de contenido

🗓️ Semana 4 - 📗 Fundamentos de Programación para Microcontroladores

Diagramas de Flujo y Pseudocódigos

Introducción Lenguaje C para microcontroladores

Introducción Lenguaje Assembler para microcontroladores

Ejecución secuencial de instrucciones en un Microcontrolador

Retardos de tiempo

Operadores de desplazamiento (bit shifting)

Práctica N.º02 - Gestión Secuencial de Salidas

🗓️ Semana 5 - 📗 Lectura de entradas y estructuras condicionales

Macros y etiquetas de texto

Operadores lógicos (bit a bit)

Creación y Uso de Funciones en Microcontroladores

Configuración de entradas y puerto paralelo

Sentencias condicionales con operadores lógicos

Práctica N.º03 - Decodificación de Entradas Binarias

🗓️ Semana 6 - 📗 Estructuras iterativas

Tipos de Display

Control de display 7 segmentos

Custom port

Manejo de Arreglos de Datos

Estructuras iterativas en C

Actividad Fundamental N.º02 - Análisis de arquitectura de microprocesadores

🗓️ Semana 7 - 📗Motores de DC y asesorías de medio curso

Sentencias condicionales y lectura de entradas (1)