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   130 / 1210
(#) kzteam válasza Hp41C hozzászólására (») Szept 1, 2011 /
 
Igen, "Build all" megvolt, de most ismét lepróbáltam sajnos semmi változás.

Picit tovább gondoltam és PICKIT2-vel kiolvastattam a beprogramozott hibás kódot, ez segíthet? Eltér a hex állománytól, amit a fordító csinál.
(#) norbigal hozzászólása Szept 1, 2011 /
 
Üdv!
Jelenleg a Kandón tanulok mikrokontroller programozást. (a 8051-es család) AZ elméleti részen elvileg túl vagyunk, idén pedig már gyakorlatban csináljuk a dolgot. ELsősorban pár gyakorlati kérdésem lenne:
EZek csak a bennem lévő felvetések, hogy kicsit jobban el tudjam képzelni, hogy működnek a dolgok.
Például
Hogyan tudom beolvasni egy nyomógomb, LED vagy akármi címét?

Egy LED villogtatásakor a fizikai működést úgy kell elképzelni, hogy pl. az 1-es port valamelyik lábára rákötöm a + lábat, a másikat pedig a GND-re ami közös a PIC GND-jével, és a programban megírt szöveg szerint adja neki a feszültséget?


Másodsoprban pedig összegyűjöttem néhány számomra érthetetlen dolgot a programozással kapcsolatban. Ezek inkább feladatok voltak, hogy pl. "a 20H és 40H közötti memória értéket töltse fel a 13D értékkel!" Ilyen és ehhez hasonló feladatokban tudnátok segíteni?!?! Vagyis ha megírok egy-két programot, akkor le tudnátok ellenőrizni, hogy valóban azt csinálja-e amit eredetileg akartam? Ha igen, akkor összegyűjtöm ezeket és beíroma fórumba, hátha más is hasznát veszi. Mindenesetre nagyon hálás lennék, ha valaki ismerné a 8051-es utasításkészletét és segítene.
Előre is köszi a választ.
(#) pajti2 válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Beletúrtam neked a .hex állományokba, amiket felküldtél.

Kimegy:
0x0030.0000: 00 FF 1F 1E | 00 88 CD 00 | 03 C0 03 E0 | 03 40 .. ..

Visszajön:
0x0030.0000: 00 27 1F 1E | 00 88 85 00 | 03 C0 03 E0 | 03 40 .. ..


Kettő eltérő byte van.

Az egyik 0x00300001 címen 0xff megy ki, 0x27 jön vissza.

A másik 0x00300006 címen 0xcd megy ki, 0x85 jön vissza.

Hogy mik vannak ezeken a címeken, azt a pic adatlapjában találod a config bitek résznél. Ha úgyis asm-ben gyakorolsz, akkor ezt most rád hagyom.
(#) kzteam válasza norbigal hozzászólására (») Szept 1, 2011 /
 
Szia,

A PIC és az AVR(8051) külön téma.

A PIC-nél fixek a címek,de már nem mint regiszter szám, hanem név mondjuk "PORTC" hivatkozunk rá. Tehát ezt a leírásokból fixen meg tudod nézni.

A LED meghajtás meg egyszerű: 1 PIC lábat általában 20-25mA-rel lehet terhelni (szintén adatlap) és a LED-et a táp negatív pontja és mondjuk a PORTC,0 -dik bitet képviselő lába közé kötheted.

Idézet:
„megírt szöveg szerint adja neki a feszültséget?”
Ha ez azt jelenti, hogy a program működteti akkor igen.
(#) norbigal válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Hello,

Köszi a gyors választ. Akkor a többi kérdésemmel majd az AVR topic-ot boldogítom. Én abban a hitben éltem, hogy a 8051 az a PIC kategóriába tartozik. Még jó, hogy időben megtudtam ezt a tényt.
(#) pajti2 válasza norbigal hozzászólására (») Szept 1, 2011 /
 
A Kandó az mostanra nem lett már BMF? Vagy már újra Kandó ?

A 8051 egy korai intel szöcske, az assembly-je olyan, amilyen. Ha meg kell tanulnod, akkor tanuld meg. Nem olyan bonyolult.

Egy nyomógombnak, vagy led-nek nincsen címe. Úgy megy a dolog, hogy a mikrokontroller megcímez valamilyen output tartományt, és kiírja rá az adatot. Egy külső címdekódoló egység észleli, hogy a most következő adat neki szól, és betölti latch regiszterbe azt a 8 bites adatot, amit a 8051-es kiírt arra a címre. Led-et meghajtani, vagy nyomógomb állapotát beolvasni már a latch regiszteren / bufferen keresztül tudsz. Ami bitet kiírtál, az a latch regiszter (pld SN74LS373) egyik bitjén keresztül az arra a bitre rákötött led-et fogja meghajtani. Ami byte-ot onnét beolvasol, az valószínűleg egy buffert (pld SN74LS244) olvas, aminek az egyik bemeneti bitje felhúzó ellenállásra, és nyomógombra van kötve, ahol a nyomógomb a föld felé húzná le azt a bitet (vagy fordítva, gnd felé van egy ellenállás, és + táp felé a nyomógomb).

A led villogtatás egy olyasmi, hogy ciklusban kiírsz magas jelet, valamennyi idő múlva alacsony jelet, azután újra magas jelet. A kettő között timer-eket kell használnod várakozásra, vagy kiszámolt ideig pörögnöd ciklus számlálóval egy utasítás ciklusban, mert a 8051-es sokkal gyorsabb, mint az emberi szem. Olyan gyorsan villogna a led, hogy nem lennél képes érzékelni a villogás eltérő fázisait. Amit te az 1-es portra kiírtál programból, az valahol egy latch regiszteren fog megjelenni, és a led-nek azt a lábát logikai alacsony vagy magas értékre húzza. Kicsit szakembertelenebbül a led akkor fog világítani, ha a + lábát (anód) felhúzod logikai magasra, a - lábat (katód) pedig lekötnöd GND-re (vagy a - lábat lehúzni logikai alacsonyra, a + lábat pedig felkötni +tápra). Ha kicsit jobban megnézed, lesz ott egy áram korlátozó ellenállás is.

A 8051 az csak mikrokontroller, az nem pic. A pic egy kicsit összetettebb dolog. Ne keverd össze a kettőt. Míg 8051-en portot címzel, hogy elérj egy külső perifériát, addig pic-en egy memory mapped portot írsz, hogy elérd a pic-en belüli perifériát.

A programot nagyon egyszerűen le tudod ellenőrizni te is. Feltöltöd, és vagy működik, vagy nem xd

Amikor én voltam Kandós, nem volt olyan vacak az a labor jegyzet, hogy érthetetlen lett volna. Minimális logikai érzékkel el kell tudnod vele boldogulni.
(#) pajti2 hozzászólása Szept 1, 2011 /
 
Lenne egy kérdésem nekem is.

Két pic közül az egyik 2.5V-on üzemel (muszáj neki), a másik 3.3V-on (muszáj neki). A kettő között adatforgalmat szeretnék megvalósítani.

Vannak eszközök ilyen feladatra kitalálva ? Vagy csak a hagyományos módszer (pld két darab kapcsoló tranzisztor egymás után kétszer invertálni a jelet) ?
(#) kzteam válasza pajti2 hozzászólására (») Szept 1, 2011 /
 
Optocsatoló?

Én 24V és 5V között használtam, ott működött.
(#) icserny válasza pajti2 hozzászólására (») Szept 1, 2011 /
 
Nincs itt valami olyan huncutság, hogy Kzteam kolléga rosszul állítja be az MPLAB-ban a config bitek forrását (Configure/Configuration bits/Configuration Bits set in code pipája "hun kiugrik, hun be"), s azután az MPLAB felülbírálja a beállításokat?
(#) Hp41C válasza kzteam hozzászólására (») Szept 1, 2011 /
 
Szia!

A jó.hex -et beimportálva egy 18F14K22 kontrollerhez beállított MPLAB programba az alábbi hibajelzést kapjuk: ld. a képen.

A két program csak a konfigurációs bitek értékben különbözik. Vizsgáld meg a konfigurációs bitek megadását!

Hiba.jpg
    
(#) potyo válasza pajti2 hozzászólására (») Szept 1, 2011 /
 
Nézz szét, hátha a 3,3V-os PIC 5V toleráns TTL bemenetekkel rendelkezik, akkor az simán fogadja a 2,5V-os jelet is magasnak. Illetve ugyanez a másik irányba is működhet, ha a 2,5V-ról járó PIC bemenete 5V toleráns (itt még a TTL kompatibilitás sem szükséges).

De léteznek ilyen célra cél IC-k is, pl. Texas Instrumentsnél próbálj szétnézni.
(#) kzteam hozzászólása Szept 1, 2011 /
 
Kollégák,

Mindenkinek köszönöm a segítséget, működik ez a Config bites dolog. Úgy néz ki nem volt órajel.. FOSC = IRC és már világít is

Ehhez annyit fűznék, hogy az angol mintapéldát próbáltam megszülni, kicsit hiányos a kezdő tudásomhoz az a leírás. Még szerencse, hogy akad egypár segítőkész Picman

Üdv Mindenkinek
(#) norbigal válasza pajti2 hozzászólására (») Szept 1, 2011 /
 
Nem nem. A Kandó továbbra is Kandó, mint kar. Egyébként nem BMF, hanem már Óbudai Egyetem, csak nem igazán van köztudatban a neve. Az egész sulinak egyébként a Kandó meg a Neumann kar ad életet. ( bár ez csak az én véleményen és tapasztalatom ) A hallgatók pedig a tanároktól eltanulván is csak Kandó-nak emlegetik.
Egyébként jobbat mondok: jövőre már lehet, hogy BME lesz belőle. De ez már a jövő zenéje...

Egyébként a megírt program ellenőrzését nem gyakorlatban értem. Semmi gyakorlati dolgot nem vettünk eddig. Feltölteni is gőzöm nincs hogy lehet, egyelőre nem is azon agyalok. Sőt, gőzöm nincs arról sem , hogy milyen fejlesztői környezetben dolgozunk. Csak a 8051-es felépítését, utasítás készéletét, és az azokhoz kapcsolódó legfontosabb tudnivalókat vettük. Továbbá csak "logikai feladatok vannak, mely szerint például másold bele ebbe a címbe azt címet, majd abba a címbe ezt az értéket és blablabla... majd szorozd össze őket, stb.

Csak írogatjuk az utasításokat, meg értékeket, de a gyakorlatról még gőzünk nincs. Én hibám is, hogy nem értem, mert figyelhettem volna jobban is, és akkor nem a 3-mas szintjén lennék, de igyekszem pótolni a hiányosságokat, ezért is kutattam fel ezt a topicot.

Mindenesetre köszi a választ.
(#) pajti2 válasza norbigal hozzászólására (») Szept 2, 2011 /
 
A megértés egy olyan dolog, hogy ha tudod mire használni, ilyen probléma fel sem vetődik. Ha egyáltalán előjön az, hogy "nem érted", akkor neked az a dolog egyszerűen csak semmire sem kell, és az nem probléma, csak puszta tény.

Pld egy barkács amatőrnek, aki időzített / taps lámpa kapcsolókkal, meg tojásfőző órákkal és hasonló gügyüte dolgokkal szórakozik, ilyen problémája sosem lenne.

Amit most tenni tudsz, hogy átevickéled valahogy azt a blokkot a tananyagban. Amikor én voltam kandós, csak annyi szimulátor volt a laborban, hogy hármasával kellett odaülni mindegyikhez. A gyakorlat végén vagy kész volt a feladat, vagy nem, és mind a 3-an ugyan azt a jegyet kapták. 3 ember teljesítményét csak együtt osztályozták. Utólagos számonkérés meg semmi sem volt. Ha legalább jó ember ismerő vagy, válassz magadnak ügyesen társat, és megbukni tuti nem fogsz.
(#) norbigal válasza pajti2 hozzászólására (») Szept 2, 2011 /
 
Érdekes elgondolás... de biztos van benne valami. Egyébként szerintem lesz mire használni, hiszen annyi dolog kavarog a fejemben amiről el tudom képzelni, hogymikrokontrollerrel meg lehet csinálni.

A Kandós "ússzuk meg a dolgot" módszert jómagam is ismerem. Bár nem az én világom. Pl. a programozás I-en mikor csak a C nyelvet vettük is, abszolút gőzöm nem a dolgokról, és végülis feltornáztam magam a csoport legjobbjává. Másrészről már csak az ösztöndíj miatt sem akarok elsunnyogni semmi alól. - bár van ami teljesen hidegen hagy, de második félévben is jól megfizették a 3,8-as kreditindex-et is. Már csak azért is érdemes tanulni. Persze nem árt be biztosítanom magam digit-en, csak szerintem már mindenki külön fog laborozni. Pont tavaly újították fel a teljes digitech labort a Zalotay-féle újítás óta. (De remélem legalább 2 emberekre el leszünk osztva)
(#) pajti2 válasza norbigal hozzászólására (») Szept 2, 2011 /
 
Google pajtás kidobott egy ilyet:

http://www.pjrc.com/tech/8051/board4/index.html

Vagy megveheted, és eljátszadozhatsz vele, vagy sakkozhatsz a kiskapukra, ezt szerintem el fogod tudni dönteni.
(#) watt válasza norbigal hozzászólására (») Szept 2, 2011 /
 
Idézet:
„de második félévben is jól megfizették a 3,8-as kreditindex-et”

Nem akarok nagyon offolni és nektek sem ajánlom, de ehhez had tegyek hozzá egy szemléletet, ha úgy fogalmaznánk a fentiek helyett, hogy nem megfizették, hanem én és mindenki aki adózik, azaz az "állam", megfizettük. Így még szebb, ha így gondolkodunk és nekünk sem az alakul ki, hogy elherdálod a közös forrásból származó támogatást! További jó tanulást, gyarapodást!
(#) morzsa15 hozzászólása Szept 4, 2011 /
 
Üdv!
Nem szerettném reklámozni az alábbi oldalt de Bővebben: Link ezzel az égetővel milyen pic-eket lehet programozni??
(#) potyo válasza morzsa15 hozzászólására (») Szept 4, 2011 /
 
(#) morzsa15 válasza potyo hozzászólására (») Szept 4, 2011 /
 
De akkor mit csináljak ami müködik is és sok félét lehet programozni ?:O
(#) szitko válasza morzsa15 hozzászólására (») Szept 4, 2011 /
 
PICkit2 klónt. Megbízható és jó.
(#) morzsa15 válasza szitko hozzászólására (») Szept 4, 2011 /
 
Ja csak hogy égetem meg bele a pic-et?
(#) szitko válasza morzsa15 hozzászólására (») Szept 4, 2011 /
 
A Watt féle lpt portos égetővel, amit egy próbanyákon (dugdosós) összedobsz. Én is így csináltam annó.
(#) dinokal válasza morzsa15 hozzászólására (») Szept 5, 2011 /
 
Kereshetsz a környéken valakit aki beégeti.
(#) atis28 hozzászólása Szept 5, 2011 /
 
Sziasztok! Készítettem egy viszonylag összetett nyáktervet, amit végül legyártattam, hogy jó minőségű legyen, 10k fölötti összeget fizettem érte...
Viszont elkövettem egy nagyon amatőr hibát, rossz PIC került a tervbe. Nekem 64 lábú PIC18F6722-I/PT vezérlőm van, viszont a tokozáshoz nem értek egyáltalán, így csak arra figyeltem, hogy 64 lábú PIC kerüljön fel (SprintLayout a progi, amivel készült). Ami a terven van azonban annak a mérete (maga a vezérlő, lábak nélkül) 12*12mm, ez a PIC meg csak 10*10mm (tehát jóval kisebb). Így a sok pénzért elkészített NYÁK-ot használni sem tudom. Erre keresnék valami megoldást, esetleg létezik e valami ehhez a PIC-hez hasonló (esetleg ugyanez), de más, nekem megfelelő méretű tokozással. Bármilyen egyéb megoldás érdekel, ha valahogy lehetne használni ezt a nyákot. Bármilyen megoldás érdekel, jó lenne, ha nem kellene kukába dobnom ezt a nyákot. Köszönöm előre is.
Atis
(#) brato válasza atis28 hozzászólására (») Szept 5, 2011 /
 
Készíts hozzá egy illesztőpanelt.
(#) atis28 válasza brato hozzászólására (») Szept 5, 2011 /
 
Ezt kifejtenéd kicsit bővebben? Kell egy új NYÁK gondolom, amin rajta lesz a PIC, de ezt hogy fogom összekapcsolni a már elkészült NYÁK-kal? Nem igazán csináltam még ilyet. Ha nem valami extra mini chipről lenne szó, akkor vezetékekkel átforrasztgatnám, de ezen ezt kb. lehetetlen megcsinálni...
(#) brato válasza atis28 hozzászólására (») Szept 6, 2011 /
 
Csatold a nyáktervet és megpróbálom lerajzolni .
(#) watt válasza atis28 hozzászólására (») Szept 6, 2011 /
 
Van esély rá, hogy ezt végleg elszúrtad! Legközelebb a kinyomtatott tervre tegyél rá minden alkatrészt, mert nem csak a PIC tokja okozhat bosszúságot... 12 és 10mm közé én szerintem még adaptert sem lehet nagyon készíteni, de majd kiderül, ha felteszed a tervet, hogy férne el esetleg.
(#) trudnai válasza atis28 hozzászólására (») Szept 6, 2011 /
 
Haaaat... Ahogy nezem az adatlapot a 12x12mm-es TQFP tok az 80 labu es a 18F8722-hoz van, nem pedig a 18F6722-hoz... Ganyolassal talan van eselyed, hogy csinalsz hozza egy tokot, de lehet jobban jarsz ha vagy uj panelt gyartatsz, vagy pedig 8722-ot hasznalsz (ugyanaz a csalad, ugyhogy valoszinuleg a fw-t konnyu atirni).

UI: Termeszetesen ellenorizd, hogy valoban 80 labu es 8722-nek megfelelo bekotes kerult a panelre!
Következő: »»   130 / 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