Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szerintem egy aktívan működő komplett mikroszámítógéptől nem olyan sok az a 2mA. Én még ahhoz vagyok szokva, hogy egy 2.5MHz-es Z80 CPU 100mA nagyságrendű áramokat evett meg, és akkor még hol volt a memória és a többi járulékos kiszolgáló alkatrész...
Az órakvarcok ritka kivételektől eltekintve 32768Hz-esek, én is olyat használok.
Köszi. Majd probálkozok aztán ha elakadok akkor vissza térek.
![]()
Látszik nem értek a lóvakhoz.
![]()
Üdv mindenkinek.
A grafikus kijelzőmnek az adatait a PIC-em (18F4620) memóriájában tárolom a gyorsabb futás érdekében. Ugy gondoltam hogy jó lenne összefogni egy structúrába az adatokat és azt hogy melyik page-re írtam és hogy volt-e a legutolsó kiíratás óta változás. Ez így nézne ki:
De a structúra mutatóját nem tudom áttállítni, tehát a GLCD.data = glcdDataArray_ptr; sorra syntax errort dob a C18-as fórdító . A kérdésem hogy meg lehet-e ezt így oldani valamilyen úton?
Szia!
Köszönöm hogy időt szakitottál az én problémámra is. Nagyon jó megoldásnak tünik. Ideje lesz megismerkednem a 18F-es családdal. A programozásuk sokban eltér a16F-töl?
Szia!
Van néhány lényeges eltérés, figyelmesen el kell olvasni az adatlapokat (a 18F2420 és a 18F2423 adatlapjait). A programtár címzése bytos, az utasítás 1 vagy két szavas <-> kiszámított goto. A közös adatmemória helyett a 18F-en az access bank van, az utasítások paraméterében meg lehet mondani, hogy az access bankot vagy a bsr-ben megadott bankot használják. Az utasítás készletet kibővítették, nagyon sok jól használható lehetőséggel, de az utasítások egy része nem ugyanúgy kezeli a státusz biteket (incf, decf állítja a C-t, stb...). Sajnos a 18F-en elég sok hiba van, az erratakat el kell olvasni. (Pont most mértém ki, hogy a 18F252 adatlapján leírt megszakítási rutinbeli visszaállítás nem működik jól a nálam levő példányon - movff reg,STATUS kerülendő). Szia
Idézet: „Ideje lesz megismerkednem a 18F-es családdal. A programozásuk sokban eltér a16F-töl?” Nézd meg a Piccolo project c. honlapomat! Az első fejezetek leírják a PIC18 felépítését, utasításkészletét. Az egyszerű mintaprogramok MPLAB szimulátorban futtathatók, nem kell hozzá hardver (majd csak a kísérleti áramkör című fejezettől kezdődően, de az a rész még embrionális állapotban van).
Hogyne! Van egy csomó nagyon jó utasításuk amik a 16F-eknek nincs. Én például ezeket használtam eddig amik nagyon jól jöttek és a 16F-ek nem tudják: movff, tstfsz, cpfseq, cpfsgt, cpfslt, addwfc, subwfcb, incfsz, decfsz, infsnz, dcfsnz. Szóval van pár.
![]()
Üdv mindenkinek!
Adott egy 4X20CH kijelzős ébresztőóra, ami PIC16F876A-t használ. Azt nem tudom eldönteni, hogy érdemes lenne-e egy i2c-s RTC-vel megtoldani az áramkört. Maga az óra, ami a 876-ba lett megírva elég pontos. Ezt leszámítva célszerű a használata? Köszi előre is!
Ezt mi nemnagyon tudjuk megmondani helyetted. Ha kevésnek találod az elem élettartamát, akkor érdemes lehet.
Kedves kissi/Steve!
Először is bocs, hogy ilyen későn reagálok, de egész nap nem voltam gép közelben, de... Én meg nem értem, hogy mit nem értesz. A tények a következők: A szenzor DS18B20, köztudottan a one-wire családba tartozik és mint ilyen egy olyan hasznos tulajdonsággal bír, hogy 1 vezetéken kommunikál, sőt ennek a tulajdonságának köszönhetően, jónéhány szenzort lehet arra a vezetékre ráakasztani. Hát, tulajdonképpen ez is lenne a rendszer lényege, hogy mondjuk 100 db szenzorhoz ne kelljen 100 db portláb, hanem 1 elég kell legyen. Addig nincs is semmi gond amig ismered az összes szenzor egyedi azonosítóját (matchrom command). De ha nem? na ott vannak a bajok. (persze csak nálam) Természetesen nem vagyok annyira bolond, hogy az RB0-ra és az RB1-re kötött 2 db szenzoron ne igazodnék el, de vegyük a konkrét esetemet! Amire a 2 db szenzort kötném az 12F629 névre hallgat. 5 db normál I/O portja van, meg még ugye 1 ami az én esetemben éppen pont a MCLR funkciót kénytelen ellátni. Hidd el, a többi láb totál foglalt, azt most nem fejtem ki, hogy miért... lényeg, hogy 1 láb van 2 szenzorra. ami nem is lenne gond a DS18B20 esetében. 1-10 esetig mondjuk működhetne a korábban tárgyalt, kiolvasom a rom kódot és utána használom verzió.... de itt szerencsére 1000-es nagyságrendről van szó. Szóval nem tudok fölvenni egy betanított munkást 1 hónapra, hogy több ezer szenzor rom kódját olvassa ki és tolja bele a 12f629-ekbe 2-tesével. De még mindig nem oldottam meg a dolgot, úghyog ha Te vágod a Search ROM parancs működését kérlek osszd meg velem. Tényleg sokat segítenél! előre is köszi! The_Saint
Elmondom, hogy mit nem ért
![]() Van a két szenzorod rákötve a PIC-re. Gondolom a két szenzorod nem egymás mellett vannak, hanem egyik pl. belső hőmérsékletet mér, a másik pedig külsőt, vagyis nem ugyanazt méred mindkettővel. Namost a search ROM algoritmus ha lefut, akkor megtudod a két szenzor ROM kódját, de azt már nem, hogy most melyik kód melyik szenzorhoz tartozik. Ezt mi alapján fogod kideríteni? Mert ha ráraksz egy RTC-t és egy hőmérőt, akkor azoknak eltér a family kódjuk, vagyis a ROM kódok ismerete után egyértelmű, hogy melyik kód melyik chiphez tartozik. Vagy a keresés idejére pl. beledugod egyik szenzort nulla fokos vízbe, és a kiolvasott hőmérséklet alapján fogod tudni, hogy melyik melyik?
Szia!
Ááááá...szóval ezt nem értette? Tényleg nem értettem, hogy mit nem ért....Hát most nem tudom az egészet kifejteni töviről hegyire, de a szoftver több szenzort kezel mint 2, de mondjuk jobbára párosával vannak. Egyéb azonosítási eljárások után a szoftver konfigurálható, hogy melyik hőmérséklet éppen mihez tartozik. Nem fog gondot okozni a hőmérséklet alapján eldönteni, hogy melyik szezor hol is van fizikailag. Nem kell hideg vízbe dugni ![]() Üdv The_Saint
Hoppá...
Azt hiszem tartozok egy elnézés kéréssel.. De legyen mentségem, hogy egy undorító, koszos, büdös helyen kénytelen voltam ingyen 220-as villanyszereléssel tölteni az egész napot és onnan hazavezetni 150km-ert, szinte étlen szomjan. Szóval, kicsit benéztem valamit, így hajnalban, abban amit írtál és ez hozta ki belőlem a kissé cinikus hangnemet. A 'pontokon' szót portok-nak olvastam először. Szóval, elnézésedet kérem!! ![]() Üdv The_saint
Sziasztok! Szükségem lenne a watt áltl készített egyszerű Lpt égető nyáktervére. estsleg meg van valakinek? (mert én elkezdtem egy nyáktervet, de nem tudom, hogy jó-e, sőt........)
Segítségeteket köszönöm előre is.
OK, semmi baj, látom Potyo megmagyarázta a problémát... De gondoljuk tovább: én úgy emlékszem, hogy max. 256 eszköz fűzhető fel egy ágra, nézz utána ( de szerintem idáig sem fogsz eljutni, mert a kapacitások gondot fognak okozni a kiolvasásnál!) !
A többezer eszközből mennyi jut egy PIC-re ( hogy ne a világegyetem számára készítendő összes készüléket vegyük számításba egy lábon ![]() Jó munkát! ![]() Steve>
Szia!
Hát általában 2, de a legtöbb 3 szezor 1 lábon... a többi az máshogy azonosítódik. Szóval max 3 szenzort kellene beazonosítani 1 lábon! Üdv The_Saint
Akkor mi a baj ? Megjegyzed a 64 bitből hanyadiknál van ütközés, legközelebb azon a "bit útvonalon" mész és ott ellenkező bitet adsz ki! 3-nál ez nem okozhat akkora problémát!?
Steve
Az "egyszerű" LPT égetőnek nincs nyákterve, ezért egyszerű(össze lehet lógatni 15perc alatt).
Ha nyákos tervet akarsz, építs bonyolultabb LPT-s égetőt, fenn találsz az oldalamon és még egy csomó helyen.
Kicsit bővebben: kiadod a ROM keresést ( ez az F0H !). Erre a felfűzött eszközök kiadják saját azonosító bitjüket, majd annak az invertáltját. Ezután a kontroller kiadja, hogy kiét fogadja el, a többiek ettől kezdve csöndben vannak! Így mennek végig az összes biten. Abból lehet tudni, hogy még több eszköz van fenn a lekérdezésnél, hogy az adott bit olvasásánál ponált és negált alakban is 0-t olvasol!
Az adatlapban szerintem jó a folyamatábra! Steve
Persze néztem azokat is, de nekem még ez az "egyszerű" is bonyolultnak tűnik. Na mindegy, akkor nem ezzel kezdem az elektonikával kapcsolatos ismerkedésem
![]()
Huuu... valami nagy baj lehet velem. De én ezt nem értem.
![]() Kiadom a parancsot...OK meg nézem, hogy mi jön vissza.. OK aztén megint megnézem.... na itt vesztem el valahol Ha mindkét esetben 0 akkor még van eszköz a dróton...ezt írtad! Ne haragudj, de tényleg nem értem ![]() Mondjuk először visszajön 1, ez mit jelent? hogy az első bit, valamennyi eszköznél 1? Ha 0 jön vissza 1. bitként akkor valamennyi eszköz 1. bitje 0? és mi van a komplemensel? Talán egy értelmes kérdés ![]() Melyik az a pont ahol biztosan ismerem már az eltárolható bitet? Üdv The_Saint
A PIC-et hova kell majd beraknom? Mert nem látom a helyét. Teljesen laikus vagyok
![]()
Kiadod a parancsot, az eszközök visszaadják az első bitet, mondjuk A eszköz 1 és B eszköz is 1. A következő szeletben A=0 és B=0 (maguktól! ). Akkor a proc azt mondja, hogy akinek az előző bitje 1-es, az folytathatja!
Következő bit A=1 B=0 --> érzékelni 0-t lehet, invertálás után érzékelni szintén 0-t lehet --> proc tudja, hogy legalább 2 eszköz ütközik, ezért megjegyzi, hogy a 2. bitnél ütközés volt és kiküldi, hogy pl. a 2.bit=0 folytathatja és így tovább... A 64 bit után, ha észlelt ütközést,akkor az ütközési pontig lejátsza a bitsort az ütközésnél pedig a másik ágon megy tovább! 2-3 eszköznél ez elmegy, sok eszköznél figyelni kell rendesen!! ![]() Remélem érthető voltam ?! Jó munkát! Steve
Köszönöm, így már kezd derengeni a fény az alagút végén. Deeee... még lehet, hogy kell majd kérdezzek.
Üdv The_Saint Idézet: „A PIC-et hova kell majd beraknom?” Azt egy külön áramkörbe, ahol majd használni akarod. Csak a programozás idejére csatlakoztasd a programozóhoz. WATT honlapján nézegesd az ICSP (In Circuit Serial Programming) programozásról szóló részt is. AZ ICSP arról szól, hogy nem veszed ki az álkalmazói áramkörből a PIC mikrovezérlőt, hanem csatlakoztatod hozzá a programozó készüléket (ennek azért vannak elektronikai követelményei), aztán beleírod a programot.
Kérlek olvasd el az oldalamon az ide vonatkozó cikkeket!
Köszi a választ. Olvasok, olvasok ...
Sziasztok
Az lenne a kérdésem ,hogy a mellékelt égetőben hova kellene bekötni a 12f683 pic-t ,hogy égethető legyen előre is köszönöm a választ |
Bejelentkezés
Hirdetés |