Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Miért van a mérés alatt 0 az analóg bemeneten ha előtte 0át kap az N-fet gate a mérés idejére?
Szia!
Ajánlom figyelmedbe az adatlap TABLE 6-1 táblázatát. Az EECON1 .. MDCARL regiszterek nem érhetők el az ACCESS ram-on keresztül (köztük van az ADCON0 és az ADCON1 is). A bank -olással, inderekten vagy movff utasítással érhetők csak el. Extended syntax? Mégiscak van bank -olás a 18F -eken is...
Szia!
Vegyétek fel a View listára az ADCON1 és ADCON2 regisztereket. A végrehajtott utasítás változása látható a regisztereken?
Teljesen letört ez a probléma, hogy teljesen kész van, minden kis részletével és a lényegi részen egy olyan problémával állok szemben, hogy totálisan fogalmam sincs hogy miért van
Hogyha valamilyen értéket behelyezek az ADCON regiszterekbe akkor azok fel is veszik az értéket.
Szia!
Ha a View ablakban adsz új értéket a regiszternek, akkor persze egyből átáll rá. Ha a bcf / bsf ADCON1,ANSEL10 utasítást hajtod végre, akkor nem változik meg a regiszter értéke (csak akkor, ha a BSR tartalma 0xF), hanem egy másik regiszteren végzel műveletet. Az ADCON0 címe F5Dh, az ADCON1 -é F5Eh. Ezek a címek nem tartoznak az ACCESS ram területhez, így a kontroller a BSR:5D ill BSR:5E regiszterekkel végzi el az utasításokat az ADCON0 ill. ADCON1 helyett.
Értem. És a 18-as szériánál ezek a bankváltások hogyan történnek? Van egy csomó regiszter és van címük és az adcon-oknál is ezeket a címeket használtam. De az előtt a táblázat előtt van egy táblázat mely tartalmazza, hogy melyik címtől meddig milyen bank van és hogy a BSR regiszter alsó négy bitjének értékét milyenre kell megváltoztatni ahhoz hogy abban a bankban legyünk.
Most először kukkantottam bele 18-as szériás PIC doksijába mivel én 16-os sorozattal tanulok és egy kicsit szokatlan az a sok regiszter és bankváltások. Idézet: „És a 18-as szériánál ezek a bankváltások hogyan történnek?” Idézet: „s hogy a BSR regiszter alsó négy bitjének értékét milyenre kell megváltoztatni ahhoz hogy abban a bankban legyünk”
megadtam a kérdésemre a választ. Szerintetek érdemes áttérni 16F-esekről valamilyen újabb típusra vagy először menjen a 16F aztán lehet esetleg kezdeni a 18F-el?
Szia!
18F -en a követlezőképen lehet bank-ot váltani:
A feladat határozza meg, hogy érdemes-e vagy sem. 18F-ből pl. nincs kis lábszámú, 18 a legkevesebb, azthiszem. 16F-ből meg van 8 lábú is 12F629/675/683 néven. Érdemes megismerni mindet, aztán a feladat kívánalmainak valót választani. 18F-el minden megoldható a kis lábszámot leszámítva, ami 16F-el megoldható. Viszont árban lehet, hogy 16F érdemesebb, ha a feladatnak megfelel (mondjuk ilyen 2-300Ft-on nem érdemes egyedi cuccnál spórolni), C-ben kódolva szinte nincs is különbség közöttük.
Idézet: Nézegess adatlapokat, mintaprogramokat, azokból kiderül, hogy melyik tetszik. Ha nem tetszik, hiába mondjuk, hogy érdemes...„Szerintetek érdemes áttérni 16F-esekről valamilyen újabb típusra?” Potyo szempontjait kiegészíteném azzal, hogy a szükséges RAM/FLASH mérete is meghatározza, hogy mit érdemes választani.
Ma délelőtti hozzászólás ugyanebben a témában. A 18F ezerszer kényelmesebb. Ha riaszt a sok regiszter, egy 16F84 is riasztani fog, pedig abban "nincsen semmi".
Amibe be lehet dugdosni az alkatrészeket.
Fehér színű műanyag volt.
Dugaszolós próbapanelt (solderless breadboard) elektronikus alkatrészáruházakban vehetsz (pl. HEStore.hu), vagy az E-bay-en. De vasalhatsz mellé egy panelt is, ami már az USB-soros átalakítót is tartalmazza, mert hosszú távon kényelmesebb, ha az áramkör állandó részei fixen össze vannak építve.
Mindegyiknek megvannak az elonyei es hatranyai is. 18F-ben sokminden egyszerubbnek tunik, de pl a PLL pl nem kello elektromagneses zajt kelthet az aramkorodben, azonkivul az ugrotablaknal elobb kerulhetsz laphatar gondokba.
A 16F amugy nem hatarozza meg a hasznalt magot, 16F-ben is van baseline, es 12F-ben is van midrange. Baseline-t inkabb csak a nagyon sporolos projecteknel erdemes hasznalni, vagy ha pl eros helyszukeben vagy (10Fxxx elerheto SOT23-6 tokozasban is, amit pl en is hasznaltam). 18F nagy elonye, hogy a Microchip C forditoja (C18) mar evek ota ingyenesen elerheto ra, es ahhoz rengeteg forras es pelda program all rendelkezesre. Mdrange-re is van (most mar) Microchip C fordito (PICC), de ezt bevallom en meg sohasem hasznaltam -- ugy tudom nemi-nemuleg kulonbozoik a C18-tol mind szintaxisaban mind pedig a rendelkezesre allo tamogatoi konyvtarakban.
Köszönöm ayűz eddigi segítségeteket. Szerintem először megtanulom a 16F-et és utána majd belevágok a 18-as sorozatba. C nyelvvel eddig nem nagyon foglalkoztam csak nagyon alap szinten ezért is választottam az assembly-t a másik meg hogy a tanárom pascalban programozza a PIC-ket és engem is rá akar szedni. Szerintetek érdemes lenne pascalban is elkezdeni?
Idézet: Lényegtelen, hogy milyen nyelven. A lényeg a PIC felépítésének és a perifériák működését szabályozó regiszterek megismerése és használata. A Pascal ellen inkább az a kifogásom, hogy valószínűleg a MikroElektronika fordítójáról van szó,ami nem nyíltforrású könyvtárakkal kezeli a perifériákat.„a tanárom pascalban programozza a PIC-ket és engem is rá akar szedni. Szerintetek érdemes lenne pascalban is elkezdeni?” Emiatt én inkább a PIC18 vagy PIC24 C nyelvű programozását pártolom, ahol rendelkezésre áll a gyári támogatói könyvtárak forráskódja, s az tetszés szerint tanulmányozható, átírható, módosítható.
Ha assemler, akkor 18F, ha már sikerélményed van, utána ráérsz szenvedni a 16F-ekkel...
Minden nyelv egy kaptafára épül, viszont a fordítókkal meggyűlhet a bajod, ezért ajánlottak a gyári implementációk...
Szép napot!
Sikerült kiötlenem ezt a vezérlést, de érteni annyira nem értem. El sem tudtam képzelni mihez nyúljak, amikor eszembe jutott az optocsatolós szétválasztás, de nem bíztam annyira benne mert elviekben a lezárt fet-nek is nagyon nagy az ellenállása, de végül így működ.
OK köszönöm. A mikroC fordítójával nem nagyon érdemes szenvedni mert az ember abszolút nem tanul belőle semmit. Erre én is rájöttem kb két hét alatt amikor egy problémát kellett volna megoldani de nem akart sikerülni pont azért mert nem ismertem a PIC belső perifériáit. Most már minden sokkal tisztább és ha valami újat kell csinálnom akkor sem riadok vissza és ezt az assemblynek köszönhetem na meg persze nektek hogy segítetek.
Sziasztok!
Én egy PIC12F629-es mikrovezérlő PGC lábát szeretném felhasználni kimenetként ezt hogyan tudom megoldani? Mert a programot megírtam de nem akar működni. Egy LED-et akarok vele villogtatni. Kell valami különleges konfigurálás? Előre is köszi a segítséget.
Szerintem simán használhatod kimenetnek csak a programozás alatt kell a processzornak. Simán állítsd be a TRISX regiszterben az adott lábat 0-nak és már be is van állítva.
Hello
Áttérnék a 16f877-esről a 887-esre, de sehogyan sem akar elindulni az xt_osc. ezzel a konfiggal próbálkozom.
És milyen kristállyal próbálkozol? Mekkora frekvenciájú?
Esetleg?
Szia!
Ha a MCLR funkciót is le számdékozod tiltani és belső oszillátorral szeretnéd járatni, a kimenetté állítás elé tegyél be néhány ms késleltetést.
Szia!
Az oszcillátorok némileg eltérhetnek, a 4MHz -es quartz -ot próbáld ki HS és XT oszcillátorral is - pont a határon lehet. A portok digitálissá állítása másként van a 16F887 -en, mint a 16F877(A) -n.
4Mhz. Köszi közben elindult ha HS van beállítva, viszont semmilyen késleltetés nem megy.
|
Bejelentkezés
Hirdetés |