<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="pl-pl">
<link rel="self" type="application/atom+xml" href="https://forum.atnel.pl/feed.php?f=8&amp;t=1527&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2012-09-12T15:54:51+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=8&amp;t=1527&amp;mode</id>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-12T15:54:51+01:00</updated>
<published>2012-09-12T15:54:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14960#p14960</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14960#p14960"/>
<title type="html"><![CDATA[Re: Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14960#p14960"><![CDATA[
Ale co ty chcesz obliczyć ??? Może warto od tego zacząć - bo chyba kalkulator nie kłamie - trudno żeby z takiego wzoru wyszło inaczej<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: kilkunastu sekundach ]</span></strong><br /><br />co to jest za salto-mortale (2*1024*(1+39)) ? <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />Toż jak chcesz 200Hz to robisz:<br /><br />8000000 / 1024 / 39 = ~200<br /><br />albo<br /><br />8000000 / 1024 / 200 = ~39<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 3 minutach ]</span></strong><br /><br />przed chwilą walłkowałeś temat na czacie i pisałeś tam że już zaskoczyłeś - ale widzę że dalej nie ? - wiesz co zadzwoń do mnie na Skype - to ci wytłumaczę - jeśli chcesz ? (mój nick skype: mirekk36)<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 wrz 2012, o 15:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stanley]]></name></author>
<updated>2012-09-12T15:45:51+01:00</updated>
<published>2012-09-12T15:45:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14958#p14958</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14958#p14958"/>
<title type="html"><![CDATA[Re: Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14958#p14958"><![CDATA[
Zgodnie z tym wzorem:<br /><img src="http://obrazki.elektroda.pl/6913453000_1347460987.png" alt="Obrazek" /> <br />Po kliknięciu znaku równa się otrzymamy częstotliwość równą około 98Hz. Wartość OCRn wpisałem jako 39. Dlaczego fi/o nie wychodzi 200Hz?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=305">Stanley</a> — 12 wrz 2012, o 15:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[elkuba]]></name></author>
<updated>2012-09-12T13:43:21+01:00</updated>
<published>2012-09-12T13:43:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14952#p14952</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14952#p14952"/>
<title type="html"><![CDATA[Re: Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14952#p14952"><![CDATA[
Na stronie 74 dokumentacji do ATMega32 masz rysunek 31, który wyjaśnia zasadę działania trybu CTC.<br />Pierwsze ząbki to czas zliczany przez licznik TCNTn (w naszym przypadku: TCNT0). OCn to wyjście Output Compare Match timera &quot;n&quot; (w naszym przypadku to OC0 czyli pin PB3, czyli 4 nóżka mikrokontrolera w obudowie PDIP).<br />I teraz zaczyna się cała magia <img src="https://forum.atnel.pl/images/smilies/icon_e_wink.gif" alt=";)" title="Puszcza oko" /><br />W trybie CTC wartość licznika TCNT0 porównywana jest z wpisaną przez Ciebie wartością rejestru OCR0. Gdy wartość licznika TCNT0 == OCR0 to licznik TCNT0 jest zerowany, a wyjście OC0 zmienia stan na przeciwny.<br />I teraz, gdy wartość wpisana w rejestr jest &quot;duża&quot; to czas do doliczenia się do tej wartości jest &quot;długi&quot; - vide: Period 1 oraz 2 na wspominanym rysunku. W momencie, gdy do rejestru OCR0 wpiszesz mniejszą wartość, to czas potrzebny do zliczenia impulsów jest &quot;krótszy&quot;. Jak pamiętasz, przy spełnieniu warunku TCNT0 == OCR0 wyjście OC0 zmienia stan. A im częściej zmienia stan to wyższą częstotliwość ma sygnał generowany na wyjściu OC0.<br />Do wyliczenia częstotliwości tego  sygnału służy wzór umieszczony poniżej na tej samej stronie. Te wszystkie dzielenia i tym podobne operacje matematyczne to jedynie przekształcenia tego wzoru (znany jest nam preskaler, częstotliwość jaką traktujemy mikrokontroler, częstotliwość, którą chcemy uzyskać i jedyną niewiadomą jest wartość rejestru OCR0).<br />-- edit: dodałem obrazki.<br /><a href="http://forum.atnel.pl/_obrazki/o/400_d07667410c062e8c29e8339d6a3c8d37.JPG"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/400_d07667410c062e8c29e8339d6a3c8d37.JPG" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=400">elkuba</a> — 12 wrz 2012, o 13:43</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Anonymous]]></name></author>
<updated>2012-09-12T12:46:30+01:00</updated>
<published>2012-09-12T12:46:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14948#p14948</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14948#p14948"/>
<title type="html"><![CDATA[Re: Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14948#p14948"><![CDATA[
to chcesz osiagnąć -&gt; 7813:x=200 -&gt; wiec wyliczasz ile ma wynosić x<p>Statystyki: Napisane przez Gość — 12 wrz 2012, o 12:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[MirkoT]]></name></author>
<updated>2012-09-12T12:44:33+01:00</updated>
<published>2012-09-12T12:44:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14947#p14947</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14947#p14947"/>
<title type="html"><![CDATA[Re: Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14947#p14947"><![CDATA[
A bo widzisz, musisz tak długo dzielić częstotliwość taktowania procesora aż otrzymasz taką jaka jest Ci potrzebna do sterowania wyświetlacza.<br />Gdybyś podzielił tylko przez 1024 to byłoby za mało. Dlatego wprowadzasz dodatkowy podział.<br />Żeby go wyliczyć przekształcasz wzór (czysta matematyka) i otrzymujesz podzielnik którego Ci brakuje.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=189">MirkoT</a> — 12 wrz 2012, o 12:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stanley]]></name></author>
<updated>2012-09-12T12:37:07+01:00</updated>
<published>2012-09-12T12:37:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14946#p14946</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14946#p14946"/>
<title type="html"><![CDATA[Re: Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14946#p14946"><![CDATA[
Ok, ale dalej nie rozumiem....<br />Z tego działania wynika, że sygnał o częstotliwości 7813Hz dzielę na 39 fragmentów i każdy ten fragment to częstotliwość 200Hz..<br />Sorry nie widzę tego... :/<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />a chodzi tutaj o to, że jak timer zliczy 39 impulsów sygnału o częstotliwości 7813Hz to będzie to właśnie czas 5ms..<br />i to by miało sens, tylko właśnie nie rozumiem dlaczego to wychodzi z tego równania....<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=305">Stanley</a> — 12 wrz 2012, o 12:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2012-09-12T12:31:52+01:00</updated>
<published>2012-09-12T12:31:52+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14943#p14943</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14943#p14943"/>
<title type="html"><![CDATA[Re: Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14943#p14943"><![CDATA[
Spróbuj zastanowić się od drugiej strony<br /><br />7813Hz / 39 = 200Hz <br /><br />zgadza się ?<br /><br />po prostu musisz podzielić jeszcze te 7813 przez taką liczbę żeby mieć na końcu przerwanie 200Hz  .... to powoduje że 7813 musisz podzielić przez 39 zgadza się ? A te 39 masz możliwość wpisać w rejestr porównania OCRx ... bo dzięki niemu dokonasz właśnie kolejnego podziału zliczanych 7813 impulsów przez 39 .... <br /><br />No to teraz odwrotnie jak będzie?<br /><br />7813 / 200 = 39<br /><br />tylko o to chodzi<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 12 wrz 2012, o 12:31</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Stanley]]></name></author>
<updated>2012-09-12T12:27:32+01:00</updated>
<published>2012-09-12T12:27:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14941#p14941</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14941#p14941"/>
<title type="html"><![CDATA[Działanie Timera i przeliczenia według książki]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=1527&amp;p=14941#p14941"><![CDATA[
Przerabiam ćwiczenie 5 z książki --&gt; <strong>multipleksowanie led - przerwania</strong> i nie rozumiem jednego przeliczenia w książce. Działać - działa, musi działać wiadome, ale niestety nie rozumiem dlaczego.. Przeczytałem już kilkukrotnie ten rozdział, ale nie łapię tego i nie chciałbym brać się za kolejne ćwiczenie z LCD bo gdy przyjdzie znowu przeliczanie częstotliwości to poradziłbym sobie, bo zrobię jak w książce, bo działa, a naprawdę chciałbym wiedzieć dlaczego.... Tracę dużo czasu, ale przechodzę do kolejnego ćwiczenia jeżeli 100% wszystkiego rozumiem, nie wiem czy to dobrze, bo pewnie byłbym już dawno na PWMie. Już piszę o co chodzi..<br />Skoro są 4 wyświetlacze LED to jasne jest, że przerwanie musi odbywać się co 5ms czyli z częstotliwością 200Hz, czyli 200 razy na sekundę, czyli każdy z czterech wyświetlaczy mrugnie w sumie 50 razy w ciągu jednej sekundy. <br />Częstotliwość taktowania uP wynosi 8MHz i korzystamy z Timera0.<br />Timer0 to licznik 8-bitowy więc liczy do 256, więc trzeba wstępnie podzielić tę częstotliwość przez odpowiednią wartość preskalera - wybieram 1024.<br /><strong>8 000 000Hz / 1024 = 7813Hz</strong> (zaokrąglam żeby było łatwiej mi pisać, wiem że powinny wyjść całkowite częstotliwości, no ale chodzi tutaj tylko o zasadę działania)<br />O czym mówi ta częstotliwość? Mówi o tym, że licznik w ciągu sekundy zlicza 7813 impulsy. No i nie rozumiem dlaczego:<br /><strong>7813Hz / 200Hz = 39 = OCR0</strong> Nie rozumiem sensu fizycznego tego dzielenia, dlaczego częstotliwość sygnału, który pojawia się na wejściu licznika należy podzielić przez dosłownie mówiąc &quot;odwrotność okresu co jaki wykonywane jest przerwanie&quot;. Może to dzielenie wynika z jakiegoś wzoru czy proporcji i jako ostateczna postać to w uproszczeniu dzielenie?<br />Z góry dziękuję.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=305">Stanley</a> — 12 wrz 2012, o 12:27</p><hr />
]]></content>
</entry>
</feed>