// cpu recive data
#include <16F877.h>
#use delay(clock=20000000)
#fuses XT,NOWDT
#use rs232(baud=9600,parity=N,xmit=PIN_C6,rcv=PIN_C7)



int8 b;
int8 i;
void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(FALSE);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DISABLED,0,1);

   output_high(pin_a2);// define pin_a2 is input port
   output_high(pin_a1);// define pin_a1 is input port
   while(1)
   {


                for(i=0; i<=7; ++i)
                {

                 // Wait for clock high

                  while (!input(PIN_A2));

                  shift_left(&b,1,input(PIN_A1));

                  // Wait for clock low

                  while (input(PIN_A2));

                 }

                output_d(b);

   }
}
