Fórum témák
» Több friss téma |
Azt jelenti, hogy valamelyik függvényben túl sok lokális változót deklaráltál, ami garantáltan nem fog beleférni a veremtárba.
Sziasztok.
Egy elrontott projektemet szeretném helyreállítani, de kicsit belekeveredtem. A baj az ,hogy minden kész. (nyák, beültetés stb..) Szóval, nem figyeltem, (még a fenti kiemelt szövegre se), hogy a PIC16f628 RA4-es lába "open drain output" nyitott kollektoros, és most nem tudom, hogy hogyan tudnám mégis működésre bírni a LED-et. Az alábbi prg. részlet vezérli a csatolt kapcs. részletet.
Egy felhúzó ell. kéne pluszba berakjak valahova, csak akkor meg a program gombnyomásnak érzékelné.
A legegyszerűbb, ha 16F818, 16F819, 16F87 vagy 16F88 lábkompatibilis típust használsz fel. Ezekben a RA4 ST bemenet és 3ST kimenet. A belső perifériák címkiosztása eltérő, az porta analóg / digitális bemenet beállítása is másként történik.
Ettől féltem. Sajnos ilyen típusok, pont nincsenek a kelléktáramban. Lehet, hogy egy rondább megoldást választok, és kihagyom ezt a lépést. Úgyis csak ellenőrzéskét vannak benne a ledek.
Köszönöm a válaszod.
Sziasztok!
Tudnátok Nekem segíteni 4-20mA (12V) körben szeretném megmérni a feszültséget PIC-el és kiiratni. A körben lévő 250 ohm-os ellenálláson eső 1-5 voltos feszt. szeretném felhasználni. Ehez kellene kapcsolási rajz. Üdv: attis71
Köszi, de sehogy nem fog menni, hacsak nem tervezek egy új nyákot (amit nem akarok), mert ez elég jól sikerült. Nem olyan fontos az a Led, csak ronda lesz ha nem világít.
Idézet: A 250 ohm-os ellenállást rajzoljuk le? Vagy mi a kérdés? PIC mikrovezérlővel megvalósított panelmérőt (áram és feszültség mérés) találsz a Kapcsolások c. szekcióban. „A körben lévő 250 ?-os ellenálláson eső 1-5 voltos feszt. szeretném felhasználni. Ehhez kellene kapcsolási rajz.”
Köszönöm. Ezen Én is gondolkodtam, de ahhoz át kellene írni a gombfigyelést is, azthiszem. A gombokat úgy oldottam meg, hogy magas szintre húzzák a bemenetet, és ha berakok egy felhúzó ellenállást az RA4-re akkor, gombnyomásnak értené a program amikor odaér.
Még szerencse, hogy akiknek csináltam ezt a vezérlőt, azt mondták, hogy nem gond. Életem első EEPROM írás, olvasása van benne. (a menüjében beállított PWM értéket mentem el, és olvasom vissza) Most vehetnék egy másik PIC-et,ahogy Hp41C írta, és irkálhatnám át a címeket.
Szia, bocs ha értelmetlen volt a kérdésem. A 4-20mA-es körbe bevan iktatva sorosan egy 250 ohm-os ellenállás amin ugye feszültség esik és a kapcsain lehet mérni 1-5 volt-ot az áram erősség függvényében. Én ezt szeretném felhasználni a PIC-hez mérésre.
Ez teljes érthető. Csak az nem, hogy mi is a kérdés?
Arra majd vigyázz, hogy a PIC földhöz (a saját földjéhez) képest mér.
Hali. A 16f628A RA4es lába nyitott kimenetes? Mert a programban oda írtam egy kimenetet, de a lábon nem jön a +5V
Elmondom, mit csináltam. Beírtam a google-be, hogy "pic16f628a", majd a találatok között az elsőre kattintottam. Ott a "Data Sheets"-nél rákattintottam a linkre, majd nálam megnyílt a pdf a Chrome böngészőben, nálad esetleg rákérdez, hogy hová mented le, és utána meg kell nyitnod. A pdf-ben megkerestem a PIC16F627A/628A/648A PINOUT DESCRIPTION táblázatot, a táblázatban az RA4 sornál megnéztem, mi szerepel az Output type oszlopban, majd a jelölés magyarázatát megkerestem a táblázat alatt. Beírhattam volna ide rögtön, hogy milyen típusú a láb, de mivel ugyanezt a folyamatot magadtól is megcsinálhattad volna, ezért nem írom be.
Mondjuk jó is ez, hogy leírod hogy mit is nézzek, nem pedig csak úgy mint más belinkeli az adatlapot, ,,oszt ná nézzed,,
Máskor már magamtól si fogom tudni, kösz
Sziasztok!
Segítséget kérnék tőletek a következő problémámmal kapcsolatban. Van egy óra program, ami PIC16F84-re van írva de én csak PIC16F87-et tudok használni. Megpróbáltam MPLAB-bal kijavítani az eltéréseket (adatlapok alapján), de nem sikerült működésre bírni. Esetleg tudja valaki mi lehet a hiba? Mellékletbe küldöm az eredeti programot illetve az általam módosítottat. Előre is köszönöm!
Segítsetek megérteni a következő részletet:
MULT MACRO BIT;MACRO FOR UNSIGNEDMULTIPLICATION (macro elojel nélküli szorzáshoz) btfsc NO_1_LSB,BIT ;(NO_1_LSB az adatmemória 28h címén levo regisztere) addwf RESULT_MSB,F RRF RESULT_MSB,F RRF RESULT_LSB,F ENDM;END OF MACRO FOR MULTIPLICATION A kérdések:A makróban levő "BIT" mint paraméteren mit kell érteni. ebből kifolyólag a btfsc utasításban BIT a regiszter hanyadik bitjét jelenti. Ugyanez a kérdés a többi utasításnál is az F esetében.
Azért bemenő paraméter, hogy akárhányadik lehessen! Híváskor kap értéket...
Az F jelző azt jelenti, hogy nem a WREG munkaregiszterbe, hanem az operandusként magadott változóba/regiszterbe kérjük visszaírni az eredményt.
Nézd meg az adatlapon a következőket:
- Adatmemória kiosztása - Az általános célú ram 0x20 -tól kezdődik, a minden bankból látható közös memória pedig 0x70 - 0x7F között található. - Portok digitális be/kimenetnek történő beállítása. A CMCON regiszter... Állítsd be az MpLab Szimulátort, vele lépésenként ellenőrizheted a programod működését.
Köszönöm a segítséget! Tegnap a memória címére rájöttem, de ma megnezem a kimenetbeállítást is!
Köszi a segítséget! Üdv:. mikol
Ezek szerint ahol a programban W szerepel az azt jelenti hogy a munkaregiszterben marad az eredmény?
Tehát az F=1 és a W=0.
Sziasztok!
Egy http://www.hobbielektronika.hu/kapcsolasok/digitalis_ora_homerovel.html -ehez hasonló órát építettem próbapanelen. Megírtam rá egy programot, amivel hibátlanul megy. Egy hiba viszont van, amire nem tudok rá jönni, hogy mi okozhatja. A pic-összeszed valamilyen zavart, mert ha közel megyek, vagy hozzáérek a pic tokozásához, akkor le reset-elődik az áramkör.(a tápfesznél 100nF kondi, mclr 10K-val +tápfeszen) Minden ötletet, vagy tanácsot megköszönök. Csak most kezdek ismerkedni a pic-ek világával, úgyhogy az is lehet, hogy egy alapvető dologra nem gondoltam, de nem sikerült rájönnöm, hogy mi okozhatja a problémát!
Sokat ugyan nem árultál el, ezért leginkább vaktában próbálok segíteni: LVP le van tiltva a konfigurációs szóban?
Nem volt letiltva, letiltottam és úgy néz ki, hogy már meg is oldódott a probléma. Ezer köszönet, sokat segítettél.
Annyit elárulsz, hogy ez az LVp (ha jól vettem ki a header-ből: low-voltage programming), ez mit takar?
Alacsony feszültségű programozás. Ebben az esetben nem kell az MCLR lábra 12V feszültség az eszköz programozásához. Viszont a PGM jelű lábat használni fogja a programozó és úgy rémlik, hogy ezt a lábat le kell húzni, hogy a program elinduljon. Ennél bővebbet most én sem tudok írni, sosem használtam ezt a funkciót. A fórumon biztosan találsz még róla egyéb információt is, vagy nézz szét a Microchip honlapján.
Sziasztok !
Most kezdtem el foglalkozni Pic-el. Két jel között eltelt időt hogyan tudom mérni mikroszekundumos pontossággal. Kerestem a neten megoldásokat de mind nagyon komplex időzítés.És teljesen összezavartak. Ha tudna valaki segíteni néhány páldáva, hogy merre induljak azt megköszönném. Köszönöm
Szerintem egy timer modullal meg lehet oldani. Erre segítségedre lesz az adott PIC adatlapja és a timer modulok működésének tanulmányozása.
Milyen PIC-el szeretnéd mérni? Milyen jelet szeretnél mérni? Esetleg, ha valahogy konkrétabban leírnád, lehet, hogy többen tudnának segíteni.
Egy 16F877-es a pic. A jel a pic egyik lábán megjelenő logikai 1-től 0-ig tartó idő.
A Capture/Compare/PWM egység(ek) Input Capture módban rögzíti(k) a Timer1 pillanatnyi állapotát és megszakítást okoz(hat)nak. Ha a felfutó és lefutó élre is eljátszod ezt, akkor a két érték különbsége megadja a jel hosszát. Hogy ne legyen ennyire egyszerű, a számláló közben túlcsordulhat (akár többször is). Ezt is figyelembe kell venni Timer1 túlcsordulási megszakításainak számlálásával.
|
Bejelentkezés
Hirdetés |