Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   275 / 1210
(#) icserny válasza szaky27 hozzászólására (») Júl 4, 2012 /
 
Idézet:
„Meg mind a kettő lehet használni laptopról és asztali gépről ugye, mert hallottam olyanokról hogy amiket nem lehetett bárhonnan működtetni.”
Igen, menni fog, mert mind a kettő USB-re csatlakozik.

Amivel gond van/volt, az a soros és párhuzamos porti programozók (ott a különböző PC generációk során változott a jelszint és belső interface.
(#) pajti2 válasza szaky27 hozzászólására (») Júl 4, 2012 /
 
Privát vélemény csupán, de én a 2-est venném a helyedben.

A pickit3 egy olyan termék, ami már az után készült, hogy beindult mindenütt a kapkodva csinálunk dolgokat időszak, és akad éppen bosszantó apróság a pickit3 esetében, ami gyanús okokból azóta sem javult ki. Plussz nem tud többet, cserébe kevesebbet. És még többe is kerül. Szerintem egy vicc az egész.
(#) Hp41C válasza szaky27 hozzászólására (») Júl 4, 2012 /
 
Szia!
Mindkettő USB felületű, így megy asztali és hordozható géppel is. Egyik sem választja le galvanikusan a PC -t a programozandó egységtől. Mindkettővel lehet pic -eket programozni, nyomkövetést végezni.

PICKit2 előnyök: Kiforrottabb, több kiegészítő szolgáltatást nyújt: Kézzel vezérelhető jelgenerátor - megjelenítő, 3 csatornás logikai analizátor (1MHz -ig), CMOS szintű (szoftver -es megoldású, csak 8 bit, paritás nélküli, 1 stopbit formátumú) uart. Nem csak PIC -eket lehet vele programozni, hanem I2C, SPI, micowire EEPromokat is, sőt kiegésítéssel AVR eket is. Készült hozzá egy program, amivel az eszközleírást lehet módosítani, bővíteni - de a korlátokat nem lehet megváltoztatni.

PICKit2 hátrányok: Elavult, lassan már nem frissítik. Több új kontrollert nem tud nyomonkövetni, sőt egyeseket programozni sem (18FxxK80). PIC32F -ek közül csak néhányat ismer. Szűkebb Vdd feszültség tartomány. Ha az USB tápfeszültség nagyobb, mint 5V, akkor problémák léphetnek fel.

PICKit3 előnyök: Új tervezér (ez egyben hátránya is), frissítik az új kontrollerekkel. Az újabbakat is képes nyomonkövetni, programozni. Szélesebb Vdd tartomány.

PICKit3 hátrányok: Nem kellően kiforrott, az egyes típuscsaládok váltásakor újraprogramozza a belső kontrollerét (aminek elég korlátos a programozhatósági száma). Nincs annyi kiegészítő funkciója.

Vdd állítási lehetőséggel bíró PICKit2 klónt használok, már beleütköztem abba, hogy a kiszemelt típust nem tudta programozni.
(#) aroxol válasza szaky27 hozzászólására (») Júl 4, 2012 /
 
PICKit3 a ChipCad - töl. Semmi baja, több procit tud. PICKit2 lejárt, de ha ezen töröd a fejed házilag max egy ötösböl kihozod.
(#) szaky27 válasza Hp41C hozzászólására (») Júl 4, 2012 /
 
Nagyon szépen köszönöm mindenkinek a választ. Szerintem a PICKIT2 mellett fogok dönteni, viszont annyi kérésem még lenne hogy chipcaden
(csoport: Termékek > Fejlesztőeszközök > Microchip
PICkit fejlesztőeszközök ) ezen belül különböző PICKIT2 esek vannak és innen melyik az konkrétan ami kezdőknek és később azért "haladó"knak is megfelel? Meg itt láttam a videók között egy ide vágót amibe volt valami "demo kártya". Ez is megtalálható itt?
(#) Hp41C válasza szaky27 hozzászólására (») Júl 4, 2012 /
 
A megfejtés: itt
(#) szaky27 válasza Hp41C hozzászólására (») Júl 4, 2012 /
 
Köszi
(#) hatcsupasz válasza szaky27 hozzászólására (») Júl 4, 2012 /
 
(#) icserny válasza hatcsupasz hozzászólására (») Júl 4, 2012 /
 
Szerintem ez így pénzpocsékolás. A 2 CD például azonnal kidobható, a PIC16F690 pedig nem debug-olható. Én is ilyet vettem anno, de akkor 40 %-os kedvezménnyel adták (a lényegesen kedvezőbb forintárfolyamról nem is szólva). S mihamarabb PIC18 költözött bele...

Az egyetlen pozitívum, hogy ebben foglalatban van a PIC...

Költségoptimalizálásként a kezdőknek azt is érdemes megfontolniuk, hogy tényleg PIC mikrovezérlővel akarnak-e kezdeni (függetlenül attól, hogy mivel fogják folytatni). A PICkit2 Starter Kit bolti áráért vagy annál kedvezőbb áron 32 bites Cortex-M0 vagy Cortex-M3 kezdő panelek is kaphatóak, programozó/debuggerrel együtt. Vagy PICkit2 Starter Kit bolti árának töredékéért 16 bites gyakorlópanelt lehet venni (Ti MSP430). Mindezek persze ezer más kérdést is felvetnek, így soha nem lehet tehát eleget olvasni, tájékozódni, hogy megfelelően képben legyen az ember.

Ja, kifelejtettem, hogy van Microstick I és II. valamint ChipKIT UNO és ChipKit Max is a fentemlített árkategóriában.
(#) hatcsupasz válasza icserny hozzászólására (») Júl 4, 2012 /
 
A PIC-hez rengeteg támogatást lehet találni, de ha már a 32 bites Cortexnél járunk én a Nuvoton NuTiny NUC140 programozó/debuggert használom. Igen költséghatékony eszköz. http://www.chipcadextra.com/nuvoton/32-bites-fejlesztoeszkoezoek/nu...nuc140
(#) icserny válasza hatcsupasz hozzászólására (») Júl 4, 2012 /
 
Idézet:
„ha már a 32 bites Cortexnél járunk én a Nuvoton NuTiny NUC140 programozó/debuggert használom.”
Igen, én is a NuTiny sorozatra gondoltam Cortex-M0 kapcsán. (Még csak a ChipCAD hirdetéseiben láttam, de tetszik...)
(#) Hp41C válasza icserny hozzászólására (») Júl 4, 2012 /
 
Idézet:
„Egy olyan kérdésem lenne hogy kezdőként milyen égetőt lenne célszerű beszerezni? Elsősorban csak az itt találhatók programokat szeretném beégetni de szeretnék gyakorolni is ahogy az időm engedi.”


Mivel itt még nem túl sok alkamazás van feltöltve a felsorolt kontrollerekre, nem hiszen, hogy ezek lennének a befutók.

Egy különálló PICkit2 vagy PICKit3 és egy dugaszolós panel (breadboard). Ebbe beletehető egy 16F886 vagy 16F887, 18F2550, 24FJ64GA002, vagy hasonló 28 - 40 lábú dip tokos kontroller. Ezek mind debuggolhatók, táplálásuk megoldható a PICKit -tel. Néhány kerámia kondenzátor, quartz, led stb. Esetleg egy LCD modul... Szépen apránként. Ezzekkel elég sok mindent ki lehet próbálni.

Nem volt soha annyi zsetonom, hogy gyári fejleszkőkártyát használjak.
(#) janikukac hozzászólása Júl 4, 2012 /
 
Sziasztok!
Abba szeretnék segítséget kérni, hogy hogyan kezdjek neki a programozásnak komolyabban? Már tavaly elkezdtem, de a suli miatt abba kellett , hogy hagyjam. Fél éve megvettem a Kónya-Kopják féle könyvet, C nyelvre, abból akarok, abból fogok programozni. Sajnos nekem nem ment úgy, hogy nekiestem és elolvastam 10 oldalt, és egyből meg is jegyeztem.
A tanulást pedig úgy szeretném, hogy a 8 lábúaktól felfelé tanulnék, mivel kisebb mikrovezérlő, kevesebb parancs, jobb átláthatóság. Tudom én, hogy a 40 lábún könnyebb megtanulni, mert egyből sokat el lehet sajátítani, de nekem ez így jobban tetszik...
Ami a szolgálatomban van: PICkit2 , abból is a komolyabb kit, nem a starter, aztán egy Icsyerny féle fejlesztő, mikrovezérlők, ...
Üdv!
(#) Hp41C válasza janikukac hozzászólására (») Júl 4, 2012 /
 
Szia!

A 8 lábút nem tudod hardweresen nyomonkövetni. Célszerűbb egy 28 lábúval kezdeni. Persze az MpLab -bal és a szimulátorával sok mindent ki lehet próbálni. Sok programot megírtam már a pic -ekre. A szimulátorral és a PICKit2 logikai analizátorával, uart lehetőségével sikerült mindegyiket életre keltenem, így még nem kellett a hardver nyomkövetés...
(#) Pepebá válasza janikukac hozzászólására (») Júl 4, 2012 /
 
Hali!
Én sem régen kezdtem, osztom a Hp41C véleményét.
Nem igazán szükséges komolyabb beruházás, a PICKIT2, dugdosós panel, PIC és egypár apró alkatrész, az Icserny valamelyik projektje és hajrá.
Csak könyvből nem igazán lehet megtanulni, ezért jók az említett tananyagok. Az alapoktól kezdve, hardver és szoftver leírásokat is tartalmaz, ezért kezdőknek kiváló.
Én a PICCOLO projekt mellett döntöttem a PIC18F4550 mikróval, MPLAB8.53+C18 fejlesztőkörnyezettel.
Üdv.
(#) kissi válasza janikukac hozzászólására (») Júl 4, 2012 /
 
Szia !

Idézet:
„Sajnos nekem nem ment úgy, hogy nekiestem és elolvastam 10 oldalt, és egyből meg is jegyeztem.”


Nekem se ment, annak idején 3x olvastam el a 8051-es családról szóló könyvet, mikor kezdtem kapisgálni, hogy mit is akar mondani ! Ma már könnyebben megy, de mint egy tanárom mondta, "könnyű Neki, mert 20 év előnye van !" !
Ezzel csak azt akarom mondani, hogy ne érezd ezt kudarcnak, nem könnyű terület és sok gyakorlás árán lesznek sikereid ( de már az első LED villogtatás is eredmény és úgy emlékszem, azt már megcsináltad!). Nagyon sok próbálgatás, olvasás és újabb tesztelés áll itt mindenki mögött, aki már sikeresebbnek tűnik a szemedben és még a gyakorlott programozókat is éri meglepetés !

Lényeg: olvasás, szimuláció ( hogy lásd belül mi történik, ne csak az eredményt figyeld ! ) és sok próbálkozás !

Steve

u.i. Most látom, hogy közben a kollégák is írtak, egyetértek HP41C kollégával, inkább egy kicsit nagyobbat, hogy lehessen debuggolni!
(#) vilmosd válasza janikukac hozzászólására (») Júl 4, 2012 /
 
Az elso hogy olvasod a PIC-es topikokat. Pl az elozo oldalon mar leirtam. Komolyan kell venni a kezdoknek a fokozatok betartasat. A uC-k (nem csak a PIC) megtanulasahoz szukseges a felepites reszletes megismerese. Ehhez nagyon alkalmas az ASM nyelven valo programozas. Persze az elektronikai ismeret is nagyon fontos.
(#) icserny válasza janikukac hozzászólására (») Júl 4, 2012 /
 
Idézet:
„a 8 lábúaktól felfelé tanulnék, mivel kisebb mikrovezérlő, kevesebb parancs, jobb átláthatóság.”
Ez elég nagy tévedés, mert az utasításkészlet ugyanaz. A perifériakészlet lehet nagyobb, de azzal nem feltétlenül kell foglalkozni (legfeljebb, ha le kell tiltani...).

Mellesleg ha a C nyelvet választod, akkor olyan mikrovezérlőt használj, ami a C nyelvet hardveresen támogatja! (Veremtár, mutatók...)
(#) janikukac hozzászólása Júl 5, 2012 /
 
Köszönöm mindenkinek az elgondolkodtató választ, törekedni fogok a legjobbakra. Ha pedig valami kérdés lesz, akkor majd jövök, üdv !
(#) Stadi válasza janikukac hozzászólására (») Júl 5, 2012 /
 
Programozást nem úgy tanul az ember, hogy bemagol egy egész könyvet, és utána odaül egy fejlesztő rendszer elé, hanem úgy, hogy elolvas egy kicsi részt a könyvből (pár bekezdés, de max. egy fejezet), aztán az olvasottakat - a könyvvel a kezében! - rögtön elkezdi próbálgatni a gyakorlatban (ehhez elég lehet a szimulátor is, bár az nem túl látványos, de mindenképp érdemes megismerni a használatát).

És persze ha valahol elakadsz, akkor próbálj meg magadtól rájönni a megoldásra, mert ha sikerül, akkor utána az adott dolgot sokkal nehezebben felejted el, mintha rögtön feltennéd pl. itt kérdésként. Természetesen ha sokáig nem jössz rá vmire magadtól, akkor már sokkal jobb, ha inkább kérdezel.

A mátrixnál bonyolultabb adatszerkezeteket (és én az összes olyat ide sorolom, ami mutatókat használ) én egy kezdőnek semmiképp nem ajánlanám, mert nagyon nagy odafigyelést igényel a használatuk és rengeteg a hibalehetőség. (És bár ez szubjektív, de szerintem némelyikük az emberi gondolkodásmódtól is távol áll.) Persze lesz majd olyan feladat, amikor már nem lehet vagy nem érdemes elkerülni őket.

Bevallom őszintén, én az assembly nyelv kezdőknek való ajánlását se nagyon értem, mivel a C nyelven megírt program sokkal hamarabb sikerélményt ad, és (a programot tekintve) kevesebb a hibalehetőség is. Az már más kérdés, hogy többnyire rendelkezésre áll a C forráskódból a fordító által generált assembly kód, ezért akár a C-vel párhuzamosan is lehet nézegetni, hogy egy adott C programból milyen assembly program lesz, és így azon is lehet töprengeni, hogy a C fordító mit miért csinált jól, illetve hol vannak felesleges utasítások, amik elhagyhatók lennének, vagy egyszerűbbre megírható (optimalizálható) kódrészletek.
(#) pjg válasza icserny hozzászólására (») Júl 5, 2012 /
 
"C nyelvet hardveresen támogatja"

Mondanál egy típust?
(#) janikukac válasza Stadi hozzászólására (») Júl 5, 2012 /
 
Köszönöm, erre voltam igazán kíváncsi, a tanulás menetére.
A C nyelvet fogom, nem tud senki se róla lebeszélni. Sok mindenkit ismerek, aki azon dolgozik, és tavaly nekem nagyon megtetszett a C. :yes:
(#) icserny válasza pjg hozzászólására (») Júl 5, 2012 /
 
Idézet:
„C nyelvet hardveresen támogatja" Mondanál egy típust?”
Odaírtam azt is, hogyan kell érteni: mutatók kezelése, veremtár, stb..

PIC18-tól kezdve mondja a gyártó, hogy az felépítését és az utasításkészletét úgy alakították ki, hogy a C nyelvű programozást támogassa.
(#) c27 hozzászólása Júl 5, 2012 /
 
Sziasztok.
Egy dsPIC 30F2010-et szeretnék majd programozni, de még nincs programozóm. Ahogy néztem eddig egyszerű programozók nem ismerik fel ezt a picet, túl bonyolult programozót pedig nem szeretnék építeni. Esetleg tudnátok ajánlani hozzá valami viszonylag egyszerű programozót?
(#) mate_x válasza c27 hozzászólására (») Júl 5, 2012 /
 
Szia!
A pickit2 támogatja, legalábbis ott van a kiválasztható pic-ek közt
(#) Hp41C válasza c27 hozzászólására (») Júl 5, 2012 /
 
Szia!
Itt az idő egy Vdd állítós PICKit2 klón építésére...
(#) szabolcsx hozzászólása Júl 5, 2012 /
 
Olyan gondom van, hogy egy 16F877-es pic-el nem tud zöld ágra vergődni a megszakításokkal. Azt kellene megoldjam, hogy a PORTB<7:4> lábak értékének változása után én azt interruptokkal tudjam figyelni a szoftverből. Itt egy kód, nem megy azt kellene csinálja, hogy ha lenyomom a gombot, ami az RB7 lábon van akkor felkapcsolja az RC3-as lábat. De nem teszi. Azt vettem észre, hogy ha lenyomom a gombot és újraindítom a pic-et akkor felkapcsolódik a láb és ha lenyomom megint és újraindítom akkor lekapcsolódik. Nem tudom, hogy mi lehet a gond, de hátha valaki tudja...

  1. #define _XTAL_FREQ 20000000
  2.  
  3. #include <htc.h>
  4.  
  5. #define VALUE(a, b) ((a >> b) & 1)
  6.  
  7. char temp = 0;
  8.  
  9. main()
  10. {
  11. TRISB = 0b10000000;
  12. TRISC = 0b00000000;
  13.  
  14. RBIF = 0;
  15. GIE = 1;
  16. RBIE = 1;
  17. PEIE = 1;
  18.  
  19. while(1)
  20. {
  21. }
  22. }
  23.  
  24. interrupt isr()
  25. {
  26. if(RBIF)
  27. {
  28. temp = PORTB;
  29.  
  30. if(VALUE(temp, 7) == 1)
  31. {
  32. RC3 = 1;
  33. }
  34. else
  35. {
  36. RC3 = 0;
  37. }
  38.  
  39. RBIF = 0;
  40. }
  41. }
(#) pajti2 válasza janikukac hozzászólására (») Júl 5, 2012 /
 
Ha eldöntötted, hogy irány a C, akkor szerintem hagyd az alsóbb kategóriás pic-eket a fenébe, mert mindig az alacsony teljesítmény problémájába fogsz beleütközni.

Kapható pic32mx1-es pdip tokosban (2-3k huf), azt szurhatod dugasz panelbe. Illetve a monosx-nel, vagy a sparkfun-nal teljesen "csupasz" pic32mx7-es modul dugaszpanelbe szurhatoan (olyan 10khuf), illetve periferia felszereltebb boardok (25..30 khuf-ig, ezek mar onmaguk egyben alap boardok is). Attol fuggoen, mennyi zsetonod van ra, ezek kozul valasztanek a helyedben.
(#) Hp41C válasza pajti2 hozzászólására (») Júl 5, 2012 /
 
Már megint itt tartunk?
Egy 300 500 Ft -os kontroller miért nem eég a kezdésnek? Ha mindenáron a C kell, akkor 16F1938, 16F1939 - 16K programmemória, 1k adat. Szerintem elvillogtat néhány led -et... Egy kezdőnek a túl gyors kontroller sem lesz jó: RMW hiba, gondos földelési rendszer, kicsi terhelhetőség...
(#) Hp41C válasza Hp41C hozzászólására (») Júl 5, 2012 /
 
Egy adat az assembly - C összehasonlításhoz:
A propeller óra bázisának 16F886 -os változatát átírtam 18F2550 -re USB kiegésítéssel. Tudom, az összehasonlítás nem a legjobb, mert nem azonos a két program, a 18F2550 -ben benne van az USB HID kezelés is. A 16F886 assembly verzió 2682 sor, pedig nincs movff, setf, addwfc, subwfb, stb kényelmes utasítás, nincs akkora access bank, stb.
- Első fordítás a 18F2550 -en 12000 utasítás körüli méretet adott.
- Aztán megnéztem a disassembly ablakot.... Elgondolkodtam...
- Csak néhány C utasítás átalakításával, változó területek közötti átrakásával, a függvények paraméterszámának csökkentésével (fújj - néhány goto -val) sikerült levinnem 8192 alá.

Tegyük fel, hogy a USB kezelés viszi el a tár felét, akkor 6000 uatsítás jut a programomra, így 2.23 szoros a C kód, pedig egy jobb, C -vel kompatibilisebb kontrollerre készült.
A 16F886 is ki tudja számolni a JDN-t, a hét napját, az ISO hétszámot, a Húsvét és a Pünkösd hétfő dátumát... Nem egyszerű algoritmusok.
Nem is kell 16F886, egy 16F648A, 16F88, 16F1826, 16F1827, 16F1847 -re is működik ugyan az - USB nélkül.
Következő: »»   275 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem