Witam.
Od jakiegoś czasu zajmuję się mikrokontrolerami i posiadam już pewne doświadczenie w tym kierunku.
Ostatnio miałem jednak sporą przerwę... aż do teraz - trafił mi się termometr do zmontowania.
Zbudowałem więc prosty układ: Atmega88+DS1820 jak na foto poniżej:
(Czarne przewody to plus i minus zasilania podłączone odpowiednio do wejść zasilających atmegi, natomiast linia danych czujnika podłączona jest do pierwszego pinu procka powyżej wejść zasilających.)
W procku znajduje się następujący program:
No i teraz najistotniejsze. Dlaczego nie działa??
Wg. mnie powinno przynajmniej znaleźć układ i odczytać nr seryjny.
Już brakuje mi pomysły co jest nie tak:/.
Za odpowiedzi z góry dziękuję.
Ps. To pewnie jakaś drobna rzecz o której zapomniałem, ale za nic nie mogę wykombinować co to jest...:/
Od jakiegoś czasu zajmuję się mikrokontrolerami i posiadam już pewne doświadczenie w tym kierunku.
Ostatnio miałem jednak sporą przerwę... aż do teraz - trafił mi się termometr do zmontowania.
Zbudowałem więc prosty układ: Atmega88+DS1820 jak na foto poniżej:
(Czarne przewody to plus i minus zasilania podłączone odpowiednio do wejść zasilających atmegi, natomiast linia danych czujnika podłączona jest do pierwszego pinu procka powyżej wejść zasilających.)
W procku znajduje się następujący program:
$regfile = "m88def.dat"
$crystal = 7372800
Config Pinb.2 = Output
Config 1wire = Portd.4
'Config 1wire = Portb.0
Config Lcd = 16 * 2
Config Lcdpin = Pin , Db4 = Portc.0 , Db5 = Portc.1 , Db6 = Portc.2 , Db7 = Portc.3 , E = Portc.4 , Rs = Portc.5
Swiatelko Alias Portb.2
Dim Reg_no(8) As Byte
Dim I As Byte , W As Word
Set Swiatelko 'podświetlanie lcd
Pocz:
Cls
Reg_no(1) = 1wsearchfirst()
Locate 2 , 1
For I = 1 To 8
Lcd Hex(reg_no(i)) ;
Next I
Locate 1 , 1
Lcd "ile.ukl="
W = 1wirecount()
Lcd W ; " bld?="
Reg_no(1) = 1wsearchfirst()
1wverify Reg_no(1)
Lcd Err
Waitms 500
Goto Pocz:
End
No i teraz najistotniejsze. Dlaczego nie działa??
Wg. mnie powinno przynajmniej znaleźć układ i odczytać nr seryjny.
Już brakuje mi pomysły co jest nie tak:/.
Za odpowiedzi z góry dziękuję.
Ps. To pewnie jakaś drobna rzecz o której zapomniałem, ale za nic nie mogę wykombinować co to jest...:/
