Fórum témák
» Több friss téma |
Az MPLAB telepítési könyvtárában. Nálam a c:\Program Files (x86)\Microchip\MPASM Suite\LKR\16f628a_g.lkr címen található.
Furcsa hogy ez az érték nem szerepel az adatlapon. Ha nem használok MPLAB-ot (3rd parity compiler..) akkor nincs is rá szükség ezt tudni?? (se a programozáskor se égetéskor?)
Sziasztok!
Egy kis segítséget szeretnék kérni a btfsc/btfss parancsban.
A mode és a flash között szeretnék váltani úgy hogy a GP0-át figyeli a PIC, de eddig csak úgy bírtam megírni ha pont jókor találom el az időt akkor vált át az egyikből a másikba. Most nem írtam bele a programba a btfsc/btfss-t és én úgy szeretnék váltani, hogy megnyomom egyszer a gombot a program odaér vált és tök mindegy meddig nyomom nem vált vissza az egyik módból a másikba míg nem engedem el a gobot. Köszi! Idézet: Ezt csak úgy lehet elkerülni, ha megszakítást ( ill. hardveres figyelést !) alkalmazol! Ha azt a részt még nem érted ( el kell párszor olvasni a doksik megfelelő fejezeteit ), akkor az általad leírt módon kell megoldani, csak a gomb lekérdezését "sűrűn" kell megtenni ( a késleltetés belsejében például! ) és így "tuti" eltalálod a lekérdezést a nagy gyakoriság miatt!„e eddig csak úgy bírtam megírni ha pont jókor találom el az időt akkor vált át az egyikből a másikba” Szerintem a váltást meg tudtad oldani, még valószínűleg az elengedés figyelését is, csak addig a processzort "lefagyasztottad" és nem tudtál érdemi munkát végezni !
http://www.youtube.com/watch?v=G38p_HEsPVA valami ilyesfélére gondolok csak nem ennyire összetettre. Igen ez a hardveres megszakítás új esetleg egy linket tudsz küldeni ahol tudnék róla olvasni vagy itt valahol a fórumon ?
Csak annyi a baj, hogy a 10F2xx -ben nincs megszakítás lehetőség.
Az ötlet annyi lenne.hogy az elágazás egy belső állapottól függne, a nyomógomb érzékelése a belső állapotot billegtetné (pergésmentesítés elvégzése után).
Ha a fórumnak elolvasod ezt a topic-ját, akkor nagyon sok mindent megtudsz ( vannak benne hasznos linkek is! ), de most nem érek rá keresgélni !
Szia!
Ahogy azt jól látod, az RB3 csatlakozása az ICD-hez a program futása közben könnyen okozhatja a fenti jelenséget. Próbáld ki azt, hogy Release-t fordítasz, beprogramozod és utána lehúzod az ICD-t, valószínűleg működni fog.
Ha ez volt a bajom, úgy szerveztem a programot hogy a gombfigyelést olyan részbe tettem, ahol kb másodpercenkét 2* 3* megfordult a program (itt nem időz sokat, csak a gomb állapotát az előzővel összehasonlítja,vagy egyszerűen csak eltárolja. Így a prell mentesítés megoldva. Ha a két előfordulás között állapotváltozás történt az gombnyomás/elengedés esete. Az iránya pedig az aktuális értékből látszik.Ezzel egy/két jelzőbitet beállítva már tetszőleges helyen tudod a gombnyomást, illetve annak a változását ellenőrizni. Nem kell a programot lefagyasztani.
A hozzászólás módosítva: Máj 29, 2013
Üdvözletem, pár nap múlva lesz technikusi vizsgám és kellene nekem segítség azzal kapcsolatban, hogy pic-re C programozási nyelvben hogyan tudok feltételes elágazást tenni. Pld: Akkor villanyon fel a d port ledjei ha bport 1es bemenetét megnyomom. A B port ellenállással pozitív tápra van kötve.
Első körben, egy ciklust hajtson végre, második kérdésem, hogy folyamatosan ismételje a ciklust amit írtam ezt hogyan tudom megvalósítani? Harmadik kérdésem, ha a futó ciklus közben nyomom meg a gombot akkor szakítsa meg a ciklust és nullázza le mondjuk a led sort. Portok be és ki kapcsolása, időzítés, különböző számolások stb azok mennek, példázás ként azért szeretném ha az kérésem konkrétan le lenne írva.
Sziasztok!
Kis segítséget szeretnék kérni, az alábbi linken található programozó alkalmas lehet eeprom-ok programozására? http://www.sprut.de/electronic/pic/projekte/brenner8/
Elképzelhető
A hozzászólás módosítva: Máj 30, 2013
Tudtok ajánlani olyan programozót ami alkalmas eeprom programozásra?
Soros (I2C, SPI, UnIO felületű) EEProm -okhoz a PICKit2.
winbond ic-hez is jó?
pl 25x16avig 25xx sorozathoz? Mert ilyen ic-k nincsenek benne a pickit 2 programban. A hozzászólás módosítva: Máj 30, 2013
Szia!
Idézet: „pic-re C programozási nyelvben hogyan tudok feltételes elágazást tenni.” if (feltétel) {utasítás; utasítás; ... }; C18 -on if (!PORTBbits.RB1) { PORTDbits.RD0 = 1;} Idézet: „Első körben, egy ciklust hajtson végre” Nem érthető a kérés. Milyen ciklust hajtson végre? while(kilépési feltétel) {ciklikusan végrehajtandó utasítások;}; do {ciklikusan végrehajtandó utasítások;} while(kilépési feltétel);
tehát a program magja megvan, lénegében:
tehát akkor beleírom az
vagy hogy csináljam? Mert ez lenne az egyik lényeges dolog hogy a mian-on belül szereplő dolgot hajtsa végre. Utánna meg menet közben ugyanúgy válaszoljon a gomb lenyomásra, akkor nullázza az egészet és megint megnyomom a gombot akkor indul előröl az adott ciklus. A hozzászólás módosítva: Máj 31, 2013
A main() függvény a C program belépési pontja.
Kötelező olvasmány A hozzászólás módosítva: Máj 31, 2013
Így érthető, és ha kiszedem az else parancsot és a PORTD=0-t akkor folyamatosan fog futni utána?
csak ennyi. Kösz. Az írást meg elolvasom.
Minden módosítás nélkül is fut folyamatosan a do {..} while (TRUE); miatt.
Üdv!
18f4620 (tqfp44) "alapjáraton" 5mA -t fogyaszt. Értem ez alatt, hogy minden kimenet 0-ban van (és minden kimeneten soros 10KOhm van), 1 Adc csatornán mérek, kijelző vagy led nincs rajta, 4MHz -en ketyeg, nincs sleep-ben. Ez a fogyasztás normálisnak tekinthető? A stabic fogyasztása természetesen ebben nincs benne, az +ban még hozzájön.
Óriási nagy köszönöm szépen, ezzel most megmentettél
Adatlap szerint 4 MHz-en max. 3.5 mA, de az nyilván kikapcsolt ADC-vel értendő.
Sziasztok!
Lehetséges 16f877-est 1Mhz-en "járatni" ? Kezdő vagyok a témában és az időzítés megnyújtása miatt kellene "hosszú" ciklusidő.
Lehet. Adatlap szerint a 16F877.. -04 DC - 4 MHz, 16F877.. -10 DC - 10 MHz, a 16F877.. -20 DC - 20 MHz között járatható. Azaz akár 1Hz -vel is működőképes...
Adatlap LP kavics pl. 32kHz (0.032768 MHz)
A hozzászólás módosítva: Jún 1, 2013
|
Bejelentkezés
Hirdetés |