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   367 / 1210
(#) Kovabe válasza pumpa hozzászólására (») Feb 10, 2013 /
 
Menjünk a flowcode-ba különben a feltételes elágba nem egy hez viszonyitva hanem nullához.
(#) tomics76 hozzászólása Feb 10, 2013 /
 
Sziasztok.Segítségetek szeretném kérni.Van 1 kis Hexe program és azt szeretném beégetni.Korábban csináltam,és sikerült is-amikor csak bekellet másolni a beégetendő fiel-t ,de most a hexe file pl így néz ki :020000000280B6
:10000800dddfkk (ez csak példa)
Na ezeket hova kell beírni a pickit2 programozóba? -az F-betűk helyére?
Köszönettel.
(#) Kovabe válasza tomics76 hozzászólására (») Feb 10, 2013 / 1
 
Magát a hex file-t kell a pickit 2 programmal megnyitni (file, megnyitás). Az hogy mi van a hex file-ban az relative mindegy mert azt csak te tudhatod, és ne is porbáld mefejteni mert ugyse megy.
(#) vicsys válasza tomics76 hozzászólására (») Feb 10, 2013 / 1
 
Szerintem csak .hex lesz az.
File menü/import hex
(#) schwartzboss hozzászólása Feb 10, 2013 /
 
Sziasztok!
Szeretnék kérni egy kis segítséget úgy hogy kaptam egy alapbeállítást a 12F627A - hoz, úgy elég sok mindent tudok csinálni vele.
De most szeretnék más pic-kel is foglalkozni és nem jutok a-ból b-be.
A PIC amit elővettem egy sokkal kevesebb lábú de erre lenne szükségem.
PIC 16F508
Építettem hozzá egy próbapanelt, pickit2 programozó lábkiosztással.
PIC 16F508 adatlapja
Előre is köszönöm

A felesleges sortöréseket, a csupa nagybetűs írást, valamint a teljesen felesleges szövegdekorációkat kivettem. Ez itt "nem divat", légy szíves a jövőben kerülni!
Köszönjük.
Frankye
A hozzászólás módosítva: Feb 10, 2013
(#) tomics76 válasza vicsys hozzászólására (») Feb 10, 2013 /
 
Köszi válaszod. Csak a honlapról nem engedte letölteni egy az egyben a file-t,csak hivatkozásként.
(#) bbalazs_ válasza Kovabe hozzászólására (») Feb 10, 2013 /
 
A hex file nem ordongosseg, megvan a pontos leirasa.
Nagyjabol soron beluli byteszam, cim, adatok egymas utan, ellenorzoosszeg (de ez utobbi lehet, hogy nincs is).
En sajat programozot hasznalok, nekem anno kellett, de nem volt bonyolult.
Megfejteni pedig egyszeru az adatbyteokat, mert a forditoban latod az egyes ertekeket. Mindegyik word megfeel egy-egy utasitasnak, erteknek.
Tulajdonkeppen ez egy bovitett hexdump. Talan azert is ez a neve.

Na, megtalaltam, Itt is van. Van ellenorzoosszeg es meg egy tipusbyte is az elejen.
A hozzászólás módosítva: Feb 10, 2013
(#) kistee válasza schwartzboss hozzászólására (») Feb 11, 2013 /
 
A TRIS GPIO-t egybe kell írni.
(#) schwartzboss válasza kistee hozzászólására (») Feb 11, 2013 /
 
Köszi

De azt se fogadja el!
(#) Sasmadár válasza Hp41C hozzászólására (») Feb 11, 2013 /
 
Szia!
Én csak out-ként értettem. Visszaolvasásnál természetesen különbözik a kapott érték, de ha jól emlékszem a LATA regiszter olvasáskor a kimenő D flop-ok értékét adja, a PORTA regiszter pedig a lábak aktuális állapotát.
(#) Sasmadár válasza potyo hozzászólására (») Feb 11, 2013 /
 
Szia!
Most próbáltam bitenként írni. Szimulátor szerint mind a két regiszter értéke változik bármelyiket változtatom. A port rajza szerint csak egy kimenő latch van, és mind a latx mind a portx regiszterre hivatkozott írás ugyanazt a latch-et írja.
A hozzászólás módosítva: Feb 11, 2013
(#) watt válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
A másképp viselkednek nem azt jelenti, amire gondolsz. Read Modify Write mond neked valamit?
(#) Sasmadár válasza watt hozzászólására (») Feb 11, 2013 /
 
Szia!
Az eredeti probléma port írás volt. Mint ahogy Hp41C kollégának is válaszoltam tudom, hogy vegyes port (be és kimenetek egy porton) kiosztás esetén a két regiszter olvasása különbözik.
(#) kistee válasza schwartzboss hozzászólására (») Feb 11, 2013 / 1
 
Mi a pontos hibaüzenet? Mi az, hogy "nem fogadja el"? Hogyan fordítod? És mivel?

Az "1,-----> " izéket vedd ki a sorok elejéről, vagy alakítsd kommentté. (pontosvessző!)

A "Start" rutinba legalább egy "nop"-ot tegyél (bár ezt nem tudom, baj-e?).

A "movlw b'00101000' ; portok allitasa 1:bemenet 0:kimenet movwf GPIO"-ben a GPIO helyett TRISGPIO-t írj.

A konfigurációs beállításoknak is nézz utána a Microchip oldaláról letölthető adatlapon, szerintem ott is vannak hiányosságok.
(#) Hp41C válasza bbalazs_ hozzászólására (») Feb 11, 2013 /
 
Szia!
Nem a "tris GPIO' -val a probléma, hanem az alábbi sorokkal:
  1. 1,----->
  2. 2,----->

helyett
  1. ;1,----->
  2. ;2,----->

és a
  1. GOTO            START
  2. start           GOTO    START

helyett
  1. GOTO            start
  2. start           GOTO    start

kellene.
(#) watt válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
Nem, nem arról beszélünk, hogy vegyes, hanem arról, amikor csak egy bitet írsz. A kérdésemre tudsz válaszolni?
(#) Sasmadár válasza watt hozzászólására (») Feb 11, 2013 /
 
Lehet, hogy elbeszélünk egymás mellett! Potyonak írt válaszomban írtam, hogy bitenként írtam
(bsf, bcf). Egyébként a Read Modify Write mond nekem valamit.
(#) watt válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
Akkor miért csodálkozol, hogy mindkét regiszter értéke változik? Persze, hogy változik, sőt, szimulátorban minden esetben jól fog változni, csak a valóságban nem biztos! Ha érted a RMW hiba működését, akkor biztosan nem csodálkoznál ezen, nem lenne kérdés sem...
(#) Sasmadár válasza watt hozzászólására (») Feb 11, 2013 /
 
Nem csodálkoztam, hanem közöltem egy próba eredményét.
(#) watt válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
Amely próba eredménye egyértelmű és előre látható volt és nem bizonyít semmit, csak azt, hogy nem érted a problémát, de úgy teszel, mint ha igen.
A hozzászólás módosítva: Feb 11, 2013
(#) pe.ti hozzászólása Feb 11, 2013 /
 
Sziasztok! Egy kis segítség kellene. Adott egy óracsoport. Üzemanyagszint, Km/h, Fordulatszámmérő, Vízhőfok. Ezeket szeretném valamilyen pic-cel vezérelni. Lehetséges ez? Melyik pic-cel? Előre is köszönöm!
(#) bbalazs_ válasza Hp41C hozzászólására (») Feb 11, 2013 /
 
Nem en lenni. En irni hozzaszolas alatta.
(#) Sasmadár válasza watt hozzászólására (») Feb 11, 2013 /
 
Nem történt semmi! Esetleg, ha az "RMW hiba működését" kifejtenéd megköszönném! Még nem találkoztam vele.
(#) _vl_ válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
A "BSF PORTA,2" úgy működik, hogy kiolvassa a PORTA értékét (mind a 8 bitet), átírja az egyiket, majd visszaírja mind a 8 bitet. Azt is, amit nem módosítottál. De nem azt írja vissza, ami ott volt korábban, hanem azt, amit onnan kiolvasott. Ez nem biztos, hogy megegyezik.
A PORTA esetében pl. beíráskor a D flipflopba kerül a beírt érték, de kiolvasáskor nem a korábban oda beírt értéket kapod vissza, hanem azt, amit az IC lábán a digitális bemenet érzékel. Ha 1-be írod a bitet, rövidre zárod az IC lábát a földre, akkor 0-át fogsz visszaolvasni.
(#) Hp41C válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
Olvastad? Esetleg két kimenetet egymás után állítasz egy gyors kontrollerrel bsf / bcf utasítással, az eredmény ven az lesz, amit várnál, mert az első állítás után a lábon a feszültség még nem állt be, amikor a második utasítás beolvassa a port regiszterét.
(#) Sasmadár válasza _vl_ hozzászólására (») Feb 11, 2013 /
 
Igen! De ez az adatlap szerint is így működik.
(#) watt válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
Van két kimenet, kimenetek értéke 00. Portra vonakozó bsf-el egymás után bekapcsolod a két kimenetet, de előfordulhat, hogy csak a második kimenet kapcsolódik be, mert az elsőnek még nem volt ideje magasba állni(több ok miatt is történhet ilyen), mikor a második bsf már olvassa, így az eredmény 01 lesz. Ha ezt a LAT-ra adod ki, garantáltan mindkettő be fog kapcsolódni.
(#) Sasmadár válasza watt hozzászólására (») Feb 11, 2013 /
 
Írnál egy konkrét okot? Adatlap szerint a bcf egyciklusos utasítás, tehát a következő utasítás végrehajtása előtt vissza kellene írnia a megváltozott értéket. Hp41C kolléga is ezt írta.
Vagy a kimenet kapacitásaira gondoltok?
A hozzászólás módosítva: Feb 11, 2013
(#) potyo válasza Sasmadár hozzászólására (») Feb 11, 2013 /
 
Mindenre, ami azt okozza, hogy az előzőleg elvileg magasra állított lábról mégis alacsony szint olvasódik be.

Én még egyébként olyannal nem találkoztam, hogy egy nem direkt kapacitívan vagy ohmikusan leterhelt láb nem állt volna be egy utasítás alatt magas szintre, hiába egymás után volt a két BSF utasítás. Azzal viszont már többször is, hogy ha nem jól konfiguráljuk a kontrollert, akkor előjön a dolog.
(#) Sasmadár válasza potyo hozzászólására (») Feb 11, 2013 /
 
Én sem találkoztam még ilyen problémával, ezért is érdekel ennyire. De "a jó pap holtig tanul"
Tudnál rossz konfigurációra példát mutatni?
A kapacitív terhelésre azért gondoltam, mert Hp41C kolléga azt írta gyors konrollerrel jelentkezhet a probléma, ebből gondoltam, hogy sebesség függő.
A hozzászólás módosítva: Feb 11, 2013
Következő: »»   367 / 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