#include <16F877A.h>
#device adc=8

#FUSES NOWDT                    //No Watch Dog Timer
#FUSES HS                       //High speed Osc (> 4mhz for PCM/PCH) (>10mhz for PCD)
#FUSES PUT                      //Power Up Timer
#FUSES NOPROTECT                //Code not protected from reading
#FUSES NODEBUG                  //No Debug mode for ICD
#FUSES NOBROWNOUT               //No brownout reset
#FUSES NOLVP                    //No low voltage prgming, B3(PIC16) or B5(PIC18) used for I/O
#FUSES NOCPD                    //No EE protection
#FUSES NOWRT                    //Program memory not write protected
#FUSES RESERVED                 //Used to set the reserved FUSE bits

#ZERO_RAM

#use delay(clock=20000000) 
#use i2c(SLAVE, SDA=PIN_A0, SCL=PIN_A1, ADDRESS=0x10110000, force_hw, fast)


int16 matek;

void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_CLOCK_DIV_2);
   setup_psp(PSP_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   output_c(0b00000010);
   output_d(0b00000010);
   delay_ms(2000);
   

for(;;)

  {
    
    matek=i2c_read(0);
    
     if (matek==(0b11011000))
     
     {
      output_d(0b00000010);
      goto mute;
     }
  
     if (matek==(0b11100000))
      
     { 
      output_d(0b11111100);
     }

mute:

     if (matek==(0b11100001))
     
     {
      output_d(0b01100000);
     }
     
     if (matek==(0b11100010))
     
     {
      output_d(0b11011010);
     }
     
     if (matek==(0b11100011))
     
     {
      output_d(0b11110010);
     }
     
     if (matek==(0b11100100))
     
     {
      output_d(0b01100110);
     }
     
     if (matek==(0b11100101))
     
     {
      output_d(0b10110110);
     }
     
     if (matek==(0b11100110))
     
     {
      output_d(0b10111110);
     }
     
     if (matek==(0b11100111))
     
     {
      output_d(0b11100000);
     }
     
     if (matek==(0b11101000))
     
     {
      output_d(0b11111110);
     }
     
     if (matek==(0b11101001))
     
     {
      output_d(0b11110110);
     }

      matek=i2c_read(0);
      
      
     if (matek==(0b11010000))
     
     {
      output_c(0b11111100);
     }
     
     if (matek==(0b11010001))
     
     {
      output_c(0b01100000);
     }
     
     if (matek==(0b11010010))
     
     {
      output_c(0b11011010);
     }
     
     if (matek==(0b11010011))
     
     {
      output_c(0b11110010);
     }
     
     if (matek==(0b11010100))
     
     {
      output_c(0b01100110);
     }
     
     if (matek==(0b11010101))
     
     {
      output_c(0b10110110);
     }
     
     if (matek==(0b11010110))
     
     {
      output_c(0b10111110);
     }
     
     if (matek==(0b11010111))
     
     {
      output_c(0b11100000);
     }

     if (matek==(0b11011000))
     
     {
      output_c(0b00000010);
     }
  }  
} 
 
  
