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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2016-03-23T18:46:49+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=22&amp;t=14934&amp;mode</id>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2016-03-23T18:46:49+01:00</updated>
<published>2016-03-23T18:46:49+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156867#p156867</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156867#p156867"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156867#p156867"><![CDATA[
<div class="quotetitle">marek2012r napisał(a):</div><div class="quotecontent"><br />Widzę że kolega naprawdę w to dużo pracy włożył.<br /></div><br /><br />E tam dwa wieczory musiały wystarczyć, bo jak to zwykle bywa syn sobie przypomniał w ostatniej chwili że praca domowa była <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":-)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 23 mar 2016, o 18:46</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marek2012r]]></name></author>
<updated>2016-03-23T18:37:48+01:00</updated>
<published>2016-03-23T18:37:48+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156866#p156866</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156866#p156866"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156866#p156866"><![CDATA[
Widzę że kolega naprawdę w to dużo pracy włożył.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12806">marek2012r</a> — 23 mar 2016, o 18:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2016-03-23T17:24:21+01:00</updated>
<published>2016-03-23T17:24:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156862#p156862</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156862#p156862"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156862#p156862"><![CDATA[
<div class="quotetitle"><b>Quote:</b></div><div class="quotecontent"><br />Bardzo fajny projekt. Można wiedzieć jakich materiałów użył kolega do budowy tej makiety? Programowana była na AVR? Podobają mi się te sygnalizatorki. Jak zostały wykonane?<br /></div><br /><br />Co do materiałów to użyłem: tektura, papier kolorowy, słomki do picia (sygnalizatory) i klej na gorąco.<br />Steruje tym ATiny2313 z taktowana wewnętrznym kwarcem 8MHz.<br />Schemat niestety nie powstał.<br /><br />Poniżej masz kod.<br /><br />[syntax=c]/*<br /> * main.c<br /> *<br /> *  Created on: 20-05-2014<br /> *      Author: Grisza<br /> */<br /><br /><br />#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br /><br />// definicje na potrzeby programu<br />#define KEY1 (1&lt;&lt;PD5)<br /><br />typedef struct {<br /> volatile uint8_t *KPIN;<br /> uint8_t key_mask;<br /> uint8_t wait_time_s;<br /> void (*kfun1)(void);<br /> void (*kfun2)(void);<br /> uint8_t klock;<br /> uint8_t flag;<br />} TBUTTON;<br /><br /><br /><br />// led zielone 1<br />#define LED_Z1 (1&lt;&lt;PB0)<br />#define LED_DIR_Z1 DDRB<br />#define LED_PORT_Z1 PORTB<br />#define LED_PIN_Z1 PINB<br /><br />#define LED_OFF_Z1 LED_PORT_Z1 |= LED_Z1<br />#define LED_ON_Z1 LED_PORT_Z1 &amp;= ~LED_Z1<br />#define LED_TOG_Z1 LED_PORT_Z1 ^= LED_Z1<br />// led pomarańczowe 1<br />#define LED_P1 (1&lt;&lt;PB1)<br />#define LED_DIR_P1 DDRB<br />#define LED_PORT_P1 PORTB<br />#define LED_PIN_P1 PINB<br /><br />#define LED_OFF_P1 LED_PORT_P1 |= LED_P1<br />#define LED_ON_P1 LED_PORT_P1 &amp;= ~LED_P1<br />#define LED_TOG_P1 LED_PORT_P1 ^= LED_P1<br />// led czerwone 1<br />#define LED_C1 (1&lt;&lt;PB2)<br />#define LED_DIR_C1 DDRB<br />#define LED_PORT_C1 PORTB<br />#define LED_PIN_C1 PINB<br /><br />#define LED_OFF_C1 LED_PORT_C1 |= LED_C1<br />#define LED_ON_C1 LED_PORT_C1 &amp;= ~LED_C1<br />#define LED_TOG_C1 LED_PORT_C1 ^= LED_C1<br /><br />// led zielone 2<br />#define LED_Z2 (1&lt;&lt;PD2)<br />#define LED_DIR_Z2 DDRD<br />#define LED_PORT_Z2 PORTD<br />#define LED_PIN_Z2PIND<br /><br />#define LED_OFF_Z2 LED_PORT_Z2 |= LED_Z2<br />#define LED_ON_Z2 LED_PORT_Z2 &amp;= ~LED_Z2<br />#define LED_TOG_Z2 LED_PORT_Z2 ^= LED_Z2<br />// led pomarańczowe 2<br />#define LED_P2 (1&lt;&lt;PD3)<br />#define LED_DIR_P2 DDRD<br />#define LED_PORT_P2 PORTD<br />#define LED_PIN_P2 PIND<br /><br />#define LED_OFF_P2 LED_PORT_P2 |= LED_P2<br />#define LED_ON_P2 LED_PORT_P2 &amp;= ~LED_P2<br />#define LED_TOG_P2 LED_PORT_P2 ^= LED_P2<br />// led czerwone 2<br />#define LED_C2 (1&lt;&lt;PD4)<br />#define LED_DIR_C2 DDRD<br />#define LED_PORT_C2 PORTD<br />#define LED_PIN_C2 PIND<br /><br />#define LED_OFF_C2 LED_PORT_C2 |= LED_C2<br />#define LED_ON_C2 LED_PORT_C2 &amp;= ~LED_C2<br />#define LED_TOG_C2 LED_PORT_C2 ^= LED_C2<br /><br />volatile uint16_t Timer1, Timer2, Timer3, Timer4;/* timery programowe 100Hz */<br /><br /><br />// funkcja obsługi pojedynczych klawiszy<br />void key_press( TBUTTON * btn );<br /><br />// własne funkcje użytkownika<br />void change_led1(void);<br />void change_led2(void);<br /><br /><br />void Czerwone(void);<br />void Pomaranczowe(void);<br />void Zielone(void);<br /><br /><br /> uint8_t Tryb_pracy;<br /> uint8_t Przelacznik;<br /><br />TBUTTON button1; // definicja KLAWISZA<br /><br /><br />int main(void) {<br /><br />PORTD |= KEY1;  // podciągamy linie klawiszy do VCC<br /><br /><br />LED_DIR_Z1 |= LED_Z1;// kierunek WYJŚCIE<br />LED_OFF_Z1;// domyślnie włączenie podświetlenia<br />LED_DIR_P1 |= LED_P1;// kierunek WYJŚCIE<br />LED_OFF_P1;// domyślnie włączenie podświetlenia<br />LED_DIR_C1 |= LED_C1;// kierunek WYJŚCIE<br />LED_OFF_C1;// domyślnie włączenie podświetlenia<br /><br />LED_DIR_Z2 |= LED_Z2;// kierunek WYJŚCIE<br />LED_OFF_Z2;// domyślnie włączenie podświetlenia<br />LED_DIR_P2 |= LED_P2;// kierunek WYJŚCIE<br />LED_OFF_P2;// domyślnie włączenie podświetlenia<br />LED_DIR_C2 |= LED_C2;// kierunek WYJŚCIE<br />LED_OFF_C2;// domyślnie włączenie podświetlenia<br /><br /><br /><br />//USTAWIENIA TIMER0 DLA PRZERWANIA<br />TCCR0A |= (1&lt;&lt;WGM01);<br />TCCR0B |= (1&lt;&lt;CS00) | (1&lt;&lt;CS02);<br />OCR0A = 80;//78;<br />TIMSK |= (1&lt;&lt;OCIE0A);<br /><br /><br /> button1.KPIN = &amp;PIND;<br /> button1.key_mask = KEY1;<br /> button1.wait_time_s = 2;<br /> button1.kfun1 = change_led1;<br /> button1.kfun2 = change_led2;;<br /><br /><br />sei();// globalne odblokowanie przerwań<br /><br />uint8_t licznik =1;<br /><br /><br />/***************** Pętla główna**********************************/<br />while(1) {<br /><br />key_press( &amp;button1 );<br /><br /><br /><br />if(!Timer4 &amp;&amp; Tryb_pracy==0){<br /><br />Timer4 = 100;<br />LED_TOG_P1;<br /><br />LED_OFF_Z1;<br />LED_OFF_C1;<br /><br />LED_TOG_P2;<br /><br />LED_OFF_Z2;<br />LED_OFF_C2;<br /><br />}<br /><br /><br /><br /><br />if(!Timer4 &amp;&amp; Tryb_pracy==1){ // Tryb normalny pracy świateł<br /><br />if (licznik == 1){<br /><br />Czerwone();<br />licznik= 2;<br />Timer4 = 700;<br /><br />}else{<br /><br />if (licznik == 2){<br /><br />Pomaranczowe();<br />licznik= 3;<br />Timer4 = 150;<br /><br />}else{<br />if (licznik == 3){<br /><br />Zielone();<br />licznik= 4;<br />Timer4 = 700;<br /><br />}else{<br />if (licznik == 4){<br /><br />}<br />Pomaranczowe();<br />licznik= 1;<br />Timer4 = 150;<br /><br />}<br />}<br />}<br /><br />}<br /><br />}<br /><br />}<br /><br /><br />ISR(TIMER0_COMPA_vect)<br />{<br />uint16_t n;<br /><br />n = Timer1;/* 100Hz Timer1 */<br />if (n) Timer1 = --n;<br />n = Timer2;/* 100Hz Timer2 */<br />if (n) Timer2 = --n;<br />n = Timer3;/* 100Hz Timer3 */<br />if (n) Timer3 = --n;<br />n = Timer4;/* 100Hz Timer4 */<br />if (n) Timer4 = --n;<br /><br />}<br /><br /><br /><br />void key_press( TBUTTON * btn ) {<br /><br /> register uint8_t key_press = (*btn-&gt;KPIN &amp; btn-&gt;key_mask);<br /><br /> if( !btn-&gt;klock &amp;&amp; !key_press ) {<br />  btn-&gt;klock=1;<br /><br />  // reakcja na PRESS krótkie wcinięcie klawisza<br />  if(btn-&gt;kfun1) btn-&gt;kfun1();<br />  btn-&gt;flag=1;<br />  Timer1 = (btn-&gt;wait_time_s*1000)/10;<br /><br /> }<br /> else if( btn-&gt;klock &amp;&amp; key_press ) {<br />  (btn-&gt;klock)++;<br />  if( !btn-&gt;klock ) {<br />   Timer1=0;<br />   btn-&gt;flag=0;<br />  }<br /> } else if( btn-&gt;flag &amp;&amp; !Timer1 ) {<br /> // reakcja na dłuższe wcinięcie klawisza<br />  if(btn-&gt;kfun2) btn-&gt;kfun2();<br />  btn-&gt;flag=0;<br /> }<br /><br />}<br /><br />// własne funkcje użytkownika<br />void change_led1(void) {<br /><br />if(Tryb_pracy==0)<br />Tryb_pracy = 1;<br />else<br />Tryb_pracy = 0;<br /><br />}<br /><br />void change_led2(void) {<br /><br />Tryb_pracy = 2;<br />LED_OFF_P1;<br />LED_OFF_P2;<br /><br />if(Przelacznik==0){<br />Przelacznik = 1;<br />LED_ON_Z1;<br />LED_OFF_C1;<br /><br />LED_ON_Z2;<br />LED_OFF_C2;<br />}<br />else{<br />Przelacznik = 0;<br />LED_OFF_Z1;<br />LED_ON_C1;<br /><br />LED_OFF_Z2;<br />LED_ON_C2;<br />}<br /><br />}<br /><br /><br />void Czerwone(void){<br /><br />LED_ON_Z1; // Zielone<br />LED_OFF_P1; // Pomarańczowe<br />LED_OFF_C1; // Czerwone<br /><br />LED_ON_Z2; // Zielone<br />LED_OFF_P2; // Pomarańczowe<br />LED_OFF_C2; // Czerwone<br /><br />}<br />void Pomaranczowe(void){<br /><br />LED_OFF_Z1; // Zielone<br />LED_ON_P1; // Pomarańczowe<br />LED_OFF_C1; // Czerwone<br /><br />LED_OFF_Z2; // Zielone<br />LED_ON_P2; // Pomarańczowe<br />LED_OFF_C2; // Czerwone<br />}<br />void Zielone(void){<br /><br />LED_OFF_Z1; // Zielone<br />LED_OFF_P1; // Pomarańczowe<br />LED_ON_C1; // Czerwone<br /><br />LED_OFF_Z2; // Zielone<br />LED_OFF_P2; // Pomarańczowe<br />LED_ON_C2; // Czerwone<br />}[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 23 mar 2016, o 17:24</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marek2012r]]></name></author>
<updated>2016-03-23T15:28:47+01:00</updated>
<published>2016-03-23T15:28:47+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156852#p156852</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156852#p156852"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156852#p156852"><![CDATA[
<div class="quotetitle">kurnachatka napisał(a):</div><div class="quotecontent"><br />Całkiem fajnie wam wyszło.<br /><br />Też kiedyś zmajstrowałem na szybko z synem na prace technikę do szkoły coś takiego.<br /></div><br />Bardzo fajny projekt. Można wiedzieć jakich materiałów użył kolega do budowy tej makiety? Programowana była na AVR? Podobają mi się te sygnalizatorki. Jak zostały wykonane?<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12806">marek2012r</a> — 23 mar 2016, o 15:28</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[kurnachatka]]></name></author>
<updated>2016-03-23T14:37:24+01:00</updated>
<published>2016-03-23T14:37:24+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156847#p156847</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156847#p156847"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156847#p156847"><![CDATA[
Całkiem fajnie wam wyszło.<br /><br />Też kiedyś zmajstrowałem na szybko z synem na prace technikę do szkoły coś takiego.<br /><br /><br /><div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=930">kurnachatka</a> — 23 mar 2016, o 14:37</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2016-03-23T14:18:06+01:00</updated>
<published>2016-03-23T14:18:06+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156845#p156845</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156845#p156845"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156845#p156845"><![CDATA[
<div class="quotetitle">marek2012r napisał(a):</div><div class="quotecontent"><br />Za zły dział przepraszam, ale nie mogłem znaleźć odpowiedniego działu.<br /></div><br /><br />ależ się nie gniewamy ...<img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><br />nie mniej jako zły mod muszę ponarzekać <img src="https://forum.atnel.pl/images/smilies/icon_razz.gif" alt=":P" title="Pokazuje język" /> &lt;żeby się tym jeszcze kto przejmował&gt;<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 23 mar 2016, o 14:18</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marek2012r]]></name></author>
<updated>2016-03-23T14:02:37+01:00</updated>
<published>2016-03-23T14:02:37+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156842#p156842</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156842#p156842"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156842#p156842"><![CDATA[
Za zły dział przepraszam, ale nie mogłem znaleźć odpowiedniego działu.  <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> Czujników żadnych nie daliśmy. Sygnalizacja ma tylko funkcję normalnej pracy i awarii.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12806">marek2012r</a> — 23 mar 2016, o 14:02</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[SunRiver]]></name></author>
<updated>2016-03-23T13:45:14+01:00</updated>
<published>2016-03-23T13:45:14+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156838#p156838</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156838#p156838"/>
<title type="html"><![CDATA[Re: Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156838#p156838"><![CDATA[
No panie kolego najpierw po uszach ....<br />---- żebym musiał taki projekt przenosić ... no normalnie bezczelność  i zachrzaństwo prze kolegę przemawia <br /><br /><br />A teraz ....<br />---&gt; pomysł i wykonanie fajne dlatego do DIY przenoszę gdzie miejsce jego <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /><p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=58">SunRiver</a> — 23 mar 2016, o 13:45</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[marek2012r]]></name></author>
<updated>2016-03-23T09:18:21+01:00</updated>
<published>2016-03-23T09:18:21+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156816#p156816</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156816#p156816"/>
<title type="html"><![CDATA[Makieta sygnalizacji świetlnej]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=14934&amp;p=156816#p156816"><![CDATA[
Witam. Wraz z kolegami postanowiliśmy zrobić makietę. Jest to nasz pierwszy projekt więc proszę o wyrozumiałość. Całość oparta jest na mikrokontrolerze AVR Atmega8. Płytkę oraz kod robiliśmy sami. Miłego oglądania. <img src="https://forum.atnel.pl/images/smilies/icon_e_smile.gif" alt=":)" title="Szczęśliwy" /> <div style="width: 583px; height: 471px; margin: 0 auto; padding-left: 26px; padding-top: 48px; background: url('https://www.atnel.pl/download/atnel_tv.png') no-repeat;"> <strong>iframe</strong> </div><br /><br /><a href="https://obrazkiforum.atnel.pl/12806/a8051fba352b538661b9ab7a25787d07.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12806/a8051fba352b538661b9ab7a25787d07.png" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/12806/bbd341dff982c320fb0f5b31e6c4449e.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12806/bbd341dff982c320fb0f5b31e6c4449e.png" alt="Obrazek" /></a><a href="https://obrazkiforum.atnel.pl/12806/056fa3270df5d2ba6a70dfcc56da460f.png"  class="postlink"><img src="https://obrazkiforum.atnel.pl/thumb/12806/056fa3270df5d2ba6a70dfcc56da460f.png" alt="Obrazek" /></a><br /><br />[syntax=c]#include &lt;avr/io.h&gt;<br />#include &lt;avr/interrupt.h&gt;<br />            #define RED_1_2  (1&lt;&lt;PC0)//czerwone dla samochodów(1 i 2 strona)<br />            #define YEL_1_2  (1&lt;&lt;PC1)//pomarańczowe dla samochodów(1 i 2 strona)<br />            #define GRE_1_2  (1&lt;&lt;PC2)//zielone dla samochodów(1 i 2 strona)<br />            #define RED_3_4  (1&lt;&lt;PC3)//czerwone dla samochodów(3 i 4 strona)<br />            #define YEL_3_4  (1&lt;&lt;PC4)//pomarańczowe dla samochodów(3 i 4 strona)<br />            #define GRE_3_4  (1&lt;&lt;PC5)//zielone dla samochodów(3 i 4 strona)<br />            #define P_RED_1  (1&lt;&lt;PD0)//czerwone dla pieszych 1 strona<br />            #define P_GRE_1  (1&lt;&lt;PD1)//zielone dla pieszych 1 strona<br />            #define P_RED_2  (1&lt;&lt;PD2)//czerwone dla pieszych 2 strona<br />            #define P_GRE_2  (1&lt;&lt;PD3)//zielone dla pieszych 2 strona<br />            #define P_RED_3  (1&lt;&lt;PD4)//czerwone dla pieszych 3 strona<br />            #define P_GRE_3  (1&lt;&lt;PD5)//zielone dla pieszych 3 strona<br />            #define P_RED_4  (1&lt;&lt;PD6)//czerwone dla pieszych 4 strona<br />            #define P_GRE_4  (1&lt;&lt;PD7)//zielone dla pieszych 4 strona<br />#define KEY (1&lt;&lt;PB0)<br /><br />        volatile uint8_t timer;<br />        volatile uint8_t i;<br />int tab&#91;15&#93;={18,0,18,0,18,0,18,0,18,0,18,0,18,0,18};<br />        int main (void)<br />            {<br />            DDRB &amp;= ~(1&lt;&lt;PB0);//ustawienie pinu od awarii jako wyjście<br />            PORTB |= (1&lt;&lt;PB0);//podciągnięcie pinu od awarii pod VCC<br />            DDRD |= (P_RED_1|P_GRE_1|P_RED_2|P_GRE_2|P_RED_3|P_GRE_3|P_RED_4|P_GRE_4);//ustawienie pinów od sygnalizacji jako wyjścia(ruch drogowy)<br />            DDRC |= (RED_1_2|YEL_1_2|GRE_1_2|RED_3_4|YEL_3_4|GRE_3_4);//ustawienie pinów od sygnalizacji jako wyjścia(piesi)<br />            TCCR1B |= (1&lt;&lt;WGM12);//tryb CTC<br />            TCCR1B |= (1&lt;&lt;CS12);//preskaler 256<br />            OCR1A = 31249;//rejest porównania<br />            TIMSK  |= (1&lt;&lt;OCIE1A);//przerwanie timera<br />            sei();//globalne zezwolenie na przerwania<br />  while(1)<br />            {<br />if(PINB&amp;KEY){<br />                if (timer==0)<br />                    {<br />            PORTC&amp;=~(RED_3_4 |YEL_3_4 );//zgaszenie czerwone z żółtym droga z pierszeństwem<br />            PORTC|= (RED_1_2|GRE_3_4);//załączenie czerwone droga podporządkowana i zielone droga z pierszeństwem<br />            PORTD&amp;=~(P_RED_1|P_RED_2 );//zgaszenie czerwone piesi(droga podporządkowana)<br />            PORTD|=(P_GRE_1|P_GRE_2|P_RED_3|P_RED_4);//zapalenie czerwone droga z pierszeństwem/zielone podporządkowana<br />                    }<br />                else if (timer==2)<br />                {<br /><br />            PORTC&amp;= ~GRE_3_4;//zgaszenie zielone droga z pierszeństwem<br />            PORTC|=YEL_3_4;//zapalenie żółte droga z pierszeństwem<br />            PORTD&amp;=~(P_GRE_1|P_GRE_2);//zgaszenie zielone piesi(droga podporządkowana)<br />            PORTD|=(P_RED_1|P_RED_2);//zapalenie czerwone piesi(droga podporządkowana)<br /><br />                }<br />                else if (timer==4)<br />                        {<br />            PORTC&amp;=~YEL_3_4;//zgaszenie żólte droga z pierszeństwem<br />            PORTC|= RED_3_4;//zapalenie czerwone droga z pierszeństwem<br /><br /><br />                        }<br /><br />                else if (timer==6)<br />                {<br />            PORTC|= YEL_1_2;//zapalenie żółte droga podporządkowana<br />                }<br /><br />                else if (timer==8)<br />                 {<br />            PORTC&amp;=~(RED_1_2|YEL_1_2);//zgaszenie czerwone z żółtym droga podporządkowana<br />            PORTC|=GRE_1_2;//zapalenie zielone droga podporządkowana<br />            PORTD&amp;=~(P_RED_3|P_RED_4);//zgaszenie czerwone piesi (droga z pierszeństwem)<br />            PORTD|=(P_GRE_3|P_GRE_4 );//zapalenie zielone piesi (droga z pierszeństwem)<br />            }<br />                else if (timer==10)<br />                                 {<br />            PORTC&amp;=~GRE_1_2;//zgaszenie zielone droga podporządkowana<br />            PORTC|=YEL_1_2;//zapalenie żółte droga podporządkowana<br />            PORTD&amp;=~(P_GRE_3|P_GRE_4 );//zgaszenie zielone piesi droga z pierszeństwem<br />            PORTD|=(P_RED_3|P_RED_4 );//zapalenie czerwone piesi droga z pierszeństwem<br />                            }<br />                else if (timer==12)<br />            {<br />            PORTC&amp;=~YEL_1_2;//zgaszenie żółte droga podporządkowana<br />            PORTC|= (RED_1_2);//zapalenie czerwone droga podporządkowana<br /><br />            }<br />                else if (timer==14)<br />                           {<br />            PORTC|= YEL_3_4;//zapalenie żółte droga z pierszeństwem<br /><br />                           }<br />}<br /><br />else<br />        {<br />    PORTD=0;<br />    PORTC=tab&#91;i&#93;;<br /><br />}<br /><br /><br />}<br /><br /><br />            }<br />    ISR(TIMER1_COMPA_vect)<br />    {<br />    if(PINB&amp;KEY)<br />       {<br />    timer++;<br />        if (timer&gt;15)timer=0;<br />       }<br /><br />        i++;<br />        if (i&gt;15)<br />       {<br />        i=0;<br />       }<br /><br /><br /><br /><br /><br />      }[/syntax]<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=12806">marek2012r</a> — 23 mar 2016, o 09:18</p><hr />
]]></content>
</entry>
</feed>