Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „ha a kapcsolót megnyomom akkor lesz 5V-rajta.” Az pont jó, csak nyomógomb legyen, mert utána el kell engedni (csak egy impulzust kell, hogy adjon).
FT232rl-nek ugyan nem néztem utána, de biztos jól van bekötve az USB tápvonala? Mármint a GND vonala. Valami furcsát látok én ott.
Szia!
Az MPXA6115 majdnem 1000 Ft-tal olcsóbb itt, mint az MPXA4115. Az A/D átalakító 1100 hPa -nál/4,5V 921 kódot ad, a 200 hPa- nál /0,5V pedig 102-t. 900 hPa változásra 887 kódváltozás jut közvetlen méréssel. 1.01 hPa változás eredményez egy lépést a kódban. Egy hPa lépés 4mV feszültséglépést jelent, ez összemérhető az erősítő 2-7mV offset feszültségével. A műveleti erősítő a (-1) szeres erősítés miatt a felbontáson nem változtat, de a skálát kifordítja: a kisebb nyomásértékhez rendeli a magasabb kódot. A felbontást úgy lehet növelni, ha az erősítő kivonná a 700 hPa-hoz tartozó 2,37V -ot a kimenő feszültségből, és (+2) szeresen erősítené a jelet. Ekkor már kb 0.5 hPa lenne a felbontás. Szia
Másik megoldás hogy vesz egy 22bites AD konvertert és akkor növelheti a felbontást, vagy megpróbálkozik digitális szenzorral mint én, és akkor nem kell az analóg résszel is vacakolni.
Én a második megoldást gondoltam égszerűbbnek, ezért a HP03MA típusú szenzor választottam. Most épp szenzorból kinyert adatok helyes számításán dolgozok, mert a hőmérsékletváltozás még erősen befolyásolja a kapott eredményt.
Üdv!
Ha CALL-al meghívtam egy várakozást, de a várakozásban van egy BTFSC ami onnan GOTO-val kiugrik egy másik címkére, és nem lesz RETURN , akkor az nagy baj? Csak mert a veremtár meg hasonlók miatt nem tudom, hogy mennyire gáz, vagy lehet ezt valahogy törölni? Vagy oldjam meg máshogy?
CALL-lal meghívni egy szubrutint, és abból nem visszatérni nagyon nagy bátorság, illetve nagyon nem szép dolog. Kb. olyan, mintha valaki kiugrana ejtőernyőzni egy kisrepülőből, de aztán menet közben úgy gondolná, hogy mégsem szükséges neki az ejtőernyő és eldobná. Szóval logikátlan lépés. Inkább térj vissza retlw-vel, és a w ekkori tartalmát használd fel valami állapotjelzőnek a főprogramban vagy ilyesmi.
Jó ötlet! El is kezdtem ezen a logikán keresztül gondolkodni, és sikerült megoldani!
Köszi a segítséget!
...vagy egyszeruen ne CALL-lal hanem GOTO-val ugorj oda..
A CALL azért kell, mert az visszaugrik, ha lefutott a várakozási rutin. Ebben a várakozási rutinba tettem egy gomb figyelőt. De ez a gomb figyelő, csak 1x használatos, a kód elején. Többet nem kell, hogy kiugorjon a várakozásból, ha megnyomom közben a gombot. Így végül is jó, GOTO-val szerintem sokkal nehezebben lehetne megírni.
De legalább ezen is végigrágtam magam, hogy jobb-e így. Köszi Neked is!
Tényleg sokat kérdeztem...
Ez egy alacsony feszültségű szériás PIC, 2Vról is hajlandó működni, közvetlenül kapcsolnám a cellára. Tervem szerint 3V alá nem csökken a cellafeszültség, és a töltést egy másik IC intézi. A/D-hez Si bandgap referenciát használnék, tehát a változó táp nem gond. A "ki/bekapcsolás" félreérthető volt, bocsánat. Nem kapcsolnám le teljesen, mert csak pár uA-t fogyaszt sleep-ben, amit évekig elbír egy ilyen cella, sőt előbb megy tönkre magától. Nem tudtam, hogy van beépített dióda, az a negatív input feszültségtől véd? Szóval elegendő egy soros védő ellenállás? kb. mekkora értékű?
Szia!
16F sorozatnál az ajánlott megoldások használhatók csak, 18F, 24F, 30F család tagjainál a pop utasítással rendbe szedheted a stack-et.... Szia
Hali
Sok jó ötletet adtatok nekem, köszi! Nem ismerem ezt a 18F14K50-es picet, de átrajzolom a kapcsolást, mert egyébként is féltem az FT232RL forrasztásától... Ez a HP03MA is jó lehetne, de nem tudom, hogy hol lehet beszerezni. Esetleg meg tudnátok írni? Köszi Zoli
Ott kapható ahol a legtöbb PIC. CHIPCAD.....
Idézet: „Nem ismerem ezt a 18F14K50-es picet” Itt található egy kapcsolás hozzá Itt meg sok egyéb más is...
Szia!
Vigyázat, az HP03M -nél a tápfeszültség ajánlott (recommended) és a tönkremeneteli (absolute) maximális feszültség határa 5.00V, a tipikus tápfeszültsége 3V. A pic I2C bemenetén az előírt minimális magas szint 0.8*Vdd. Szia
A E portot ha jól gondolom igy tudom bemenetként konfigolni:
banksel TRISE clrf TRISE banksel PORTE Idézet: „Szerk.: Az E port lábai alapból analógok is, emiatt az ADCON1 regiszterbe is be kell tölteni a megfelelő értéket!” Hogyan tudom az portE értékét ide betölteni és majd a nekem szükséges bitet figyelni? Jelen esetben nekem a PORTE,1 kellene. (PIC16F877A) Köszönöm!
Szia!
Így kimenetnek állítottad őket.
Az első kérdéskörre Hp41C megadta a helyes választ!
A másik része a kérdésednek kicsit homályos. Idézet: „Hogyan tudom az portE értékét ide betölteni és majd a nekem szükséges bitet figyelni?” Eredetileg kimenetnek szeretted volna a PORTE,1 lábát, hogy a kürtöt arról működtesd, ugye? Most akkor bemenet lesz a PORTE? Az ADCON1 regiszter szolgál többek között az analóg bemenetek kiválasztására, digitálisra állítani Hp41C által leírt kódrészlettel lehet. Ha digitális bemenetként konfigurálod, akkor valamely bit tesztelő utasítással lehet az állapotát figyelni (btfss, btfsc), van más mód is, de talán ez a legegyszerűbb. Üdv.
Köszönöm! PORTE-t sikerült kimenetnek állitani. Viszont nem értem, hogy miért nem ugy működik a progim ahogyan szeretném!
A PORTE-n lévő kimenetnek akkor kellene logiakai egynek lenni, ha a RB0-an logikai egy van mindaddig mig a RB1 nem kap logiaki egyet, de ez a része sajna nem valósul meg. Tudnátok segiteni, hogy hol kavartam el?
Idézet: „A pic mehet, de az LM2904 erősítő csak 5V fölött működik rendesen.” HP03M esetén nem is kell erősítő!
Nem tudom, hogy ezzel mi volt a szándékod, de amit csinál, annak köze nincs ahhoz, amit a megjegyzésbe írtál! MOVLW = MOVe Literal to W...
Nem beszelve arrol, hogy eleg meredek dolog a PORTB-rol a STATUS-ra attolteni igy barmit is... Csak elizeled a bankselt es hasonlokat, semmi teteje igy a dolognak...
Szia!
Igazad van, az erősítő nem kell, de a DS1820 a fél fokos pontosságot csak 4.3V fölött tudja. Tudom az sem kell, mert a HP03M -ből a hőmérséklet is kiolvasható.... Szia
A chipcadnál HP03MA kapható , aminek maximálsi tápfeszültsége 3.6V erre figyelni kell.
300 hPa -tól 1100 hPa ig mér, ami 9160m és -698m közöttinek felel meg. ( KALKULÁTOR ) HP03MA Mivel teljesen digitális , nem kell müv. erősítő. Legjobb megoldás szerintem ha PIC feszültségét is 3V körüli értékre rakod és a szenzort is vele közös tápról hajtod. És még kell neki egy 32.768Hz órajel is amit szerintem legegyszerűbb a PIC PWM kimenetével előállítani neki.
Értem(azt hiszem)
Akkor viszont, azt hogyan tudom megoldani, hogy az RB0-at figyeljem és ha az logikai egy, akkor ugorjon a következő utasításra, ha nulla akkor meg ugorjon egy utasítást? A BTFSC-vel ezt akartam elérni, de ezek szerint rosszul gondoltam! A PORTB-t azért másoltam a status-ba mert igy annak az első bitjét tudom figyelni, de akkor ha mondjuk egy saját regisztert létrehozok és abba másolom a PORTB-t ugy már jó? Mondjuk valahogy igy?
Szia!
Például: btfsc PORTB,0 goto B0_high goto B0_low Szia |
Bejelentkezés
Hirdetés |