|
|
  |
Pic16f73 + Ibutton |
|
|
|
Dec 12 2006, 21:37
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 2-10-06
Пользователь №: 20 895

|
проблема в том, что нужна прошивка для пика на асме, програмка должна проверять наличие ключа-идентификатора на шине, считывать код, и проверять его с искомым. у меня есть примерчик программы(если нужно скину), но там мало комментов и я ничего не понимаю, т.к. не знаю самого алгоритма, а в даташитах всё оч прозрачно.
|
|
|
|
|
Dec 14 2006, 10:33
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 14-12-06
Пользователь №: 23 498

|
Цитата(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-х мегагерцового пика (задержки)
|
|
|
|
|
Dec 14 2006, 15:33
|

Частый гость
 
Группа: Свой
Сообщений: 134
Регистрация: 1-06-05
Из: Москва
Пользователь №: 5 634

|
Цитата(Hellka @ Dec 12 2006, 21:37)  проблема в том, что нужна прошивка для пика на асме, програмка должна проверять наличие ключа-идентификатора на шине, считывать код, и проверять его с искомым. у меня есть примерчик программы(если нужно скину), но там мало комментов и я ничего не понимаю, т.к. не знаю самого алгоритма, а в даташитах всё оч прозрачно. Вот пример программки для 12F675, но на 4 ключа  Все писалось давно, но проверено и работает. Ненужные части программы я выкинул, на компиляцию проверил - транслируется. Комментарии кое-какие есть. Если не подходит - не обессудьте.
Прикрепленные файлы
DSrd.zip ( 25.48 килобайт )
Кол-во скачиваний: 106
--------------------
"Регистрируй, наблюдай, экономь микросекунду, зря вопрос не задавай, не запоминай ерунду" (с) не помню, чье
|
|
|
|
|
Dec 14 2006, 16:59
|
Участник

Группа: Новичок
Сообщений: 16
Регистрация: 2-10-06
Пользователь №: 20 895

|
кстати, в схеме между ибаттон и пиком на землю обычно цепляется подтягивающий резистор, никто не знает,как его номиналы вычисляются. И какие номиналы тока и напряжения на этой линии?
|
|
|
|
|
Dec 14 2006, 17:26
|

Частый гость
 
Группа: Свой
Сообщений: 134
Регистрация: 1-06-05
Из: Москва
Пользователь №: 5 634

|
Цитата(Hellka @ Dec 14 2006, 16:59)  кстати, в схеме между ибаттон и пиком на землю обычно цепляется подтягивающий резистор, никто не знает,как его номиналы вычисляются. И какие номиналы тока и напряжения на этой линии? По-моему Вы ошибаетесь. Подтягивать надо к питанию, да все есть в даташитах. Вот у меня какой-то завалялся, а вообще надо посмотреть на сайте Maxim-IC
Эскизы прикрепленных изображений
--------------------
"Регистрируй, наблюдай, экономь микросекунду, зря вопрос не задавай, не запоминай ерунду" (с) не помню, чье
|
|
|
|
|
Dec 14 2006, 17:40
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 14-12-06
Пользователь №: 23 498

|
на +5 вольт около 4,7 кОм - на расстояние до 20 метров.
|
|
|
|
|
Dec 14 2006, 18:06
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 14-12-06
Пользователь №: 23 498

|
ttron пишет ------------------------------------------- Вот пример программки для 12F675, но на 4 ключа  Все писалось давно, но проверено и работает. Ненужные части программы я выкинул, на компиляцию проверил - транслируется. Комментарии кое-какие есть. Если не подходит - не обессудьте. ---------------------------------------------------------------------------------------------------------------------------- Наверное, я все-таки бестолковый...  посмотрел листинг и не могу понять... А что он, собственно, делает ?
Сообщение отредактировал urry1 - Dec 14 2006, 18:09
|
|
|
|
|
Dec 14 2006, 22:49
|

Частый гость
 
Группа: Свой
Сообщений: 134
Регистрация: 1-06-05
Из: Москва
Пользователь №: 5 634

|
Цитата(urry1 @ Dec 14 2006, 18:06)  ttron пишет ------------------------------------------- Вот пример программки для 12F675, но на 4 ключа  Все писалось давно, но проверено и работает. Ненужные части программы я выкинул, на компиляцию проверил - транслируется. Комментарии кое-какие есть. Если не подходит - не обессудьте. ---------------------------------------------------------------------------------------------------------------------------- Наверное, я все-таки бестолковый...  посмотрел листинг и не могу понять... А что он, собственно, делает ? Читает код из таблетки, ну, а остальное я удалил, как не имеющее отношения к делу  Что непонятно-то?
--------------------
"Регистрируй, наблюдай, экономь микросекунду, зря вопрос не задавай, не запоминай ерунду" (с) не помню, чье
|
|
|
|
|
Dec 15 2006, 10:18
|
Участник

Группа: Новичок
Сообщений: 54
Регистрация: 14-12-06
Пользователь №: 23 498

|
[/quote] Читает код из таблетки, ну, а остальное я удалил, как не имеющее отношения к делу  Что непонятно-то? [/quote] да, видимо, мне просто вредно читать листинг..  не пойму в программе подсчета кс - когда сравнивается эталон - откуда он там появился, в оперативке ... где fsr инициализируется... ладно, работает, так работает, не парься с ответом
|
|
|
|
|
Dec 15 2006, 17:03
|

Частый гость
 
Группа: Свой
Сообщений: 134
Регистрация: 1-06-05
Из: Москва
Пользователь №: 5 634

|
Цитата(urry1 @ Dec 15 2006, 10:18)  Читает код из таблетки, ну, а остальное я удалил, как не имеющее отношения к делу  Что непонятно-то? да, видимо, мне просто вредно читать листинг..  не пойму в программе подсчета кс - когда сравнивается эталон - откуда он там появился, в оперативке ... где fsr инициализируется... ладно, работает, так работает, не парься с ответом Дык он принимается в составе сообщения... Один вариант кс считаем сами и сравниваем с тем, что приняли. Насколько я помню. А fsr инициализируется в начале - как указатель на бухвер, где енто сообщение лежит А я и не парюсь сильно, так слегка...
--------------------
"Регистрируй, наблюдай, экономь микросекунду, зря вопрос не задавай, не запоминай ерунду" (с) не помню, чье
|
|
|
|
|
Feb 13 2007, 21:54
|
Группа: Новичок
Сообщений: 3
Регистрация: 13-02-07
Пользователь №: 25 331

|
Журнал Радио 2003г №10
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|