Sobre mi.

Mi foto
Santander, CANTABRIA, Spain
Bienvenido a mi Blog, soy César Zazo Serrano y os mostraré las actividades realizadas durante el curso 2012/2013 en la asignatura de desarrollo y construcción de prototipos electrónicos que imparte nuestro profesor Don José Luis Del Val en el Centro Integrado De Formación Profesional Nº1 situado en Peñacastillo.

martes, 27 de noviembre de 2012

Programa Combinacional

En esta entrada vamos a realizar mediante la programación de PIC el siguiente ejercicio:


// Programa combinacional. Según 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:

// RA1 RA0  RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0
// ---     ---     ---    ---   ---    ---    ---   ---     ---   ---
//  0        0        1       0     1       0       1      0       1      0
//  0        1        0       1     0       1       0      1       0      1
//  1        0        0       0     0       0       1      1       1      1
//  1        1        1       1     1       1       0      0       0      0

Adjuntamos código diseño en proteus y archivo *.cof:  DESCARGA AQUÍ

Hemos realizado la programación con el programa PCW CCS 4.104 y un pic16F877.
A continuación introduciré todo el código con los comentarios pertinentes:


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// AUTOR:CESAR ZAZO SERRANO.                                                   09/05/2012
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PROGRAMA: PROGRAMA COMBINACIONAL          
// DISPOSITIVO: PIC 16F877                                                                   COMPILADOR: CCS VS 4.104
// ENTORNO IDE: MPLAB 8.40                                                                   SIMULADOR: PROTEUS 7.8
// TARJETA DE APLICACION: PICDEM2                                                            DEBUGGER: ICD3
////////////////////////////////////////////////////////////////////////////////////////////////////////////
// CABECERA //////////////////////////////////////////////////////////////////////////////////////////////////////////                                                                                                         


#include<16f877.h>  //   libreria del pic 16f877
#fuses xt,nowdt 
#byte port_a=0x05 //vamos a utilizar el puerto a y b.
#byte port_b=0x06


////////////////////////////////////////////////////////////////////////////////////////////////////////////
// PRINCIPAL /////////////////////////////////////////////////////////////////////////////////////////////////////////
void main (void)
{
   while(1)
      if ((input (pin_a0)==0) && (input(pin_a1)==0)) // condición del estado de los interruptores.
{
      output_b(0b10101010); // se encienden los leds de cada posición indicada.

}
      else // en caso contrario sucederá lo siguiente
      {
       if ((input (pin_a0)==1) && (input(pin_a1)==0))
{
output_b(0b01010101);
   }
     else
      {
       if ((input (pin_a0)==0) && (input(pin_a1)==1))
{
output_b(0b00001111);

   } 
   else
      {
       if ((input (pin_a0)==1) && (input(pin_a1)==1))
{
output_b(0b11110000);
  
}
      }
      }
      }
}
   //fin del while


No hay comentarios:

Publicar un comentario