Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- 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.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   235 / 1210
(#) Zsora válasza Zsora hozzászólására (») Ápr 7, 2012 /
 
pjg!
Jaj... a GPS koordinátás mondat nem neked szólt, hanem menyusnak.

menyus!
Milyen formában, hány bájton tárolod a GPS adatokat, és milyen átalakításra van szükséged? Hátha egyszerűbben is megoldható a dolog...
(#) icserny válasza pjg hozzászólására (») Ápr 7, 2012 /
 
Idézet:
„A PIC24-ek közül melyik típust ajánlod, amivel érdemes kezdeni az ismerkedést. Úgy látom nem sok DIP tokozású van köztük.”
Én a PIC24HJ128GP502 típust választottam, tananyagot és készítettem hozzá PIC-kwik projekt néven. A napokban tervezem az átdolgozott változatának közzétételét, amelyben a Microstick és Microstick Plus is támogatott, s hellyel-közzel a 16-bit 28-pin Starter Board is (bár ez túl drága hobbi célokra).
Ebben a cikkben már leírtam, hogy dugaszolós próbapanelon hogyna építhető meg a kísérleti áramkör, a PIC-kwik projekt megjelenés előtt álló változatában pedig azt is leírom, hogy hogyan építhetjük meg az nyomtatott áramköri kártya formájában (lásd a mellékelt képen).

picador_2.jpg
    
(#) menyus válasza Zsora hozzászólására (») Ápr 7, 2012 /
 
Nálam ahogy jönnek a soroson úgy letárolom őket a egy az egyben a RAM ba, ezután leválogatom csak a koordinátákat amiket az eepromba lementek. Mivel a GPS modultól ASCII hex kód fórmátumban jönnek ezért úgy...Ezért egy karakter foglal egy byte ot...De erre már kaptam megoldást, már az ASCII - hex konvertálásra. Illetve egy jóindulatú és segítőkész fórumtársunk nem bírta nézni már a szenvedéseimet és volt olyan szíves tok vono megírta nekem az egész átváltást ASM ben az ASCII konvertálástól a koordináta átváltásig.

Hálás köszönet érte ez úton is...

Szándékosan nem írok nicket, mivel nem biztos hogy örülne neki ha a hozzám hasonló láma programozók bombáznák különböző "írd át ezt írd át azt" kérésekkel....
(#) maestro válasza brato hozzászólására (») Ápr 7, 2012 /
 
Köszi ez a legegyszerűbb!
De elolvasom majd Balagemann2031 által linkeltet is.
(#) Zsora válasza menyus hozzászólására (») Ápr 7, 2012 /
 
Ja?!... Csak ennyiről volt szó?
Azt gondoltam hogy koordinátatranszformációra van szükséged.
Egyébként meg icserny cikkei tényleg nagyon jók. Ha érdekel a PIC24/dsPIC széria, akkor ajánlott őket elolvasni.
(#) menyus válasza menyus hozzászólására (») Ápr 7, 2012 /
 
Ami ez előzőből lemaradt....Természetesen a jó szándékú segíteni akarást Neked (Zsora) és mindazoknak köszönöm akik próbáltak segíteni ebben nekem.

És ami a lényeg...Mielőtt kimondva / kimondatlanul valaki minősítene engem...Röviden...: részemről NEM pofátlan "csináld meg helyettem ingyen" kérés érkezett az illető felé privát mailben.... Az illető döntött az önzetlen segítség mellett...
(#) Stefan válasza menyus hozzászólására (») Ápr 7, 2012 /
 
Még mindig nem értem miért szivatjátok magatokat ASMmel, amikor a magas szintű nyelveket azért találták ki, hogy ne kelljen elemi utasításokkal vacakloni.
Természetesen jó ha az ember valamennyire ismeri, hogy mi történik a háttérben, hibakeresésnél jó ismerni az asm utasításokat, de komolyabb projektbe belevágni assemblyben...
Amit indokként fel szoktatok hozni, hogy a hardwarehez közelebb kerül az ember ezáltal. Ezzel azért vitatkoznék, mert az SFRek beállításánal a "movf REG, 20" és a REG=20; között nem sok különbséget látok. Az adat és memóriakezelés, bankolás, stb... dolgokkal szerintem meg időt tölteni megint felesleges. A C ezt is elintézi, ha meg nagyon bele kell mászni valamiért, akkor majd belemászik aki akar.
Ami negatívum szokott lenni C vel kapcsolatban, hogy lassab a kód. Nemrég futottam bele egy időkritikus kódrészletbe, ahol különböző trükkökkel a ~15ms-os futásidőt 3 alá lehetett gyúrni. Szóval ez is csak a programozón múlik, és nem a nyelv hátránya.
(#) menyus válasza Zsora hozzászólására (») Ápr 7, 2012 /
 
Igen köszönöm, már Ő is ajánlotta a cikket. Olvasgatom de egyelőre kínai. Most annyi minden jár a fejemben, hogyan tovább...? Maradjak az ASM nél és tanuljam meg a bináris alapműveleteket (tudom, ezt mindenképpen meg kellene), vagy nyergeljek át és kezdjek el a C vel foglalkozni ami egyesek szerint "elmacskásítja" az embert. Igaz hogy pl. a számításokat egy két sorral el lehet végezni de ettől még nem fogom tudni megoldani a gondjaimat. Mert ha nem tudom kitalálni mit hogy kell megoldani akkor részletkérdés hogy miben nem tudom megoldani, C ben vagy ASM ben...Nemigaz...?
(#) menyus válasza Zsora hozzászólására (») Ápr 7, 2012 /
 
Hát attól függ hogy koordináta transzformáció alatt mit értesz? Mert azon túl hogy az ASCII hex formátumot át kellett váltani, magát a koordinátát is át kellett váltani másik formátumba mert mobil alkalmazásban lenne használva és ott valamiért nem eszi meg a Google Maps azt a formátumot ami a GPS modulból egy az egyben jön. Tehát 8 bites kontrollerrel kellett 8 biten nem elférő tört számokat osztani 60 al, aminek az eredménye ha jól emlékszem csak 32 biten fért el...Na ettől teljesen fejreálltam....
(#) potyo válasza menyus hozzászólására (») Ápr 7, 2012 / 1
 
Idézet:
„Mert ha nem tudom kitalálni mit hogy kell megoldani akkor részletkérdés hogy miben nem tudom megoldani, C ben vagy ASM ben...Nemigaz...?”


Pontosan. A C csak könnyít egyes dolgokon, levesz olyan dolgokat az ember válláról, amik úgymond szalagmunkák a programozásban (regiszterek mentése, több bájtos műveletek, stb.), de amit asm-ben nem lehet megcsinálni, azt C-ben sem lehet. Amit meg C-ben meglehet, azt asm-ben is, csak tovább tart. Tehát legjobb ismerni mindkettőt és akkor az ember idővel belejön, hogy melyiket mikor érdemes használni.
(#) pjg válasza Zsora hozzászólására (») Ápr 7, 2012 /
 
Természetesen. Igaz nem szólok, de iszom szavaitok.
(#) gyengus hozzászólása Ápr 7, 2012 /
 
Sziasztok!

PIC16F1938-al szeretnék RGB LEDeket vezérelni PWM-el. 12V-os LED szalagom van, melyet ULN2003AP tranisztor mezőn keresztül kötöttem a PICre. A PIC-et 3,3V-ról fogom járatni. A 12V és 3,3V földjét közösítenem kellett, hogy működjön a LEDek vezérlése.
A PICet még nem kötötem rá. Kicsit aggódok, hogy a 12V ott is megjelenik ahol nem kéne. Ezért inkább megkérdezem: az ULN2003AP ugye ezt megakadályozza?
Megmértem a 3,3V-os tápvonalat, nem került rá 12V.

Másik kérdésem, hogy az ULN2003AP elég gyors lesz a PWM vezérléshez? Az adatlapjában nem találtam semmi erre vonatkozó információt.
(#) potyo válasza gyengus hozzászólására (») Ápr 7, 2012 /
 
Rákötheted a picet, ez a dolga az ULN2003-nak. Elég gyors lesz, gondolom nem akarod 100kHz vagy afeletti frekvenciával hajtani a ledeket.
(#) gyengus válasza potyo hozzászólására (») Ápr 7, 2012 /
 
Köszönöm a választ!
(#) Barkóca válasza potyo hozzászólására (») Ápr 7, 2012 /
 
Sziasztok !
Bocs , hogy beleszólok de ezt már régen meg akartam fogalmazni de más megtette helyettem nagyon jól ez a lényeg " Tehát legjobb ismerni mindkettőt és akkor az ember idővel belejön, hogy melyiket mikor érdemes használni." és ez a PBP rajongókra is igaz ,csak az ők megnyugtatása illetve indíttatása miatt reagáltam.
(#) n_yálastrubadúr hozzászólása Ápr 7, 2012 /
 
Jó estét!
A probléma az, hogy a programban semmi nem ad okot hogy a Porta,1 az kapcsoljon, ennek ellenére mégis néha bevillan amikor akármelyik másik kapcsol a Porta-n. Ez a láb tönkremenetelét jelenti nagy valószínűséggel?
(#) vilmosd válasza n_yálastrubadúr hozzászólására (») Ápr 7, 2012 /
 
Idézet:
„Ez a láb tönkremenetelét jelenti nagy valószínűséggel?”
Program hiba nagy valoszinuseggel. Esetleg programreszlet segitene bovebb informaciohoz.
(#) n_yálastrubadúr válasza vilmosd hozzászólására (») Ápr 7, 2012 /
 
  1. movlw.64
  2. movwf_A;PORTA
  3. calldy;delay


Egy buta teszt, mert már nemértem a hiba okát, ez egy részlet ami 1,2,4,8,16,64,128 és végtelen ciklusban, tehát kizárt hogy villoghasson, mert itt mindig csak egy mehetne.
-Amúgy a Porta,1 mindig kapcsol ha bármely más Porta kapcsol csak nagyon halványan (LED)
(#) Pepebá válasza icserny hozzászólására (») Ápr 8, 2012 /
 
Üdv.
Sikerült a PCF8583 I2C-s óra regisztereit olvasni, viszont az íráshoz szükségem lenne 2 és 4 jegyű bináris/ 4 jegyű BCD konvertáló függvényre C18-hoz.
Nagyon hálás lennék segítségedért, amit már sok esetben megtettél.
(#) icserny válasza Pepebá hozzászólására (») Ápr 8, 2012 / 1
 
Írd be a keresőbe, hogy bin2bcd!
Itt egy példa: Link
(#) Pepebá válasza icserny hozzászólására (») Ápr 8, 2012 /
 
Köszönöm. Másképpen próbálkoztam és csak igen bonyolult példákat találtam.
(#) icserny hozzászólása Ápr 8, 2012 /
 
Megújult a PIC-kwik projekt!

Bár kezdőknek szánom a honlapomon található PIC24 tananyagot, az eddeigi hagyományokat követve a PIC - Miértek, hogyanok c. topikban adtam hírt róla, hogy közzétettem a PIC-kwik projekt átdolgozott változatát. A készültségi fokát csak 60 %-ra taksálom, de így is hasznos segítséget jelenthet a PIC24 vagy dsPIC33 mikrovezérlőkkel ismerkedők számára. További részleteke a PIC - Miértek, hogyanok c. topikban...

Ezzel a hírrel kívánok mindnyájatoknak áldott Húsvétot!
(#) maestro hozzászólása Ápr 9, 2012 /
 
Lenne pár kérdésem megint. Miért van az, hogy a PORTB bemeneteit elakarom menteni egy változóba, akkor az INTCON regiszter RBIF jelzőbite 1-be billen? Pedig a MOVF PORTB,W utasítás előtt töröltem.
  1. BCF INTCON,RBIF
  2. MOVF PORTB,W; ezután billen 1-be az RBIF
  3. MOVWF VAR

A MOVF utasítással a PORTB regisztert is törli, nem csak átmásolja?

Ezt az élváltozást próbálnám detektálni, hogy felfutó vagy lefutó, de nem nagyon akar összejönni.
Vagy tud valaki erre egy egyszerű módszert?
(#) n_yálastrubadúr hozzászólása Ápr 9, 2012 /
 
Jó estét!
Megint kezembe akadt egy pic 16f1826. Elfelejtettem hogyan kell kezelni a potokat. Azt tudom, hogy van a BANKSEL és ugrálok a bankok között. De hogyan van a LATA meg a PORTA hogyan kell helyesen kapcsolni a portot? Ezen kívül a pwm sem indul el

matrix1.2.asm
    
(#) AZA válasza maestro hozzászólására (») Ápr 9, 2012 /
 
Lehetne egy kicsit bővebben?Kontrollertipus,meg hoszabb kód?
(#) bkati hozzászólása Ápr 9, 2012 /
 
Érdekes dolgot olvastam egy PIC adatlapján, amit eddig nem vettem észre. Azt írják, hogy ha resetgombot csinálsz, akkor nem ajánlatos közvetlenül a földre kötni az MCLR lábat, mert ha a kapcsoláskor fellépő feszültségtüske a VSS alá megy, és 80 mA-nél nagyobb áramot indukál, akkor lefagyhat a PIC. Az adatlap egy soros, 50-100 ohmos ellenállást javasol ennek kivédésére. Ti szoktatok ellenállást tenni, vagy simán a földre húzzátok a lábat resetgombbal?
(#) vilmosd válasza bkati hozzászólására (») Ápr 10, 2012 /
 
Mitol menne a VSS ala a feszultseg? Persze ha ala megy akkor lehet nagyobb aram, de nem tud. A felhuzoellenallas 10 k-val huz a VDD fele, ami ugye 5 volt. Akkor ugye nem lehet sehonnan sem negativ fesz. Amugy sem latom sok ertelmet a Reset gombnak. Amikor Resetelni kell egy rendszert ott mar nagy baj van. Vagy a SW, vagy a HW, vagy mindketto gagyi. De ha beteszed az ellenallast nem csinalsz kart, csak a helyet foglalod feleslegesen.
(#) El_Pinyo válasza vilmosd hozzászólására (») Ápr 10, 2012 /
 
Az, hogy nem tud csak bizonyos körülmények között igaz. Ha az ember közvetlenül a PCB-n helyezi el a reset jelet előállító eszközt, akkor nem lesz probléma, de egyáltalán nem biztos, hogy közvetlenül a PIC mellett van egy nyomógomb (ha egyáltalán nyomógomb), ami GND-re húz. A mellékletben szereplő modell két mezei CMOS meghajtót ábrázol, a piros az adó, a zöld a vevő. A távvezeték szimbólum nagyjából 1,5m hosszú vezetéket szimbolizál. A szimulációs eredmény mutatja, hogy igenis ki tud alakulni Vss-nél kisebb feszültség is a vevő oldalon, amely a bemeneten levő ESD diódát szépen kinyitja, ami nem megfelelő működést eredményezhet. Rövid vezetéknél elhagyható ugyan a soros ellenállás, de hosszú összeköttetésnél én azért tennék.
(#) menyus hozzászólása Ápr 10, 2012 /
 
Sziasztok!

Ismét belefutottam a lapváltás problémába, bár már dolgoztam két programlapos kontrollerrel. 4 K s kontrollert használok 16F648A, tehát a pclath,3 bit állítása elég a boldogsághoz. Én ezt eddig (mint rájöttem teljesen feleslegesen..) úgy oldottam meg hogy a Page0 ra és a Page1 re is elhelyeztem egy rutint amit call al hívogattam meg. Ez ugye nem jó megoldás mert eszi a memóriát a felesleges return ök miatt. Egyszerűbb a szokásos BSF / BCF el állítgatni a biteket lapváltás előtt és után, csak hát ugye nagyon figyelni kell...igaz a rutinos megoldásnál is mert az is ugyanezt csinálja csak több memóriát fogyaszt.

A kérdésem az lenne, hogy ha a page1 ről esik be egy megszakítás (a megszakítás rutin ugye eleve a page0 án van) olyankor mi van? Mert így a megszakítás nem fog működni. Ezt úgy lehetne megoldani (szerintem) hogy lechekkolni a pclath,3 at a megszakításrutin elején és ennek alapján "kell nem kell" alapon memória lapot váltani. És persze mindezek előtt elmenteni a pclath eredeti állapotát is, majd az int lefutása után visszaállítani a többi save regiszterrel együtt. (ezt most is így csinálom, ezzel nincs gond)

Most megint ott tartok hogy F628A ról F648A ra átírtam ergy kódot és semmi nem működik rajta. Már 5x átnéztem, jók a lapváltások visszatérések...stb de mégsem megy. Ami gyanús és nem vagyok tisztában ezzel...Van a 0x070 címtől 16 db 8 bites változóm deklarálva, illetve a 0x020 től 2 db szintén. nem lehet hogy itt lehet valami gond? Hol tudom megnézni hogy ezek a regiszterek a program memóriában melyik lapon vannak? Mert gyanítom hogy valahol itt lehet a hiba..

Tudom, használjak 18F vagy 24F kontrollert de ahogy potyo írta lapváltások ott is vannak, bár itt ellentmondást érzek mert watt pedig írta régebben hogy a 18F - től felfelé már nincs ez a lapváltás őrület amibe bele lehet hülyülni..Most akkor mi az igazság..?

Köszi
(#) menyus hozzászólása Ápr 10, 2012 /
 
Valami ilyesmire gondoltam a megszakítás elején a mentések után:

BTFSC PCLATH,3
BSF PCLATH,3
Következő: »»   235 / 1210
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