Apuntes de Microcontroladores

domingo, 13 de diciembre de 2020

Tabla de la verdad

#include <stdio.h>   


int main ()




{






int a, b, c, d, e;


printf ("\n Introduce el valor de a (bit menos significativo): \n");


scanf ("%i" , &a);


printf ("\n Introduce el valor de b: \n");


scanf ("%i" , &b);


printf ("\n Introduce el valor de c: \n");


scanf ("%i" , &c);


printf ("\n Introduce el valor de d: \n");


scanf ("%i" , &d);




e = a*1 + b* 2 + c*4 + d*8;




switch (e)


{




case 2:


printf ("Arranque de motores");


break;


case 4 :


printf ("Arranque de motores");


break;


case 7 :


  printf("Arranque de motores");


  break;


case 11 :


  printf ("Arranque de motores");


  break;


case 15 :


  printf ("Arranque de motores");


  break;




  default :


printf ("Motores apagados");


}


}

sábado, 12 de diciembre de 2020

Tabla de verdad (SWITCH)

  #include <stdio.h>   


int main ()


{ /* Decodificador binario a decimal*/



int a, b, c, d, e;

printf ("\n Introduce el valor de a (bit menos significativo): \n");

scanf ("%i" , &a);

printf ("\n Introduce el valor de b: \n");

scanf ("%i" , &b);

printf ("\n Introduce el valor de c: \n");

scanf ("%i" , &c);

printf ("\n Introduce el valor de d: \n");

scanf ("%i" , &d);


e = a*1 + b* 2 + c*4 + d*8;


switch (e) // Aqui exponemos los casos donde nos sale 1 en nuestra tabla de verdad//

{


case 2:

printf ("Arranque de motores");

break;

case 4 :

printf ("Arranque de motores");

break;

case 7 :

  printf("Arranque de motores");

  break;

case 11 :

  printf ("Arranque de motores");

  break;

case 15 :

  printf ("Arranque de motores");

  break;


  default :

printf ("Motores apagados");

}

}

Ley de Ohm (While)

 // Javier Toral 1ºARI 11/12/2020 Ley de Ohm (While)


#include <stdio.h>         


#include <math.h>




int main()


{

float I, V, R; 

int seleccion; 

    char repetir_variable ;

do {


printf("\n\t CALCULADORA DE LA LEY DE OHM \n\n"); 

printf(" Introduzca el numero de la magnitud a calcular:\n\n"); 

  printf("\n   1 - Intensidad \n"); 

printf("\n   2 - Resistencia \n"); 

printf("\n   3 - Tension \n"); 


scanf("%d", &seleccion); 


switch(seleccion)

{

case 1:

do {

printf("\t CALCULO DE LA INTENSIDAD \n\n"); 

printf("Introduzca el valor de la Tension (V): "); 

    scanf("%f", &V); 

printf("Introduzca el valor de la Resistencia (R): "); 

    scanf("%f", &R); 

I = V / R ;

    printf("\nEl resultado de %.2f Voltios y %.2f Ohmios es %.2f Amperios", V, R, I); 

    }

    while(repetir_variable == 's');


break;

    case 2:

    do {

    printf("\t CALCULO DE LA RESISTENCIA \n\n"); 

    printf("Introduzca el valor de la Tension (V): ");  

scanf("%f", &V); 

printf("Introduzca el valor de la Intensidad (I): ");

scanf("%f", &I);

R = V / I ;

printf("\nEl calculo de %.2f Voltios y %.2f Amperios es %.2f Ohmios", V, I, R); 

    }

    while(repetir_variable == 's');

    

    break;

    case 3:

    do {

printf("Introduzca el valor de la Resistencia (R): "); 

scanf("%f", &R); 

printf("Introduzca el valor de la Intensidad (I): ");  

scanf("%f", &I); 

V = I * R ; 

printf("\nEl calculo de %.2f Ohmios y %.2f Amperios es %2.f Voltios", R, I, V); 

}

    while(repetir_variable == 's');     


    break;   


    default:

    { 

    printf("\nNumero incorrecto"); 

}


    }

    printf("\n\n Si desea volver al menu principal Pulse s y en caso contrario Pulse n");

    scanf(" %c", &repetir_variable);   

    }   

    while(repetir_variable == 's');

    }

Introducimos Tabla de verdad y nos da la salida.

 #include <stdio.h>

#include <math.h>

main()

{

int a;

int b;

int c;

int d;

int e;

int f;

int g;

int h;

int s;

printf("Introduce el valor de a:");

scanf("%d", &a);

e = a*pow(2,0);

printf("Introduce el valor b:");

scanf("%d", &b);

f = b*pow(2,1);

printf("Introduce el valor de c:");

scanf("%d", &c);

g = c*pow(2,2);

printf("Introduce el valor de d:");

scanf("%d", &d);

h = d*pow(2,3);

s= e+f+g+h;

switch(s){

case 2: printf("Luz encendida");

break;

case 4: printf("Luz encendida");

break;

case 7: printf("Luz encendida");

break;

case 11: printf("Luz encendida");

break;

case 15: printf("Luz encendida");

break;

default: printf("Luz apagada");

}

}

viernes, 11 de diciembre de 2020

Tabla de verdad (switch)

 #include <stdio.h>


 int main ()

 {

  float a;

  float b;

  float c;

  float d;

  char s; 

  

  printf ("Escribe la variable a: ");

  scanf ("%f", &a);

  printf ("\nEscribe la varible b: ");

  scanf ("%f", &b);

  printf ("\nEscribe la variable c: ");

  scanf ("%f", &c);

  printf ("\nEscribe la variable d: ");

  scanf ("%f", &d);

  

  s = d*8+c*4+b*2+a*1 ;

  

  switch (s)

  

  {

  case 2 :

  printf ("Luz encendida");

  break;

  

  case 4 :

  printf ("Luz encendida");

  break;

    

  case 7 :

  printf ("Luz encendida");

  break;

  

  case 11 :

  printf ("Luz encendida");

  break;

  

  case 15 :

  printf ("\nLuz encendida");

  break;

  

  default : printf ("\nLuz apagada");

  break;

  }


 }

//Calculo Ley de Ohm...(switch)...(do while) "José A. Hurtado Martín"


#include <stdio.h>

int main()

{


char respuesta;

char eleccion;


do{

printf("Elija que quiere calcular:\n");

printf("A] voltaje B] intensidad C] resistencia\n");

printf("Su eleccion es A;B o C\n");


scanf(" %c",&eleccion);

switch(eleccion)

{


case 'A':

{

float intensidad, resistencia, producto;

printf("Introduce el valor de intensidad en amperios:");

scanf(" %f",&intensidad);

printf("Introduce el valor de resistencia en ohmios:");

scanf(" %f",&resistencia);

producto=intensidad*resistencia;

printf("El cociente de %f amperios y %f omhios es %i voltios", intensidad, resistencia, producto);

}

break;


case 'B':

{

float voltios, resistencia, cociente;

printf("Introduce el valor de voltaje en voltios:");

scanf(" %f",&voltios);

printf("Introduce el valor de resistencia en ohmios:");

scanf(" %f",&resistencia);

cociente = voltios/resistencia;


printf("El valor de la Intensidad es de %f Amperios.", cociente);

}

break;


case 'C':

{

float voltios, intensidad, cociente;

printf("Introduce el valor de voltaje en voltios:");

scanf(" %f",&voltios);

printf("Introduce el valor de intensidad en amperios:");

scanf(" %f",&intensidad);

cociente = voltios/intensidad;


printf("El valor de la resistencia es %f Ohmios.", cociente);

}

break;

}

printf("\ndesea realizar otro calculo, pulse S o N: ");

scanf(" %c", &respuesta);

}


while (respuesta!='N');

}

jueves, 10 de diciembre de 2020

Decodificador binario a decimal.

#include <math.h>

#include <stdio.h>


int main ()

{

int num,d,c,b,a;

printf("\nIndroduce los valores de d,c,b y a\n");

scanf("%d %d %d %d", &d,&c,&b,&a);

num=((pow(2,3))*d+(pow(2,2))*c+(pow(2,1))*b+(pow(2,0))*a);

printf("El numero decodificado es %d",num);

switch(num)

{

case 2:

printf("\nHas elegido la opcion 2 para los valores dcba de 0010\n");

printf("\nSe enciende la luz\n");

break;

case 4: 

printf("\nHas elegido la opcion 4 para los valores dcba de 0100\n");

printf("\nSe enciende la luz\n");

break;

case 7:

printf("\nHas elegido la opcion 7 para los valores dcba de 0111\n");

printf("\nSe enciende la luz\n");

break;

case 11:

printf("\nHas elegido la opcion 11 para los valores dcba de 1011\n");

printf("\nSe enciende la luz\n");

break;

case 15: 

printf("\nHas elegido la opcion 15 para los valores dcba de 1111\n");

printf("\nSe enciende la luz\n");

break;

default : printf("\nLa luz no se enciende");


}

}

Codificador binario/decimal

/*********************************************************************

CODIFICADOR BINARIO/DECIMAL

Programa con el que activamos las salidas correspondientes a una 

tabla de la verdad dada.

**********************************************************************/

#include <stdio.h>

#include <math.h>


main() {

int d=0; //Entrada d.

int c=0; //Entrada c.

int b=0; //Entrada b.

int a=0; //Entrada a.

int decimal=0; //Valor en decimal

//Solicitamos que introduzcan los valores de las entradas (0,1).

printf("Introduzca el valor decimal: ");

scanf("%d%d%d%d", &d, &c, &b, &a); //Asignamos los valores a las ventradas.

printf("\n\n");

//Calculamos el valor en decimal

decimal = d*pow(2,3) + c*pow(2,2) + b*pow(2,1) + a*pow(2,0);

//Activamos la salida correspondiente.

switch(decimal){

case 0:

printf("\nLampara %d encendida.", decimal);

break;

case 1:

printf("\nLampara %d encendida.", decimal);

break;

case 2:

printf("\nLampara %d encendida.", decimal);

break;

case 3:

printf("\nLampara %d encendida.", decimal);

break;

case 4:

printf("\nLampara %d encendida.", decimal);

break;

case 5:

printf("\nLampara %d encendida.", decimal);

break;

case 6:

printf("\nLampara %d encendida.", decimal);

break;

case 7:

printf("\nLampara %d encendida.", decimal);

break;

case 8:

printf("\nLampara %d encendida.", decimal);

break;

case 9:

printf("\nLampara %d encendida.", decimal);

break;

case 10:

printf("\nLampara %d encendida.", decimal);

break;

case 11:

printf("\nLampara %d encendida.", decimal);

break;

case 12:

printf("\nLampara %d encendida.", decimal);

break;

case 13:

printf("\nLampara %d encendida.", decimal);

break;

case 14:

printf("\nLampara %d encendida.", decimal);

break;

case 15:

printf("\nLampara %d encendida.", decimal);

break;

default:

printf("\nFuncion erronea.");

}

}


miércoles, 9 de diciembre de 2020

Cálculo de Ley De Ohm (Switch) y Do - While.

 /* ÁNGEl COZAR RAMOS - CALCULO DE LEY DE OHM USANDO SWITCH Y DO-WHILE*/

#include <stdio.h>         

#include <math.h>


int main()

{

float I, V, R; /*DECLARAMOS LASS VARIABES QUE VAMOS A UTILIZAR*/

int seleccion; /*vARIABLE DEL A UTILIZAR EN EL SWICHT*/

    char repetir_variable ;

do {

printf("\n\t CALCULADORA DE LA LEY DE OHM \n\n"); /*INTRODUCCIÓN*/

printf(" Introduzca el numero de la magnitud a calcular:\n\n"); /*PETICIÓN POR PANTALLA*/

printf("   1 - Intensidad \n"); /*PETICIÓN POR PANTALLA*/

printf("   2 - Resistencia \n"); /*PETICIÓN POR PANTALLA*/

printf("   3 - Tension \n"); /*PETICIÓN POR PANTALLA*/

scanf("%d", &seleccion); /*INTRODUCCIÓN DE LA PETICIÓN*/

switch(seleccion)

{

case 1:

do {

  printf("\t CALCULO DE LA INTENSIDAD \n\n"); /*VISUALIZACION DE LA OPERACION A REALIZAR*/

          printf("Introduzca el valor de la Tension (V): ");  /*VISUALIZACION Y PETICION DE LOS VALORES*/

          scanf("%f", &V); /*INTRODUCCION DEL VALOR DESEADO*/

          printf("Introduzca el valor de la Resistencia (R): ");  /*VISUALIZACION Y PETICION DE LOS VALORES*/

          scanf("%f", &R); /*INTRODUCCION DEL VALOR DESEADO*/

          I = V / R ; /*OPERACION A REALIZAR */

              printf("\nEl calculo de %.2f Voltios y %.2f Ohmios es %.2f Amperios", V, R, I); /*VISUALIZACION DEL RESULTADO OBTENIDO*/

            

  printf("\n\n ¿Desea repetir el calculo de esta variable? Pulsa s (Si) y otra tecla distinta (No):");

  scanf(" %c", &repetir_variable);

  

   }

   

            while(repetir_variable == 's');

            

break;

           

   

    case 2:

    do {

 

    printf("\t CALCULO DE LA RESISTENCIA \n\n"); /*VISUALIZACION DE LA OPERACION A REALIZAR*/

             printf("Introduzca el valor de la Tension (V): ");  /*VISUALIZACION Y PETICION DE LOS VALORES*/

         scanf("%f", &V); /*INTRODUCCION DEL VALOR DESEADO*/

         printf("Introduzca el valor de la Intensidad (I): ");  /*VISUALIZACION Y PETICION DE LOS VALORES*/

         scanf("%f", &I); /*INTRODUCCION DEL VALOR DESEADO*/

         R = V / I ; /*OPERACION A REALIZAR */

         printf("\nEl calculo de %.2f Voltios y %.2f Amperios es %.2f Ohmios", V, I, R); /*VISUALIZACION DEL RESULTADO OBTENIDO*/

         

         printf("\n\n ¿Desea repetir el calculo de esta variable? Pulsa s (Si) y otra tecla distinta (No):");

scanf(" %c", &repetir_variable);

  

   }

   

            while(repetir_variable == 's');

    break;

   

    case 3:

   

    do {

    printf("\t CALCULO DE LA TENSION \n\n"); /*VISUALIZACION DE LA OPERACION A REALIZAR*/

        printf("Introduzca el valor de la Resistencia (R): ");  /*VISUALIZACION Y PETICION DE LOS VALORES*/

        scanf("%f", &R); /*INTRODUCCION DEL VALOR DESEADO*/

        printf("Introduzca el valor de la Intensidad (I): ");  /*VISUALIZACION Y PETICION DE LOS VALORES*/

        scanf("%f", &I); /*INTRODUCCION DEL VALOR DESEADO*/

        V = I * R ; /*OPERACION A REALIZAR */

        printf("\nEl calculo de %.2f Ohmios y %.2f Amperios es %2.f Voltios", R, I, V); /*VISUALIZACION DEL RESULTADO OBTENIDO*/

        

        printf("\n\n ¿Desea repetir el calculo de esta variable? Pulsa s (Si) y otra tecla distinta (No):");

  scanf(" %c", &repetir_variable);

  

   }

   

            while(repetir_variable == 's');     

    break;   

    default:

{ 

printf("\nEl numero marcado no coincide con ninguna magnitud"); /*MUESTRA EN PANTALLA UN FALLO NUMERICO*/

    }

}

         printf("\n\n ¿Volver al menu principal? Pulse s (Si) y otra tecla distinta (No):");

      scanf(" %c", &repetir_variable);   

   }   

            while(repetir_variable == 's');

}

Semáforo programable

 




PUSA AQUÍ PARA VER DOCUMENTO COMPLETO

jueves, 3 de diciembre de 2020

Ley de Ohm (switch)

  #include <stdio.h>   


int main ()


{ /* Elección*/


char eleccion;


float Intensidad;


float Voltaje;


float Resistencia;




printf ("\n Que desea calcular mediante la ley de Ohm: \n");


printf ("\n A) Voltaje \n B) Intensidad \n C) Resistencia ");


printf ("\n \n Indique su eleccion: A, B, o C; (use mayuscula) \n");


scanf ("%c",&eleccion);






switch (eleccion) // Voltaje //


{

case 'A':


printf(" Voltaje = Intensidad * Resistencia \n");


printf ("\nIntroduce la Intensidad en Amperios: ");


scanf ("%f" , &Intensidad);


printf ("Introduce la Resistencia en Ohmios: ");


scanf("%f", &Resistencia);


Voltaje = Intensidad * Resistencia ;


printf ("El voltaje es: %f Voltios" , Voltaje);


break;



case 'B' : // Intensidad//


printf (" Intensidad = Voltaje / Resistencia \n");


printf ("\nIntroduce la Tension en Voltios: ");


scanf ("%f" , &Voltaje);


printf ("Introduce la Resistencia en Ohmios: ");


scanf("%f", &Resistencia);


Intensidad = Voltaje / Resistencia ;


printf ("La Intensidad es: %f Amperios" , Intensidad);


break;




case 'C' : // Resistencia //


printf (" Resistencia = Voltaje / Intensidad \n");


printf ("\nIntroduce la Tension en Voltios: ");


scanf ("%f" , &Voltaje);


printf ("Introduce la Intensidad en Amperios: ");


scanf("%f", &Intensidad);


Resistencia = Voltaje / Intensidad ;


printf ("La Resistencia  es: %f Ohmios" , Resistencia);


break;



default :


printf ("\n Opcion incorrecta");


printf ("\n \n Vuelva a ejecutar el programa \n");


}


printf ("\n\n ....Fin del programa....");


}

lunes, 30 de noviembre de 2020

sábado, 28 de noviembre de 2020

Ley de Ohm

 #include <stdio.h>   

int main ()

{ /* Elección*/

char eleccion;

float Intensidad;

float Voltaje;

float Resistencia;


printf ("\n Que desea calcular mediante la ley de Ohm: ");

printf ("\n A) Voltaje \n B) Intensidad \n C) Resistencia ");

printf ("\n \n Indique su eleccion: A, B, o C; (use mayuscula) \n");

scanf ("%c",&eleccion);



if (eleccion == 'A') // Voltaje //

{

printf(" Voltaje = Intensidad * Resistencia \n");

printf ("\nIntroduce la Intensidad en Amperios: ");

scanf ("%f" , &Intensidad);

printf ("Introduce la Resistencia en Ohmios: ");

scanf("%f", &Resistencia);

Voltaje = Intensidad * Resistencia ;

printf ("El voltaje es %f Voltios" , Voltaje);

}

else

if (eleccion == 'B')  // Intensidad//

{


printf (" Intensidad = Voltaje / Resistencia \n");

printf ("\nIntroduce la Tension en Voltios: ");

scanf ("%f" , &Voltaje);

printf ("Introduce la Resistencia en Ohmios: ");

scanf("%f", &Resistencia);

Intensidad = Voltaje / Resistencia ;

printf ("La Intensidad es %f Amperios" , Intensidad);

}

else

if ( eleccion == 'C') // Resistencia //

{

printf (" Resistencia = Voltaje / Intensidad \n");

printf ("\nIntroduce la Tension en Voltios: ");

scanf ("%f" , &Voltaje);

printf ("Introduce la Intensidad en Amperios: ");

scanf("%f", &Intensidad);

Resistencia = Voltaje / Intensidad ;

printf ("La Resistencia  es %f Ohmios" , Resistencia);

}

else 

{


printf (" Opcion incorrecta");

printf ("\n \n Vuelva a ejecutar el programa \n");

}

printf ("\n ....Fin del programa....");


}

Cálculo del voltaje, la intensidad o la resistencia según la ley de Ohm

#include <math.h>

#include <stdio.h>


int main ()

{

int Opcion;

float V,I,R;

printf("\n Indique la magnitud que desea calcular: Voltaje, Intensidad o Resistencia.\n");

printf("\n Pulse 1 para Voltaje.");

printf("\n Pulse 2 para Intensidad.");

printf("\n Pulse 3 para Resistencia.\n");

scanf("%d", &Opcion);

if (Opcion==1)

{

printf("\n Ha elegido calcular el voltaje.");

printf("\n Indique el valor de la intensidad en Amperios y el de la resistencia en ohmios.\n");

scanf("%f %f", &I, &R);

V=I*R;

printf("\n El voltaje sera de %f voltios.\n",V);

}

else if (Opcion==2)

{

printf("\n Ha elegido calcular la intensidad.");

printf("\n Indique el valor del voltaje en voltios y el de la resistencia en ohmios.\n");

scanf("%f %f", &V, &R);

I=V/R;

printf("\n La intensidad sera de %f amperios.\n",I);

}

else if (Opcion==3)

{

printf("\n Ha elegido calcular la resistencia");

printf("\n Indique el valor del voltaje en voltios y el de la intensidad en amperios.\n");

scanf("%f %f", &V, &I);

R=V/I;

printf("\n La resistencia sera de %f ohmios.\n",R);

}

else

{

printf("La respuesta no es correcta, pruebe de nuevo.");

}

}

martes, 17 de noviembre de 2020

Calculo de una reactancia en un circuito serie

 #include <stdio.h>


#include <math.h>


i nt main()


{


float resistencia;


float reactancia;


float frecuencia;


float Z;


float Xl;




printf ("Introduce la resistencia (Ohm) => ");


scanf ("%f", &resistencia);


printf ("Introduce la reactancia => ");


scanf ("%f", &reactancia);


printf ("Introduce la frecuencia (Hz) => ");


scanf ("%f", &frecuencia);




Xl = 2*3.1416*frecuencia*reactancia;


Z = sqrt(resistencia*resistencia+Xl*Xl);


printf ("Impedancia del sensor es => %f" ,Z);




 }