﻿#include <mega128.h>
#include <delay.h>
 bit a; 
static unsigned char mas[32];  
void init(void)
{
int i; 
for (i=0; i<32; i++)
{
    // ждём фронт синхроимпульса
    while(PINB.0==0)
    {
        // пока на выводе 0 крутимся в этом цикле 
    }
    // появилась единичка - имульс пришёл
    delay_us(5);
    mas[i]=(PINB.1); // .
    // ждём спад синхроимпульса
    while(PINB.0 == 1)
    {
        // пока на выводе 1 крутимся в этом цикле 
    }
    // импульс прошёл. возвращаемся в нчало цикла ждать следующего 
}
// все 32 импульса прошли. значения информационных битов лежат в массиве.
}



void main(void)
{

while (1)
      {
      // вызываем функцию, которая записывает в массив 32 информационных бита 
      init();
     if (mas[0]==1)
     {a=0x01;}
     else {a=0;}
      PORTA.1=a;
      };
}
