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   20 / 1210
(#) watt válasza (Felhasználó 20218) hozzászólására (») Szept 22, 2009 /
 
Meg fogsz lepődni, hogy a nyelv ismerete mennyire huszadrangú dolog...
(#) p_istvan válasza potyo hozzászólására (») Szept 22, 2009 /
 
Ja, csak kérdés ki mivel (vagy kivel) tud együtt-élni...

Az SDCC-vel szemezek egy ideje, már csak azért is mert linuxom van, csak pár éve még elég sok problémával küzdött az írások szerint.
(#) potyo válasza p_istvan hozzászólására (») Szept 22, 2009 /
 
Én az oldalon levő autó belsővilágítás vezérlőt először SDCC-vel fordítottam, és prímán működött. Később is csak azért írtam át (mondjuk nem sokat kellett módosítani) Hi-Tech fordítóra, mert az benne van az MPLAB telepítőjében, így mindenki rendelkezik vele. Mondjuk nem az a kattintok és fordít dolog, de linuxosként ez gondolom nem jelent problémát. Az utóbbi időben elég sokat fejlesztettek a PIC-ek támogatásán, szerintem egy próbát mindenképpen megér.
(#) (Felhasználó 20218) válasza potyo hozzászólására (») Szept 22, 2009 /
 
Köszönöm a linkeket! Igen hasznos információk voltak bennük... Ebből én azt szűrtem le hogy igazából csak magammal tolok ki ha megkerülöm az asm-et. És mivel "C" nyelven sincs semmi gyakorlatom, igazából nem dobok ki az ablakon semmi előnyt... Másik dolog hogy nem kerget a tatár, nincs határidős munkám ilyen ügyben, ha éveim mennek rá hogy megtanuljam akkor sem fog összedőlni a világ!
(#) icserny válasza p_istvan hozzászólására (») Szept 22, 2009 /
 
A HiTech C Lite Linux alatt is használható, IDE is van hozzá.
(#) icserny válasza (Felhasználó 20218) hozzászólására (») Szept 22, 2009 /
 
Ha ennyire szereted a linkeket, akkor ezt se hagyd ki!
(#) (Felhasználó 20218) válasza icserny hozzászólására (») Szept 22, 2009 /
 
Hát nem is hagyom ki! Köszönöm szépen! Most minden információt beszippantok és remélem idővel összeáll bennem valami. Mondjuk elméletben elég nehéz is ezeket a dolgokat megtanulni. Következő fizumból tervezek vásárolni egy USB-s programozót (sajna Laptopon nincs COM) meg egy protoboard-ot és akkor nekiállok kisérletezni, én abból tudok a legtöbbet okulni!
(#) p_istvan válasza potyo hozzászólására (») Szept 22, 2009 /
 
Kösz, majd megnézem, hogy boldogulok vele!
Most egy ablakban (Virtualbox) futtatok egy XP-t a linuxon néhány program közte a CCSC miatt. így már csak a TINA-m (legális) maradna az XP-n de az nehezebb ügy lesz.
(#) p_istvan válasza icserny hozzászólására (») Szept 22, 2009 /
 
Ezt is köszönöm, ez nekem új volt!
(#) icserny válasza (Felhasználó 20218) hozzászólására (») Szept 22, 2009 /
 
Bootloaderrel is el lehet boldogulni (egy darabig), ha valaki beírja neked. PIC18F14k50 vagy PIC18F4550-re gondolok...
(#) (Felhasználó 20218) válasza icserny hozzászólására (») Szept 22, 2009 /
 
Végülis van egy haverom akinek van egy eredi programozója, nála tudok sütni!
(#) icserny válasza (Felhasználó 20218) hozzászólására (») Szept 22, 2009 /
 
Akkor neked ennyi is elég az induláshoz.

Bővebben: link

Célszerű a Microchip FSUSB (vagy PIC18F14K50 esetén a Low Pin Count USB) kártyával kompatibilis áramkört kialakítani, mert akkor a gyári demók csont nélkül futnak rajta.

Többfajta bootloader van, én most a HID bootloadert favorizálom, a honlapomon található anyag is ezt fogja támogatni, csak jussak el előbb a 8. fejezetig.

Mellesleg az eddig közzétett PIC18 fejezeteket szigorúan csak MPLAB szimulátorra szántam - nincs is értelme PIC-be égetni ezeket a mintaprogramokat. Ehhez nem kell semmit sem venni, tessék nekilátni!

PIC majd csak a Kísérleti áramkör c. fejezettől kell, amikor már a perifériák is szóhoz jutnak.
(#) webinas hozzászólása Szept 22, 2009 /
 
Sziasztok!
A késleltetéssel támadt egy kis gondom, amiben szeretném a segítségeteket kérni.
Van egy ledes futófény 16F84A-s PIC-el.

Ebben a késleltetés így van megoldva:
  1. Delay   MOVLW 03h
  2.             MOVWF 1Ah

Az első sor az tiszta. Ott a STATUS regisztert teszi a W-be. Viszont az az 1Ah érték nem világos.
Hogyan szabályozzák ezzel a késleltetést?

Köszönöm előre is, ha valaki elmagyarázná nekem!
(#) (Felhasználó 20218) válasza webinas hozzászólására (») Szept 22, 2009 /
 
Nézd meg itt: Electic power A PIC menüpontban van egy PIC tanfolyam rész, ott elég részletesen le van írva! Még én is megértettem, pedig mindössze 2-3hete foglalkozok mikrovezérlőkkel!
(#) Norberto válasza webinas hozzászólására (») Szept 22, 2009 /
 
Az első sor, tehát ez:

  1. MOVLW 03h


Nem a STATUS regisztert piszkálja.

Hanem beletesz a W, azaz munkaregiszterbe 03 hexadecimális értéket, azaz binárisan a következő lesz a W tartalma a művelet után: '0000 0011'

Ha többet beillesztenél a kódból, ennek a környezetéből, akkor talán jobban tudnánk segíteni.
(#) webinas válasza Norberto hozzászólására (») Szept 22, 2009 /
 
Köszönöm!

  1. LIST P=16F84A
  2.  #INCLUDE "P16F84A.INC"
  3.  __CONFIG _XT_OSC&_CP_OFF&_WDT_OFF
  4.  
  5. Start   ORG 0x00
  6.         BSF 03,5        
  7.         MOVLW 00h      
  8.         MOVWF 05h      
  9.         MOVWF 06h      
  10.         BCF 03,5        
  11.         MOVLW 02h      
  12.         MOVWF 05h      
  13.  
  14. UpDown
  15.         BCF 03h,0  
  16.         MOVLW 01h      
  17.         MOVWF 06h      
  18.         CALL Delay
  19.  
  20. UpDown1 RLF 06h,1      
  21.         CALL Delay
  22.         BTFSS 06h,6        
  23.         GOTO UpDown1  
  24.  
  25. UpDown2
  26.         RRF 06h,1      
  27.         CALL Delay
  28.         BTFSS 06h,0    
  29.         GOTO UpDown2  
  30.         GOTO UpDown1  
  31.  
  32. Delay   MOVLW 03h
  33.         MOVWF 1Ah
  34.  
  35. Delay1  DECFSZ 1Bh,1
  36.         GOTO Delay1
  37.         DECFSZ 1Ch,1
  38.         GOTO Delay1
  39.         DECFSZ 1Ah,1
  40.         GOTO Delay1
  41.         RETURN
  42. END
(#) Norberto válasza webinas hozzászólására (») Szept 22, 2009 /
 
Húha, hirtelenjében ezt most nem fogom tudni kigubancolni, elég olvashatatlan a kód sajnos.

Ez abban jelentkezik például, hogy:

MOVLW 00h
MOVWF 05h
MOVWF 06h

van írva ahelyett, hogy a 05h és 06h helyen lévő regisztereknek csak ennyit üzennénk például:

clrf PORTA
clrf PORTB

Ezzel csak példálóztam, egyáltalán nem biztos, hogy a 05h és 06h ezeket a regisztereket jelentik.

Mindenesetre olvashatóbb lenne, ha ilyesmik lennének beírva. Így csak később vagy csak holnap tudok rá választ adni, mert bogoznom kell az adatlapból...
(#) webinas válasza Norberto hozzászólására (») Szept 22, 2009 /
 
Ne bajlódj vele, átírom én, és felteszem ide.
Beírom soronként a kommenteket is, hogy szerintem mi-micsoda. Csak, hogy jól tudom-e.
(#) icserny válasza webinas hozzászólására (») Szept 22, 2009 /
 
Az 1a, 1b, 1c a RAM területen van? Mert olybá tűnik, hogy a program egy háromszorosan egymásbaágyazott cklusban múlatja az időt.

Ebből a belső két ciklus lefutása legyen mondjuk X idő. A MOVLW 03h/ MOVWF 1Ah utasításpár pedig azt mondja, hogy kérek 3 darabot ebből az X egység késleltetésből.

A PIC Miértekeben kb. két hete számolgattuk, hogy egy ilyen késleltetés hány utasításciklus.

  1. Delay   MOVLW 03h    ; 3 ciklus rendel...
  2.         MOVWF 1Ah      ; szaml3-ba tesszük
  3.  
  4. Delay1  DECFSZ 1Bh,1   ; szaml1 csökkentés
  5.         GOTO Delay1         ; sipirc vissza, ha nem lett nulla
  6.         DECFSZ 1Ch,1       ; szaml2 csökkentés
  7.         GOTO Delay1        ; sipirc vissza, ha szaml2 nem nulla
  8.         DECFSZ 1Ah,1      ; szaml3 csökkentés
  9.         GOTO Delay1       ; sipirc vissza, ha szaml3 nem nulla
  10.         RETURN       ; ha szaml3 nagyobb lett volna,
  11.                        ; akésleltetésem is tovább tartott volna....
(#) Norby14 hozzászólása Szept 22, 2009 /
 
sziasztok! lehet, hogy ezt nem ide kéne írni, de leírom. Olyat találtam ki, hogy van a biciglim és, hogy ráteszek előre hátra 2-2 ledet, fehéret pirosat. Meg is vettem a 2 fehéret meg két pirosat (a piros magasfényű, a fehér meg a közepes fényerősségú), először felraktam a fehéret szép meg minden tök jól világít és utána bekötöttem a pirosat és ahogy bekötöttem a fehér majdnem teljesen elhalványult és a piros meg vakítóan világít. Ha valaki tud adni vmi tippet, hogy hogyan lehetne megcsinálni, hogy hogyan világítson kb mind a két színű led nagyjából ugyan úgy az leírhatná! És még annyit, hogy 2 ceruzaelemmel működtetem és a LED-ek 5mm-esek
(#) icserny válasza Norby14 hozzászólására (») Szept 22, 2009 /
 
Ha a PIC rovathoz ragaszkodsz, akkor például PWM-mel (Pulse width modulation = impulzusszélesség moduláció).

Az Elektronika kezdő-ben azt írtam volna, hogy soros áramkorlátozó ellenállással. Ha jól értettelek, akkor most csak a telep belső ellenállása korlátozza az áramot. Még jó, hogy ki nem nyiffantak a LED-ek!

Bővebben: Link1, Link2, Link3
(#) MPi-c válasza webinas hozzászólására (») Szept 22, 2009 /
 
Idézet:
„Delay MOVLW 03h
MOVWF 1Ah

Az első sor az tiszta. Ott a STATUS regisztert teszi a W-be.”

Ahogy Norberto írta, itt nem a STATUS regiszterről, hanem egy konstans értékről van szó. A megállapításodból pedig - sajnos - az következik, hogy nem vagy teljesen tisztában az utasításokkal. Elő kell venni az utasításokat leíró táblázatot (adatlap, vagy van magyar nyelvű forrás is) és meg kell nézni, mi mit jelent.
Tehát az első sor 0x03- at ír a W-be, majd azt a második sor az 0x1A címen tárolja.
Maga a késleltetés a Delay cimkével jelölt sornál kezdődik és a return utasításig tart. A késleltetés három ciklussal van megoldva. A ciklusszámlálók a 0x1A, 0x1B, 0x1C regiszterekben vannak.
A decfsz utasítás csökkenti az adott regiszter értékét eggyel, majd az így kapott értéket "visszahelyezi" a regiszterbe. Ezt jelenti a '1'-es az utasítás operandusaiban. Ezt egyébként szépen 'F'-nek szoktuk írni (0-t meg 'W'-nek)
Szóval a decfsz az adott regiszter értékének csökkentése után a következő utasítást átlépi, ha az eredmény nulla.
Az órajel ismerete mellett kiszámítható, hogy mennyi idő alatt fut le a három ciklus. Bizonyára látható, hogy az 0x1A értékét növelve hosszabb lesz a késleltetés. Itt egy kis segítség a kiszámításához. A 24 bites késleltető ciklusnál keresd!
(#) webinas válasza MPi-c hozzászólására (») Szept 22, 2009 /
 
Köszönöm! Áttanulmányozom az oldalt.
Mivel teljesen kezdő vagyok-e téren, ezért nem csak az utasításokkal nem vagyok tisztában sajnos.
De, majd szép lassan.
(#) webinas válasza icserny hozzászólására (») Szept 22, 2009 /
 
Köszönöm! Nagyon jó!
(#) webinas válasza MPi-c hozzászólására (») Szept 22, 2009 /
 
Dinnye vagyok.
Megnéztem a PIC regiszter térképét.
Most már tudom, hogy mi az a 1Ah, 1Bh, 1Ch

(#) Hp41C válasza Norby14 hozzászólására (») Szept 23, 2009 /
 
Szia!

A LED-ek feszültsége színfüggő, a fehéré nagyobb (kb.3-3.5V), mint a pirosé (kb. 1.8-2.1V). A problámádat a közös áramkorlátozó ellenállás okozza. A piros(ak)nak és a fehér(ek)nek tegyél külön ellenállást. A fehérnek nem sokáig lesz elég a 2 db.ceruzaelem feszültsége. Használj inkább 3-at, 1 db fehér ledhez 150 ohm, 1db piroshoz 270 ohm áramkorlátozó ellenállást..

Szia
(#) vgyre válasza Hp41C hozzászólására (») Szept 23, 2009 /
 
Szia!
Nem csak a színtől, hanem a típustól is függ.
(#) (Felhasználó 20218) hozzászólása Szept 25, 2009 /
 
Helló mindenkinek!
Most készülök rendelni a ChipCAD-től egy PG164120-as PICKit 2 programozót! Gondolom itt többeknek van vele tapasztalata... Szerintetek jó vásár???
(#) (Felhasználó 20218) hozzászólása Szept 25, 2009 /
 
Most néztem a microchip honlapján, hátha ott olcsóbb... tudnak számolni!!!
A pickit2: 24,99 EUR
Szállítás: 16,89 EUR
Kezelési költs.: 5 EUR
Csomagolás: 11,28 EUR
Összesen: 58,16 EUR (264HUF/EUR ->15354 HUF)
Teljesen leakadtam rajta, ehhez képest a ChipCAD-nél 7100+FA +post
(#) Norberto válasza (Felhasználó 20218) hozzászólására (») Szept 25, 2009 /
 
Átverni nem akarnak, ez tuti, szóval ne ilyen értelemben vedd az árakat. Lényeg, hogy működőképes, gyári verziót vehetsz meg, és örülj, hogy ilyen jó áron van.
Következő: »»   20 / 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