nabazgrałem a raczej posklejałem jakiś tam programik do odczytu godziny z zegara DS1307, ale nie chce działać. jedyne co się wyświetla na wyświetlaczu to: 05:05:05 sam program wygląda tak: macie jakieś sugestie? $PROG &HFF , &HA4 , &HD9 , &H00 $regfile = "m8def.dat" $crystal = 8000000 $baud = 19200 '$lib "mcsbyte.lbx" $lib "ds1307clock.lib" $eepleave $hwstack = 40 $swstack = 16 $framesize = 40 '======================================================= '=== zdeifiniowanie znaku [] i [+] dla malego bajeru === '======================================================= Deflcdchar 0 , 27 , 17 , 17 , 17 , 17 , 17 , 17 , 27 ' [] Deflcdchar 1 , 27 , 17 , 21 , 31 , 31 , 21 , 17 , 27 ' [+] config LCD = 16 * 2 CONFIG LCDPIN = PIN , DB4 = pind.4 , DB5 = pind.5 , DB6 = pind.6 , DB7 = pind.7 , E = pind.3 , RS = pind.2 config pinb.6 = input config sda = portc.3 config scl = portc.4 i2cinit ft alias pinb.6 const ds1307w = 208 const ds1307r = 209 dim a as byte dim wartosc as byte dim sekundy as byte dim minuty as byte dim godziny as byte sekundy = 0 minuty = 0 godziny = 0 sekundy = makebcd(sekundy) minuty = makebcd(minuty) godziny = makebcd(godziny) cursor off cls '========================================================================================== '=== tu maly bajer w postaci zapalania sie postepujacego paska pseudoladowania programu === '========================================================================================== home locate 1 , 5 lcd "loading" locate 2 , 1 lcd chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; chr(0) ; locate 2 , 1 for a = 1 to 16 waitms 500 lcd chr(1) next a gosub zapis_do_zegara do home i2cstart i2cwbyte ds1307w i2cwbyte 0 i2cstart i2cwbyte ds1307r i2crbyte sekundy , ack i2crbyte minuty , ack i2crbyte godziny , nack i2cstop sekundy = makedec(sekundy) minuty = makedec(minuty) godziny = makedec(godziny) waitms 500 cls wartosc = makebcd(godziny) lcd bcd(wartosc) ; ":" wartosc = makebcd(minuty) lcd bcd(wartosc) ; ":" wartosc = makebcd(sekundy) lcd bcd(wartosc) '======================================================================================= '=== tu specjalnie spowolnilem zeby sprawdzic jakie stany wystawiaja linie SDA i SCL === '======================================================================================= lowerline lcd "PC.3=" ; pinc.3 ; " " lcd "PC.4=" ; pinc.4 ; " " locate 1 , 10 lcd "FT=" ; ft wait 1 cls loop end zapis_do_zegara: i2cstart i2cwbyte ds1307w i2cwbyte 0 i2cwbyte sekundy i2cwbyte minuty i2cwbyte godziny i2cstop return mały EDIT: wiecie coś na ten temat?
|
|||
Re: Ds1307
A czy zasilanie główne spełnia wymagania układu Ds..... Może jest źle stabilizowane. Popatrz czy twoj schemat składa się z tych samych elementów co w karcie katalogowej
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Re: Ds1307
myślę że firma PROPOX nie puściła bubla i wszystko zrobiła jak trzeba. kwarc dla układu ds jest od razu przy nim. może za duże napięcie zasilania baterii jest dla tegoż układu?
stabilizacja całości wydaję się być ok. można nawet regulować napięcie na wyjściu stabilizatorka.
jak w pełni naładuję bateryjkę umieszczoną na płytce to wtedy fiksuje, natomiast jak tylko trochę bateria się rozładuje to wszystko wydaje się być ok. czy może być to wina właśnie tej baterii? niestety nie mam w tej chwili miernika żadnego pod ręką i nie mogę stwierdzić jakie panuje napięcie na wejściu Vbat.
na przykład w tej chwili (22.07.2010 godz. 15:40) wszystko działa poprawnie.
Moja strona w powijakach
Re: DS1307
Zasilanie powinno być tak jak dla mikrokontrolera 4.5-5.5V a na baterii może być max 3.5V, typowo 3V ze standardowej baterii litowej CR2032
UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.
Re: DS1307
tam siedzi jakiś mały pakiecik złożony z 3 sztuk NiMH. razem dają 3,5V. w każdym razie w tej chwili po odłączeniu baterii podtrzymującej działa jak złoto.
cos musi byc nie tak w obwodzie tej bateryjki. tu musi leżeć gdzieś problem.
Moja strona w powijakach