Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: DS18B20
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
alexxack
Уважаемые форумчане помогите с датчиком. Прошивку взял с какого то форума выкинул из кода куски работы с дисплеем и оставил только код работы с датчиком. при совпадении с температурой должны зажигаться светодиоды на порту D. Порт PB0 используется для работы с датчиком.
Genadi Zawidowski
Цитата(alexxack @ Sep 12 2013, 16:09) *
Уважаемые форумчане помогите с датчиком. Прошивку взял с какого то форума выкинул из кода куски работы с дисплеем и оставил только код работы с датчиком. при совпадении с температурой должны зажигаться светодиоды на порту D. Порт PB0 используется для работы с датчиком.

а в чём, собственно, проблема?
kovigor
Цитата(alexxack @ Sep 12 2013, 15:09) *
Прошивку взял с какого то форума выкинул из кода куски работы с дисплеем

Теперь осталось выкинуть все остальное, взять CodeVision, в котором есть готовая библиотека для работы с этим датчиком, и написать свой проект самому. Это в 100 раз полезнее и познавательнее.
P.S. Посмотрел архив. Вникать в чужой проект на АСМе - то еще удовольствие. Рекомендую сделать проект самому, написав его на Си ...
alexxack
Цитата(Genadi Zawidowski @ Sep 12 2013, 16:14) *
а в чём, собственно, проблема?

Датчик выдает в порты только 1-цы


Цитата(kovigor @ Sep 12 2013, 16:15) *
Теперь осталось выкинуть все остальное, взять CodeVision, в котором есть готовая библиотека для работы с этим датчиком, и написать свой проект самому. Это в 100 раз полезнее и познавательнее.
P.S. Посмотрел архив. Вникать в чужой проект на АСМе - то еще удовольствие. Рекомендую сделать проект самому, написав его на Си ...

Дело в том что проект в который будет внедрен данный кусок кода написан на асме и написать что либо на си не вариант.
kovigor
Цитата(alexxack @ Sep 12 2013, 15:27) *
Датчик выдает в порты только 1-цы
Дело в том что проект в который будет внедрен данный кусок кода написан на асме и написать что либо на си не вариант.

Ну, тогда самому вникать в чужой проект, или писать свой. Или сразу писать весь проект на Си, а не на АСМе, что почти наверняка сэкономит массу сил и времени.
А пока можете посмотреть осциллографом, что реально происходит на шине. И вот еще что: порт, к которому подключен датчик, правильно настроен ?

А вот еще, с самого начала:
Код
;*****************************************************
        ldi        wreg, 0xFF; Portb выход
        out        DDRD, wreg
;******************************************************

Выход ? И что туда выводится ? Ноль, судя по даташиту на МК. А так можно ? Вы вот тут же пишете:

Код
rcall     ds_reset     ; вызов обнуления линии

..............

ds_reset:
        cbi         PORTB,    PB0

А зачем, если там и без того ноль ?
Это первый косяк. А сколько их еще ? Может, вы их лучше сами переловите ?
ILYAUL
Код
ds_reset:

        cbi         PORTB,    PB0

        ldi        wreg, 0xFF            ; Portb выход
        out        DDRB, wreg

        ldi     wreg,     209            ; обнуление 600мкс
        rcall     ds_delay
        
        ldi        wreg, 0xFE            ; Portb.0 вход
        out        DDRB, wreg
        
        ldi     wreg,     209         ; принятие импульса присутствия 600мкс
        rcall     ds_delay

Где возврат из этой подпрограммы , где проверка присутствия датчика?

Цитата
весь проект на Си, а не на АСМе, что почти наверняка сэкономит массу сил и времени.
Ну не надо , я Вас умоляю. biggrin.gif
Палыч
Цитата(kovigor @ Sep 12 2013, 16:39) *
Это первый косяк. А сколько их еще ?

Функция ds_reset - какая-то странная: похоже, что что-то от неё случайно "отрезали". Возможно, "принятие импульса присутствия 600мкс" - так и задумано: не принимать, а просто пропустить по-времени... Но! Куда пропал оператор ret ?
Catcatcat
Вот ссылка на библиотеку http://catcatcat.d-lan.dp.ua/skachat/bibli...aturyi-ds18b20/ может пригодиться. Библиотека для работы по одной шине до 16 датчиков.
Игoрь
могу поделиться своей рабочей программкой для тини13, дс1820 и дисплея нокия 1202
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.