Zostaje ci jeszcze jedna możliwość, opomiarowanie sieci dla mnie uważam podstawowa.
Zawsze chcę mieć pewność, że peryferia są ok zanim obarczę problemem soft w procku.
Zrób emulację działąnia sieci 1 Wire na PC tzn.
Przetestuj całą sięć segmentami , ściągnij z netu soft do
http://www.grzesiek21.republika.pl/termo.htm
{ niestety program pozwala na komunikację tylko z jednym DS1820 na raz}
Jest to program, który pozwoli ci sprawdzić koncepcje toru od strony działąnia DS-ów oraz ich wymagania co do interface, jest zresztą opisany na tej stronce "schemat zastępczy interface 1 Wire- RS-232".
Później podłącz pod magistralę jakiś prosty rejestrator cyfrowych przebiegów, najlepiej w kilku miejscach sieci przy kilku DS1820 po kolei.
Oscyloskop cyfrowy służący do rejestrowania i prezentacji przebiegów cyfrowych odczytywanych z wejść portu szeregowego. http://www.grzesiek21.republika.pl/download/osccyfr.zip
Mając w ręce specyfikację DS 1820 będziesz mógł przeanalizować czy rzeczywiście komunikacja ma miejsce na graficznym zapisie przebiegu w komputerze, czy przebiegi w kilku miejscach sieci spełniają wymagania 1 wire itd. itd.
Na koniec tą samą sieć wysteruj w AT89C2051 i sprawdź co tym razem się wydarzy, czy rzeczywiście mikroprocek realizuje swoje zadania, może czasowo wprowadź duże opóżnienia lub jakieś znaczniki żeby debugować zaproponowaną przez siebie procedurkę.
Być może problemem są zbyt szybko po sobie następujące zapytania lub obciążenie magistrali wogóle, powyższy zestaw wiele ci wyjaśni.
Jeśli twoim problemem jest brak oscyloskopu to proponuje prosty oscyloskop oparty na karcie dźwiękowej, zawsze możesz go szybko przeskalować stosując sygnal prostokątny TTL 0-5 V lub jakiś inny znany ci przebieg.
http://free.of.pl/z/zlabs/design/download.htm
I zobaczycz to czego nie widzisz
w końcu przecież to tylko protokół komunikacyjny i to 1 parowy.
Wieć przebiegi w funkcji czasu wiele mogą wyjaśnić, szczególnie czy masz odpowiedzi od poszczególnych DS .
Stosowałem ten rejestrator do "rozgryzania" kodów pilotów podczerwieni i był całkiem spoko
Dodano po 6 [minuty]: Oscyloskop przyda ci się aby sprawdzić zgodność poziomów na magistrali.
A pętle warto wstawić oczekiwanie na przyciśniecie przycisku to łatwiej będzie ci zsynchronizować rejestrację z generowanymi przebiegami - np. uruchamiasz rejestrator i naciskasz przycisk "puszczając" pakiety 1-wire.
Dodano po 1 [minuty]: Przycisk w sensie wejście w AT89C2051 Oczywiście