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   609 / 1210
(#) killbill válasza edison14 hozzászólására (») Dec 22, 2014 /
 
Nem nagyon ismerem a PIC assemblyt, de ha 8 biten 130-bol kivonsz egyet, akkor az eredmeny bizony negativ lesz. 126=126, 127=127, 128=-128, 129=-127, 130=-126 ... 255=-1

A statusz regiszter negativ bintje az az eredmeny 7. bitje lesz a muvelet utan.
(#) Pali79 válasza killbill hozzászólására (») Dec 22, 2014 /
 
Ezt kifejtenéd bővebben? Én sem értem, hogy miért lenne ez így, pláne, hogy a windows számológépe sem mutat negatív eredményt.
(#) nedudgi válasza Pali79 hozzászólására (») Dec 22, 2014 /
 
Nyolc bites adatot többféleképpen lehet értelmezni. Ha decimálisan értelmezzük, akkkor előjeles (-128..127) vagy előjel nélküli (0..255) lehet.
(#) edison14 válasza nedudgi hozzászólására (») Dec 22, 2014 /
 
Mitől függ az, hogy előjeles e lesz van előjel nélküli?
(#) cross51 válasza edison14 hozzászólására (») Dec 22, 2014 /
 
C-ben signed "jelölt" negatív tartománya is van unsigned nem jelölt csak pozitív tartomány
assembly-ben nem tudom, hogyan különböztetjük meg.
A hozzászólás módosítva: Dec 22, 2014
(#) nedudgi válasza edison14 hozzászólására (») Dec 22, 2014 /
 
Ez értelmezés kérdése. Az lesz, aminek a program kezeli.
(#) killbill válasza cross51 hozzászólására (») Dec 22, 2014 /
 
Idézet:
„C-ben signed "jelölt"”
Nem kell eroltetni az ilyen forditast. A signed ebben az esetben előjelest jelent, nem jelöltet.
(#) Pali79 válasza nedudgi hozzászólására (») Dec 22, 2014 /
 
Hát dombon ülő fűcsomó legyek ha értem. Ha movlw-vel betöltök egy számot a w-be, előjel nélkülit, akkor az nem biztos, hogy pozitív számként lesz értelmezve?
(#) killbill válasza Pali79 hozzászólására (») Dec 22, 2014 /
 
A binaris szamabrazolasban a szamokat vagy elojel nelkul ertelmezzuk vagy elojelesen. Ha elojel nelkul, akkor az abrazolhato szam 0 es 2^n-1 koze esik, ahol n a bitek szama. Azaz 8 bit eseten ketto a nyolcadikon minusz egy, tehat 255 a maximalis ertek. Ha kettes komplemens szamabrazolast alkalmazol, akkor a legfelso helyierteku bit az elojel. Amig az elojel bit 0, addig a szam pozitv (vagy nulla). Ha az elojel bit 1, akkor a szam negativ.
(#) nedudgi válasza Pali79 hozzászólására (») Dec 22, 2014 /
 
A movlw utasítás esetében nincs értelmezve az előjel, csak bitek vannak.
Próbálj szemléletet váltani, nem számot töltesz, hanem bitsorozatot. Értelmezni meg te értelmezed annak, ami pillanatnyi hangulatodnak megfelel. Az előjel kérdés csak az aritmetikai utasítások esetén jön a képbe. (Valamint, -hogy megkeverjelek , a movf utasításnál.) Az utasításkészlet ismertetésénél mindig megadják, hogy az aktuális gépi utasítás módosítja-e a STATUS regisztert. Ha igen, akkor az operandus a -128..127 tartományba esik. Ha nem módosítja, akkor 0..255 tartományba kell elképzelned.
A fordítóprogram magasról tesz arra, hogy egy konstans szám, ASCII karakter, vagy bitsorozat. Átalakítja egy bitsorozattá, és azt a körülményeknek megfelelően felhasználja.
Így le lehet írni azt is hogy '0'+3, amiből '3' lesz. Azaz, a nulla karakter megfelelőjéhez hozzáad hármat.
A hozzászólás módosítva: Dec 22, 2014
(#) killbill válasza nedudgi hozzászólására (») Dec 22, 2014 /
 
Idézet:
„Az utasításkészlet ismertetésénél mindig megadják, hogy az aktuális gépi utasítás módosítja-e a STATUS regisztert. Ha igen, akkor az operandus a -128..127 tartományba esik. Ha nem módosítja, akkor 0..255 tartományba kell elképzelned.”
Ezt szerintem gondold at ujra, mert ennek igy semmi ertelme. Csak osszezavarod a kezdoket.
(#) don_peter válasza lastewer hozzászólására (») Dec 22, 2014 /
 
Nem hasal az el szerintem mert nem is működött. Bár kitudja...
Jobban bele kellene mászni a dologba, de sajnos most ezer más dolog is van..
Amúgy engem is érdekel a dolog szóval nem kizárt, hogy majd megnézem a későbbiekben..
(#) gyula88 válasza cross51 hozzászólására (») Dec 22, 2014 /
 
Mindenkinek köszönöm a gyors választ.
(#) Pali79 válasza nedudgi hozzászólására (») Dec 22, 2014 /
 
Nagyjából értem. De akkor mi a megoldás, hogy mondjuk a fenti kód helyes végeredményt adjon?
(#) cross51 válasza Pali79 hozzászólására (») Dec 22, 2014 /
 
Idézet:
„N: Negative bit
This bit is used for signed arithmetic (two’s complement). It indicates whether the result was negative
(ALU MSB = 1).
1 = Result was negative
0 = Result was positive”

A fenti kódod helyes az ALU N bitje egy lesz ha , 127 felett (MSB = 1)vagy mert általában a digitális matematikánál és PIC-eknél is így jelölik a negatív előjelet, hogy az MSB 1 lesz.
Ha neked számít, hogy negatív vagy nem aszerint kell figyelni STATUS regisztert, de ha te 127-nél és -128 nagyobb intervallumon akarsz számot ábrázolni akkor két byte-ra lesz szükséged mert −32,768 és 32,767 között tudsz számot ábrázolni előjelesen.
A hozzászólás módosítva: Dec 22, 2014
(#) ic20 hozzászólása Dec 22, 2014 /
 
Hello, szeretnék egy kis segítséget kérni, hogy c-ben írt programot milyen fejlesztő környezettel tudom meg nyitni( Mplab-al lehetséges-e). Válaszokat előre is köszönöm .
A hozzászólás módosítva: Dec 22, 2014
(#) Bakman válasza ic20 hozzászólására (») Dec 22, 2014 / 1
 
Akár a Jegyzettömb is ki tudja nyitni, normál szöveges fájl, csak "c" kiterjesztéssel.
A hozzászólás módosítva: Dec 22, 2014
(#) kissi válasza ic20 hozzászólására (») Dec 22, 2014 / 1
 
A 'C' forrásfájlt akár egy szövegszerkesztővel is meg tudod nézni, de lefordítani pl. C18 ( MPLAB alá installálva ! ) !
(#) ic20 válasza Bakman hozzászólására (») Dec 22, 2014 /
 
Szerkeszteni szeretném és újra fordítani hex-be.
A hozzászólás módosítva: Dec 22, 2014
(#) ic20 válasza kissi hozzászólására (») Dec 22, 2014 /
 
Köszönöm a segítséget.
(#) vilmosd válasza ic20 hozzászólására (») Dec 23, 2014 /
 
Szoval amit leirtak elottem igy igaz, de azert tudni kellene az eredeti C file milyen C, es milyen verzioban irodott. Mert sajnos igen negy elteres van a C forditok, es azok kozott a sajat variansai kozott is. Estleg ha lathatnank az eredeti forrst, tobbet lehetne mondani.
A hozzászólás módosítva: Dec 23, 2014
(#) Sicka hozzászólása Dec 23, 2014 /
 
Sziasztok a következőben szeretném a segítségeteket kérni:
Arról lenne szó, hogy már jó ideje "programozok" PIC -et, de csak szimulátorban és már unalmas volt a monitort bámulni ezért úgy döntöttem, hogy építek egy PIC-el vezérelt áramkört...
Össze is raktam pár napja, ami egy nagyon egyszerű feladatot lát el: vannak végálláskapcsolók amelyek a Pic lábaira csatlakoznak bemenetként , valamint vannak relék amik a pic "kimenetnek definiált " lábaira csatlakoznak. Na és a problémám a következő ha az áramkör felett elviszem a kezem vagy a közelében akkor összevissza csinál mindent "megzavarodik teljesen". Én arra tippelek hogy a kapcsolókat a bemenet felől egy felhúzó ellenállással kéne ellátni illetve a + - táp közé egy közel 100nF kondenzátor szükséges lenne. Ezen kívűl gondoltam arra is még, hogy a relék tekercséhez kellene egy dióda az induktív visszarúgás ellen. Légyszíves írjátok meg mi a véleményetek, ötletetek , mert nem tudom biztosra mi segítene.
Röviden tömören ( most úgy néz ki az áramkör Pic kapcsolók(+tápot kapcsolják a picre) relék )
Az egész egy vezeték kupac ,mert a kapcsolókat a pictől távol kellett elhelyeznem , tehát az egész a vezetéken keresztül tökéletesen tudja szedni a zavarójeleket
(#) brato válasza Sicka hozzászólására (») Dec 23, 2014 /
 
A sárga keretben lévő dolgokat tarts be. A kapcsolókról jövő vezetékeket a picnél húzd le testre ellenállással. A reléket én mindég tranzisztorral szoktam kapcsolni, a dióda mindenképpen kellene bele.
(#) lastewer válasza don_peter hozzászólására (») Dec 23, 2014 /
 
Értem , azért köszönöm a segítséget , pihentetem én is
(#) Sicka válasza brato hozzászólására (») Dec 23, 2014 /
 
Köszönöm brato Lenne még két kérdésem :
1.Mekkora ellenállást alkalmazzak ? A tápom: 4.75 400mA
2. Miért jobb ha tranzisztorral kapcsolod a reléket ?
(#) Pali79 válasza Sicka hozzászólására (») Dec 23, 2014 /
 
1. szerintem jobb ha a bemenetet magas szinten tartod mondjuk 4k7 ellenállással és a gombbal húzod testre
2. egy relének elég nagy az áramfelvétele, ha többet használsz akkor könnyen túlterhelheti a pic-et. De tranzisztorral megoldható nem 5 V-os hanem mondjuk 12 V-os relé használata is.
(#) cross51 válasza Pali79 hozzászólására (») Dec 23, 2014 /
 
Én relétől függően tennék egy optocsatolót mert nem csak "nagy áram" kell a relé kapcsolásához hanem mikor lekapcsoljuk a relét érdekes dolgok jönnek le a relé tekercséről.

A kapcsoló bekötésétől függően kell le és felhúzni általában ez 4k7-10k de láttam már gombot fel vagy lehúzva 2k2-val. Az sem biztos hogy kell külső felhúzás mert az újabb típusoknál van belső felhúzás(8 bites PIC-nél nem láttam még lehúzást de 16 bites PIC-nél láttam azt is).
A hozzászólás módosítva: Dec 23, 2014
(#) killbill válasza cross51 hozzászólására (») Dec 23, 2014 /
 
A rele tekercsevel parhuzamosan kell tenni egy diodat, forditott polaritassal. Optora semmi szukseg.
(#) usane válasza cross51 hozzászólására (») Dec 23, 2014 /
 
Nem kell alkatrész temetőt csinálni a projectből. Bár nem tudom mi célt szolgál a berendezés, de ha eddig csak szimulátoron gyakorolt akkor ez is tanuló project tehát elég a tranyó, de mint killbill mondja dióda is elég lehet. A kapcsoló meg valóban bekötéstől függ, de a GND mindíg biztosabb mint a pozitív sarok, ezért szokták inkább felhúzni, persze ha jól van tervezve az ák akkor a másik verzióval sincs semmi gond.
A hozzászólás módosítva: Dec 23, 2014
(#) ic20 válasza vilmosd hozzászólására (») Dec 23, 2014 /
 
Itt az oldalon Topi által készített órának( linkben benne van-a program forrás) a programját szeretném majd újra fordítani mert szeretném a hőmérséklet mérést ki venni majd belőle. Bővebben: Link
Következő: »»   609 / 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