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   128 / 1210
(#) Pepebá válasza icserny hozzászólására (») Aug 25, 2011 /
 
Hali!
1. Nem csak a a gondom hogy ha leválasztásra kerül az USB port leáll a progi, ha nem az hogy USB kapcsolat nélkül el sem indul, illetve rövid működés után leáll. Olyan feladatra szánom ahol a PIC folyamatosan működik analóg bemeneten mér és adott esetben csatlakozik a PC és ha kell beolvassa az adatokat.
2. A timer használatnál a gyakorlati megoldásokkal van gondom, azért keresek példa prg-t, amit köszönök.
Üdv.
(#) vicsys válasza janikukac hozzászólására (») Aug 25, 2011 /
 
Ha benne van a PIC, vissza tudod követni, hogy melyik lábakhoz van bekötve. Az adatlapján meg jelölve van normálisan.
(#) janikukac válasza (Felhasználó 15355) hozzászólására (») Aug 25, 2011 /
 
Bocsi! PIC18F4525!!! :hide:
(#) vicsys válasza janikukac hozzászólására (») Aug 25, 2011 /
 
Töltsd le az adatlapját, a panelon meg kövesd le a lábakat. (1-40-39 valamint a tápok 11-12 és 32-31)
(#) janikukac válasza vicsys hozzászólására (») Aug 25, 2011 /
 
Okés, köszi !
(#) icserny válasza Pepebá hozzászólására (») Aug 25, 2011 /
 
Idézet:
„Olyan feladatra szánom ahol a PIC folyamatosan működik analóg bemeneten mér és adott esetben csatlakozik a PC és ha kell beolvassa az adatokat.”
Mondom: USB HID device.
Idézet:
„A timer használatnál a gyakorlati megoldásokkal van gondom, azért keresek példa prg-t”
Azt nézd meg, amit ajánlottam. A továbbiakról akkor lehet gyakorlati példákról beszélni, ha akár az ajánlott mintapéldával, akár mással kapcsolatban felmerül valami konkrét probléma.
(#) janikukac hozzászólása Aug 26, 2011 /
 
Sziasztok !

Kéne egy ICSP adapter, tehát sok foglalat van, PIC a megfelelőbe bele, éget, kivesz, kész. A keresővel találtam párat, csak nem megfelelőt. Valaki adna nekem egy olyat ami olyan, hogy az foglalatok egymásban vannak, tehát a 40 közepén a 28-as, meg a 8-as, stb, hogy kisebb helyet foglaljon el az egész...
(#) potyo válasza janikukac hozzászólására (») Aug 26, 2011 /
 
Szerintem a helyfoglalás számodra még nem kellene, hogy szempont legyen...
(#) janikukac válasza potyo hozzászólására (») Aug 26, 2011 /
 
Most épp tervezek egyet Sprintel, ha kész, felrakom.
(#) Pepebá válasza icserny hozzászólására (») Aug 26, 2011 /
 
Hali!
Köszönöm válaszod mind két témában.
A példa progi és a project számlálól/időzítők fejezetének tanulmányozásával próbálom megérteni a téma rejtelmeit.
Üdv.
(#) kzteam hozzászólása Aug 26, 2011 /
 
Hello,

Tudom láma kérdés, szégyenlem is de 1 napja nem tudok rájönni:

18F14K22-t szeretnék asm-ben programmozni MPLAB alatt, PICKIT2 starter panelba dugva.

A hiba: a lefordított programot rátöltöm és csak megvillan a vezérelni kívánt led rátöltés alatt, pedig én 0xff-t töltöttem PORTC-re. A felvillanó led mindíg a programozott (probaltam 0x01, 0x03,0x09-el is).

WDTEN = OFF
Internal RC oscillator ON

A progi:

clrf TRISC
movlw 0xFF
movwf LATC
goto $
end

Eddig 16f690-el dolgoztam, az ugyan ezen módon kezelve futatta a programot, ergó úgy maradt.

Előre is kösz:
(#) icserny válasza kzteam hozzászólására (») Aug 26, 2011 /
 
A goto $ (illetve a $ használata) nem biztos, hogy nyerő, mert a memória bájtonként címezhető, az utasítás meg csak páros bájton kezdődhet. Tegyél inkább egy címkét!
(#) janikukac válasza janikukac hozzászólására (») Aug 26, 2011 /
 
* ad valaki egy rajzot adaptert. Amit én csináltam kész volt, de elfelejtettem elmenteni,mert lett egy kis zűr itthon. Elveszett a bizim..
(#) dinokal válasza janikukac hozzászólására (») Aug 26, 2011 /
 
A helyfoglalás lehet fontos szempont(beteheted a mellényzsebbe), esetleg költséghatékony. Kissé problémás ha véletlenül nem jól teszed be a pic-et, ez bizony könnyen előfordulhat, elég egy lábbal odébb tenni mint kellene. Nem utolsó sorban mindég utána kell nézni, melyik pic pontosan hová kerül. Ha mindegyiknek külön aljzat van, ilyen gond nincs, tudod melyikekhez készült, csak beleteszed oszt jól van. Van olyan égetőm, ami egyetlen 40 lábas foglalattal készült, de ennek meg a programja vizuálisan mutatja hogy hova kell beletenni. Ezt az egész macerát elkerülheted ha ICSP-t használsz, hat darab tüske, jó a Pickit2 és 3-hoz is, nem véletlenül ajánlják az okosok.
(#) janikukac válasza dinokal hozzászólására (») Aug 26, 2011 /
 
Oké, értem. Most félreértettek, de nem részletezem hogyan, mert éhes vagyok.

Ad valaki egy adaptert? Külön foglalatosat, méret nem lényeges, csak jól bevált legyen, és .lay-ben legyen.(nyomtatási beállítások miatt kérem abban, nem átszerkesztés miatt !!!) Köszi
(#) brato válasza janikukac hozzászólására (») Aug 26, 2011 /
 
Van itt az oldalon is csak keresni kell!
keres
(#) janikukac válasza brato hozzászólására (») Aug 26, 2011 /
 
Köszi, ezt eddig meg sem találtam...
(#) El_Pinyo válasza kzteam hozzászólására (») Aug 26, 2011 /
 
A konfigurációs szó beállítása lényeges dolog. Valószínűsítem, hogy nem kódban állítod, pedig célszerűbb lenne a kódban megtenni (MPLab- ban a Configure menü Configuration Bits menüelem kiválasztása után a kis check boxot be kell jelölni- Configuration Bits set in code). Valószínűsítem, hogy az LVP bit nincs letiltva, mely az alacsony feszültségű programozásért felelős, ez bizonytalan működést okoz a nem megfelelő hardver kialakítás esetén. Írtam egy minta kódot, töltsd rá a kontrollerre, remélhetőleg működik majd. Én az MCLR funkciót engedélyeztem a kódban, tehát az MCLR bemenetre adott alacsony szint resetet okoz. Lényeges probléma még, hogy a portok beállításánál az analóg funkció nincs letiltva, tehát az analóg működésre képes lábak analógok a reset után.
A kód:
  1. #include <P18F14k22.inc>
  2.        
  3.         ERRORLEVEL -230
  4.  
  5.         __CONFIG _CONFIG1H, _FOSC_IRC_1H & _PLLEN_OFF_1H & _PCLKEN_OFF_1H & _FCMEN_OFF_1H & _IESO_OFF_1H
  6.         __CONFIG _CONFIG2L, _PWRTEN_OFF_2L & _BOREN_OFF_2L & _BORV_30_2L
  7.         __CONFIG _CONFIG2H, _WDTEN_OFF_2H & _WDTPS_32768_2H
  8.         __CONFIG _CONFIG3H, _HFOFST_OFF_3H & _MCLRE_ON_3H
  9.         __CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _BBSIZ_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L
  10.         __CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L
  11.         __CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H
  12.         __CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L
  13.         __CONFIG _CONFIG6H, _WRTC_OFF_6H & _WRTB_OFF_6H & _WRTD_OFF_6H
  14.         __CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L
  15.         __CONFIG _CONFIG7H, _EBTRB_OFF_7H
  16.  
  17.         ORG 0
  18.         goto Start
  19.  
  20. Start:
  21.         movlw b'01010000'
  22.         movwf OSCCON, A                 ;átkapcsolás 4 MHz-re
  23. IntOSCNotStab:
  24.         btfss OSCCON, HFIOFS, A
  25.         bra IntOSCNotStab               ;várakozás az oszcillátor stabilizálódására
  26.         clrf PORTC, A
  27.         clrf LATC, A
  28.         clrf ANSEL, A                   ;minden port digitális
  29.         clrf ANSELH, A
  30.         clrf TRISC, A                   ;PORTC kimenet
  31.         movlw 0xFF
  32.         movwf LATC
  33.  
  34. MainLoop:
  35.         goto MainLoop
  36.        
  37.        
  38.         END
(#) janikukac válasza janikukac hozzászólására (») Aug 26, 2011 /
 
Bele akarok gyors egy ledet rakni, ami akkor világít, ha programoz, tehát van fesz. Hova rakjam? Gnd meg VDD-re? Persze kell egy előtét is..
(#) kokozo válasza SCOPE hozzászólására (») Aug 26, 2011 /
 
Szia 25*25-ös méretben összedobtam neked a panelrajzot táppal együtt. Ha túl nagy akkor helyezd bele a kukába. A progit meg más már megígérte..

panel.lay
    
(#) kzteam válasza icserny hozzászólására (») Aug 26, 2011 /
 
Szia,

A $ jel alkalmazását a PICKIT2 mintaprogramokból vettem, eddig nem volt vele gondom (16f690-el). Ennek ellenére megpróbálom, hogy segít-e?

Köszönöm
(#) kzteam válasza El_Pinyo hozzászólására (») Aug 26, 2011 /
 
Köszönöm, otthon lepróbálom este. Valóban nem a programban állítottam a biteket, mert a fordító "__config" soromat warninggal kidobta (bár a 16f690-nél megszokott paraméterekkel volt feltöltve).

Az analóg rész viszont biztos nem zavart be, mert csak bemenetként használva akadályozott volna, de csupa kimenetet csináltam

Próba és aztán írom, hogy hogyan sikerült.

üdv
(#) potyo válasza kzteam hozzászólására (») Aug 26, 2011 /
 
A konfig azért nem tetszett neki, mert ez egy 18F, az meg egy 16F. Nem véletlenül nem azonos a típusjelzésük, mindkettőnél sajátmagának megfelelően kell megadni a konfigurációt. Nézz bele a header fájlokba. Illetve van a Help-ben olyan, hogy C18 Config settings, úgy emlékszem, ugyanazokat elfogadja asm-ben is.

Az analóg részt MINDIG ki kell kapcsolni, ha digitális célra használod a lábat. Van olyan PIC, aminél átáll kimenetté annak ellenére, hogy nincs letiltva az AD bemenet, de van aminél nem fog kimenetté átállni. A szimulátor is úgy emlékszem csak akkor hajlandó kimenetnek tekinteni a lábat, ha az analóg periféria le van tiltva róla.
(#) El_Pinyo válasza kzteam hozzászólására (») Aug 26, 2011 /
 
Idézet:
„Az analóg rész viszont biztos nem zavart be, mert csak bemenetként használva akadályozott volna, de csupa kimenetet csináltam”

Igazad van, ennél a típusnál valóban nem szükséges letiltogatni az analóg funkciókat. Én azonban mindig be szoktam ezeket állítgatni, itt is így tettem. Gond nem lehet belőle, az biztos.
(#) kzteam válasza El_Pinyo hozzászólására (») Aug 26, 2011 /
 
Hah!

Rátöltöttem a progidat és ua nem ment. Aztán kezdtem agyalni.....

A probléma az volt főleg, hogy RESET-ben tartja beégetés után a PICKIT2 a 18f14k22-t, míg az előtte használt 16f690-t nem.

Így annyi történik, hogy RELEASE from RESET gombot kellett nyomnom MPLAB-ban (eddig azt se tudtam, hogy van ilyen).

Mindenképpen köszönöm a segítséget, legalább szert tettem egy jó kis config beállításra

Üdv
(#) icserny válasza kzteam hozzászólására (») Aug 26, 2011 /
 
A konfigurációt olvasmányosabb volna így megadni, az újabb szintaxis szerint:
  1. config WDTPS    = 32768     ; Watchdog utószámláló beállítása
  2. config MCLRE    = OFF       ; MCLR (reset) bemenet letiltva, RA3 bemenet
  3. config HFOFST   = ON        ; Rendszer óra nem vár HFINTOSC-ra
  4. config STVREN   = ON        ; A verem túlcsordulása RESET-et okoz
  5. config LVP      = OFF       ; Alacsonyfeszültségű programozás letiltva
  6. config XINST    = OFF       ; Extended Instruction Set
Ja, ez csak egy részlet a PIC18F14K50 konfigurációmból.
(#) Pepebá hozzászólása Aug 26, 2011 /
 
Hali!
Hogyan lehet a Piccoló projectben a 18F4550 PIC timer2 TMR2 számláló és PR2 periódus regiszter valamint a TMR2IF jelzőbit értékét kiolvasni? C-ben
Üdv.
(#) icserny válasza Pepebá hozzászólására (») Aug 27, 2011 /
 
Erre gondoltál?
  1. unsigned char a,b,c;
  2. a = TMR2;
  3. b = PR2;
  4. c = PIR1bits.TMR2IF;
(#) Pepebá válasza icserny hozzászólására (») Aug 28, 2011 /
 
Hali
Igen erre gondoltam, köszönöm. Kicsit elhamarkodott volt a kérdésem, időközben rájöttem a probléma megoldásásra.
Próbálkozásom közben nem voltam körültekintő és egy más jellegű programozási hiba miatt nem működött az egyenlőség.
Mégegyszer köszönöm.
Egyébként nagyon hasznosak a Piccolo project leírásaid és példaprogramok. Ajánlom minden kezdőnek, kellő tanulmányozással szinte minden feladatmegoldásra meg lehet találni a megoldást.
(persze az ajánlott szakirodalom(k) és az adatlapok nélkülönözhetetlenek)
Üdv.
(#) pajti2 hozzászólása Aug 28, 2011 /
 
Hali!

Olyasmin filozok, hogyan lehet ~32 mega byte külső memóriát hozzápakolni pic-es áramkörhöz. Statikus ramból bármi, amit fellelni tudtam, ~128kbyte nagyságrendnél kifújt. Arm szöcskékhez van külön dinamikus memória support, pic-hez ilyesmit nem találtam. Valami tippnek örülnék.

Köszi.
Következő: »»   128 / 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