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   6 / 1210
(#) capaizee válasza djpman hozzászólására (») Aug 15, 2008 /
 
Idézet:
„bsf ADCON0,GO
btfss ADCON0,GO
goto $-1

Ez nem igy nézne ki

bsf ADCON0, GO ;Elinditod a konverziót azzal hogy ADCON0.GO bitjét 1 állítod
btfsc , GO ;Megnézed hogy hogy 0 e
goto $-1 ; Ha nem akkor visszaugrasz mert nem fejezte be a konverziót


; ha 0 akkor befejezte az átalakítást
;mov-val átmented az eredmányt valahova
(#) djpman válasza capaizee hozzászólására (») Aug 15, 2008 /
 
Köszi a gyors választ!
Én is így gondoltam, az adatlapban is ez van ezért nem értem ,hogy az oktató program miért "btfss" utasítást használ...
(#) capaizee válasza djpman hozzászólására (») Aug 15, 2008 /
 
amugy melyk picel szórakozol csak tudjam hogy melyk adatlapok kell nézni
pic16f887, 877,877a, 917 vagy esetleg más?

meg 887hez meg 917 vannak microchip honlapján példaprogramik (pickit2 rész legalján)
(#) djpman válasza capaizee hozzászólására (») Aug 15, 2008 /
 
16F690 Majd ha hazamegyek melóból kipróbálok ezt azt...Vagy elírták a progit vagy nem tom...De működik az biztos. Csak nem lépek tovább amég megnem értem minden részletét az adott programnak és az adott hardver működését ...Kicsit bosszant ha sok bennem a kérdés és kevés a válasz.Tudom ,hogy ott van az adatlapban minden ,de mivel nem vagyok túl jó angolból nem tudok mindent megfelelően értelmezni.
(#) capaizee válasza djpman hozzászólására (») Aug 15, 2008 /
 
Na egy kicsit bövebb válasz kérdéseidre:

Egy bit konverziójához 1 T(AD) idő szükséges
tehát hogy 10 bitet konvertálj 11 T(ad)
T(ad) a/d órajel periódus ami vagy belső órajelből kapsz(van minum értke is) vagy rc-ről (ADCS<1:0> = 11 ) ekkor
5v tápnál 2 és 6 mikrosec között van átlagosan 4
(258 oldal vannak a kiegészitő infók hogy teljesen értelmezd a A/D müködését)

Ezen kivül van még egy idő amit az előtt kell várni mielőtt elkezdenéd az A/D konverziót.
Ez azért van mert A/D átalakítás alatt egy kondenzátort tartja a feszültségértéket és ha frissen beállitod hogy melyk láb értékét akarod megmérni át kell vennie 100%ban a külső feszültség értékét
Ez a "ACQUISITION TIME" és adatlapon vannak rá képletek hogy kiszámold értékét
(#) capaizee válasza capaizee hozzászólására (») Aug 15, 2008 /
 
ACQUISITION TIME-ot nem várod végig akkor előfordulhat hogy nem mérsz pontosan.
De ha nem váltogatot sürjen a csatornákat (vagy csatornák között nem nagy az eltérés) és nem változik két mérés között hatalmasat a feszültség nem muszály végigvárni

ehhez átlagban elegendő 11,5 us (microsec)
(#) capaizee válasza capaizee hozzászólására (») Aug 15, 2008 /
 
na én ennyit birtam kihámozni az adatlapból
(bár én se vagyok profi angolból)
amugy ha adatlapban hivatkozik bármilyen értékre
pl.: vpp programozófeszültség, vdd tápfesz, i2c busz idözitései, minden paramétere kimenet bemenet ellenállása, stb a

ELECTRICAL SPECIFICATIONS található meg
ami te esetedben (PIC16F631/677/685/687/689/690)
233-260 van a pdf-ben

néha érdemes hozzánézni a fejezethez ami hivatkozik rá meg néha van ott is magyarázó ábra.
(#) djpman válasza capaizee hozzászólására (») Aug 15, 2008 /
 
Köszönöm a segítséget. Elmélet meg van jöhet a gyakorlat. Abból tanul az ember igazán.
(#) histu1985 hozzászólása Aug 25, 2008 /
 
Sziasztok!

Egy 18f4550-val szórakozgatok. 20 mhz kristályról kapja az órajelet. Beállítottam egy késleltetést, amely 1 másodperc az Mplabban, feltöltöttem a pic-be és azt vettem észre. hogy a pic 5 MHz-en dolgozik.

Az adatlapban a 32. oldalon az van írva, hogy az USB miatt 4-el osztja az órajelet. Gyanítom, hogy emiatt 5 MHz.
Be lehet -e állítani, hogy 20 MHz-el menjen?

USB -s cikk

Ebben a cikkben, azt írja a szerző, hogy 20 MHz -ből 48-at kapunk a PLL miatt.
Hogyan állítsam be, hogy az 5-ből 48 legyen?
A PLL az nem egy előosztó? Tehát hogy állít elő nagyobb frekvenciát? Vagy ez csak az USB modulra vonatkozna?

Ha bárki tud valami használhatót azt megköszönném.
István
(#) potyo válasza histu1985 hozzászólására (») Aug 25, 2008 /
 
Az adatlapban a Figure 2-1 mennyire használható? Csak végig kell követni, hogy hová mennyit kell állítani, hogy a végén a kívánt órajelet kapjuk.

Amúgy egy másodperces késleltetést nem illik csinálni...
(#) histu1985 válasza potyo hozzászólására (») Aug 25, 2008 /
 
De úgy van beállítva hogy 20 MHz legyen (00), és mégis 5 MHz-en ketyeg.

Hogyhogy nem illik?
(#) potyo válasza histu1985 hozzászólására (») Aug 25, 2008 /
 
Most neharagudj, de mi van 00-ra állítva?

Azért nem illik ekkora késleltetést csinálni, mert akkor a processzor nem tud semmit csinálni, amíg a delay rutinban van. Ha pedig a program esetleg pollinggal figyel valamit (és az eredeti usb stack ilyen), akkor bukik a kommunikáció.
(#) SzervízMacska válasza histu1985 hozzászólására (») Aug 25, 2008 /
 
Szia!

Amennyiben a PIC 20 MHz-ről üzemel ( ezt a kristályoszcillátoron mérhető ), teljesen logikus, hogy az utasításvégrehajtás frekvenciája 5 MHz. Ennek az az oka, hogy a kontroller utasításai 4 órajelciklus alatt hajtódnak végre. Néhány kivétel van persze, a nyolc órajel alatt végbemenő utasítások. A lényeg az, hogy fentebb leírtak miatt a PIC max. 5 MHz-es utasításvégrehajtási frekvenciával képes dolgozni, ezt adja ki az órajel kimenetén is, ha úgy van konfigurálva. Ahhoz, hogy ez a freki 48 mega legyen, 48x4=192 MHz-en kellene üzemeltetni.
(#) histu1985 válasza SzervízMacska hozzászólására (») Aug 25, 2008 /
 
Tehát amit az MPlab-ban beállítok órajelet, az már a parancsvégrehajtási frekvencia lenne? Most nem tudom megnézni de mintha CPU system clock lett volna oda írva nekem ez inkább az órajelre vonatkozik. Sajnos a szkópommal nem tudok mérni ilyen frekit szóval kb szemre állapítom meg, úgy hogy villogtatok egy ledet 1 mp-ként, és ha a valóságban másodpercenként vilog akkor az órajel annyi amennyi az MPLabban van.

Elvileg a PLL-el is elő lehet csalogatni 48 MHz -et, még akkor is ha a bemenő órajel kevesebb. Remélem jól értelmeztem a dolgokat. Ezt próbálom megcsinálni de egyenlőre még nem jött össze.
(#) histu1985 válasza potyo hozzászólására (») Aug 25, 2008 /
 
Ez nem éles program csupán egy teszt erejéig csinálok ekkora késleltetést.

A 00 beállítás már nem aktuális. Egyenlőre a PLL beindult de nem azzal a sebességgel zötyög mint amekkora kellene.
(#) potyo válasza histu1985 hozzászólására (») Aug 25, 2008 /
 
Akkor mutasd meg a konfigurációs bitek beállísát, mert vagy abban van valami elrontva, vagy a kvarc nem azon a frekvencián rezeg,amin kellene (pl. mert harmadik harmonikus kvarcot használsz az alapharmónikus kvarc helyett).
(#) dolfin hozzászólása Szept 15, 2008 /
 
Üdv

Láttam egy PIC programozó kapcsolást amely sok különböző lábazatú PIC-et tud programozni:

LINK

Az lenne a kérdésem hogy mi a különbség a mindenki által itt használt PIC16F877A-I/P MCU és a pl: PIC12C509A-04 / P
OTP PROCESSZOR 4MHz
között. Programozásilag, satöbbi... Mivel tud kevesebbet, mit jkelent az OTP...
Főleg az lenne a problémám hogy nem kell 40 lábú PIC mivel lehetne olcsóbbal és kisebbel és egyszerűbbel kiváltani?

Hosszasan válaszoljatok ha lehet.
Köszi
(#) sirály12 válasza dolfin hozzászólására (») Szept 15, 2008 /
 
Ha nincs szükséged 40 lábúra, akkor is ne C-s pic-et vegyél, hanem F-eset. PL.: pic12F629. Azért, mert az f-es flash, vagyis sokszor tudod módosítani a benne lévő programot. A c-s és az F-es között progizásilag szerintem nincs különbség.

Az égetőről a véleményem az, hogy az oshonos egyszerűbb. De ahogy elnézem, ez egy égető és egy loader egyben. Legalábbis egy képen.
(#) Báddzsó válasza dolfin hozzászólására (») Szept 15, 2008 /
 
Egy pic programozóval rengeteg fajta picet lehet programozni, csak a megfelelő 5 lábat a megfelelő helyre kell csatlakoztatni.
otp: one time programable =egyszer programozható, ezek a C-s picek, felejtős! Neked F -es kell ahogy sirály12 is írta.
16F877A: 40 láb, belső timerek, pwm modul, adc modul, komparátorok, usart (komunikációs modul) nagy memória, ram, eeprom
12C509-ben ezek nincsenek benne és 8 lába van, C betű miatt csak egyszer programozható. 12F509 ugyanez, csak többször programozható.

A belinkelt programozót szerintem felejtsd el...

Idézet:
„Főleg az lenne a problémám hogy nem kell 40 lábú PIC mivel lehetne olcsóbbal és kisebbel és egyszerűbbel kiváltani?”

Microchip oldalán tudsz keresni tulajdonságok alapján. itt!
(#) dolfin válasza Báddzsó hozzászólására (») Szept 15, 2008 /
 
Köszi

És a PIC12F629-I/P MCU 1024x14 Flash 64B RAM tudsz valamit mondani?
olyasmire kellene mint pl ledek villogtatása (barátnőmnek meglepinek) 30-40 led körbe fusson meg különböző effekteket tudjon (halványul...)
Illetve időzítéses programozás (pl 5ms-enként felvillan egy led)...
Ehhez mi lenne jó?
Jól értem hogy a PIC-eknél 1láb 1led? Vagy vhogy tud egy láb többet is kezelni....
Köszi
(#) potyo válasza dolfin hozzászólására (») Szept 15, 2008 /
 
Azt tudjuk mondani, hogyha a témával akarsz foglalkozni, akkor olvasd végig a PIC - Miértek, hogyanok című témát az elejétől a végéig!
(#) dcsabi válasza dolfin hozzászólására (») Szept 15, 2008 /
 
Szerintem, inkább a modulrendszerű grafikus PIC programozás "Topicot" nézd át, az rövidebb, meg előbb érhetsz el eredményt. Amit említettél az kezdőként is hamar megy vele...
Proci szerintem ne 8 lábú legyen, azzal nagyon kevés variációja lehet a "ledsor kezelésnek" (628A vagy 876A...
ezek már megoldják lazán, és még nem is olyan nagyok.)
(#) szigetivan hozzászólása Okt 8, 2008 /
 
Sziasztok!

Csináltam egy kapcsolási rajzot, szeretném kérni a véleményeteket hozzá, hogy jó-e, amire csináltam.

Működése:
a ucontroller a szenzorokból bekéri az adatot, amiket átalakít(ha szükséges) és bluetooth modulon keresztül továbbit egy mobilnak..

várom a véleményeket, hozzászólásokat, esetleg majd ötleteket a hogyantovábbhoz(korrigálás, programozás, hasznos tudnivalók

Iván

kapcsrajz.JPG
    
(#) Attila86 válasza szigetivan hozzászólására (») Okt 8, 2008 /
 
Üdv.!

LED4 és LED5 elé nem kellene ellenállás?
(#) szigetivan válasza Attila86 hozzászólására (») Okt 8, 2008 /
 
köszi az lemaradt
egyéb észrevétel???

(#) bocios hozzászólása Okt 17, 2008 /
 
Sziasztok!

Végigolvastam a topic-ot, de maradt néhány kérdésem.
Teljesen kezdő vagyok és szeretném első PIC -es programozómat megcsinálni.
A többi témából és cikkekből nekem az derült ki, hogy kezdőként egy JDM programozóval érdemes kezdeni, merthogy az könnyű. Olvastam, hogy lehet építeni olyan verziót belőle, amelyik már újabb gépek soros portján is tud kommunikálni.

Azt szeretném kérdezni, hogy szerintetek is jó ötlet először egy JDM programozót építeni?

C nyelven szeretném programozni. Ezt esetleg megakadályozza az, hogy JDM programozó lesz hozzá?
(Bár gondolom nem, mert úgyis a lefordított .hex .et töltöm bele)

Illetve még egy kérdés, hogy tudtok ajánlani valami egyszerű próbapanel kapcsolást is?

Előre is köszönöm a segítséget.
(#) potyo válasza bocios hozzászólására (») Okt 17, 2008 /
 
Mielőtt azt mondod, hogy végigolvastad a témákat, az előtt olvasd is végig azokat!
(#) kobold válasza bocios hozzászólására (») Okt 17, 2008 /
 
A JDM tilos. Ha ezt így megjegyzed, és később magad is terjeszted, akkor egyszer talán kipusztul a világból az utolsó is. Állítólag van, akinél állítólag működik, de ha égető kell, minimum egy normális LPT-s verziót keress, és ha azt rendesen összerakod, mindig működni is fog.
A C nyelvvel kapcsolatos elképzelés helyes, mindig hex állományt töltesz le, azt pedig akárhogy létrehozhatod.
Van egy PIC - Miértek, hogyanok... című téma, azt (is) olvasgasd, illetve a profik (észre fogod venni, kik válaszolnak ott jót és sokat) honlapjain is érdemes nézelődni.
(#) SzervízMacska válasza bocios hozzászólására (») Okt 17, 2008 /
 
Több százszor le van írva: a JDM felejtős ( ÉN ELOLVASTAM )! A próbapaneleknek igazából sok értelmük nincsen, talán csinálj 1 ledsort, mellé nyomógomb, potméter. Az alapok megértéséhez bőven elég. Furatos próbanyákon pillanatok alatt össze lehet dobni 1 ilyen gyakorló áramkört. Ezzel megtanulható a digitális kimenetek kapcsolgatása, megszakításkezelés, AD konverzió, időzítések kezelése stb. Kezdésnek több, mint elég.
Ha jobban szereted a kész megoldásokat, vagy nincs rutinod az áramkörépítésben, vehetsz pl. Pickit2 Debug Express néven komplett "rendszert" is. Ez tartalmazza a Programozó készüléket, 1 csinos gyakorlópanelt, a szükséges szoftvert és 12 mintaprogramot, melyek próbálgatásával, módosításával gyorsan juthatsz sikerélményhez. Az ajánlott nyelv az assembly, ez is sokszor le lett írva. Összesen pártíz utasítás.

Sok sikert!
(#) bocios hozzászólása Okt 17, 2008 /
 
Igen én is olvastam, hogy a JDM nem jó, viszont azt is olvastam, hogy elkészítése egyszerű.
(De oké megértettem, ha nem hát nem.)

Azt is elolvastam, hogy a 18F4525 érdemes kezdőknek is, nem 16F -eset, mert az már nagyon régi.

JDM helyett itt a topic-ban olvastam, hogy érdemes ezt

Viszont a fent említett típus nem szerepel a listában, szerepel viszont a 18F452, nem tudom, hogy a 452 és a 4525 között van-e olyan fontos különbség, ami megakadályozza, hogy beletegyem ebbe a programozóba.

Szeretnék megpróbálkozni sajátal, ha nagyon nem akar összejönni, akkor veszek..
Következő: »»   6 / 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