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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-11-29T22:17:32+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=4&amp;t=4955&amp;mode</id>
<entry>
<author><name><![CDATA[kurys]]></name></author>
<updated>2013-11-29T22:17:32+01:00</updated>
<published>2013-11-29T22:17:32+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59100#p59100</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59100#p59100"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59100#p59100"><![CDATA[
Faktycznie pierwsza diagnoza Mirka była trafna - błąd w połączeniach. Dodanie w kodzie maskowania właściwie nie zmieniło sytuacji, natomiast wina chyba leży w płytce stykowej. Nie było połączenia między kilkoma pinami a segmentami (i to na całej linii) i po przepięciu mikrokontrolera parę razy w inne miejsca nie wyświetla mi już tylko kropki. Nie no tak banalnego rozwiązania to się nie spodziewałem... Niemniej dzięki wszystkim, którzy angażowali się w rozwiązanie problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Teraz wiem, że stykówce nie wolno ufać do końca.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1863">kurys</a> — 29 lis 2013, o 22:17</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[OdeOn]]></name></author>
<updated>2013-11-29T19:54:51+01:00</updated>
<published>2013-11-29T19:54:51+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59082#p59082</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59082#p59082"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59082#p59082"><![CDATA[
No to wyświetlacz chińczyk. Na popularnym serwisie z chińskimi produktami można takie znaleźć z takim opisem:<br />Product description:<br />1, onboard 8 digital tube, 0.36 inches of red common anode 4;<br />2, four on-board 8550 transistor driven in parallel;<br />3, onboard 4-bit drivers drive current limiting resistor and eight segments limiting resistor;<br />4 Operating voltage: 3.3V-5V;<br />5, pin extraction Top pin include a VCC pin, 4-bit driving pin (D1, D2, D3, D4), the 8 segments drive pins (A, B, C, D, E, F, G, DP);<br />6, board size: 33.5 (mm) x21 (mm);<br /><br />Czyli zawiera rezystory i tranzystory PNP.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1407">OdeOn</a> — 29 lis 2013, o 19:54</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurys]]></name></author>
<updated>2013-11-29T17:24:08+01:00</updated>
<published>2013-11-29T17:24:08+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59065#p59065</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59065#p59065"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59065#p59065"><![CDATA[
Pod wieczór dopiero będę mógł sprawdzić czy te podmiany w plikach pomogą i dam Wam znać.<br /><br />Poprosiłem Botland o schemat i dostałem odpowiedź, że jedyne dane jakie posiadają od producenta to te: <!-- m --><a class="postlink" href="http://www.lctech-inc.com/Hardware/Detail.aspx?id=e998dc78-ae38-4ca9-9077-da7f6ed85076" >http://www.lctech-inc.com/Hardware/Deta ... 7f6ed85076</a><!-- m --> może to coś rozjaśni w kwestiach podłączenia.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1863">kurys</a> — 29 lis 2013, o 17:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[adamekp]]></name></author>
<updated>2013-11-29T14:37:46+01:00</updated>
<published>2013-11-29T14:37:46+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59043#p59043</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59043#p59043"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59043#p59043"><![CDATA[
Widzę wszyscy wysypują sie na tym samym błędzie co ja czyli maskowanie bitów w przerwaniu.<br />skąd to w Twoim kodzie?<br />[syntax=c]ANODY_PORT = ~licznik;[/syntax]<br /><br />Chyba powinno być<br />[syntax=c]ANODY_PORT = (ANODY_PORT &amp; 0b11110000) | (~licznik &amp; 0b00001111);[/syntax]<br />lub<br />[syntax=c]ANODY_PORT = (ANODY_PORT &amp; 0xF0) | (~licznik &amp; 0x0F);[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1298">adamekp</a> — 29 lis 2013, o 14:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[OdeOn]]></name></author>
<updated>2013-11-29T14:29:20+01:00</updated>
<published>2013-11-29T14:29:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59042#p59042</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59042#p59042"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59042#p59042"><![CDATA[
<div class="quotetitle">Ryszard56 napisał(a):</div><div class="quotecontent"><br />A gdzie rezystory, tranzystory? Ten wyświetlacz tak &quot;na żywca&quot; podłączony do Atmegi?<br /></div><br />Pisałem wyżej jak anody steruje sie stanem niskim to prawdopodobnie siedzą już tam tranzystory i pewnie rezystory.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1407">OdeOn</a> — 29 lis 2013, o 14:29</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2013-11-29T14:38:17+01:00</updated>
<published>2013-11-29T14:09:07+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59039#p59039</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59039#p59039"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59039#p59039"><![CDATA[
Podmień sobie plik d_led.c tym kodem:<br />[syntax=c]/*<br /> * d_led.c<br /> *<br /> *  Created on: 2010-03-30<br /> *       Autor: Mirosław Kardaś<br /> */<br />#include &lt;avr/io.h&gt;// dołączenie głównego systemowego  pliku nagłówkowego<br />#include &lt;avr/interrupt.h&gt;// dołączenie pl. nagłówkowego potrzebnego do obsł. przerwań<br />#include &lt;avr/pgmspace.h&gt;// dołączenie pl. nagłówkowego potrzebnego do odczytu<br />// danych zawartych w pamięci programu FLASH<br /><br />#include &quot;d_led.h&quot;// dołączenie naszego pliku nagłówkowego<br />// w nim znajdują się potrzebne tu m.in. definicje preprocesora<br /><br />// definicje zmiennych globalnych przechowujących cyfry do wyświetlania<br />// volatile – ponieważ będą wykorzystywane do odczytu i zapisu zarówno w przerwaniu i programie<br />// głównym. Trzeba więc wyłączyć optymalizację dostępu do nich. (zmienne ulotne)<br />volatile uint8_t cy1;<br />volatile uint8_t cy2;<br />volatile uint8_t cy3;<br />volatile uint8_t cy4;<br /><br /><br /><br />// definicja tablicy zawierającej definicje bitowe cyfr LED<br />uint8_t cyfry&#91;15&#93; PROGMEM = {<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F),// 0<br />~(SEG_B|SEG_C),// 1<br />~(SEG_A|SEG_B|SEG_D|SEG_E|SEG_G),// 2<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_G),// 3<br />~(SEG_B|SEG_C|SEG_F|SEG_G),// 4<br />~(SEG_A|SEG_C|SEG_D|SEG_F|SEG_G),// 5<br />~(SEG_A|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),// 6<br />~(SEG_A|SEG_B|SEG_C|SEG_F),// 7<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),// 8<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_F|SEG_G),// 9<br />0xFF// NIC (puste miejsce)<br />};<br /><br /><br /><br />// ****** definicja funkcji inicjalizującej pracę z wyświetlaczem multipleksowanym<br />void d_led_init(void)<br />{<br />LED_DATA_DIR = 0xFF;   // wszystkie piny portu C jako WYJŚCIA(katody)<br />LED_DATA = 0xFF;// wygaszenie wszystkich katod – stan wysoki<br />ANODY_DIR |= CA1 | CA2 | CA3 | CA4;// 4 piny portu A jako WYJŚCIA (anody wyświetlaczy)<br />ANODY_PORT |= CA1 | CA2 | CA3  | CA4;// wygaszenie wszystkich wyświetlaczy - anody<br /><br />        TCCR2 = (1&lt;&lt;WGM21); //tryb CTC w Timer2<br />        TCCR2 |= (1&lt;&lt;CS22) | (1&lt;&lt;CS21) | (1&lt;&lt;CS20); //preskaler 1024<br />        OCR2 = 38; //dodatkowy podział przez 38<br />        TIMSK |= (1&lt;&lt;OCIE2); //zezwolenie na przerwanie<br />}<br /><br /><br />// ================= PROCEDURA OBSŁUGI PRZERWANIA – COMPARE MATCH<br />ISR(TIMER0_COMP_vect)<br />{<br />static uint8_t licznik=1;// zmienna do przełączania kolejno anod wyrwietlacza<br /><br />ANODY_PORT = (ANODY_PORT | MASKA_ANODY);// wygaszenie wszystkich wyświetlaczy<br /><br /><br />if(licznik==1) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy1&#93; );// gdy zapalony wyśw.1 podaj stan zmiennej c1<br />else if(licznik==2) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy2&#93; );// gdy zapalony wyśw.2 podaj stan zmiennej c2<br />else if(licznik==4) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy3&#93; );// gdy zapalony wyśw.3 podaj stan zmiennej c3<br />else if(licznik==8) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy4&#93; );// gdy zapalony wyśw.4 podaj stan zmiennej c4<br /><br />ANODY_PORT = (ANODY_PORT &amp; ~MASKA_ANODY) | (~licznik &amp; MASKA_ANODY);// cykliczne przełączanie kolejnej anody w każdym przerwaniu<br /><br />// operacje cyklicznego przesuwania bitu zapalającego anody w zmiennej licznik<br />licznik &lt;&lt;= 1;// przesunięcie zawartości bitów licznika o 1 w lewo<br />if(licznik&gt;8) licznik = 1;// jeśli licznik większy niż 8 to ustaw na 1<br />}[/syntax]<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 2 minutach ]</span></strong><br /><br /><div class="quotetitle">Ryszard56 napisał(a):</div><div class="quotecontent"><br />A gdzie rezystory, tranzystory? Ten wyświetlacz tak &quot;na żywca&quot; podłączony do Atmegi?<br /></div><br /><br />Zerknij oczywiści tutaj czy masz wszystko tak jak trzeba.<br /><!-- m --><a class="postlink" href="http://atnel.pl/Upload/image/atb104/instrukcja/atb_104_sch.png" >http://atnel.pl/Upload/image/atb104/ins ... 04_sch.png</a><!-- m --><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 29 lis 2013, o 14:09</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Ryszard56]]></name></author>
<updated>2013-11-29T14:02:34+01:00</updated>
<published>2013-11-29T14:02:34+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59038#p59038</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59038#p59038"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59038#p59038"><![CDATA[
A gdzie rezystory, tranzystory? Ten wyświetlacz tak &quot;na żywca&quot; podłączony do Atmegi?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=962">Ryszard56</a> — 29 lis 2013, o 14:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurys]]></name></author>
<updated>2013-11-29T13:55:30+01:00</updated>
<published>2013-11-29T13:55:30+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59036#p59036</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59036#p59036"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59036#p59036"><![CDATA[
Fakt, o resecie zapomniałem, ale to również nie pomogło. Na schemacie zapomniałem dodać kropki - wtedy LED_VCC zmieni mi się na PROG_VCC. Właśnie próbowałem to zmienić.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1863">kurys</a> — 29 lis 2013, o 13:55</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2013-11-29T13:49:33+01:00</updated>
<published>2013-11-29T13:49:33+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59035#p59035</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59035#p59035"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59035#p59035"><![CDATA[
Na schemacie LED_VCC masz niepodłączone, oczywiście jak byś zrobił płytkę z tego schematu.<br /><br /><strong><span style="color: #808000">------------------------ [ Dodano po: 1 minucie ]</span></strong><br /><br />I podciągnięcie RESET przez rezystor do VCC<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 29 lis 2013, o 13:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurys]]></name></author>
<updated>2013-11-29T13:56:31+01:00</updated>
<published>2013-11-29T13:39:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59034#p59034</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59034#p59034"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59034#p59034"><![CDATA[
<div class="quotetitle">kurnachatka napisał(a):</div><div class="quotecontent"><br />Zajrzyj do tego tematu<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic4941.html" >topic4941.html</a><!-- l --><br />Prawdopodobnie musisz uaktualnić sobie D_LED.c<br /></div><br /><br />Wprowadziłem poprawki (w nagłówkowym oczywiście też) i nie pomogło.<br /><br /><div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Może właśnie pominąłęś te podłączenie VCC?<br /></div><br /><br />To także jest podłączone. Dodaję schemat, co prawda lekko uproszczony, bo bez tego wyświetlacza w pełni (no tak wcześniej nie wpadłem na to, że te piny to można &quot;poetykietować&quot;). PROG_VCC i PROG_GND odnoszą się do programatora, LED_VCC to właśnie przewód VCC do wyświetlacza.<br /><br /><a href="http://forum.atnel.pl/_obrazki/o/1863/19cd525d366d71b00a73afab062cbd31.jpg"  class="postlink"><img src="http://forum.atnel.pl/_obrazki/o/thumb/1863/19cd525d366d71b00a73afab062cbd31.jpg" alt="Obrazek" /></a><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1863">kurys</a> — 29 lis 2013, o 13:39</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[OdeOn]]></name></author>
<updated>2013-11-29T13:05:53+01:00</updated>
<published>2013-11-29T13:05:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59031#p59031</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59031#p59031"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59031#p59031"><![CDATA[
<div class="quotetitle">kurys napisał(a):</div><div class="quotecontent"><br />Botland niestety nie udostępnił datasheetu do swojego (dokładnie ten: <!-- m --><a class="postlink" href="http://botland.com.pl/wyswietlacze-lcd/" >http://botland.com.pl/wyswietlacze-lcd/</a><!-- m --> ... anoda.html)<br /></div><br /><br />Dziwne że nie udostepniają schematu, bo wygląda na to że oprócz samych wyświetlaczy znajduja się tam pewnie tranzystory do sterowania anod i rezystory do katod, ale to tylko domysły. Z opisu wynika że aby coś wyświetlić to na anode stan niski (na pozostałe wygaszone VCC) i na katody stan niski. a zasilanie na VCC. <br />Może właśnie pominąłęś te podłączenie VCC?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1407">OdeOn</a> — 29 lis 2013, o 13:05</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2013-11-29T12:44:10+01:00</updated>
<published>2013-11-29T12:44:10+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59027#p59027</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59027#p59027"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59027#p59027"><![CDATA[
Zajrzyj do tego tematu<br /><!-- l --><a class="postlink-local" href="http://forum.atnel.pl/topic4941.html" >topic4941.html</a><!-- l --><br />Prawdopodobnie musisz uaktualnić sobie D_LED.c<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 29 lis 2013, o 12:44</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurys]]></name></author>
<updated>2013-11-29T12:36:41+01:00</updated>
<published>2013-11-29T12:36:41+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59025#p59025</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59025#p59025"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59025#p59025"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ...<br /></div><br /><br />Wiem, wiem, tak myślałem, że za to mi się oberwie, ale właśnie jeśli miałem dać byle jaki schemat, to wolałem go nie robić, bo nie mam w Eagle biblioteki do takiego poczwórnego wyświetlacza, a Botland niestety nie udostępnił datasheetu do swojego (dokładnie ten: <!-- m --><a class="postlink" href="http://botland.com.pl/wyswietlacze-lcd/1663-modul-4-x-wyswietlacz-7-segmentowy-wsp-anoda.html" >http://botland.com.pl/wyswietlacze-lcd/ ... anoda.html</a><!-- m -->) i nawet nie wiem jakiej nazwy wyszukać w sieci, żeby znaleźć dodatkowe informacje. Chociaż właściwie mogę odpalić poradnik do tworzenia bibliotek, który zrobiłeś i samemu coś dodać. Ale naprawdę wolałem nie dodawać schematu &quot;z painta&quot;, bo też sam wolałbym na Waszym miejscu widzieć normalnie narysowane połączenia.<br /><br />Krzysztof, po podłączeniu całości bezpośrednio do masy wszystkie wyświetlacze i diody działają.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1863">kurys</a> — 29 lis 2013, o 12:36</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[krzysztoffx]]></name></author>
<updated>2013-11-29T11:51:53+01:00</updated>
<published>2013-11-29T11:51:53+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59016#p59016</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59016#p59016"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59016#p59016"><![CDATA[
a jeśli wysterujesz wszystkie anody i wszystkie katody to wyświetlacze świecą na czerwono? nie ma sensu multipleksować jeśli nie działają same diody wyświetlaczy to utrudnia znacznie znalezienie problemu <img src="https://forum.atnel.pl/images/smilies/icon_e_sad.gif" alt=":(" title="Smutny" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1459">krzysztoffx</a> — 29 lis 2013, o 11:51</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[mirekk36]]></name></author>
<updated>2013-11-29T11:49:40+01:00</updated>
<published>2013-11-29T11:49:40+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59015#p59015</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59015#p59015"/>
<title type="html"><![CDATA[Re: Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59015#p59015"><![CDATA[
eeeeeh panowie ile razy trzeba jeszcze powtórzyć że przy czymś takim to <br /><br />SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... SCHEMAT ... <br /><br />sorki ale to jest (no niech się kolega nie obrazi) ale totalny bezsens - bo dwa dni temu wisi na forum identyczny wątek (zresztą nie po raz pierwszy i nie ostatni) ... i wina gdzie ? ... jak zwykle w schemacie albo w połączeniach<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=54">mirekk36</a> — 29 lis 2013, o 11:49</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurys]]></name></author>
<updated>2013-11-29T11:46:20+01:00</updated>
<published>2013-11-29T11:46:20+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59013#p59013</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59013#p59013"/>
<title type="html"><![CDATA[Multipleksowanie LED - nie działa]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=4955&amp;p=59013#p59013"><![CDATA[
Jak kolega mustang tak i ja stanąłem na ćwiczeniu nr 3. Pokrótce wyjaśnię wykonanie:<br /><br />Wyświetlacz to 4x 7-segmentowy LED ze wspólną anodą. Do wykonania użyłem Atmegi8 z wewnętrznym oscylatorem 8Mhz, Segmenty A-G podłączyłem kolejno do pinów PD0-PD7, natomiast anody wyświetlaczy w ten sposób: 1 do PC3, 2 do PC2, 3 do PC1 i 4 do PC0. Kody programów pisane i wgrywane za pomocą Eclipse. Dodatkowo do przerwania korzystam z Timera2, bo w nim znalazłem możliwość zastosowania CTC. W porównaniu do przykładu z książki to chyba jedyne różnice sprzętowe i programowe.<br /><br />Podłączyłem wyświetlacz no i... nie działa. Połączenia sprawdzałem parę razy i wczoraj i dzisiaj <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> jednak gdybym nawet źle podłączył segmenty czy poszczególne wyświetlacze, to pewnie cokolwiek by się wyświetliło, tyle że błędnie - a tak nie mam nic. Nie wiem czy może w main.c mi czegoś brakuje, żeby to ruszyło, czy może mam błąd z tym przerwaniem, bo też trochę się z nim namęczyłem. Jak zobaczycie w kodach, nie stosowałem maskowania, bo do mikrokontrolera podłączony jest tylko wyświetlacz i na razie chcę go samego odpalić.<br /><br />Za wszelkie diagnozy będę bardzo wdzięczny. Dodam, że wyświetlacz pracuje po podłączeniu go do masy ręcznie. W mkAvrCalculator ustawiłem tylko częstotliwość jeżeli to pomogłoby wyeliminować jakieś możliwe błędy.<br /><br />Poniżej zamieszczam kody:<br /><br />main.c<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &quot;d_led.h&quot;<br /><br />int main(void)<br />{<br />d_led_init();<br /><br />cy1 = 1;<br />cy2 = 4;<br />cy3 = 9;<br />cy4 = 5;<br /><br />sei();<br /><br />while(1)<br />{<br /><br />}<br />}[/syntax]<br /><br />d_led.c<br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />#include &lt;avr/pgmspace.h&gt;<br />#include &quot;d_led.h&quot;<br /><br />volatile uint8_t cy1;<br />volatile uint8_t cy2;<br />volatile uint8_t cy3;<br />volatile uint8_t cy4;<br /><br />uint8_t cyfry&#91;20&#93; PROGMEM = {<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F),//0<br />~(SEG_B|SEG_C),//1<br />~(SEG_A|SEG_B|SEG_D|SEG_E|SEG_G),//2<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_G),//3<br />~(SEG_B|SEG_C|SEG_F|SEG_G),//4<br />~(SEG_A|SEG_C|SEG_D|SEG_F|SEG_G),//5<br />~(SEG_A|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),//6<br />~(SEG_A|SEG_B|SEG_C|SEG_F),//7<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E|SEG_F|SEG_G),//8<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_F|SEG_G),//9<br />~(SEG_A|SEG_B|SEG_C|SEG_E|SEG_F|SEG_G),//A<br />~(SEG_A|SEG_D|SEG_E|SEG_F|SEG_G),//E<br />~(SEG_B|SEG_C|SEG_E|SEG_F),//H<br />~(SEG_A|SEG_B|SEG_C|SEG_D|SEG_E),//J<br />~(SEG_D|SEG_E|SEG_F),//L<br />0xFF,<br />};<br /><br />void d_led_init(void)<br />{<br />LED_DATA_DIR = 0xFF;<br />LED_DATA = 0xFF;<br /><br />ANODY_DIR |= CA1 | CA2 | CA3 | CA4;<br />ANODY_PORT |= CA1 | CA2 | CA3 | CA4;<br /><br />TCCR2 = (1&lt;&lt;WGM21); //tryb CTC w Timer2<br />TCCR2 |= (1&lt;&lt;CS22) | (1&lt;&lt;CS21) | (1&lt;&lt;CS20); //preskaler 1024<br />OCR2 = 38; //dodatkowy podział przez 38<br />TIMSK |= (1&lt;&lt;OCIE2); //zezwolenie na przerwanie<br />}<br /><br />ISR(TIMER2_COMP_vect)<br />{<br />static uint8_t licznik = 1;<br />ANODY_PORT = ~licznik;<br /><br />if(licznik == 1) LED_DATA = pgm_read_byte ( &amp;cyfry&#91;cy1&#93; );<br />else if(licznik == 2) LED_DATA = pgm_read_byte( &amp;cyfry&#91;cy2&#93; );<br />else if(licznik == 4) LED_DATA = pgm_read_byte ( &amp;cyfry&#91;cy3&#93; );<br />else if(licznik == 8) LED_DATA = pgm_read_byte ( &amp;cyfry&#91;cy4&#93; );<br /><br />licznik &lt;&lt;= 1;<br />if(licznik &gt; 8) licznik = 1;<br />}[/syntax]<br /><br />d_led.h<br /><br />[syntax=c]#ifndef D_LED_H_<br />#define D_LED_H_<br /><br />#define LED_DATA PORTD<br />#define LED_DATA_DIR DDRD<br />#define ANODY_PORT PORTC<br />#define ANODY_DIR DDRC<br /><br />#define CA1 (1&lt;&lt;PC3)<br />#define CA2 (1&lt;&lt;PC2)<br />#define CA3 (1&lt;&lt;PC1)<br />#define CA4 (1&lt;&lt;PC0)<br /><br />#define SEG_A (1&lt;&lt;0)<br />#define SEG_B (1&lt;&lt;1)<br />#define SEG_C (1&lt;&lt;2)<br />#define SEG_D (1&lt;&lt;3)<br />#define SEG_E (1&lt;&lt;4)<br />#define SEG_F (1&lt;&lt;5)<br />#define SEG_G (1&lt;&lt;6)<br />#define SEG_DP (1&lt;&lt;7)<br /><br />extern volatile uint8_t cy1;<br />extern volatile uint8_t cy2;<br />extern volatile uint8_t cy3;<br />extern volatile uint8_t cy4;<br /><br />void d_led_init(void);<br /><br /><br />#endif /* D_LED_H_ */[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1863">kurys</a> — 29 lis 2013, o 11:46</p><hr />
]]></content>
</entry>
</feed>