Fórum témák
» Több friss téma |
Fórum » PIC programozás
Van még egy lehetőség, ha nem akarsz kvarcot venni: az RC oszcillátor. A 628-nál elég egy külső ellenállás ( poti), amivel be tudod állítani a frekvenciát ( az adatlap szerint egy 20 kohmos ellenállás és egy 22 kohmos poti segítségével be tudod állítani a 4 MHz-et !). A kapcsolás szerint "tojásfőzéshez" van, oda megfelel egy ilyen pontosság is! Ha elfogadod ezt a lehetőséget, akkor a programot nem kell átírni, csak a konfigurációs biteket kell megfelelően beállítani!
Steve
Bocs, elnéztem, de az is megoldható RC oszcillátorral! :hide:
Steve
Miert nem hasznalod a low power internal oscillaort? PCON regiszterben kell az OSCF bitet kinullazni. Az 48 kHz-el hajtja meg a PIC-edet, nem kell hozza meg ellenallas sem. Tojasoranak kulonben sem kell olyan nagy pontossag -- talan fogyasztas miatt szerencsesebb lenne a kulso 32768 Hz de kb ennyi...
Helló. Ezt az első két mondatot nemigazán értem. De nem baj, hagyom a projektet, közbe rájöttem hogy a bonyolultab óra egyszerűbb. Ezt érti valaki?
![]() kissi: Köszönöm a segítséget, kár hogy ezen a szinten még nem tartok, majd egyszer befejezem. kaqkk és Hp41C Köszönöm nektek is a fáradozást!
Sziasztok!
Segítségeteket szeretném kérni! Az alábbi képeken egy vezérlést láttok amivel a szemüveg lencséit lehet "szabályozni". (A villogását) A cucc rendesen működik egy dolgot leszámítva. A paramétereket számjegyekben kell megadni "millisecondban". Ezt szeretném megváltoztatni hogy a gombok nyomvatartására változzanak a paraméterek! Meghálálom aki segít ezt megoldani! Ha netán valaki egy új vezérlést össze tudna tobni azt is megbeszélhetjük...)
Hello
Valaki tudna segíteni hogyan tudok összedobni egy 8 lábú pic égetőt teljesen egyszerűen. Előre is köszönöm
Mit csinál ez a kütyü pontosan? KÍváncsi vagyok rá..
![]()
Figyed a gombok lenyomasat, ha (-) van lenyomva akkor csokkented az erteket, ha (+) akkor pedig noveled. Hol akadtal el amugy?
Sziasztok!
Kérdezném találkozott e valaki olyan jelenséggel hogy egy kontrollernél (12F675) magától bekapcsolódik a kódvédelem? Tesztelgetek egy kütyüt, ami a tevékenysége végén az EEPROM ba írja a végeredményt, ezt kellett volna kiolvasnom a programozóval (PICkit2) de legnagyobb meglepetésemre az olvasás után a piros "All Protect" felirat vigyorog rám és mindenhol 0x00 értéket látok, még az EEPROM területen is. Megnéztem a fordított / beégetett kódot, a konfigban CP_OFF van definiálva. Ilyenkor mi van..? Mitől lehet ez..? Köszi
Sziasztok.
Nagyon kezdő vagyok. Segítsetek! Hohyan és milyen progival lehet átkonvertálni .c (main.c) állományt beégethető hex-é. Ha valaki tud segítsen?
Ha ebből a cikkből vetted, akkor a letöltési link mellett le van írva:
A program CCS-el készült. CCS-C fordítóval le is tudod fordítani. A CCS C honlapja
Sziasztok!Teljesen új vagyok ebben a dologban még sosem foglalkoztam vele!Segitséget szeretnék kérni hogy mit vegyek és milyen programozót.Én knight rider fényt szeretnék csinálni kezdésnek vagy ütemvezérlöt vele ha lehetséges.Ha lehet akkor kb 10ledet tudjak vezérelni vagy akár többet is.Köszönöm mindenkinek!
Érdemes a ChipCad honlapján a Börze ajánlatot is megnézni.
Többször már nem fogod ezt megkérdezni, ugye?
![]()
Üdv!
Most kezdtem pic-kel foglalkozni, és egy elég primitív kérdésem lenne. Az alábbi programkód részlet figyeli egy 16F690es PIC A/D bemenetét és, ha pl. DAC felső nyolc bitjének értéke 10011000 akkor a program a "kijelzo0:" címkére ugrik és egy 7segmenses kijelzőre kirak 0-t, ha pl. a legnagyobb helyi értéken 0van de mellette lévőn 1 (pl. 01011010 stb), akkor a "kijelzo1:" címkére ugrik. A kijelzőre 1 kerül stb. A program működik is úgy ahogy szeretném, viszont ha a "goto kijelzo0"stb. utasításokat kicserélem "call kijelzo0"stb. utasításokra akkor a program már nem megfelően működik (egészen pontosan kijelez 0-8ig össze vissza mindent). A kérdésem az lenne, hogy mi a gond ebben az esetben a call-al? Miért nem működik megfelelően? Fontos lenne hogy működjön, mert bővíteném a programot és elég sokszor használnám még ezeket a szubrutinokat. . . . Fociklus: nop nop nop nop nop bsf ADCON0,GO btfss ADCON0,GO ; ez a bit 0-ra valt amikor vege a kommunikacionak goto $-1 btfsc ADRESH,7 ; ha 7. bit 0 akkor a kovetkezo sort kihagyja goto kijelzo0 btfsc ADRESH,6 goto kijelzo1 btfsc ADRESH,5 goto kijelzo2 btfsc ADRESH,4 goto kijelzo3 btfsc ADRESH,3 goto kijelzo4 btfsc ADRESH,2 goto kijelzo5 btfsc ADRESH,1 goto kijelzo6 btfsc ADRESH,0 goto kijelzo7 goto kijelzo8 goto Fociklus kijelzo0: movlwB'10111111'; nulla ertek kijelzese a 7szegmenses kijelzore movwf PORTC return kijelzo1: movlwB'10000110' movwf PORTC return . . . Köszi
Na ezt nagyon benéztem, de rájöttem, hogy mit szúrtam el. Nem vettem figyelembe, hogy attól, hogy magasabb helyi értékeken 1 van még lentebb is lehet 1, de erre vagy 2 órám ráment, lehet, hogy nem este munka után kéne programozni tanulni
![]()
Szia!
Filozófiai hiba van a programodban: - Ha goto kijelző8 -at (és a többit) használod, a program egy return -re fut hívás nélkül. Ez egy stack kezelési hiba. - Ha call -okat használod, akkor a return -nek meg lesz a párja ugyan, de a return után a vezérlés visszatér a call utáni sorra... Mit is szeretnél pontosan csinálni?
Üdv!
Köszi szépen a segítséget, de végül rájöttem én is, hogy az a hiba és végül sikerült is megcsinálnom amit szerettem volna. Egy szimpla fényerősség mérő, egy fotoellenállást raktam be fesz. osztóba, ami egy műveleti erősítő + bemenetére megy, a műveleti erősítő követő kapcsolásban van és a kimenete egy 1 k-s ellenálláson megy a PIC RA0 a/d átalakitós bemenetére. A program figyeli a fesz. változást és a PIC 0-8ig kiíratja egy 7segmesnes kijelzőre az aktuális fényerősségszintet. Illetve egy nyomógombbal beállítható, hogy hányas fényerősség szinttől lefele kapcsoljon fel egy LED-et, ami később igazából akármi lehet, pl. egy lámpa stb. Csak tanulás végett találtam ki ezt a feladatot, mert ebben van minden bemenet, kijelzés, a/d átalakítás használata. Egyébként goto-val működött, de ha jól vettem ki csak azért, mert amikor a returnra ért akkor újraindult a progi és így nem kezdte el sorban pörgetni a számokat. Bár a többi funkciót belerakva (pl. nyomógombkezelés) már nem működött volna.
Üdv!
Szeretnék egy 18F4620-as PiC-el feldolgozni két szenzortól érkező jelet (5v-os fesz ). Az egyik szenzor mikor ad egy jelet a mikrovezérlő beindít egy számlálót, amikor a második szenzortól is kap egy jelet, megállítja a számlálót és a két jel között eltelt időt kiírja egy LCD-re. Programozáshoz mikroC programot használok, mivel kezdő vagyok nem igazán boldogulok ezzel a problémával. Tudom, hogy megszakítást kell használjak de nem igazan értek hozzá. Az órajel 40MHz ezt kellene valahogy leosztani az időzítőnek azt tudom... Szóval ez lenne a problémám, ha valaki tudna segíteni nagyon hálás lennék.
Sziasztok!
Valaki tudna abban segíteni, hogy hogyan kell a 18f2550-es pic-et MPLAB-ba bekonfigurálni ? Mondjuk egy minta Configgal? Választok előre is köszönöm!
Sziasztok!
Az alábbi kapcsolási rajznak megfelelően lenne szükségem egy olyan programkódra, ami az alábbi elvek szerint működik: - 5V-os táp és a test mindig adott - Megjelenik az 1.15V-os ágon a feszültség, ekkor a 3.3V-ot leadja (5V-ot, csak a diódával leszedjük a felesleget), majd ha eltűnik az 1.15V, akkor még 5 percig szolgáltatja a 3.3V-ot, majd az idő leteltével megszünteti. Ennek a kis programnak bele kéne, hogy férjen egy PIC12F509-be. Tudtok segíteni, vagy valaki meg tudná írni és adni egy .hex fájlt? Köszönettel, Gábor
Üdv!
Lehet, hogy kell rá egy tranzisztor vagy egy ellenállás mert a cmos technológiánál VDD/2 to VDD a magas szint.
Helló!
5V a bemenet és a kimenet is, a feszültséget diódával le lehet nyomni 3.3V-ra. Éppen ezért feszátalakítást nem kell végeznie. Csak egy egyzserű, ha megszűnik az 1.15v, akkor 5 percig 5V.
A pic az 1.15 V-ot alacsony szintnek érzékeli, pont úgy mintha nem lenne rajta semmi feszültség.
Okés, van ott 1.3V... De elég annyit nézni, hogy van feszültség vagy nincs. Az hogy mennyi, az mindegy.
|
Bejelentkezés
Hirdetés |