Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   40 / 1318
(#) watt válasza h482871 hozzászólására (») Jún 9, 2007 /
 
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?
(#) majom válasza watt hozzászólására (») Jún 9, 2007 /
 
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;

(#) watt válasza majom hozzászólására (») Jún 9, 2007 /
 
Az a baj, hogy nem találok ezekben hibát!

Milyen az RS232 hardver kiépítése?
(#) h482871 válasza watt hozzászólására (») Jún 9, 2007 /
 
Helló!
Kérésedre...

PicProg.pdf
    
(#) watt válasza h482871 hozzászólására (») Jún 9, 2007 /
 
Köszönöm! :worship:
(ennek örömére megyek meccset nézni! )
(#) majom válasza watt hozzászólására (») Jún 9, 2007 /
 
jaj!!! ))
a MAX232 egyik kondija nincs jól bekötve (a 6-os láb és a föld között)!!! )) de hülye vagyok elfelejtettem földre kötni a végét ))

rendbehozom és később újra jelentkezem
(#) majom válasza majom hozzászólására (») Jún 9, 2007 /
 
oké, ez volt a baj

köszi watt a segítséget!!!
(#) watt válasza majom hozzászólására (») Jún 9, 2007 /
 
Oxigén!
(#) vzoole hozzászólása Jún 9, 2007 /
 
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
(#) Norberto válasza vzoole hozzászólására (») Jún 10, 2007 /
 
É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.
(#) potyo válasza vzoole hozzászólására (») Jún 10, 2007 /
 
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.
(#) watt válasza vzoole hozzászólására (») Jún 10, 2007 /
 
É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.
(#) Norberto válasza watt hozzászólására (») Jún 10, 2007 /
 
Idézet:
„betűzöm az átkötést.”


Olyat én nem szoktam...csak rendesen...ahogy kijön

Á-t-k-ö-t-é-s
(#) Thomas10100 válasza Norberto hozzászólására (») Jún 10, 2007 /
 
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? Mondjuk bele is keveredtem hogy mi mit csinál.

Köszönöm a segítséget előre is!

mátrix.jpg
    
(#) watt válasza Thomas10100 hozzászólására (») Jún 10, 2007 /
 
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?
(#) vzoole hozzászólása Jún 11, 2007 /
 
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.
(#) potyo válasza vzoole hozzászólására (») Jún 11, 2007 /
 
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.
(#) Thomas10100 válasza potyo hozzászólására (») Jún 11, 2007 /
 
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
(#) Thomas10100 válasza Thomas10100 hozzászólására (») Jún 11, 2007 /
 
Azt irja ki hogy az USB eszközt nem lehet felismerni
(#) Topi válasza Thomas10100 hozzászólására (») Jún 11, 2007 /
 
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...
(#) potyo válasza Thomas10100 hozzászólására (») Jún 11, 2007 /
 
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.
(#) Thomas10100 válasza Topi hozzászólására (») Jún 11, 2007 /
 
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.
(#) potyo válasza Thomas10100 hozzászólására (») Jún 11, 2007 /
 
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á.
(#) Topi válasza potyo hozzászólására (») Jún 11, 2007 /
 
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!
(#) potyo válasza Topi hozzászólására (») Jún 11, 2007 /
 
É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.
(#) potyo válasza potyo hozzászólására (») Jún 11, 2007 /
 
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?
(#) Topi válasza potyo hozzászólására (») Jún 11, 2007 /
 
Lehet többször is. Módosítani 2 percig tudod a hozzászólást...
(#) Thomas10100 válasza Topi hozzászólására (») Jún 11, 2007 /
 
Köszönöm a válaszokat!
(#) Topi válasza Thomas10100 hozzászólására (») Jún 12, 2007 /
 
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!
(#) gtk hozzászólása Jún 12, 2007 /
 
Sziasztok!

Valaki meg tudna mondani hogy az alabbi kodbol milyen asm -kodot fordit a CCS-C es a HI-TECH-C ?
  1. PORTD = 0b00000001

Koszonom.
Következő: »»   40 / 1318
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.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