Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   538 / 1319
(#) Amarton válasza kissi hozzászólására (») Aug 1, 2009 /
 
Érdekelne az a gördülő átlagolás is, mert a 12 óra az csak egy példa volt. Lehet, hogy nagyobb lesz a figyelési intervallum.
(#) guliver83 hozzászólása Aug 1, 2009 /
 
Sziasztok!
Megtudná mondani valaki,hogy milyen alkatrészek
a követketők: (Eprom)
TMS2708JL-47 DP8122
a másik:
MCM2708C 7909
És mit lehet vele kezdeni?

Fotó0083.jpg
    
(#) icserny válasza guliver83 hozzászólására (») Aug 1, 2009 /
 
1. Ebben a (kiemelt) topikban kellett volna kérdezni!
2. Valószínűleg 1 kbyte (1024x8 bit) UV-EPROM. Elektromosan írható, UV fénnyel törölhető.
3. Google a 2708 EPROM kulcsszavakkal segít!
(#) Amarton válasza kissi hozzászólására (») Aug 1, 2009 /
 
Közben a másodpecenkénti kijelzést az ötleted alapján úgy fogom megvalósítani, hogy timer1-et be illetve ki kapcsolom a szelep működésének megfelelően. 8-as osztással 2Mhz-es órajelen. Így kapom meg a lehető legpontosabb értéket.

Az átlagoláson még gondolkodom...
(#) trudnai válasza Amarton hozzászólására (») Aug 1, 2009 /
 
A leheto legpontosabbat CCP-vel kapnad ahogy azt mar javasoltak neked. De mindegy, ilyen interruptozassal is el lehet intezni, csak majd a prioritasokra is ugyelj...
(#) Moderátor hozzászólása Aug 2, 2009
 
PIC égetés probléma áthelyezve: IDE
(#) kissi válasza Amarton hozzászólására (») Aug 2, 2009 /
 
A "gördülő" átlagolás alatt azt értettem, hogy adott sűrűséggel beteszed az értékeket a memóriába és azokat átlagolod --> ez a tipikus átlagolás, csak itt össze is kell adnod meg osztani is kell! Ilyenkor célszerű úgy megválasztani a memória cellák számát, hogy 2 egész számú hatványa legyen és akkor az osztás csak shiftelés!



Steve
(#) littlejoe hozzászólása Aug 2, 2009 /
 
Ha valakinek lenne 16f628-ra magyarul felkommentezett asm kódja két 7szegmenses kijelző multiplexére azt nagyon megköszönném ha feltenné.Ezzel szenvedek már egy ideje.A tut10_1 asm müködik de nem látom át.A másik asm -et én próbáltam 628 ra átirni de nem jó mert a két számjegy egyszerre látszik a kijelzőkön.A probapenelen nem használok quartzot csak a belső oszcillátort, okozhat hibát?
(#) mammut válasza littlejoe hozzászólására (») Aug 2, 2009 /
 
Az első forráskódot lefordítja neked az MPLAB?
(#) littlejoe válasza mammut hozzászólására (») Aug 2, 2009 /
 
Lefordul,csak a confgbitekre panaszkodik.Az égető programban állítottam belső oszcillátorra.
(#) mammut válasza littlejoe hozzászólására (») Aug 2, 2009 /
 
Jah.
szerintem akkor a firmware-ben állítsd be a config szót jól:
Adatlap 94. oldala!
(#) dpeti válasza icserny hozzászólására (») Aug 3, 2009 /
 
Szia,

fel volt telepítve a graphviz csomag, átírtam ezeket a dolgokat a doxyfile-ban, azonban nem generál semmi, ellenben olyan hibákat dob, hogy nem tudja megnyitni a map fájljait...
Neten keresgéltem, másnak is vannak ilyen gondjai, de megoldást nem találtam
(#) trudnai válasza littlejoe hozzászólására (») Aug 3, 2009 /
 
Idézet:
„Az égető programban állítottam belső oszcillátorra.”


Az nagyon nem jo otlet! Nincs dokumentalva a forrasodban es honnan fogod tudni par het elteltevel mit is egettel be? Tessek megnezni az adatlapban ill a header / include file-okban, hogy hogyan kell azt a forrasbol beallitani!
(#) zerro hozzászólása Aug 3, 2009 /
 
Sziasztok!

A segítségeteket szeretném kérni. Meg szeretnék tanulni PIC-et programozni. Tudom, nem egyszerű dolog, már utánna olvastam egy két dolognak!
Amiben kellene a segítségetek, hogy milyen PIC-et ajánlotok, ami nem is drága (mondjuk egy ezresből kijön), de van legalább egy (ha több, az se gond) analóg portja illetve ezenkívűl vagy 8 digitális.
És ehez a PIC-hez milyen egyszerű programozót ajánlotok, ami működőképes is s házilag össze lehet rakni. Olvastam a neten rengeteg programozóról, de nem teljesen tudtam kiigazodni, mert valaki azt írja, hogy az egyszerű sorosportos JDM jó valaki eg azt, hogy nem jó.
Nekem valami egyszerű kellene, ha tudtok segíteni. Természetesen idővel veszek egyet, vagy összerakok egy komolyabbat, de egyenlőre csak tanulni akarok és ezért nem igazán szeretnék sok pénzt rááldozni. Ha már úgy érzem, hogy tudok valamit s fejlesztenem kell magam, akkor majd látom értelmét komolyabb dolgokba befektetni.
Dr. Kónya László úr könyve már megvan (megvettem és nem letöltöttem), de ezenkívűl milyen oldalakat ajánlotot, ahol érdemes szétnézni? (ha lehet, akkor magyar legyen) Ill. példa programokat hol keressek, ahol el is magyarázzák, hogy miért úgy kellet megírni a progit, mert sokat példákból tanulok.
És mégegy. Ha nem gond, főleg pascal nyelven kellene, mert ahoz értek.

Tudom, elsőre ez így nagyon sok, de kérlek segítsetek!

Segítségeteket nagyon köszönöm!
(#) watt válasza zerro hozzászólására (») Aug 3, 2009 /
 
1. Javaslom olvasd el ezt a topicot, mert minden kérdésedre megvan a válasz!
2. Nézz fel az oldalamra, erről is írok...
3. Olvasd el az összes cikket itt a hobbin, ami PIC-el kapcsolatos.

Kérdésem az lenne, hogy jól értesz az elektronikához?
(#) potyo válasza zerro hozzászólására (») Aug 3, 2009 /
 
Olvasd végig itt az oldalon a nagyobb PIC-es témákat az elejétől a végéig (keresőben PIC és keresés a témacímekben), illetve a közben linkelt oldalakat is. Szánj rá 1-2-3 hetet, hidd el megéri. Meg nézz szét itt az oldalon a Cikkek, Kapcsolások között is. Utána már majd ki tudod választani a neked való kontrollert és égetőt.

A Pascalt meg felejtsd el, az nem kontrollerhez való. Kezdésnek csakis asm.
(#) zerro válasza watt hozzászólására (») Aug 3, 2009 /
 
Szia!

A Te oldaladat már egy ideje olvasom! nagyon tetszik, mert sok mindent leírsz. Ezt a topikot végig olvasni hetekbe is telhet, mert rengeteg hozzászólás van.
Szerintem értek az elektronikához, de nem tudom megmondani, hogy mennyire, mert mind magamtól tanultam, de sok mindent megoldottam már és folyamatosan fejlesztem magam.
Te hogy szoktad kiválasztani a megfelelő PIC-et?
(#) watt válasza zerro hozzászólására (») Aug 3, 2009 /
 
A gyártó oldalán van egy program(erről is írtunk már, hidd el érdemes elolvasni a topicot, még ha sokáig tart is), ez a MAPS. Ez nagyon megkönnyíti a választást(letölthető és online is van). Egyébként mindig a feladattól függ milyen PIC-et választ az ember. De ezzel nem hiszem, hogy újat mondtam. Aztán jön, hogy kapható-e. Én 18F-eket használok, ha már egy lapnál több memóriát igényel a program. Ha nem, akkor 16F627A. Nagyon leegyszerűsítve...
Én kezdésnek is 18F-et ajánlok(2321,14K50!,2550). Érdemes több PIC-et venni, kizárva a bizonytalanságot, ha valami nem működik. Persze, két PIC-et is tönkre lehet tenni, ha nem vagyunk elég körültekintőek!

(#) icserny válasza dpeti hozzászólására (») Aug 3, 2009 /
 
Mellékelek egy forrásfájlt a "dot" program kipróbálásához.

Hazsnálata: dot -Tpng -ofsm.png fsm.dot

Mellékelek egy (elrettentő) példát Doxygen-hez is. A zip állományt kibontva találsz egy mycfg minta konfigurációt, amely a doxygen mycfg parancs hatására feldolgozza a mellékelt forrásfájlokat, létrehoz egy docs nevű mappát és abba generál HTML dokumentációt, hívásgráfokkal.

Indításkor az a mappa legyen az aktuális, ahol a mycfg konfigurációs állomány van. (Én a C:/DemoDOCS helyen használtam, de ennek sok jelentősége nincs).

Nálam a doxygen-1.5.9.windows.bin.zip állományból kibontott doxygen.exe van,ami nem igényel telepítést, odamásolható a konfigurációs állomány mellé.

Ha a küldött konfigurációs állományt összehasonlítod egy "doxygen -g" paranccsal generált állománnyal, akkor kiderül, hogy mit kell beállítani.

Sok sikert!
(#) kisszee hozzászólása Aug 3, 2009 /
 
Hello,

lehet, hogy hülye kérdés lesz, bár nem hagy nyugodni, littlejoe korábbi hozzászólásában ( Bővebben: Link ) megnéztem a tut10_1.asm file -t, nos, itt a main függvényben van úgy 1 másodperc késleltetés, majd jön néhány utasítás, amivel inkrementálódik egy (kettő) változó, a TMR2 16ms -onként ad megszakítást.

Lényeg a lényeg, azt nem értem, hogy mi a garancia arra, hogy a megszakítás pont akkor fog bekövetkezni, amikor eggyel nő a számláló, vagy mi van, ha pont akkor következik megszakítás, amikor még nem is teszteltem le, hogy a változó nagyobb-e xy -nál, de már a megszakítás rutinban meg akarom jeleníteni a kijelzőn? Mert eddigi olvasataim szerint semmi. Nem inkább a megszakítás rutinban lenne a helye az ilyen utasításoknak?

Remélem érthető voltam, és nem túl nagy blődség a kérdés.
(#) szilva válasza kisszee hozzászólására (») Aug 3, 2009 /
 
Az észrevétel jogos. Semmi garancia nincs arra, hogy pl. az "incf ones,f" után nem üt be az interrupt, még mielőtt megvizsgálnád, hogy nem kell-e nullázni a ones értékét. Ilyenkor bizony a hibás értéknek megfelelő alak fog megjelenni a kijelzőn.

De mivel ez csak egy kijelző, és kb 500-szor rajzolja újra másodpercenként a két digitet, nem fog feltűnni, ha időnként bevillan egy ezredmásodpercre egy hibás alak. Akkor persze gondot okozhatna, ha az alakok táblázata is csonka lenne, és csak a 0-9 számjegyekre lennének definiálva a táblázat elemei, de itt korrekt módon megvan mind a 16 lehetséges értékre (4 bitnél). A nem használt bitkombinációknál üres lesz a kijelző a táblázat szerint, így biztos nem lesz zavaró.

Persze ha nagyon fontos lenne, hogy hibás érték ne kerülhessen a kijelzőre (mert pl. a kijelzőre kiírt mintát egy másik egység leolvassa és felhasználja), akkor a két folyamatot (interruptos multiplexelés és a főprogramban a másodpercenkénti növelgetés) szinkronizálni kellene. Ez történhetne jelzőbitekkel (flagek, szemaforok), vagy akár kicsit drasztikusabban is, azaz a növelgetés idejére le lehetne tiltani az interruptokat, a várakozás alatt meg engedélyezni.

(#) trudnai válasza zerro hozzászólására (») Aug 3, 2009 /
 
16F887-est szerezz be szerintem es egy PICkit2-t. Vehetsz ilyet keszen, akkor javasolnam a Debug Express-t avagy valamelyik Starter Kit-et amik mar tartalmazzak a PICkit2 mellett a demo board-ot is a 887-essel (avagy mas debuggolhato PIC-kel). Csinalhatsz PICkit2 klont (pl Watt vagy Szilva fele klon). Demo boardot is konnyu elkesziteni hazilag...

Watt oldala
Szilva klonja
MicroChip PICkit2
(#) trudnai válasza kisszee hozzászólására (») Aug 3, 2009 /
 
Idézet:
„Lényeg a lényeg, azt nem értem, hogy mi a garancia arra, hogy a megszakítás pont akkor fog bekövetkezni, amikor eggyel nő a számláló, vagy mi van, ha pont akkor következik megszakítás, amikor még nem is teszteltem le, hogy a változó nagyobb-e xy -nál, de már a megszakítás rutinban meg akarom jeleníteni a kijelzőn?”


Az ilyenekre valok a kritikus szekciok ill a szemaforok. Kritikus szekciot interrupt vezerelt (RTOS nelkuli) kornyezetben tipikusan interrupt tiltassal szoktak megvalositani. Ekkor persze a tiltas ideje alatt beerkezo esetleges interrupt keresek elveszhetnek, de pl a timer eseteben nem fog elveszni ha nincs kozben a TMR2IF nullazva... Ilyenkor mikor az interruptot ujra engedelyezed azonnal bekovetkezik a megszakitas...

Szemafort pedig nyilvan valtozoval ill annak egy jelzo bitjevel lehet megvalositani: Tehat a modositas elott a szemafort 1-be allitod, az int vezerlo pedig megnezi, hogy 0-e, ha nem kilep a megszakitasbol, nem foglalkozik a kiirassal.., Mikor befejezted a valtozod kiertekeleset, a szemafort 0-zod, igy a kovetkezo interruptkor megteheted a kiirast...
(#) potyo válasza icserny hozzászólására (») Aug 3, 2009 /
 
Idézet:
„A MikroElektronika LV18FJMCUcard3 kártyája kellene neked ($4,90 az ára). Sajnos, jó felbontású fényképet nem találok róla.”


Miután ma kb. 8 kisérletet tettem, hogy a saját tervemet rávasaljam egy nyákra, megrendeltem az átalakítót. Majd máskor ügyetlenkedek vele, ez most fizetős meló, nem érek rá kisérletezni. Országhatáron belüli cég, remélem, hogy nem fog sokáig tartani, mire postára adják.

Amúgy ahogy láttam, nekem is az kellene, ahogy watt csinálja a nyákot, hogy a nyák alkatrészoldala felől melegíteni, a forrasztási oldalról meg valami kis gumihengerrel ráhengerelni a rajzolatot.
(#) potyo válasza watt hozzászólására (») Aug 3, 2009 /
 
Idézet:
„Csatoltam.”


Milyen szélességűre rajzolod a TQFP toknál a lábak vezetősávját? Én 0,25mm-re (10mil) rajzoltam, és az egyik kisérletnél az volt a gond, hogy túl sok volt a festék, nagyon szétlapult, és összeértek a csíkok. A te nyákodon viszont mintha a vezetékek keskenyebbek lennének, mint a vezetékek közötti sáv.
(#) kisszee hozzászólása Aug 3, 2009 /
 
Köszönöm szilva & trudnai a válaszokat!
(#) potyo válasza kisszee hozzászólására (») Aug 3, 2009 /
 
Ha kicsit változtatsz az utasításokon, akkor lehet olyat csinálni, hogy az ones értékét nem növeled meg direktben az incf utasítással, hanem pl. incf ones, w formában növeled, és a w-ben tesztelsz. Ha elért 10-re, akkor nullázod, ha nem, akkor meg valóban megnöveled incf ones, f utasítással.

Egyszer sikerült olyat csinálnom, hogy a hétszegmensű kijelzők multiplexelését timer megszakításból csináltam, viszont a tartalmat a főprogramból pakoltam a változókba. Valami ilyen volt:
  1. MOVF tmp, W
  2. MOVWF valtozo
  3. RRF valtozo, F
  4. RRF valtozo, F
  5. RRF valtozo, F
  6. RRF valtozo, F

Namost mivel a főprogram amúgy elég hosszú volt, így néha megesett, hogy az RRF utasítások között jött be a megszakítás, és ilyenkor halványan más is volt a kijelzőn, mint aminek lennie kellett volna. Az érdekes az volt benne, hogy a nyolc kijelzőnél mindig pontosan ugyanazon a két számjegyen jelent meg, ezért nem értettem egy ideig, hogy mi lehet ez, mivel minden számjegyet ugyanaz (legalábbis ugyanolyan) rutin határozott meg. Azután kicseréltem
  1. SWAPF tmp, W
  2. ANDLW 0x0F
  3. MOVWF valtozo

utasításokra, így akármikor jön a megszakítás, a valtozo tartalma vagy az új, vagy a régi érték, de sohasem valami köztes állapot (tmp értékét azért nem lehetett RRF-elni, mert kellett másra is még utána).
(#) watt válasza potyo hozzászólására (») Aug 4, 2009 /
 
Nekem is 0,25-ös. Azért lesz vékonyabb, mert kicsit alámar a széleknek.
(#) dpeti válasza icserny hozzászólására (») Aug 4, 2009 /
 
OK, köszi kipróbálom
(#) dpeti válasza icserny hozzászólására (») Aug 4, 2009 /
 
hm, elvileg így csinálom én is... bár nekem 1.5.8 van, kipróbálom egy újabbal, bár a change log-ban nem látok ilyen hibajavítást...
Következő: »»   538 / 1319
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