Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Alakul!
![]() Még a 47k-t tedd le testre(gondolom ez csak véletlen maradt lógva), és ha nekem is kedvemre akarsz járni, akkor kérlek töröld le az IC-t, és rajzolj egy 5 pólusú csatit (Vdd(5V), gnd, Vpp(13V), PGD(adat), PGC(órajel) kivezetésekkel (Írd mellé ICSP port). Megteszed?
belső, 2MHz
OSCTUNEbits.INTSRC = 1; OSCTUNEbits.PLLEN = 0; // no freq tune yet... OSCTUNEbits.TUN4 = (osc_tune>>7)&0x01; OSCTUNEbits.TUN3 = (osc_tune>>3)&0x01; OSCTUNEbits.TUN2 = (osc_tune>>2)&0x01; OSCTUNEbits.TUN1 = (osc_tune>>1)&0x01; OSCTUNEbits.TUN0 = (osc_tune)&0x01; // 2 MHz OSCCONbits.IRCF0 = 1; OSCCONbits.IRCF1 = 0; OSCCONbits.IRCF2 = 1; // internal osc selected... OSCCONbits.SCS1 = 1;
Köszönöm!
![]() (ennek örömére megyek meccset nézni! ![]()
jaj!!!
![]() a MAX232 egyik kondija nincs jól bekötve (a 6-os láb és a föld között)!!! ![]() ![]() rendbehozom és később újra jelentkezem ![]()
oké, ez volt a baj
![]() köszi watt a segítséget!!! ![]()
Sziasztok!
Most kezdenék bele a PIC-ek világába. Nekem egy konkrét tervem van amit meg szeretnék valósítani. (Sejtem nehéz lesz de most elszántam magam.) /vázolnám a tervet: ez egy időzítő lenne… 0.0-9.9 másodpercig lehetne állítani 2 gombbal, ezt 2 darab 7 szegmenses kijelzőn ki is írná egy bemenete lenne, egy „nyomógomb” 2 kimenete lenne amin a bemeneti gombot lenyomom megjelenik az 1. kimeneten a jel, és elindul a visszaszámlálás. 1 másodperccel később megjelenik a 2. kimeneten is a jel (lágyindítás) Amint lejár az időzítés szűnjön meg a jel a kimenetekről, hiába van a gomb lenyomva. Csak a gomb felengedése után és újbóli lenyomására indul újra az időzítés. Viszont ha időzítés közben felengedem a gombot, akkor álljon le az időzítés, és újbóli lenyomásra induljon újra. Lenne is pár alap kérdésem: 1. gondolkodom az smd technikán… árban milyenek az smd PIC-ek? 2. akkor már az áramkörben kell programoznom, akkor a feszültségeket is onnan kapja? 3. milyen áramkörrel tudom „kint” programozni? Szerezzek be ICD2-t vagy sima párhuzamos port-os valami is megteszi? 4. programozás közben le kell kötnöm a programozásra használt lábakat az áramkörből? 5. most kezdem a programozását is tanulni… milyen környezetben érdemes elkezdeni? (érdemes c nyelven? Találok hozzá „tananyagot”?) 6. milyen PIC-el kezdjem? (3-be 2-ki 2-táp 9-kijelző=16láb minimum) 7. a táplábakat leszámítva akármit akárhová köthetek? Vagy vannak kötelező, ajánlott sémák? Köszönöm a segítséget! Zoli
Érdekes egy ötlet...bár nem tudom, pontosan miről is lenne szó...
Egyébként PIC-kel megoldani ezt egy piskóta feladat (kivéve ez alól szerintem a 7 szegmenses kijelzéses rész)... Szóval szép sorjában a válaszok a következők: 1. Nem sokkal drágábbak az SMD tokozású PIC-ek, átlagosan 2-3%-os különbségek vannak az árak tekintetében 2. Célszerű az áramkörön belüli programozást választani, hiszen megkímél a fejlesztések közbeni 5 perces IC-kiszedésektől, berakásoktól...és igen, azt is lehet választani, hogy a befoglaló áramkör táplálja programozás közben is a PIC-et (legalábbis én így tudom...) 3. Hogy mivel tudod "kint" programozni? Annyi féle égető létezik már PIC-ekhez, hogy egy kézen nem lehet megszámolni őket...sok ezek közül instabil működésű, sok a vesződség velük, de van olyan is, amely megbízható és használható bármikor...illetve van olyan is, ami túlzottan bonyolult egy-egy db PIC beégetéséhez (tipikusan az ICD2)...jó, persze lehet vele menet közben (program futása közben) játszadozni, de kizárólag égetésre nem célszerű ezt választani... 4. Programozás közben nem kell lekötni a megfelelő lábakat a befoglaló áramkörben...azt kell megoldani, hogy a programozó lábak függetlenítve legyenek pl. egy 2,2k-4,7k körüli ellenállással a tápfeszültségtől, illetve a GND-től 5. Elkezdeni szerintem mindenképpen assembly-ben érdemes, és pár alap villogtató program után szépen át lehet térni pl. a C nyelvre...egy lehetséges fejlesztőkörnyezet a CCS nevű... 6. Ez már olyan iszonyat sokszor volt kérdés, hogy lassan minden hozzászólásban erről lesz szó, és még így is 500 milliomodszor meg lesz kérdezve... Elsőként ajánlom pl. a 16F877A-t, vagy a kistesóját, 16F873A-t... 877A => 40 lábú 873A => 28 lábú 7. A táplábakat leszámítva általában mindegyik lábat bármire lehet használni...mondjuk ha külső oszcillátort akarsz alkalmazni, akkor az tápokon kívül felhasznál pluszban még 2 kivezetést...873A esetén még mindig marad ezek mellett elvileg 24 szabad kivezetés... Ha meg nagy hülyeségeket írtam, megadom a jogot arra, hogy mások kijavítsákm kiegészítsék, stb. ![]()
Nem kell megijedni, a hétszegmenses rész jó gyakorlás a timer használatára. Nem bonyolult, csak végig kell gondolni, hogy mi történik.
4. Nem muszály. Ha olyan égetőt építesz, ami leválasztja a kérdéses lábakat, amikor nincs probléma (ilyen watt újabb kapcsolása, illetve az oldalamon levő ICD2 harmadik kapcsolása). Ezeknél az a lényeg, hogy normál esetben ezek a lábak kimenetek legyenek. 5. asm és MPLAB. Utána esetleg C18, ha a 18F-el foglalkozol, és komolyabb feladat is felmerül (USB, CAN, stb.) 6. Ha most kezdesz picelni, akkor érdemes a 18F családdal kezdeni, pl. a 18F1320 kb. elég lenne a feladathoz.
Én csak kiegészíteni tudom a kapott jó válaszokat.
Kiemelném, hogy nincs értelme kint programozni akkor sem, ha nem SMD a PIC. Idézet: „4. programozás közben le kell kötnöm a programozásra használt lábakat az áramkörből?” Erről kevés szó esett, pedig kézenfekvő kérdés: Alap helyzet, hogy az MCLR eleve foglalt, nem nagyon lehet másra használni(vannak kivételek, de akkor is bemenet lehet csak.). Mi maradjunk ennél. Ezen felül van még két láb ami kérdéses: megoldások: a. Legtöbb esetben nincs szükség minden lábra, ezért a PGD,PGC szabadon marad, csak erre használható. b. Bemenetnek konfigolva pl. egy gombot rá lehet kötni, vagy ellenálláson keresztül érkezhet a külső jel(1k...10k). c. Kimenetnek konfigolva vigyázni kell, hogy a legtöbb progizó áramkör képes tönkretenni a lábakat. Sima progizónál meg lehet próbálni, hogy egy 470...1k ellenállást sorba kötsz a programozó lábakkal, de ekkor az áramkörben elképzelhető egy terhelés, amitől nem sikerül az égetés, mert az osztón esik a fesz, sérül a jel. Ezen két jumper segíthet. A leválasztott égető esetén is elképzelhető, hogy a terhelés miatt nem sikerül beégetni az IC-t, itt is csak az áramkör leválasztása(jumper) segít. Megjegyzem, hogy ezt nagyon egyszerűen meg lehet oldani, túl nagy nyűgöt nem jelent, csak odafigyelést. A fejlesztés idejére én egy kapcsolót szoktam belógatni a jumper tüskéire, és simán ide-oda kapcsolgatom. A végén természetesen betűzöm az átkötést. Idézet: „betűzöm az átkötést.” Olyat én nem szoktam...csak rendesen...ahogy kijön ![]() Á-t-k-ö-t-é-s ![]()
Sziasztok!
Ismét jövök a kérdéseimmel ![]() PIC18-as családról van szó. Mátrix billentyűzet beolvasás. A képen látható a bekötés, minden keresztezésnél vannak a gombok. Szóval csak annyi kellene hogy kiolvasom a lenyomott gombok értékeit, mondjuk egy változóba. És utána külön egy kis táblázat kezelés. De a nyomúgomb kiolvasásnál a logika is kellene, hogy mi alapján csináljuk ezt! Van nyomógomb kezeléses példaprogramom, de nem értem meg egyszerűen. Watt az oldaladon található táblázatkezelésből semmi se jött le, ennyire bonyolult lenne? ![]() Köszönöm a segítséget előre is!
Hát ha abból nem értetted meg, akkor nem sok ötletem van! Legalább azt írd le, hogy hol szakadt el a fonál?
Sziasztok!
Köszönöm a válaszokat!!! Akkor inkább próbálom nem használni a programozó lábakat, vagy ha kell mindenképp, akkor beletervezek a panelba smd ellenállásokat sorba a programozó lábakkal, majd amint kész az égetés összeforrasztom (persze eleinte kapcsolót teszek rá a kísérletezések alatt). Azért tettem fel azt a kérdést, hogy melyik PIC-et válasszam (annak ellenére, hogy már ezerszer megkérdezték), mert mindig kettős válasz jön. 16xxxx sorozat vagy 18xxxx sorozat. De úgy döntöttem ha nem sokkal drágábbak a 18-asok, akkor az lesz. Na beszerzek pár PIC-et aztán jövök még. Idézet: „úgy döntöttem ha nem sokkal drágábbak a 18-asok, akkor az lesz.” Jól döntöttél. A 18F-ek perifériákban gazdagabbak, egy 18F4550-ben minden földi jó benne van.
Helló!
Nem gond hogy ide irom? Szóval az ICD2 3. változatát építetettem meg. Ma jöttek meg egyik haveromtól a felprogramozott PIC-ek hozzá(ő letesztelte és jók). Viszont nálam nem. Ez történt: Legelső rádugáskor a gépre, megtalálta az ICD2-t, fel is telepitettem a drivert. Jó is volt. A következő probálkozásnál viszont már Ismeretlen eszközt talál. És nem is világít az USB LED, csak akkor ha nem dugom be teljesen az USB csatiba a kábelt(viszont gondolom igy csak 5V-ot kap, mert hardvert meg nem talál a gép). Nem tudod mi lehet? Minden stimmel a kapcsoláson
Azt irja ki hogy az USB eszközt nem lehet felismerni
XP hiba leginkább, ilyenkor menj az eszköz kezelőbe, ott találni fogsz egy Microchip ICD-s akármilyen kis bejegyzést, menj rá hogy tiltás várj egy kicsit és engedélyezd újra.
Ha ez sem segít, akkor megsérült a 18F4550...
Az oldalamra feltettem egy olyan hex fájlt, ami ki kellene, hogy védje a 18F4550 programjának sérülését.
Nem nagy dolog egy egyszerű égetőt összedobni, rakj össze egyet és programozd fel újra, ha Topi ötlete nem segít.
Helló!
Az a baj hogy nincs ott semmi. Csak az ismeretlen eszköz. És eddig driver nélkül is világított a LED. Jah és egy másik gépen, amin VISTA van, ott is azt irja hogy nem lehet felismerni az USB-s eszközt. Potyo: Valami nagyon egyszerű égetőt hol találok? Na és ilyen gyorsan meghülyülne a programja? Ez volt az első inditása. Illetve kb a 3. bekapcsolása.
Idézet: „Valami nagyon egyszerű égetőt hol találok?” Itt egy egyszerű égető: http://www.oshonsoft.com/picprog.html Idézet: „Na és ilyen gyorsan meghülyülne a programja? Ez volt az első inditása. Illetve kb a 3. bekapcsolása.” Van, akinél előfordul ez a hiba. Nekem még nem sikerült előidézni, de néhányan már jelezték. Gyanítom, hogy köthető valamilyen alaplap/chipset kombinációhoz a dolog. Próbáltam a neten utánanézni, úgy néz ki, hogy amikor lehúzáskor a feszültség csökken, akkor a program ráfut olyan területre, ahová nem kellene, és felülírja valahol a programterületet. A Brown-Out Reset bekapcsolásával ez elvileg kivédhető, mert ez reseteli a chipet, amikor a feszültség leesik 4.2V alá.
Akkor viszont tanusíthatom, hogy az a végleges megoldás a törlődés ellen. Én mikor beprogramoztam alapból bekapcsoltam a BOR-t... Nekem ezért nem jött ezekszerint még elő soha ez a hiba... pedig mióta potyo megosztotta a kincset, azóta használom!
Én meg lassan egy éve úgy használtam, hogy nem volt bekapcsolva, és nekem úgy sem jött elő a hiba. A Microchip fórumán volt szó ilyen sérülésről szó, onnan vettem a BOR ötletét, mint lehetséges megoldást. Ott is az volt, hogy kb. 100 chip közül (nem ICD2-ben voltak) néhányban rendszeresen megsérült a program, a többiben meg sosem.
Ja és valaki próbálgatta a meghibásodásra hajlamosakat, változtatta rajta a feszültséget, és úgy jött rá, hogy elkalandozik a program.
OFF: miért csak egyszer lehet módosítani a hozzászólást?
Lehet többször is. Módosítani 2 percig tudod a hozzászólást...
Köszönöm a válaszokat!
Kész a "műalkotásom": Nulláról a robotokig - PIC Mikrovezérlők I rész
Minden észrevételt szívesen várok!
Sziasztok!
Valaki meg tudna mondani hogy az alabbi kodbol milyen asm -kodot fordit a CCS-C es a HI-TECH-C ?
Koszonom. |
Bejelentkezés
Hirdetés |