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

<title>ATNEL tech-forum</title>
<link href="https://forum.atnel.pl/index.php" />
<updated>2013-08-25T19:38:57+01:00</updated>

<author><name><![CDATA[ATNEL tech-forum]]></name></author>
<id>https://forum.atnel.pl/feed.php?f=12&amp;t=3979&amp;mode</id>
<entry>
<author><name><![CDATA[matekogon]]></name></author>
<updated>2013-08-25T19:38:57+01:00</updated>
<published>2013-08-25T19:38:57+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3979&amp;p=47049#p47049</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3979&amp;p=47049#p47049"/>
<title type="html"><![CDATA[Re: sterownik napędu &quot;pinoli&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3979&amp;p=47049#p47049"><![CDATA[
Zamiast &quot; exit do&quot; zrób tam flage opuszczenia np wyj=1 i dopisz koło loop until wyj=1 powinieneś w tedy opuszczać pętle, aaa i pod loop wyzeruj tą zmienną<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=1380">matekogon</a> — 25 sie 2013, o 19:38</p><hr />
]]></content>
</entry>
<entry>
<author><name><![CDATA[Jacek]]></name></author>
<updated>2013-08-25T19:15:23+01:00</updated>
<published>2013-08-25T19:15:23+01:00</published>
<id>https://forum.atnel.pl/viewtopic.php?t=3979&amp;p=47047#p47047</id>
<link href="https://forum.atnel.pl/viewtopic.php?t=3979&amp;p=47047#p47047"/>
<title type="html"><![CDATA[sterownik napędu &quot;pinoli&quot;]]></title>

<content type="html" xml:base="https://forum.atnel.pl/viewtopic.php?t=3979&amp;p=47047#p47047"><![CDATA[
Witam - próbuje napisać program sterownika napędu &quot;pinoli&quot; do wiertarko-frezarki TS7016.<br />Mikro kontroler Atmega 16.<br />Na tą chwilę program wygląda tak:<br />[syntax=basic4gl]'--------------------------------------------------------------<br />' STEROWNIK NAPĘDU PINOLI<br />' WIERTARKO FREZARKI TS 7016<br />$regfile = &quot;m16def.dat&quot;<br />$crystal = 16000000<br />'$baud = 19200<br />$hwstack = 64<br />$swstack = 32<br />$framesize = 64<br />$lib &quot;glcd.lib&quot;<br />'---------------------------------------<br />Config Timer0 = Timer , Prescale = 8<br />On Timer0 Speed_<br /><br /><br />'------------------------------------<br />'konfiguracja LCD<br />'------------------------------------<br />'Config Lcd = 16 * 4<br />'Config Lcdpin = Pin , Rs = Portc.2 , E = Portc.3 , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7<br />Config Graphlcd = 240 * 128 , Dataport = Porta , Controlport = Portc , Ce = 5 , Cd = 6 , Wr = 3 , Rd = 4 , Reset = 7 , Fs = 10 , Mode = 6<br />'Config Graphlcd = 240 * 128 , Dataport = Portb , Controlport = Portd , Ce = 5 , Cd = 6 , Wr = 3 , Rd = 4 , Reset = 7 , Fs = 10 , Mode = 6<br />'Szybki sposób na cyferki:<br />'1. Wyłącz wygładzanie czcionek w systemie Windows (Zaawansowane ustawienia systemu -&gt; Zaawansowane -&gt; Wydajność -&gt; Efekty wizualne -&gt; Wygładź krawędzie czcionek ekranowych)<br />'2. Uruchom WordPad'a, wybierz rozmiar i rodzaj czcionki, napisz 0 1 2 3 4 5 6 7 8 9 Wink<br />'3. zrób zrzut ekranu klawiszem Print Screen.<br />'4. Uruchom GIMP'a i wklej obraz.<br />'5. ustaw rozmiar siatki na 8x8, wyświetl siatkę.<br />'6. powiększ obszar pracy np. 400% (nie chodzi mi o przeskalowywanie obrazu)<br />'7. metodą wytnij, kopiuj i wklej porozstawiaj cyfry tak żeby wszystkie miały tą samą szerokość i wysokość (wielokrotność 8). Na przykładowym obrazku widać cyfry zajmują obszar 5 na 6 (40x48).<br />'8. Jeżeli cyferki są już porozstawiane, wytnij pojedynczo cyferki i wklej jako nowe obrazy, wszystkie cyfry mają mieć ten sam rozmiar (rozmiar ma być wielokrotnością liczby 8)<br />'9. Jeżeli tło jest czarne a cyfry białe to zrób inwersje (Kolory-&gt;Inwersja)<br />'10. Zrób konwersje do trybu indeksowanego (Obraz -&gt; Tryb -&gt; Indeksowany.. -&gt; paleta czarno-biała 1 bitowa)<br />'11. Zapisz jako BMP, w Bascomie zrób konwersje na BGF<br />'12. Można też zapisać cyfrę w formacie Obraz PBM *.pbm (binarny), i po usunięciu nagłówka w hex edytorze, mamy czystą bitmapę np. dla wyświetlacza T6963.<br /><br />'Nagłówek pliku PBM ma różne długości, kończy się rozmiarem bitmapy np. 240x128:<br />'Kod:<br />'P4, 0x0A<br />'# CREATOR: GIMP PNM Filter Version 1.1, 0x0A<br />'240, 0x0A<br />'128, 0x0A<br />'------------------------------------<br />' konfiguracja portów<br />'------------------------------------<br />Config Debounce = 30<br />Config Portb.0 = Output<br />Config Portb.1 = Output<br />Config Portb.2 = Input<br />Config Portb.3 = Input<br />Config Portb.4 = Output<br />Config Portb.5 = Output<br />Config Portb.6 = Input<br />Config Portb.7 = Input<br />Portb = &amp;B11111111<br />Config Pinc.0 = Input<br />Set Portc.0<br />'Config Portc.1 = Output<br />'Portc = &amp;B11111111<br />Config Pind.2 = Input<br />Config Pind.3 = Input<br />Config Pind.4 = Input<br />Portd = &amp;B11111111<br />'------------------------------<br />'przypisanie zmiennych<br />Dim Line1 As String * 30<br />Dim Line2 As String * 30<br />Dim Line3 As String * 30<br />Dim Line4 As String * 30<br />Dim Podzial_ As Byte<br />Dim E As Long<br />Dim A As Long<br />Dim B As Single<br />Dim C As Single<br />Dim Zadana_ As Long<br />'-------------------------------<br />'alasy portów<br />'------------------------------<br />Step_ Alias Portb.0<br />Test_rigol Alias Portb.1<br />Home_ Alias Pinb.2<br />Limit_ Alias Pinb.3<br />Enable_ Alias Portb.4<br />Dir_ Alias Portb.5<br />Up Alias Pinb.6<br />Down Alias Pinb.7<br />Set_ Alias Pinc.0<br />Kanal_a Alias Pind.2<br />Kanal_b Alias Pind.3<br /><br /><br />'--------------------------<br />' włączenie timer'ów<br />'------------------------<br />Enable Interrupts<br />Enable Timer0<br />Load Timer0 = 250<br /><br /><br />'-------------------------------<br />Config Int0 = Falling<br />   On Int0 Enkoder<br />Enable Interrupts<br />   Enable Int0<br />'------------------------------<br />'ustawienia poczatkowe<br />'-------------------------------<br />E = 0<br />Zadana_ = 0<br />Cursor Off<br />Cls<br />Gosub Start_lcd<br />'----------------------------------<br />'program<br />'-----------------------------------<br />Do<br /><br />Debounce Home_ , 1 , Bazowanie_home , Sub                   'jeśli Home_=1 skocz do podprogramu Bazowanie_home<br />Debounce Set_ , 0 , Set_zadana , Sub                        'jeśli wciśnięty przycisk set_ skocz do podprogramu set_zadana<br /><br />Loop<br />End<br /><br /><br />Start_lcd:<br />Cls<br />Locate 1 , 17 : Lcd &quot;STEROWNIK&quot;<br />Locate 2 , 15 : Lcd &quot;NAPEDU PINOLI&quot;<br />Locate 3 , 8 : Lcd &quot;WIERTARKO FREZARKI TS 7016&quot;<br />Wait 1<br />Gosub Wyswietlanie_<br /><br /><br />Wyswietlanie_:<br />Cls<br />Locate 1 , 1 : Lcd &quot;ZADANA GLEBOKOSC &quot; ; Zadana_ ; &quot;     &quot;<br />Locate 3 , 1 : Lcd &quot;WCISNIJ SET ABY USTAWIC &quot;<br />Return<br /><br /><br /><br /><br />'-------------------------<br />'podprogram bazowanie_home<br />'-------------------------<br />Bazowanie_home:<br />Do<br /><br />Cls<br />If Up = 1 And Down = 1 And Home_ = 1 Then<br />End If<br />Locate 1 , 5 : Lcd &quot;MUSISZ ZBAZOWAC KRANCOWKE HOME&quot;<br />Locate 3 , 15 : Lcd &quot;WCISNIJ UP            &quot;<br />Debounce Up , 0 , Gora_ , Sub<br /><br />Loop Until Home_ = 0 : Set Enable_<br /><br />'--------------------------<br />'podprogram gora_<br />'--------------------------<br />Gora_:<br />Reset Enable_<br />Set Dir_<br />Cls<br />Locate 2 , 10 : Lcd &quot;   JAZDA GORA   &quot;<br />If Home_ = 0 Then<br />   Gosub Stop_<br />End If<br />Return<br /><br />'---------------------<br />'podprogram dol_<br />'---------------------<br />Dol_:<br />Reset Enable_<br />Reset Dir_<br />Cls<br />Locate 2 , 10 : Lcd &quot;   JAZDA DOL    &quot;<br />Return<br /><br />'-----------------------<br />'podprogram stop_<br />'-----------------------<br />Stop_:<br />Set Enable_<br />Locate 2 , 10 : Lcd &quot;      STOP      &quot;<br />Wait 1<br />Gosub Wyswietlanie_<br />Return<br /><br />'---------------------<br />'podprogram enkodera<br />'---------------------<br />Enkoder:<br />Disable Int0<br />If Pind.2 = 0 Then<br />   If Pind.3 = 0 Then<br />   Incr E<br />   Else<br />   Decr E<br />   End If<br /><br />End If<br />Enable Int0<br /><br />Return<br /><br />'------------------<br />'podprogram odmierzania 1s<br />'-----------------------<br />Speed_:<br />Load Timer0 = 250<br />Incr Podzial_<br />If Podzial_ = 5 Then<br />Podzial_ = 0<br />Toggle Step_<br />Toggle Test_rigol<br />End If<br />Return<br /><br />'--------------------------<br />'podprogram set_zadana<br />'--------------------------<br />Set_zadana:<br /><br />Cls<br /><br />Do<br /><br />'Debounce Up , 0 , Plus , Sub<br />If Up = 0 Then<br />   Waitms 25<br />      If Up = 0 Then<br />         Incr Zadana_<br />         If Zadana_ &gt; 0 Then<br />            Zadana_ = 0<br />         End If<br />     End If<br />End If<br /><br />'Debounce Down , 0 , Minus , Sub<br />If Down = 0 Then<br />   Waitms 25<br />If Down = 0 Then<br />Decr Zadana_<br />      End If<br />End If<br /><br />Locate 1 , 1 : Lcd &quot;ZADANA  &quot; ; Zadana_ ; &quot;     &quot;<br /><br />If Zadana_ &lt; 0 And Set_ = 0 Then<br /><br />Exit Do<br />End If<br />Loop[/syntax]<br /><br />problem polega na tym że, nie mogę wyjść z podprogramu set_zadana - co robię źle - pozdrawiam Jacek.<p>Statystyki: Napisane przez <a href="https://forum.atnel.pl/memberlist.php?mode=viewprofile&amp;u=193">Jacek</a> — 25 sie 2013, o 19:15</p><hr />
]]></content>
</entry>
</feed>