Fórum témák
» Több friss téma |
Milyen analóg módszerre gondolsz?
Ha pwm-et használok akkor kell egy kis fet vagy tranyó a pic és a led közé vagy elég az ellenállás is? A hozzászólás módosítva: Ápr 3, 2014
Idézet: „Milyen analóg módszerre gondolsz?” Bár nem engem kérdeztél, de Vicsys már korábban írta: trimmerpotméteres feszültségosztó a Vdd (+5V), Vo (Vlcd) és Vss (GND) lábak közé.
Bocsi mindenkitől, kicsit pongyolán fogalmaztam! Programból, pic általi szabályozásra gondoltam. A trimmeres szabályozást ismerem használom, de talán épp Vicsys egyik youtube-os videójában láttam, hogy nyomógombbal volt szabályozva a háttérvilágítás erőssége. Azt hittem a kontraszt is, de ezek szerint tévedtem.
Azt is írta.
![]() A háttérvilágítást meg PWM-mel, tehát programból, PIC által. A kontrasztot nem szokták menet közben változtatni, egyszer belövik és kész. Ha mégis szükséges, akkor azt is lehet PWM-mel szabályozni. Ha a fényerőnél elég csupán 1-2 fokozat, akkor azt is meglehet oldani analóg módon. Pl. a LED soros korlátozó ellenállásait kapcsolgatod földre a PIC 1-2 kimenetével. (2 lábal 4 fokozat érhető el.) A hozzászólás módosítva: Ápr 3, 2014
Szerintem Attilának volt ilyen videója. Én a kontrasztnak mostanában egy ellenállást és egy diódát teszek, mert a trimmert is sajnálom bele. Nem kell azt PWM-el szabályozni. A háttárvilágítás meg:
PIC I/O->10k->BC tranya, emitter testen, kollektor->100ohm->LCD katód. Az anód meg +5V-on. Ennyi. A szoftver előállítja a PWM jelet és lehet szabályozgatni.
Az ellenállás+dióda kombót milyet és, hogy használod pontosan? Fix ellenállást már én is használtam régen és azt sem tudom mekkorát, de a dióda nem rémlik.
Ha a nem PWM-el szeretnéd szabályozni a háttér világítást én a képen látható módon oldottam meg, a kontrasztot meg a V0-ra kötött potival. Az értékeknek nem muszáj ekkorának lennie.
Köszi ez is jó megoldás, igaz inkább a programból szabályozhatót preferálom, abból tanulok is mire működni fog rendesen.
Kontrasztnak költséghatékonynak tűnik Vicsys ellenállás+dióda megoldása, csak ez még nem tiszta nekem.
Itt van a rajz amit keresel. A háttérvilágításhoz kell még egy soros 100ohm, ami lemaradt.
Bővebben: Link
A háttérvilágítás előtétjének értéke attól függ, milyen kijelzőről van szó. 5V -os tápfeszültség mellett 6,8 és 330 Ohm a jellemző.
Kihagytad a PWM vezérlést. Én csak a biztonság kedvéért tettem bele, mert ha átmenne zárlatba a tranyó, akkor se menjen tönkre az LCD. Alapvetően a PWM jelentősen lecsökkenti az átfolyatott áramot és ha jól van kalibrálva, nem is kell. Tehát újabb 2Ft.-ot lehet megspórolni.
Az előtétet úgy kell meghatározni, hogy 100 %-os PWM mellett teljes fényereje legyen a háttérnek. Vannak olyan LCD kijelzők, amiknek 6,8 Ohm-os előtét kell folyamatos 5 V mellett és vannak olyanok (szemmel láthatóan csak egy db. LED van benne), amelyeknek 330 Ohm.
Sziasztok!
Hogyan lehetséges olyan ugrást csiánálni Hi-tech c-ben, hogy mint egy tömb, a kapcsos zárójelben lévő értékkel messzebbre ugrik?
Valami ilyesmi, csak ez ugye nem jó
Tehát nem tudom mennyire értehtő. Asm-ben van ilyen, bár ott sem tudom úgy hogy változó legyen.
a 10 helyén egy változót szeretnék és a switch case szerkezet sem az igazi. Ne vizsgálja végig az összeset. Pont ez a lényeg! Nekem olyan kellene mint a számított ugrás, csak nem tér vissza arról a pontról hanem onann fut még meg nem állítom, vagyis a szerkezet végéig. A feladat instrukció szintű pontosságú időzítésre kellene.
A 16-bites PIC-eknél erre a feladatra a BRA Wn utasítás használható, aholis a Wn regiszter adja meg az ugrás távolságát. A 8-biteseknél viszont (tudtommal) nincs ilyen utasítás, ott az utasításszámlálót kell közvetlenül manipulálni.
A 12F1xxx, 16F1xxx rendelkezik braw utasítással.
Valóban! A bővített 8-bites utasításkészletben van BRA ill. BRW utasítás is.
Egyébként a 16-biteseknél időzítésre van utasítástakarékosabb módszer is: REPEAT Wn NOP
Szia!
Hi-tech c-ben használom az asm-et. De a szimulátorban látom, hogy valami nemjó. Nem oda ugrik ahova kéne.
Csak egyet kellene ugrania, assemblyben jó. Így néz ki a hívása:
Megcsináltam a hosszú tábla hívást mert szerintem az a baj. De arra meg ezt írja ki:
Idézet: „Error [1356] D:\Pic\Propeller.c; 173. fixup overflow referencing psect text388 (0x663) into 1 byte at 0xEC0/0x2 -> 0x760 (Propeller_clock.obj 125/0x2E)” Ez a program:
Ezzel a résszel van baja.
Egy ötletem van csak: skpnc helyett btfsc STATUS,0
Srácok segítséget kérnék.
Alacsony szintű megszakításban kísérletezek, de valamiért nem akar váltani a program:
Mi lehet a hiba a kódban? Nem értem miért nem érzékeli illetve billen át, ha lehúzom testre az RB4-et. (470Ohm ellenálláson keresztül kapcsolom a testhez) Itt gondolom az RB7...RB4 közt mindegyikre billennie kellene, ha lehúzom alacsony szintre, nem? PICula projekt után értelmeztem és dobtam össze a próba kódom. Előre is köszi.
Nem ellenőriztem, de a kódba az van írva, hogy az alsó 4 biten. Feltételezem, hogy a legkisebb helyiérték felől értendő...
Erre gondolsz? Mindenki másként mondja, ezért oda is írtam, hogy (RB7...RB4). Tehát az RB7, RB6, RB5 és RB4-es biteken tud, csak megszakításokat figyelni. Tehát, elméletileg, ha valamelyik lábon a fentiek közül, változás áll be (jelen program szerint, ha egy alacsony szint) akkor a változást jelző bit 0-ról egyre vált (bedől) és az alacsony szintű megszakításnak kellene lefutni. Elég sokszor átfutottam a kódom, de nem értem még is miért nem valósul meg a megszakítás. Természetesen mind a 4 bitet (RB7...RB4) külön-külön és egyben is próbáltam lehúzni alacsony szintre.
Én nem látom a GIE/GIEH bit engedélyezését. A beállítások után engedélyezd az interruptokat.
Szia!
Próbáltam úgy is, de végül gyakorlatilag lemásoltam amit c ben írtam és, hogy mit csinál a hosszútáblánál az lst fájlban. Nagynehezen jó lett és most instrukció pontos késleltetéssel az óra hajszál pontos szétszeletelése is megvan.
70. sortól?
Én még talán arra gondolok, hogy digitálisra kellene átállítanom az egész B Portot. Lehet ez is gond? A hozzászólás módosítva: Ápr 7, 2014
A digitálisra állítás biztos nem árt
, de a GIE/GIEH-t biztos 1 re kell állítani az engedélyezéshez ( rakd be valahova a 81. sor környékére). |
Bejelentkezés
Hirdetés |











