Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   651 / 1319
(#) watt válasza Attila86 hozzászólására (») Jan 25, 2010 / 1
 
Idézet:
„The project contains no source files”

Úgy tűnik nem adtál hozzá forrásfájlt!

Tehát a szimulátor rendben(elvileg).
Akkor mi a gondod a megszakítások kezdőcímével? Érted, hogy mi az a két cím? Azt is tudod, hogy ha prioritásos megszakítást akarsz, azt engedélyezni kell? Tudod mi az a prioritásos megszakítás?
(#) Attila86 válasza watt hozzászólására (») Jan 25, 2010 /
 
Hozzáadtam a forrásfájlt, így már lefordítja. Köszönöm!

A két címet értem, bár a prioritásos megszakításról még nem olvastam.

Amit nem értek az az, hogy: az addwf PCL,f előtt miért kell kiolvasnom a PCL-t egy változóba és ettől mi lesz jobb. Illetve hogy mit értetek az alatt, hogy a PCLATH és a PCLATU nincs feltöltve, és miért kell feltölteni.
(#) watt válasza Attila86 hozzászólására (») Jan 25, 2010 /
 
Idézet:
„A két címet értem, bár a prioritásos megszakításról még nem olvastam.”

Ha érted, akkor org-old oda a két megszakítási pontot!

A prioritásos megszakítás egyszerű. A magasabb priorítású(0x08h című) meg tudja szakítani az alacsonyabb szintű(0x18h című) megszakítást, ha az éppen folyamatban van. Sokszor ez hasznos lehet, de ki is lehet kapcsolni, ill. be, mert ha jól emlékszem, alapból nincs engedélyezve, de ezt az adatlapban megtalálod a megszakítás résznél a hozzá tartozó regiszterekben.

A PCLATH és U-t azért kell feltölteni, mert ezek mondják meg, melyik lapról fogod beolvasni az adatokat. De ezt csak az ilyen retlw-s tábláknál, és relítív PCL-es ugrásoknál okoz gondot. Ezért gondolom, hogy másképpen kéne szervezd a programot, és használni kéne az erre kitalált táblázatkezelő utasításokat.
Egyébként sem értem ezt a nagy goto ide odát, ezt nem lehetne egyszerűbben, átláthatóbban?

Azt érted, hogy a GOTO és a BRA között mi a különbség, és miért fontos ez a te szervezésednél?
(#) roland0327 hozzászólása Jan 25, 2010 /
 
A 18f2550-es PIC-nél ICSP-nek melyik a GND láb a Vss? Vss ből kettő van a 8. és 19.es láb.
(#) sucuka válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Igen, a Vss-t kell a GND-re kötni, de ott az adatlap, abban benne kell lennie.
(#) roland0327 válasza sucuka hozzászólására (») Jan 25, 2010 /
 
Oké. Gyere fel MSN-re ha tudsz.
(#) sucuka válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Sajnálom, én most melózok, innen nem lehet, de otthonról majd leszek.
(#) t-dani válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Idézet:
„melyik a GND láb a Vss?”


Igen, a Vss lábnak felel meg.

Idézet:
„Vss ből kettő van a 8. és 19.es láb.”


Mindkettőt be kell kötni!
(#) roland0327 válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Oké.
(#) sucuka válasza t-dani hozzászólására (») Jan 25, 2010 /
 
Ha mindkét Vdd és mindkét Vss ugyanoda van kötve a chipen belül (feltételezem, hogy így van, és méréssel alátámasztottam már magamnak nem egyszer, akkor miért kell bekötni mindkettőt?
(Én még nem tartok az adatlapok böngészésénél, de hamarosan.)
(#) potyo válasza sucuka hozzászólására (») Jan 25, 2010 /
 
Idézet:
„Ha mindkét Vdd és mindkét Vss ugyanoda van kötve a chipen belül (feltételezem, hogy így van, és méréssel alátámasztottam már magamnak nem egyszer, akkor miért kell bekötni mindkettőt?”


Ha nem kéne bekötni mindkettőt, akkor miért nem hagyták ki az egyiket és tettek a helyére portlábat?
(#) sucuka válasza potyo hozzászólására (») Jan 25, 2010 /
 
A kérdés teljesen jogos. Meg kéne kérdezni Microchip-éket
(#) roland0327 válasza potyo hozzászólására (») Jan 25, 2010 /
 
Ebben van valami. Én össze kötöm nem tart az semmiből. Megkímél egy hiba lehetőségtől.
(#) sucuka válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Igazad lehet, én is így fogok tenni, de szerintem a könyebb áramkörbe tervezhetőség miatt csinálták így.
Mert ha tényleg "kicsipogtatod" egy multiméterrel, akkor biza össze vannak kötve.
(#) roland0327 válasza sucuka hozzászólására (») Jan 25, 2010 /
 
Megnézném mert 16f628 van itthon de azon nincs csak egy Vss.
(#) potyo válasza sucuka hozzászólására (») Jan 25, 2010 /
 
Nem sokat javít a tervezhetőségen az, hogy kétoldalon vannak a táplábak, sőt inkább rontja. Zavarérzékenység és a tápvezeték impedanciájának csökkentése miatt vannak a táplábak kettőzve. Ugyanazért, amiért a kerámiakondenzátorokat is kell rakni a táplábak közé.
(#) roland0327 válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Csak azért kérdeztem meg mert adaptert csináltam ICSP-hez és nem tudtam hogy itt a Vss a gnd.
(#) Hp41C válasza Attila86 hozzászólására (») Jan 25, 2010 /
 
Szia!

Most olvasgatom a 18F -es adatlapokat.... Itt-ott egy két dolog a régebbiekben jobban érthetően volt leírva. pl.: 18F242 - 252 adatlapjában a Computed goto bővebben van leírva. Itt említik meg, hogy a PCL olvasása feltölti a PCLATHU, PCLATH regisztereket.
Idézet:
„The contents of PCLATH and PCLATU will be transferred to the program counter by an operation that writes PCL. Similarly, the upper two bytes of the program counter will be transferred to PCLATH and PCLATU by an operation that reads PCL. This is useful for computed offsets to the PC (see Section 4.8.1).”
Egy kicsit később pedig ezt:
Idézet:
„Note: The ADDWF PCL instruction does not update PCLATH and PCLATU. A read operation on PCL must be performed to update PCLATH and PCLATU.”


Megszakítási címek a Memory Organization / Program memory organization fejezetben az alábbi képen láthatók.

Szia
(#) sucuka válasza potyo hozzászólására (») Jan 25, 2010 /
 
Köszi az infót, itt legalább mindig tanul az ember valamit
De akkor a 16F628-on hogyhogy csak egy van Ott nem számít a dolog amit írtál?
Elnézést, hogy ennyit kérdezek, de még új vagyok ebben
(#) roland0327 válasza sucuka hozzászólására (») Jan 25, 2010 /
 
Sucu, te már megvetted a 16f628-ast? Mert én kérdezősködtem ma és Watt kellega azt mondta, hogy 18f-essel kezdjek igy a választásom a 18f2550-re esett.
(#) sucuka válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Még a múlt héten rendeltem két 16F628-ast, mert ahogy írtam is, lemaradt a rendelésből a két digit-potméter az égetőkhöz, így újra rendelnem kellett, elvileg ma hozta meg a haverom.
(#) roland0327 válasza sucuka hozzászólására (») Jan 25, 2010 /
 
Most nem tudom rendeljek e mindkettőt 16f628-ast és 18f2550-est, mert a Rádióvilágos újságban 16f628-al magyarázza a dolgokat és nem tudom hogy lehet 18f2550-el is csinálni. Lehet?
(#) Hp41C válasza potyo hozzászólására (») Jan 25, 2010 / 2
 
Sziasztok!

A nagysebességű digitális áramkörök egyik ellensége a kivezetések induktivitása. A föld vezetéké a legkritikusabb (Ground bounce), hiszen minden kimenetbe befolyó áram ezen a kivezetésen folyik a tápegységbe (a TTL bemenetek aszimetrikusak voltak, az alacsony szintű bemeneten nagyobb áram folyt, mint a magas szintűn). Egy kimenet árama eléri a kb. 10 mA-t. Egy soklábú kontrolleren több ilyen is lehet. Ha az áramot 10nS alatt kikapcsoljuk, a kivezetés induktivitása legyen 1uH, az indukálódó feszültség Ui = L * dI/dT ~ 1V, ami a TTL (kompatibilis) bemeneteken már nem engedhető meg. Tobvábbá az is problámát okoz, hogy a kontroller belső földpontja emelkedik el a külső földponttól ezzel a feszültséggel, az összes alacsony kimenet feszültsége megemelkedik. Baj lehet a bemenetekkel is, a magasnak érzékelt szintet a zavar idejére alacsony szintnek érzékelheti a kontroller.
A tápnál is hasonló jelenségek lépnek fel a kontroller által kiadott áramok kikapcsolásánál, de a TTL (kompatibilis) áramkörök a táp felöl érkező zavarokra érzéketlenebbek (zajtartalék a magas szintnél nagyobb).
Sokkivezetéses tokok esetén azért van több táp és föld kivezetés, hogy az impedancia alacsonyabb legyen. Minden kivezetést be kell kötni a zavarok elkerülése érdekében. (A még nagyobb sebességű áramköröknél egyre több lesz a föld és tápláb - vannak olyanok, ahol a eléri a lábszám felét...) A táp és a föld kivezetés régebben a tokok sarkain voltak - a lehető leghosszabb belső vezetékezéssel (de csak kevés láb volt 8-20), a sebesség növekedésével a táp és föld lábak középre kerültek a belső vezetékezés hosszának rövidítése miatt.

További probléma léphet fel, ha a kontroller földkivezetési (tápkivezetései) között a tokon belül folyik át kiegyenlítő áram, netán rövidzárlati áram...

Sziasztok
(#) sucuka válasza roland0327 hozzászólására (») Jan 25, 2010 /
 
Azokat a dolgokat biztosan meg tudod csinálni amik a rádióvilágos füzetben vannak, csak nem pont úgy ahogy ott van, mert a 18F2550 újabb, meg többet tud, meg könnyebb programozni (állítólag), hisz azért javasolják.
De nem vesztettél semmit, mert ha veszel egy 18F2550-et , azzal később csinálhatsz egy PICkit2 debuggert, és akkor már lesz kettő Hiszen egy ICD2-t én is csinálok neked.
De szerimtem indulásnak tökéletes a 18F-es neked.
Én azért választottam a 16F628-at, mert szimpibb volt, de úgy is veszek másikakat is.
(#) sucuka válasza Hp41C hozzászólására (») Jan 25, 2010 /
 
Köszi a kimerítő, és hasznos választ!
(#) Hp41C válasza sucuka hozzászólására (») Jan 25, 2010 /
 
Szia!

Rendelj 16F628A-t illetve 16F648A-t. Ragaszkodj az A végződéshez, mert csak az debuggolható (és olcsóbb is).

Szia
(#) Attila86 válasza watt hozzászólására (») Jan 25, 2010 /
 
Erre még visszatérünk, de most más problémám akadt:
Sokkal lassabban villog a LED mint ahogy szeretném.
A PIC 4MHz-es belső órajellel dolgozik. A TMR0 időzítőre 1:256-os osztás van beállítva és 16 bites üzemmódban működik. Ez azt jelenti, hogy a TMR0 túlcsordulásához 1/4000000*256*65536=4,19 másodperc kell. Én azt szeretném, hogy nem 4,19 másodperc múlva csorduljon túl, hanem 0,1 másodperc múlva. Ezért a TMR0 számlálót feltöltöm 65536-0,1/(1/4000000*256)=63973-al, hogy már csak 1562-t kelljen számolnia a túlcsordulásig.
A túlcsordulás megszakítást generál. Minden megszakítás esetén egyet hozzáadok az IDOZITES regiszterhez és minden megszakításkor vizsgálom ennek értékét. Ha megegyezik azzal az értékkel amit a program elején beállítok, akkor ki vagy be kapcsolja a PIC a motort (egyenlőre LED-et).

A probléma tehát az, hogy valamit elszámolhattam az időzítésben, mert sokkal lassabban villog a LED mint szeretném. Illetve ha tápfeszültséget kap a PIC, akkor az első villanásig rengeteg idő (vagy fél perc) telik el.

Laminalo1.asm
    
(#) sucuka válasza Hp41C hozzászólására (») Jan 25, 2010 /
 
Igen elfelejtettem odaírni, hogy A végű, azt hiszem azt rendeltem. (remélem)
(#) Hp41C válasza Attila86 hozzászólására (») Jan 25, 2010 / 1
 
Szia!

A Timer0 az Fosc / 4 -et kapja meg bemenő órajelnek...

Szia
(#) roland0327 válasza Hp41C hozzászólására (») Jan 25, 2010 /
 
És aminek a végén I/SP van?
Következő: »»   651 / 1319
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