реклама на сайте
подробности

 
 
> Чтение Touch memory (IButton) Help!
opv88
сообщение Apr 3 2009, 16:32
Сообщение #1





Группа: Новичок
Сообщений: 9
Регистрация: 3-04-09
Пользователь №: 47 128



Помогите пожалуйста с чтением IButton!
Собираю схему системы доступа на основе Touch Memory (микроконтроллер at89c2051). За основу брал следующие статьи:
1. http://www.ibutton.ru/about/applications/ - применение устройств ibutton
2. http://www.radioland.net.ua/sxemaid-116.html - “Электронный замок с ключами ibutton”
3. Журнал «Схемотехника» №12, 2001
4. Журнал «Радио» №3, 2001
5. Журнал «Радио» №2, 2001

Немного изменил схему электронного замка (добавил MAX232 для связи с COM портом, поменял немного элементов). Реализовал обмен с COM-портом без проблем, но никак не могу считать данные с ds1990A. Пытался найти процедуру для чтения в файлах прошивок исходных статей, но они там громоздкие и в них практически невозможно разобраться такому дилетанту как мне. Симулирую работу микроконтроллера в протеусе. Подскажите, плиз, можно где-нибудь найти отдельно простенькую подпрограмму чтения ibutton на ассемблере? Помогите плиз, уже несколько недель бьюсь над этим вопросом, но никак не получается!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
opv88
сообщение Apr 17 2009, 11:48
Сообщение #2





Группа: Новичок
Сообщений: 9
Регистрация: 3-04-09
Пользователь №: 47 128



Вроде разобрался, всем кто помогал спасибо. Вот, написал код:
READING:
CLR DATA_BIT
NOP
NOP
NOP
NOP
MOV DATA_BIT, C
Mov Data,C
Mov A,#25
DJNZ A,$
Inc Count64
Mov A,Count64
CJNE A,#01000000B,READING
RET ; Return to caller.
Count64 - счетчик, в нем изначально 0. Считает до 64.
На осциллограмме все ОК. Код верный, только в обратном порядке как и команда, но так вроде и надо.
Go to the top of the page
 
+Quote Post
Палыч
сообщение Apr 17 2009, 12:54
Сообщение #3


Гуру
******

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



Цитата(opv88 @ Apr 17 2009, 14:48) *
Вот, написал код... На осциллограмме все ОК. Код верный, только в обратном порядке как и команда, но так вроде и надо.
На осциллограмме может быть и всё ОК. Только я не виже: где же Вы в своей программе производите считывание состояния линии и занесение считанной информации в память или регистр?
Go to the top of the page
 
+Quote Post
opv88
сообщение Apr 17 2009, 14:24
Сообщение #4





Группа: Новичок
Сообщений: 9
Регистрация: 3-04-09
Пользователь №: 47 128



Цитата(Палыч @ Apr 17 2009, 16:54) *
На осциллограмме может быть и всё ОК. Только я не виже: где же Вы в своей программе производите считывание состояния линии и занесение считанной информации в память или регистр?


Пока не заношу сам ко в регистр, но это не проблема уже. Главное было разобраться с самим 1-wire, а занести в регистр думаю получится, но код естественно, побольше будет. Но мне кажется что это вряд ли вызовет проблему. Только придется наверное интервал разбивать на 2 и читать состояние таблетки где-то в середине...

Сообщение отредактировал opv88 - Apr 17 2009, 14:34
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th July 2025 - 20:34
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016