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   547 / 1210
(#) mps válasza djhua hozzászólására (») Júl 15, 2014 /
 
Mintha nem nyitna ki a diódád, próbáld ki szembe fordítva először, aztán jöhet a reflexiós. De ez nem pic kérdés!
(#) kistee válasza djhua hozzászólására (») Júl 15, 2014 /
 
Próbáld meg a 12k-t a táp helyett az LM324 kimenetére (1-es láb) kötni.
(#) gaspar_zsolt hozzászólása Júl 15, 2014 /
 
Segítsetek nekem legyetek szívesek.
Mit jelentenek ezek a matematikai utasítások az asm kódrészletben?

xorlw (0x00 ^ 0x0C)
xorlw (b'01110100')^(b'01110110')

movlw (1<<OUT1 | 1<<OUT2)

Köszönöm szépen.

Illetve, ha tudtok linket, ahol olvashatok még ilyenekről, azt is megköszönöm.
A hozzászólás módosítva: Júl 15, 2014
(#) kissi válasza gaspar_zsolt hozzászólására (») Júl 15, 2014 / 1
 
A '^' jel a kizáró-vagy (XOR) kapcsolat jele, bitenként kell képezni, az eredmény '1', ha nem egyeznek a bitek és '0', ha egyeznek ( pl, 0x00 ^ 0x0C --> 0x0C, a '0x' kezdés a hexa kódra utal, a b' ' a bináris adatra ! ).
Az '1<<OUT1' az 1-et mozgatja az OUT1 helyre, tehát például, ha OUT1=3, akkor az '1<<OUT1' értéke: b'00001000' !
A '|' jel a vagy (OR) kapcsolat jele, szintén bitenkénti művelet!

Remélem segítettem !
(#) gaspar_zsolt válasza kissi hozzászólására (») Júl 16, 2014 /
 
Huuu kissi, azt nem is tudod milyen sokat! Sajnos a google erre nem dobott semmit...

tehát a movlw (1<<OUT1 | 1<<OUT2) ha OUT1=3 és OUT2=4, akkor a vége a OR művelet után B'00011000' lesz. Azaz movlw B'00011000'.

Erre a megoldásra változók miatt van szükség? Ha jól sejtem.

Magukat a logikai műveleteket tudom, csak a jelrendszeri jelölést nem ismertem. Illetve ezeket a mozgató jeleket. Mintha a C+-ban lett volna ilyen műveletsor.

Hol tudok még ilyen jelölésekről olvasni?
(#) gaspar_zsolt válasza kissi hozzászólására (») Júl 16, 2014 /
 
Még egy dolog!

a példában szereplő xorlw (0x00 ^ 0x0C) tulajdonképen egy XOR művelet a W regiszter és a zárójeles értékek között? Ugye?
(#) kissi válasza gaspar_zsolt hozzászólására (») Júl 16, 2014 /
 
pl. ebben olvashatsz Bővebben: Link
(#) kissi válasza gaspar_zsolt hozzászólására (») Júl 16, 2014 /
 
Nem, a 0x00 és a 0x0C között csinál egy XOR-t ( zárójel! ) és ezt az eredményt másolja a W-be !
(#) jonatani01 hozzászólása Júl 16, 2014 /
 
Sziasztok!
Szeretnék macrokat használni a programomban, de fogalmam sincs, hogy hol keresi a fordító az #include "file.asm" sor után a file-t, és azt sem tudom, hogy .asm, vagy .inc kiterjesztéssel mentsem a programrészeket? Tehát hova mentsek egy kész macrot?
Oda mentettem ahol a mikrovezérlők .inc filejai vannak, de így azt írja a fordító, hogy nem találja a filet...
És már belefájdult a fejem a sok keresgélésbe a neten, hogy végül is hova kel menteni, de semmi sincs róla az ég világon. Ha van is, én biztos hogy nem keresem tovább mert belerokkanok.
Remélem nagyjából érthető hogy mi a kérdésem.
A hozzászólás módosítva: Júl 16, 2014
(#) nedudgi válasza jonatani01 hozzászólására (») Júl 16, 2014 /
 
Azt a verziót próbáltad, hogy projekt könyvtárába mented a fájlt?
(#) Hp41C válasza gaspar_zsolt hozzászólására (») Júl 16, 2014 / 1
 
Miután a xorlw utasítás egy xor műveletet ír elő a paraméterben megadott kifejezés értékével, így az erebmény az amit írtál.
xorlw (0x00 ^ 0x0C) ---> xorlw 0x0C
A xor egy önduális művelet: a^b^b = a
Főleg sokirányú elágazáskor célszerű használni:
  1. movlw valtozo
  2. xorlw ertek1
  3. btfss STATUS,Z
  4. goto ide1
  5. xorlw ertek1^ertek2 ; itt W akkor lesz 0, ha valtozo tartalma ertek2
  6. btfss STATUS,Z
  7. goto ide2

Ezekre a faxnikra azért van szükség, mert egy adatot egy programban csak egyszer szabad megadni. A bit pozíció a btfss, btfsc utasításokhoz és a maszk értéke az andlw, iorlw, xorlw utasításokhoz eltérő értékű. Érdemes a bit pozíciót megadni és a maszkot ebből számíttatni (1 << bit_pozíció). Ha később módosítáni kell, elegendő csak ezt az értéket módosítani. (Ha több értéket kellene módosítani, néhányat úgyis kifelejtenénk...)
(#) nedudgi válasza jonatani01 hozzászólására (») Júl 16, 2014 /
 
A projekthez hozzáadtad a fájlt?
Melyik MPLab verziót használod?
(#) jonatani01 válasza nedudgi hozzászólására (») Júl 16, 2014 /
 
Próbáltam valami ilyesmit, de akkor nem ment, viszont most megy. Köszi.
Ezek szerint minden egyes projecthez be kell majd másolni a macrokat?
Mert az úgy elég gagyi.
(#) morzsa15 hozzászólása Júl 16, 2014 /
 
Sziasztok!
Szeretnék meg tanulni pichez programot írni ehhez kellene valami gyakorló panel amit magam is meg tudok építeni tudtok javasolni valamit?
(#) Hp41C válasza morzsa15 hozzászólására (») Júl 16, 2014 /
 
Egy Breadboard, némi alkatrész készlet és egy programozó. Több nem kell.
A hozzászólás módosítva: Júl 16, 2014
(#) morzsa15 válasza Hp41C hozzászólására (») Júl 16, 2014 /
 
Értem. Esetleg tudsz javasolni valami cikket vagy nem is tudom hogy nevezik ezeket ami alapján el tudok indulni?
(#) icserny válasza jonatani01 hozzászólására (») Júl 16, 2014 /
 
Idézet:
„Ezek szerint minden egyes projecthez be kell majd másolni a macrokat?”
Miért kellene? Teheted egy közös használatú mappába, de akkor meg kell adni a relatív elérési utat.
Például én így használom:
  1. #include "..\include\p18_all.inc"
A hozzászólás módosítva: Júl 16, 2014
(#) jonatani01 válasza icserny hozzászólására (») Júl 16, 2014 /
 
Ha tudtam volna, hogy meg lehet adni így az elérési utat, vagy legalább eszembe jutott volna megpróbálni, akkor nem tettem volna fel a kérdést.
Szóval ezzel okosabb lettem, köszi a választ!
(#) gaspar_zsolt válasza Hp41C hozzászólására (») Júl 16, 2014 /
 
Ha a példaprogramod veszem, akkor
valtozo ^ertek1 --> W reg-be,
majd ertek1^ertek2 esetén jön, amit írtál az önduális műveletről, hogy valtozo^ertek1^ertek1^ertek2 , azaz a művelet valtozo^ertek2.

Akkor ha ez így "öröklődik", azt jelenti, hogy egy hosszabb kódrészlet esetében, például a kezdeti 0x00 értéket "viszi tovább sorról-sorra" végülis.

Mint itt:

  1. xorlw   0x00                    ; CV513
  2. btfsc   STATUS,Z
  3. retlw   E_CV513
  4. xorlw   (0x00 ^ 0x08)           ; CV521
  5. btfsc   STATUS,Z
  6. retlw   E_CV521
  7. xorlw   (0x08 ^ 0x1C)           ; CV541
  8. btfsc   STATUS,Z
  9. retlw   E_CV541
  10. xorlw   (0x1C ^ 0x02)           ; CV515
  11. btfsc   STATUS,Z
  12. retlw   E_CV515
  13. xorlw   (0x02 ^ 0x03)           ; CV516
  14. btfsc   STATUS,Z
  15. retlw   E_CV516
  16. xorlw   (0x03 ^ 0x04)           ; CV517
  17. btfsc   STATUS,Z
  18. retlw   E_CV517
  19. xorlw   (0x04 ^ 0x05)           ; CV518
  20. btfsc   STATUS,Z
  21. retlw   E_CV518
  22. xorlw   (0x05 ^ 0x20)           ; CV545
  23. btfsc   STATUS,Z
  24. retlw   E_CV545
A hozzászólás módosítva: Júl 16, 2014
(#) gaspar_zsolt válasza kissi hozzászólására (») Júl 16, 2014 /
 

Szuper, köszi!
(#) silent15 hozzászólása Júl 16, 2014 /
 
Sziasztok, lenne egy olyan kérdésem, hogy van egy PIC18F14K50-es chippem , azt szeretném 5V-ról járatni, az adatlapban benne van, hogy a chipben benne van a 3,2V-os szabájzó, szóval az 5V nem lenne neki gond (bár ez is egy kérdés, hogy fuset kell e állítani, bár én csak olyat találtam, ami kikapcsolja) , de a PICkit2 nem enged többet adni mint 3,3V,így a próbakapcsolásomon lévő többi cucc nem kap eleget, hogy tudom ezt megoldani, hogy a PICkit2 is adjon neki 5V-ot?
ÜdV!
(#) Hp41C válasza gaspar_zsolt hozzászólására (») Júl 16, 2014 /
 
Igen, erre gondoltam.
Idézet:
„Akkor ha ez így "öröklődik", azt jelenti, hogy egy hosszabb kódrészlet esetében, például a kezdeti 0x00 értéket "viszi tovább sorról-sorra" végülis.”

Ezt nem igazám értem, de az a fő, hogy Te megértetted.
(#) gaspar_zsolt válasza Hp41C hozzászólására (») Júl 16, 2014 /
 
Igen megértettem és köszönöm még egyszer neked is a tanítást!
(#) Pali79 válasza morzsa15 hozzászólására (») Júl 16, 2014 /
 
Itt a cikkek között Topi "nullától a robotokig" című cikkét javaslom kezdésnek, de meggyőződésem, hogy a saját célok megvalósítása hozza a legjobb eredményt.
(#) Pali79 válasza morzsa15 hozzászólására (») Júl 17, 2014 /
 
Esetleg még EZT az oldalt tudom ajánlani, bár a gyakorló panelt nem tartom jó ötletnek, mert ha mondjuk egy pic-en csak egy modult akarsz használni, meg mondjuk A/D-t az tök más lábakon vannak, tehát használhatatlan.
(#) icserny válasza morzsa15 hozzászólására (») Júl 17, 2014 /
 
Idézet:
„Szeretnék meg tanulni pichez programot írni”
Milyen PIC-hez? PIC16, PIC18, PIC24 vagy PIC32 érdekel? PICkit2 vagy PICkit3 programozód lesz hozzá?
(#) Pali79 válasza icserny hozzászólására (») Júl 17, 2014 /
 
Hát szerintem tanulni első körben elég a 12, vagy a 16 is, a PICKIT 2 legalább alap, szerintem...
(#) icserny válasza Pali79 hozzászólására (») Júl 17, 2014 /
 
Ez egyáltalán nem biztos. Attól függ, hogy honnan indul, és mik a céljai.
(#) BESENYII hozzászólása Júl 18, 2014 /
 
Sziasztok!
MPLAB 8.91-et használok XC8 fordítóval, saját header filet hogyan kell írni. Amit én írtam azt a fordító nem veszi figyelembe, hiába adtam hozzá a projekt-hez. Nem találja az elérési utat mégsem?
#ifendef__SAJAT_H
#define__SAJAT_H
// a program dolgai...
#endif
Itt megakadtam, kérlek segítsetek.
(#) brugo hozzászólása Júl 18, 2014 /
 
Szervusztok,
működik linuxos MPABX-el a Pickit 3 -as programozó ?
Nagyon megszerettem a Fedora linuxot és ha még ez is működne akkor vége a Windoznak.
De mielőtt megvenném a Pikit 3- at érdeklődök tölletek .
Következő: »»   547 / 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