Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Pic16f73 + Ibutton
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
Hellka
проблема в том, что нужна прошивка для пика на асме, програмка должна проверять наличие ключа-идентификатора на шине, считывать код, и проверять его с искомым. у меня есть примерчик программы(если нужно скину), но там мало комментов и я ничего не понимаю, т.к. не знаю самого алгоритма, а в даташитах всё оч прозрачно.
urry1
Цитата(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-х мегагерцового пика (задержки)
ttron
Цитата(Hellka @ Dec 12 2006, 21:37) *
проблема в том, что нужна прошивка для пика на асме, програмка должна проверять наличие ключа-идентификатора на шине, считывать код, и проверять его с искомым. у меня есть примерчик программы(если нужно скину), но там мало комментов и я ничего не понимаю, т.к. не знаю самого алгоритма, а в даташитах всё оч прозрачно.

Вот пример программки для 12F675, но на 4 ключа smile.gif Все писалось давно, но проверено и работает. Ненужные части программы я выкинул, на компиляцию проверил - транслируется. Комментарии кое-какие есть. Если не подходит - не обессудьте.
Hellka
кстати, в схеме между ибаттон и пиком на землю обычно цепляется подтягивающий резистор, никто не знает,как его номиналы вычисляются. И какие номиналы тока и напряжения на этой линии?
ttron
Цитата(Hellka @ Dec 14 2006, 16:59) *
кстати, в схеме между ибаттон и пиком на землю обычно цепляется подтягивающий резистор, никто не знает,как его номиналы вычисляются. И какие номиналы тока и напряжения на этой линии?

По-моему Вы ошибаетесь. Подтягивать надо к питанию, да все есть в даташитах. Вот у меня какой-то завалялся, а вообще надо посмотреть на сайте Maxim-IC
urry1
на +5 вольт около 4,7 кОм - на расстояние до 20 метров.
urry1
ttron пишет -------------------------------------------
Вот пример программки для 12F675, но на 4 ключа smile.gif Все писалось давно, но проверено и работает. Ненужные части программы я выкинул, на компиляцию проверил - транслируется. Комментарии кое-какие есть. Если не подходит - не обессудьте.
----------------------------------------------------------------------------------------------------------------------------
Наверное, я все-таки бестолковый... sad.gif посмотрел листинг и не могу понять... А что он, собственно, делает ?
ttron
Цитата(urry1 @ Dec 14 2006, 18:06) *
ttron пишет -------------------------------------------
Вот пример программки для 12F675, но на 4 ключа smile.gif Все писалось давно, но проверено и работает. Ненужные части программы я выкинул, на компиляцию проверил - транслируется. Комментарии кое-какие есть. Если не подходит - не обессудьте.
----------------------------------------------------------------------------------------------------------------------------
Наверное, я все-таки бестолковый... sad.gif посмотрел листинг и не могу понять... А что он, собственно, делает ?

Читает код из таблетки, ну, а остальное я удалил, как не имеющее отношения к делу smile.gif Что непонятно-то?
urry1
[/quote]
Читает код из таблетки, ну, а остальное я удалил, как не имеющее отношения к делу smile.gif Что непонятно-то?
[/quote]
да, видимо, мне просто вредно читать листинг.. sad.gif не пойму в программе подсчета кс - когда сравнивается эталон - откуда он там появился, в оперативке ... где fsr инициализируется... ладно, работает, так работает, не парься с ответом
ttron
Цитата(urry1 @ Dec 15 2006, 10:18) *
Читает код из таблетки, ну, а остальное я удалил, как не имеющее отношения к делу smile.gif Что непонятно-то?

да, видимо, мне просто вредно читать листинг.. sad.gif не пойму в программе подсчета кс - когда сравнивается эталон - откуда он там появился, в оперативке ... где fsr инициализируется... ладно, работает, так работает, не парься с ответом

Дык он принимается в составе сообщения... Один вариант кс считаем сами и сравниваем с тем, что приняли. Насколько я помню. А fsr инициализируется в начале - как указатель на бухвер, где енто сообщение лежит smile.gif
А я и не парюсь сильно, так слегка... wacko.gif
avgust75
Журнал Радио 2003г №10
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.