RTV forum PL | NewsGroups PL

Jak szybko napisać program na PIC12F509 do monitorowania wejść i generowania impulsów?

PIC12F509 - w czym napisać program? początkujący

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Jak szybko napisać program na PIC12F509 do monitorowania wejść i generowania impulsów?

Goto page Previous  1, 2, 3, 4, 5  Next

gargamel
Guest

Sun Nov 16, 2008 11:22 pm   



Użytkownik "Obserwator" napisał:
Quote:
Asembler PICów jest bardzo przyjemny - to tylko 35 instrukcji, można się
błyskawicznie nauczyć.
Dla początkujących są też sympatyczne książeczki (np. te z BTC - może
gdzieś w bibliotece pożyczysz).

można by sie zgodzić że jest prosty, ale jako jedną z zalet ma rozdzielenie
pamięci programu i danych:O)
a operowanie na nich jest juz troszkę namotane i wymaga ciagłej kontroli i
ustawiania znaczników w rejestrach, przynajmniej ja odniosłem takie wrazenie
po lekturze, nie programowałem PICa więc z praktyki nie wiem, ale takie
odniosłem wrażenie

mk
Guest

Sun Nov 16, 2008 11:34 pm   



Irokez pisze:
Quote:
Użytkownik "Lukasz Spychalski" <luspych@spamfe.polbox.com> napisał w
wiadomości news:5656584.lylK3q0WOS@wieszak...


Fajowe, ale nie ma PIC12F509 Sad są tylko z serii 12F6xx

Widzę że Asembler pozostaje.

Faktycznie... sam poniżej f675 nie schodziłem i zdawało mi się, że jest
wszystkomający.

Jest jeszcze pascalopodobny Jal i Jalv2 na licencji GPL. Sam pisałem
tylko w
starym Jalu na f84, ale wśród plików Jalv2 jest definicja f509.

Tak sobie oglądam datasheeta 12F509 i program jest 12 bitowy? To znaczy
operuje się cały czas 12 bitowym słowem?

Jedna instrukcja jest kodowana do jednego 12 bitowego słowa.
Operujesz na danych 8 bitowych.

Quote:
Rejestry "normalnie" już 8 bitowe. Czyli wpisując coś do rejestru trzeba
najstarsze 4 bity słowa ustawić na 0?

Nie. Nie ma nic ponad 8 bitów jeśli chodzi o rejestry danych. Do pamięci
programu (która jest zbiorem słów 12 bitowych) nie masz możliwości się
odwoływać.

Quote:
Timer też 8 bitowy... Nie zauważyłem słowa "interrupt" - nie ma przerwań
tylko trzeba czytać rejestry?

Nie ma przerwań Sad(((( ...poza resetem. (mowa o rodzinie "baseline")

Quote:
Asembler fajowy, 33 komendy.

Ja mam zupełnie inne odczucia. Asembler może i prosty, ale lista
instrukcji wcale nie taka ortogonalna jak ją reklamują. Do tego
różniaste bankowania, pewne fragmenty kodu muszą się znaleźć w
określonych miejscach w pamięci (podprogramy) i wiele innych. IMHO taki
mały potworek - łatwy do opanowania bo prymitywny, ale jednak potworek.

pzdr
mk

Adam Dybkowski
Guest

Mon Nov 17, 2008 12:37 am   



Andrzej pisze:

Quote:
Jeśli to nie jednorazowa sprawa, a działałeś na 8051, sprawdź, czy nie
byłoby Ci łatwiej programować procesory Atmel.
Nie chcę rozpętywać kolejnej świętej wojny, ale mi bardziej pasują.

Jak Atmel zrobi AVRy miniaturki 6-pinowe w obudowie SOT23 to będzie o
czym pogadać. Na razie tylko Microchip wypuścił takie cudeńka.

A i tak przyszłość Atmela wisi na włosku, bo Microchip pewnie kupi jego
dział procków. Myślicie, że będą dalej produkować AVRy - tyle że z logo
Microchipa? :-(

http://www.ft.com/cms/s/0/c6f9188a-90aa-11dd-8abb-0000779fd18c.html

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

Adam Dybkowski
Guest

Mon Nov 17, 2008 12:40 am   



Obserwator pisze:

Quote:
Asembler PICów jest bardzo przyjemny - to tylko 35 instrukcji, można się
błyskawicznie nauczyć.

Asembler może tak. Ale adresowanie od początku było źle przemyślane i
przy programowaniu w ASM większego PICa (16F8cośtam) wychodziła mi co
chwilę potrzeba przełączania się między 4 bankami danych oraz
wydziwionych skoków pomiędzy 4 bankami kodu. Kompletna tragedia. Na
szczęście teraz PICów w firmie nie muszę się dotykać.

--
Adam Dybkowski
http://dybkowski.net/

Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.

mk
Guest

Mon Nov 17, 2008 12:52 am   



Adam Dybkowski pisze:
Quote:
A i tak przyszłość Atmela wisi na włosku, bo Microchip pewnie kupi jego
dział procków. Myślicie, że będą dalej produkować AVRy - tyle że z logo
Microchipa? :-(

http://www.ft.com/cms/s/0/c6f9188a-90aa-11dd-8abb-0000779fd18c.html

Uszy do góry, może nie będzie tak źle:
http://www.atmel.com/dyn/corporate/view_detail.asp?ref=&FileName=AtmelBoardofDirectorsResponse_10_29.html&SEC_NAME=

pzdr
mk

EM
Guest

Mon Nov 17, 2008 10:40 am   



Quote:
Zamiast posiadanego dużego AT89C2051 znalazłem maleństwo PIC12F509 i...
jak

Maleństwo?
Zainteresuj się serią 10F2xx - np. 10F202

Ale 12F509 mam 3 sztuki w szufladzie, a 10F musiałbym gdzieś po necie
kupować.



Witaj
Ja jak stanąłem przed potrzbą użycia bardzo małego procka to zainteresowąłem
się właśnie PIC10F200.
W związku z tym musiałem kupić programator (nie tani) oraz przejściówkę do
programowania SOT23.
Może słabo szukalem jakiejś alternatywy programatora.

W kazdym razie to, że masz procek za darmo nie znaczy, że całość będzie
finalnie tania.

Jeśli chodzi o coś małego i prostego w programowaniu od strony programatora,
to poleciłbym jakiegoś AVRa z rodziny Tiny.
--
Pozdrawiam
EM

Dus
Guest

Mon Nov 17, 2008 11:12 am   



Quote:
Witaj
Ja jak stanąłem przed potrzbą użycia bardzo małego procka to
zainteresowąłem się właśnie PIC10F200.
W związku z tym musiałem kupić programator (nie tani) oraz przejściówkę do
programowania SOT23.
Może słabo szukalem jakiejś alternatywy programatora.

To fakt, punkt widzenia jest inny gdy ma się narzędzia.
Mam w szufladzie stary programator (klon ICD2) który programuje 10F, a
przejściówkę zrobiłem sobie sam. Całość nie powinna przekroczyć 100zł z
przesyłkami.

Quote:

W kazdym razie to, że masz procek za darmo nie znaczy, że całość będzie
finalnie tania.

Jeśli chodzi o coś małego i prostego w programowaniu od strony
programatora, to poleciłbym jakiegoś AVRa z rodziny Tiny.
--
Pozdrawiam
EM



Posraldescu
Guest

Mon Nov 17, 2008 12:45 pm   



Adam Dybkowski <adybkows12@45wp.pl> napisał(a):

Quote:
A i tak przyszłość Atmela wisi na włosku, bo Microchip pewnie kupi jego
dział procków. Myślicie, że będą dalej produkować AVRy - tyle że z logo
Microchipa? Sad

Dlaczego mieliby to robić? Na krótką metę oczywiście będą produkować "AVR by
Microchip", ale wkrótce tak ustawią politykę cenową, że AVR będzie tylko dla
bogatych, czyli w praktyce dla nikogo.

--
Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/

Adam Jurkiewicz
Guest

Mon Nov 17, 2008 3:18 pm   



Irokez wrote:
Quote:
Chyba że 12F509 pójdzie programowanie jako 12C509.

Nie pójdzie, protokoły programowania dla wersji C i F są diametralnie
różne.

Możesz spróbować WinPic'em, nie ma go na liście ale istnieje plik
konfiguracyjny i można go samemu pewnie zdefiniować. Do tego jakiś
interfejs pod RS czy LPT (np. PicLoad, zerknij na moją stronę jest
schemat).

Pozdrawiam,
sword

--
e-mail: ajpic@ajpic.tegoniema.zonk.pl
www: http://ajpic.zonk.pl/
gg#: 1781804

Adam Jurkiewicz
Guest

Mon Nov 17, 2008 3:19 pm   



Dus wrote:

Quote:
Z tego co pamiętam to 16F84 programuje się jako wersja C.
Wersja F (Flash) umożliwia wielokrotne programowanie - sprawdź pozostałe

To była jedyna swego rodzaju hybryda i faktycznie tutaj zastosowali podobny
protokół ale to wyjątek.

Pozdrawiam,
sword

--
e-mail: ajpic@ajpic.tegoniema.zonk.pl
www: http://ajpic.zonk.pl/
gg#: 1781804

Irokez
Guest

Mon Nov 17, 2008 6:38 pm   



Użytkownik "mk" <reverse_lp.pw@myzskm.remove> napisał w wiadomości
news:gfq75u$489$1@news.wp.pl...
Quote:

Timer też 8 bitowy... Nie zauważyłem słowa "interrupt" - nie ma przerwań
tylko trzeba czytać rejestry?

Nie ma przerwań Sad(((( ...poza resetem. (mowa o rodzinie "baseline")

hmm, kwarc wewnętrzny 4MHz i instrukcja 1us, czyli taki decrement ze skokiem
jeśli '0' DECFSZ który operuje na wartości max ?? 31 ?? czyli mając pętlę
32us będzie musiała być uruchamiana przy 2 sekundach... 62 i pół tysiąca
razy. Czyli zmniejszając powie. nic innego w tym czasie nie robiąc.
aa, kapuje, z a12 bitów 7 zabrała mi operacja i 5 argument stąd wartość 32.
Kurde, to jest procesor 5-cio bitowy. Niech co te 32 pętla zwiększy sobie o
jeden jakąś wartość i wróci spowrotem, ale ona znowu zwiększy do max 32.

Quote:
Asembler fajowy, 33 komendy.

Ja mam zupełnie inne odczucia. Asembler może i prosty, ale lista
instrukcji wcale nie taka ortogonalna jak ją reklamują. Do tego różniaste
bankowania, pewne fragmenty kodu muszą się znaleźć w określonych miejscach
w pamięci (podprogramy) i wiele innych. IMHO taki mały potworek - łatwy do
opanowania bo prymitywny, ale jednak potworek.

No prymityw straszny, gdyby miał przerwania chociaż... a tu widzę, że się w
pętlach zakopię.
Idę się przeprosić Atmelkiem i starym dobrym asemblerkiem :)

Pozdrofka

--
Irokez

Adam Jurkiewicz
Guest

Mon Nov 17, 2008 6:53 pm   



Adam Dybkowski wrote:

Quote:
Jak Atmel zrobi AVRy miniaturki 6-pinowe w obudowie SOT23 to będzie o
czym pogadać. Na razie tylko Microchip wypuścił takie cudeńka.

Chyba nie wypuści bo była jakaś akcja MC z opatentowaniem ilości pinów
mniejszej od szerokości magistrali. Ch0oć już nie pamiętam jak się to
skończyło.

sword

--
e-mail: ajpic@ajpic.tegoniema.zonk.pl
www: http://ajpic.zonk.pl/
gg#: 1781804

Adam Jurkiewicz
Guest

Mon Nov 17, 2008 7:09 pm   



Irokez wrote:

Quote:
No prymityw straszny, gdyby miał przerwania chociaż... a tu widzę, że
się w pętlach zakopię.
Idę się przeprosić Atmelkiem i starym dobrym asemblerkiem Smile

Eee, marudzisz. Prymityw jest ale też da się z tego procesora coś
wyciągnąć. Zrobiłem na tym pozytywkę (3.5 oktawy plus długość nuty)
więc nie jest tak źle. Jasne, że przerwanie by się przydało, szczególnie
od timera no ale przez polling też da się coś w końcu odmierzać.

Ja ustawiłem podział prescalera tak aby przy sprawdzaniu nie zdarzył
się poślizg czyli podział zegara minimum przez 4. Na tego typu procesorach
da się nawet zrobić PIDa trzeba tylko pogłówkować jak ułożyć program.

Przy czasach o jakich piszesz to w ogóle nie ma o czym rozmawiać i da się
to zrobić z palcem w nosie. Ustaw jakiś duży podział na prescalerze
i dodatkowo zliczaj czas na programowym liczniku.


Pozdrawiam,
sword

--
e-mail: ajpic@ajpic.tegoniema.zonk.pl
www: http://ajpic.zonk.pl/
gg#: 1781804

Adam Jurkiewicz
Guest

Mon Nov 17, 2008 7:40 pm   



Adam Dybkowski wrote:
Quote:
Asembler może tak. Ale adresowanie od początku było źle przemyślane i
przy programowaniu w ASM większego PICa (16F8cośtam) wychodziła mi co
chwilę potrzeba przełączania się między 4 bankami danych oraz
wydziwionych skoków pomiędzy 4 bankami kodu. Kompletna tragedia. Na
szczęście teraz PICów w firmie nie muszę się dotykać.

Stronicowanie jest co 2K, a to jest kosmiczna ilość pamięci jak na program
w asmie więc przeskakiwanie tej granicy to rzadkość. Bankowanie RAMu jest
kijowe to wiadomo ale też da się jakoś żyć. Fajnie by było mieć całą
przestrzeń adresowa liniową... tymczasem adresowanie pośrednie obejmuje
dwa banki, a więcej pamięci danych jest rzadko potrzebne - jeśli natomiast
jest to się bierze inną rodzinę.

A propos ciekawostek to powstaje nowa rodzina procków PIC16F1XXX, która
będzie pozbawiona większości tych wad.

Pozdrawiam,
sword

--
e-mail: ajpic@ajpic.tegoniema.zonk.pl
www: http://ajpic.zonk.pl/
gg#: 1781804

Irokez
Guest

Mon Nov 17, 2008 7:47 pm   



Użytkownik "Adam Jurkiewicz" <ajpic@ajpic.tegoniema.zonk.pl> napisał w
wiadomości news:gfs681$7il$1@node1.news.atman.pl...
Quote:
Irokez wrote:

No prymityw straszny, gdyby miał przerwania chociaż... a tu widzę, że
się w pętlach zakopię.
Idę się przeprosić Atmelkiem i starym dobrym asemblerkiem :)

Eee, marudzisz. Prymityw jest ale też da się z tego procesora coś
wyciągnąć. Zrobiłem na tym pozytywkę (3.5 oktawy plus długość nuty)
więc nie jest tak źle. Jasne, że przerwanie by się przydało, szczególnie
od timera no ale przez polling też da się coś w końcu odmierzać.

No da się, siedzę na pętelce i czekam na zmianę stanu rejestru.


Quote:
Ja ustawiłem podział prescalera tak aby przy sprawdzaniu nie zdarzył
się poślizg czyli podział zegara minimum przez 4. Na tego typu procesorach

max 256.


Quote:
Przy czasach o jakich piszesz to w ogóle nie ma o czym rozmawiać i da się
to zrobić z palcem w nosie. Ustaw jakiś duży podział na prescalerze
i dodatkowo zliczaj czas na programowym liczniku.

4MHz przez 256 i licznik do 256 daje mi przy 2 sekundach 61 przeładowań
timera do zliczenia czyli dwie pętle DECFSZ.. dobrze liczę?

Czyli miałbym ponad 65ms w kodzie programu na sprawdzenie stanu
przeładowania timera.
Czyli można wklepać w to jeszcze jakiś kod, który pozwoli mi wyskoczyć z
pętli jeśli wcześniej zostanie spełniony warunek na wejściach
Może się udać?

Teraz zakupić PIC18F2550 na aledrogo i zrobić klona PICKIT2 czy też
PIC-Brenner8 i będzie na przyszłość.

Albo stary dobry Atmelek ;)

Pozdrawiam.

--
Irokez

Goto page Previous  1, 2, 3, 4, 5  Next

elektroda NewsGroups Forum Index - Elektronika Polska - Jak szybko napisać program na PIC12F509 do monitorowania wejść i generowania impulsów?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map