<?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=4&amp;t=7657&amp;mode" />

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2014-07-03T16:19:50+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=7657&amp;mode</id>
<entry>
<author><name><![CDATA[#99]]></name></author>
<updated>2014-07-03T16:19:50+01:00</updated>
<published>2014-07-03T16:19:50+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86554#p86554</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86554#p86554"/>
<title type="html"><![CDATA[Re: przetwornik adc + wyświetlacz led]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86554#p86554"><![CDATA[
Problem rozwiązany w sposób następujący:<br />[syntax=c]ISR(TIMER0_COMPA_vect)<br />{<br />ADCSRA |= (1&lt;&lt;ADEN); //ADC ON<br />ADCSRA |= (1&lt;&lt;ADSC);<br />ADCSRA &amp;= ~(1&lt;&lt;ADEN); //ADC OF<br />anode &lt;&lt;= 1;<br />if(anode &gt; 32) anode = 4;<br />}[/syntax]<br /><br />czyli włączenie adc, pomiar oraz wyłączenie w procedurze przerwania odpowiadającej za multipleksowanie wyświetlacza led.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4052">#99</a> — 3 lip 2014, o 16:19</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[#99]]></name></author>
<updated>2014-07-03T14:14:29+01:00</updated>
<published>2014-07-03T14:14:29+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86547#p86547</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86547#p86547"/>
<title type="html"><![CDATA[Re: przetwornik adc + wyświetlacz led]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86547#p86547"><![CDATA[
<div class="quotetitle">Człowiek_Zlew napisał(a):</div><div class="quotecontent"><br />Robiłem wczoraj idetyczne ćwiczenie, musiałem zmiejszyć preskaler ADC, i zwiekszyc przerwania do multipleksowania LED.<br /></div><br />Zwiększyć częstotliwość przerwań czy odstęp czasu pomiędzy przerwaniami?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4052">#99</a> — 3 lip 2014, o 14:14</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Człowiek_Zlew]]></name></author>
<updated>2014-07-03T13:55:22+01:00</updated>
<published>2014-07-03T13:55:22+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86543#p86543</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86543#p86543"/>
<title type="html"><![CDATA[Re: przetwornik adc + wyświetlacz led]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86543#p86543"><![CDATA[
Robiłem wczoraj idetyczne ćwiczenie, musiałem zmiejszyć preskaler ADC, i zwiekszyc przerwania do multipleksowania LED.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=2106">Człowiek_Zlew</a> — 3 lip 2014, o 13:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[#99]]></name></author>
<updated>2014-07-03T14:03:38+01:00</updated>
<published>2014-07-03T13:52:31+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86542#p86542</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86542#p86542"/>
<title type="html"><![CDATA[przetwornik adc + wyświetlacz led]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=7657&amp;p=86542#p86542"><![CDATA[
Witam!<br />Chciałbym dokonywać w miarę płynnych pomiarów przetwornikiem adc wbudowanym w atmege 328P i zawartość rejestru ADC wyświetlić na 4-rech 7-mio segmentowych ledach ( wspólna anoda). Sam wyświetlacz działa ok i sam przetwornik też ale jak je połączę to kicha - wyświetla się tylko jedna, pierwsza cyfra tak jakby procedura przerwania nie zmieniała anody. Oto kod programu:<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;util/delay.h&gt;<br /><br /><br />#define ADC_PIN 1&lt;&lt;PC5<br /><br />#define ANODE1_PIN (1&lt;&lt;PB2)<br />#define ANODE2_PIN (1&lt;&lt;PB3)<br />#define ANODE3_PIN (1&lt;&lt;PB4)<br />#define ANODE4_PIN (1&lt;&lt;PB5)<br /><br />#define BUZZ_PIN (1&lt;&lt;PB1)<br /><br /><br />volatile  uint8_t anode = 4;<br /><br />int main(void)<br />{<br />//---------------------- ADC --------------------------------------<br />ADCSRA |= (1&lt;&lt;ADEN); //ADC ON<br /><br /><br />ADCSRA |= (1&lt;&lt;ADPS2) | (1&lt;&lt;ADPS1) | (1&lt;&lt;ADPS0); //preskaler 128<br />ADCSRA |= (1&lt;&lt;ADIE);<br /><br />ADMUX |= (1&lt;&lt;REFS1) | (1&lt;&lt;REFS0);<br />ADMUX |= (1&lt;&lt;MUX2) | (1&lt;&lt;MUX0);<br />//------------------------------------------------------------------<br /><br />//--------------------- TIMER0 -------------------------<br />TCCR0A |= (1&lt;&lt;WGM01);<br />TCCR0B |= (1&lt;&lt;CS02); //256<br />OCR0A = 100;<br />TIMSK0 |= (1&lt;&lt;OCIE0A);<br />//------------------------------------------------------<br /><br />DDRB |= ANODE1_PIN | ANODE2_PIN | ANODE3_PIN | ANODE4_PIN | BUZZ_PIN;<br />DDRC &amp;= ~ADC_PIN;<br />DDRD |= 0xFF;<br /><br />PORTB |=  ANODE1_PIN | ANODE2_PIN | ANODE3_PIN | ANODE4_PIN | BUZZ_PIN;<br />PORTD = 0x00;<br /><br /><br />uint8_t matrix_number&#91;11&#93; = { 0xC0 , 0xF9 , 0xA4 , 0xB0 , 0x99 , 0x92 , 0x82 , 0xF8 , 0x80 , 0x90 , 0x9C };<br /><br />sei();<br /><br />while(1)<br />{<br />ADCSRA |= (1&lt;&lt;ADSC);<br /><br />PORTB = ~anode;<br />PORTD = matrix_number&#91;2&#93;;<br />}<br /><br />}<br /><br />ISR(TIMER0_COMPA_vect)<br />{<br />anode &lt;&lt;= 1;<br />if(anode &gt; 32) anode = 4;<br />}[/syntax]<br /><br />Na razie program powinien włączać przetwornik, dokonywać pomiaru i wyświetlać tą samą cyfrę z tablicy. Jeśli to się uda będę pisał dalej.<br />Proszę o pomoc.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=4052">#99</a> — 3 lip 2014, o 13:52</p><hr />
]]></content>
</entry>
</feed>