Цитата(Hellka @ Dec 12 2006, 21:37)

проблема в том, что нужна прошивка для пика на асме, програмка должна проверять наличие ключа-идентификатора на шине, считывать код, и проверять его с искомым. у меня есть примерчик программы(если нужно скину), но там мало комментов и я ничего не понимаю, т.к. не знаю самого алгоритма, а в даташитах всё оч прозрачно.
если это и-баттон, то алгоритм обмена основан на 1 -wire протоколе.
Все прозрачно описано в
http://www.elin.ru/ на ассемблере не пишу, а в с для пиков чтение байта звучит приблизительно так
//-----------------------------------
unsigned char read_byte()
{
unsigned char temp=0; //число, которое прочитаем
unsigned char st_b=8;// количество бит в байте
do{
out_=true; // выдаем импульс на шину 1 -wire
asm("nop");
asm("nop");
asm("nop");
out_=false; // снимаем его
asm("nop");
asm("nop");
asm("nop");
asm("nop"); // подождем твою маму
asm("nop");
asm("nop");
temp= temp >> 1; // сдвигаем число на 1 бит вправо
if (in_inf == true) // если на шине 1 , устройство нам выдало 1
{
temp=temp|0x80; // записываем эту 1 в байт, если 0, то он и так уже там
}
delay(20); // не торопимся со следующим
}while(--st_b); // и так 8 раз
return temp; // возвращаем прочитанный байт
}
это для 4-х мегагерцового пика (задержки)