Fórum témák
» Több friss téma |
Haat szoval nem lehetetlen, de ugye a vezerleshez elhasznalsz 15 portlabat, es egy rakas programszot. Mit nyersz vele? 24 portlabat. Persze ha tobbet is hasznalsz azonos buszon, akkor esetleg megerne. Ugye a /CS labakat kell kulon vezerelni, a tobbi kozos. Akkor erne meg ra fejleszteni, ha lenne belole sok, es lenne sok idod a fejlesztesre. Ja es olyan keszulek kellene ahol szukseges a sok I/O. Persze a neten rakeresve vannak probalkozasok, tehat nem lehetetlen. Viszont ha megnezed a PIC valasztekot, kicsi penzert vannak sok I/O-val es mas periferiaval rendelkezo tipusok. En inkabb ebbe az iranyba indulnek el.
Köszönöm az információt.
Kidobva semmiképp nem lett volna, ez nálam amolyan szleng, hogy bekerült a fiókba.
Igazad van, ezt mindenképp figyelembe vettem, egy öcsipanelen keresztül, legfeljebb gyakorlásra fogom, használni próba panelen, bár megjegyzem az még nincsen.
Sziasztok tegnap feltettem egy kérdést amire kaptam is bubuc17-től választ de sajnos mivel még nagyon kezdő vagyok ezen a téren nem nagyon értettem...
Ki tudná nekem valaki fejteni hogy hogy tudok megbizonyosodni hogy egy PIC működőképes-e még
A PIC -en kivűl meg ven a még a programozód?
Ha igen, akkor a Microchip szoftverét felrakod a gépedre, a programozót csatlakoztatod, a programozóhoz egy adaptert ami csak azt teszi lehetővé, hogy a PIC lábait ne kelljen forrasztgatni, majd ebbe rakod a PIC -et, figyelve a bekötési sorrendet. Ez utzán elindítod az olvasást ha sikeres, akkor már tudni, lehet hogy az MCU vagy is a PIC jó, viszont az még nem biztos. Attól hogy az MCU feléled, és fel lehet programozni, az még nem azzal egyenlő, hogy a külvilággal is, tudja a kapcsolatot tartani. A külvilággal a lábain keresztül veszi fel a kapcsolatot. ezek a bit vezetékek. Na most, ha egy bitvezeték szét van lőve, akkor azon soha nem tudsz kihozni magas "H" logikai szintet. Ezt úgy lehet a legegyszerűbben letesztelni, ha írva van a PIC -re egy program, hogy az összes portján az összes bitvezetékét kapcsolja be-ki mondjuk 250ms -onként. Ekkor már egy LED -el (természetesen egy előtét ellenállást jól megválasztva) végig lehet vizsgálni az összes bitvezetéket. Ha az össze bitvezetéken villog a led akkor az azt jelenti, hogy a PIC, nem csak jó, hanem fel is tudja venni a kapcsolatot a külvilággal. Viszont ha egy vagy két bitvezeték szét van lőve az sem baj, mert attól még a többi használható, kevesebb i/o -t igénylő alkalmazásokban. Ez általában a 16F877 "méretű" pic -ekre igaz, fizikai méretben kisebb PIC -ekben mint például 16F84 általában az összes bitvezeték tönkre szokott menni. Ennek kiderítésére (ahogy írtam, és kolléga is) kell egy teszt program, ami ki be kapcsolgat az összes bitvezetéket, majd megvizsgálod. és örülsz, hogy jó a célhardvered. Ezt csak általános gyakorlatra írom, nem olvastam vissza, a hozzászólásidban, csak ezt amit most írtál.
Elég ha csak bekapcsolod az összes kimenetet és ezt ismétled. A kimenetre egy ledet 1k ellenálláson keresztül.
Így ha jó a lába akkor világít, ha nem akkor sötét. Bemenetek ritkán mennek tönkre.
Sikerült összehoznom az A/D átalakítást és a PWM-t egy 16f88-on, viszont angol tudásom hiányában segítség kellene. A PWM jelet csak a CCP lábakra lehet kiküldeni, vagy minden lábra? Ha más lábra is lehet rakni, azt hogyan lehet beállítani?
Köszönöm most már értem,
Idézet: „Utána csináltam egy programot aminél lekérdezte az összes lábat és ha valamelyik 1 akkor összes kimenetet bekapcsolta.” Csak az nem volt világos hogy mért kel lekérdezni mért nem elég rögtön kimenetnek állítani...
Csak CCP lábakra lehet kiküldeni. Ennél konkrétan be lehet állítani a CCPMX konfig bittel, hogy az RB0 vagy az RB3 láb legyen a CCP láb.
Szia!
Egy timerrel és némi programmal bármelyik lábra lehet PWM kimenetet csinálni, akár egyszerre többre is.
Tényleg
![]()
Szia!
Tehát a timer-rel hívod a megszakítást és nem a gomb lenyomással. A megszakítás területen pedig ellenörzöd a gomb lenyomást. Ha éppen van, akkor azt letárolod egy regiszterben. Nem igazán értem, hogyan küszöböli ez ki a felengedés következtében fellépő megnyomódást?! Nekem pont a felengedés a problémám, nem tudom megértetni vele, hogy az csak a felengedés következtében kialakult téves megnyomódás ![]()
Önmagában az is segíti a pergésmentesítést, ha csak olyan időközönként nézel rá a nyomógombra, ami alatt már lecseng a pergés (pl. 15-20 ms).
A másik módszer (ehhez kell a regiszter) szerint csak akkor vesszük figyelembe az állapotváltozást, ha az már több óraütés (pl. 5-10) óta megszakítás nélkül fennáll - ami arra utal, hogy stabilizálódott az állapot. Ez utóbbi módszer akkor használható, ha a pergéshez képest rövid időközönként (pl. 1-2 ms) jönnek a megszakítások.
Szia!
Itt egy harmadik módszer: Minden gombhoz rendelj egy regisztert. A gombról beolvasott bitet léptesd be a hozzá tartozó regiszterbe alkalmas időnként (timer it -ról indítva). Ha a regiszterbe alacsony aktív gombot és balra léptetést használva 0x80 kerül, a gomb le van nyomva.
Kedves Hozzáértők...
Szeretném megtudni hogy hol találok arról dokumentációt hogy egy adott (legyen bármelyik) PIC-nek mi a minimális működéshez szükséges kapcsolása...?
A topik fejlécében:
Idézet: „- 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.” Ezen kívül: - ha van olyan láb, hogy VUSB, vagy VCAP, akkor az adatlap írja le, hogy mikor mit kell csinálni vele. - ha nincs belső oszcillátora, akkor kvarc, vagy rezonátor is kell az oszcillátor lábakra. Konkrétan melyik típusra vagy kíváncsi?
Igen, ezeket olvastam...
Az adatlapot is... abban nem talaltam meg a minimalkonfot... Bujtam a Mikrochip oldalt is... Egy 18F6622-ot kaptam Valentin napra... ![]()
Félreértelmezed, amit írtam! A timer megszakításban mindenképpen beolvassuk a nyomógomb állapotát egy regiszterbe. A beolvasást shift művelettel végezzük el. Tegyük fel, hogy a nyomógomb 0-ba húz, tehát amennyiben lenyomva tartjuk, a pergéstől eltekintve logikai alacsony szintet mintavételezünk. A figyelést végző regisztert csupa 1 értékkel inicializáljuk. Amennyiben nincs gombnyomás, minden timer megszakításban 1 érték fog shiftelődni a regiszterbe, melynek tartalma így nem változik (csupa 1). Amint lenyomjuk a gombot, elkezd a prellegéstől függően 0 és 1 érték shiftelődni a regiszterbe, egészen addig, amíg a nyomógomb pereg. Amint a pergés megszűnik csak 0 értékek shiftelődnek a regiszterbe és ha a regiszter tartalma csupa 0, akkor a gomb biztosan le van nyomva. Felengedésnél is hasonló a helyzet. Mivel a lenyomás során csupa nulla van a regiszterben, a felengedés során 1 és 0 értékek shiftelődnek a regiszterbe, amíg a pergés tart. Amint vége van, a regiszterbe csupa 1 shiftelődik. Ha a regiszter értéke csupa 1, akkor biztosan fel van engedve a nyomógomb. Remélem így már jobban érthető a dolog.
És még
- a PGM és a föld közé 10k, újonan a LVP engedélyezett. - MCLR, Vdd, Vss, PGD, PGC, PGM kivezetése egy 6 pólusú tüskesorra, ha felületszeret a tok, hogy fel lehessen programozni. - Vcap láb és a föld közé az adatlap szerinti kondenzátor, ha van ilyen láb.
Ha jól látom, ennél a 4 db VDD + 1 db AVDD lábat +5V-ra,
a 4 db VSS + 1 db AVSS lábat földre kell kötni. MCLR 10 kOhm-mal VDD-re, PGM pedig 10 kOhm-mal földre (amíg az LVP nics letiltva). VCAP és hasonló ennél a vezérlőnél nincs, tehát úgy tűnik, nincs semmi komplikáció.
Volt egyszer egy PICDEM HPC explorer board nevű fejlesztői kártyája a Microchipnek, abban a PIC18F6622 "nagyobb testvére", a 18F8722 lakott. A Microchip már nem forgalmazza, de a dokumentációja még itt-ott megtalálható.
Link: Kapcsolási rajz (PDF) Abban a cserélhető modulok (PIM) miatt változtatható a tápfeszültség meg átkapcsolható a RESET láb, de ezektől eltekintve érdemes megnézni. Idézet: „...ha a regiszter tartalma csupa 0, akkor a gomb biztosan le van nyomva.” Érdemes egy lépéssel hamarabb meghozni a döntést akkor amikor még 0x80 van a regiszterben. Ugyanis, ha a gomb huzamosan le van nyomva, az ismételt shiftelések ugyanúgy csupa 0 értéket eredményeznek a regiszterben, mint először és a lenyomás detektálás ismételten és sűrűn bekövetkezik. Idézet: Hasonlóan itt is akkor érdemes elvégezni, ha az érték 0x7F. „Ha a regiszter értéke csupa 1, akkor biztosan fel van engedve..” Mintha már leírtam volna...
Igen így sem rossz megoldás. Én már korábban leírtam a saját verziómat (Itt), csak mivel érthetetlennek bizonyult a kérdező számára, emiatt megpróbáltam jobban kifejteni.
Sziasztok!
PIC 16F627A programozásakor a Fuse bitek írásánál egy hibaüzenet jelenik meg "Error programming Fuses". Ez kontroller hibára, vagy programozó hibára utal? Miként lehet orvosolni a problémát? Köszi!
Szia!
Többször kérdezed, de ennyiből nem lehet tudni, mi okozza. Töldsd fel, add meg a linkját, amit beleprogramoznál. Milyen programozóval dolgozol?
Sziasztok!
PIC18f14K50 re fejlesztgetek, és baromi idegesítő, hogy állandóan le kell húzni az USB csatit, amitől a tápot kapja amúgy, mert a PK2 mindenáron max 3.6V ot akar rákapcsolni programozásnál. Nem lehet valahogy megértetni vele, hogy ez a rohadt PIC 5V ról is megy? ![]() ![]()
Nem véletlenül! Az USB periféria miatt a programozó bemenetek nem viselik el az 5V feszültséget, így alapesetben 3,3V-os jelek segítségével megy a programozás. Ha nem akarod állandóan lehúzgálni, akkor használj USB HID bootloadert!
Az USB-ről amúgy is le kell húzni, mert a programozás pont az USB adatvonalakra csatlakozó lábakon történik.
Használhatsz HID bootloadert (a PICCOLO projekt szoftver segédletében található PICCOLO-HID-Bootloader-PIC18F14K50.hex állományt javaslom, mert a gyári demóban nem jók a konfigurációs bit beállítások, a BOR nincs bekapcsolva). Sajnos, ez meg megeszi a flash memória egy jelentős részét, tehát lehet, hogy még mindig jobb a lehúzgálás.
Hellósztok! Érdeklődni szeretnék h Ti milyen pic égetőt használtok és a készítettet akkor melyik vált be nektek?
|
Bejelentkezés
Hirdetés |