Fórum témák
» Több friss téma |
Régebben a logikai áramkörök, csak TTL áramkörökből voltak összerakva, ezek akár több A4-es méretetű panelt is kitettek egy valamire való feladat megoldásához.
Ezeken a paneleken több tucat "14 és 16 lábu" IC volt... Ezen IC-ben mind alapáramkörök voltak, kapuk (és, vagy, és-nem, kizáró-vagy....stb) számlálók, tárolók, léptető regiszterek, flip-flop (R-S) multivibrátorok, dekódolók...stb (ezek ma is kaphatók, Pl:7400, 4011, 7490, 4520...) A parsic vizuális programszerkesztőben is többnyire ezen eszközök állnak rendelkezésre, néhány új modullal kiegészítve. Ha egy feladatot meg akarunk oldani ezek segítségével tudjuk megtenni, többek közt... Ez a fajta "programozás" csak egy tipusa a mikrokontroller kezelésének...ugyanakkor könnyű, gyors és megbizható! A számlálóval a bemenetére érkező impulzusokat tudjuk "detektálni" és "darabszámmá" tenni...(számolás) Ezeket ki tudjuk jeleztetni, pl egyszerű 2-4 soros LCD-vel vagy ledekkel...vagy éppen a program egyéb feladataira használjuk fel, összehasonlítás sorzás osztás... nézz meg egy két régebben feltett progikamat (4-6 oldallal visszafelé) ezek müköödő tényleges vezérlési feladatot hajtanak végre Pl.egy gépen... (rajzoláskor, a vonalakat mindig szögletesre kell rajzolni, mert áttekinthetetlen lesz és nem tudsz hozzájuk csatlakozni, közben kattint a jobb egérgombbal,...tötölni shift + jobb egérg. utána delete billentyű...)
Jaaa! Ez most akkorát esett, hogy koppant.
A kijelzésére és hasonlókra nemis gondoltam... Így már világos, és akkor ezt idáig értem. És az a kis rajz amit csináltam elviekben működőképes lehetne, vagy sem?
Müködőképes...
viszont kérdés, hogy pont erre lenne -e szükséged? én így oldanám meg... egy gombnyomásra bekapcsol és 2s után ki...(Az RB.0 kimenetre kötött led 470ohm ellenállással mutatja) Ha az ST1 ben átirod a 100-at, akkor más érték lesz (255-ig) Ezt bátran betöltheted egy PIC-be...
Értelek. Az csak úgy csináltam, hogy akkor nagyábol értem-e.
Amúgy a te rajzodnál a szimulációban nállam nemvillog a led, mert az egyik ÉS kapu bemenetére van rácsatlakozva. Vagy én vagyok hülye? Amúgy tök örültem, mert miközbe vártam, hogy írj összedobtam egy fejemből kipattant progit. A lényeg az volt hogy egy erősítő bemenet leválasztóját vettem, méghozzá úgy hogy kis mikor kapcsolóval vagy mivel váltanám, azaz egyszer megnyomom a kis kapcsolót és maradjon úgy. De az is feltétel volt hogyha megnyomok egy másikat akkor az előző kapcsoljon ki, azaz ne lehessen egyszerre két bemenet is aktív, mégha a gombokat nyomva is tartom. Ezt a kis rajzot dobtam össze és szerintem tök jó lett így elsőre...
Itt az uj pwm es verzió ez igy jó?
Remélem mert sokáig csináltam De amikor le akarom forditani ezt irja be az err filéba: Warning[202] C:\PWM.ASM 1524 : Argument out of range. Least significant bits used. Mi lehet a baj?
Az IF8 alsó bemenetén 648 szerepel a modul viszont csak 8 bitesre van állítva (tehát max 255 lehet)
Az OS3 nem tudom megfelelően vezérli-e pwm-et... Úgy tudom a CF-re érkező impulzusok kitöltési tényezőjét változtatja a fölső bemenet adata szerint (0-1023) Olvasd el a help-et szerintem nem lesz jó...
Én meg állitgatom a számlálót 16bitesre és kiderul hogy az if nem 16 bites
Ha a Byte-s vonalakon egymással kapcsolatban lévő elemek valamely tagja 16 bites, akkor mindegyiket 16 bitesre kell állítani !
A pwm modul valójában mit valósítna meg?... sötédedéskor felúsztatja, reggel meg leúsztatja a fényt? ezt milyen hosszúra tervezted? A pwm modul használata "elhangolja" az 1s időalapodat... (Söt minden más együtt járó időzítő elhangolná...a processzorok mellé máshol is használnak külső valós idejű óra chipet... Próbáld ki a valóságban az áramkörödet müködni biztosan fog, nézd meg, hogy azt csinálja amit szerettél volna... Ha az MPLAB lefordítja, akkor "valamit fog csinálni" a pic... Ha azt akarod, hogy pontosan járjon az órád akkor használj külső óra chipet ,(háttérelemmel akkor is jár ha nincs áram!) Viszont ezt kommunikáltatni kell a PIC-el... ez nem egy- két perces feladat és az áramkör nélkül nehéz így "vaktába" helyes utmutatást adni. vagy még egy PIC-et ami csak az 1s pulzát adja PL16f628a-val...
Sziasztok!
Szertnék PIC-re csinálni egy saját fejlesztésü fordulatszám mérőt programot. Az a bajom, hogy a BV1-es egységből 8 bites adat jön ki, ami kevés a további számításokhoz. Ha a többi egységet 16bit-re állitom akkor jó, de az mplab nemforditja le. Tudnátok tanácsot adni hogy hogyan tudom átalakitani BV1-esen kimenö 8 bit-et 16 bit-re.
Használd a másik számlálót, ami mellette van jobbra,ennek van byte-os kimenete, és tud 16 bitet is.
Ez más altarnativákat is adhat a tényleges megoldásban, egy használati példát küldök a számlálót ha nem korlátozod nyilván 65535-ig számol...(igy 10000 ig)
A freki mérőnél fontos az időalap pontosséga, ezért egy "ütemadót" használj csak, ezt elágaztathatod a kijelző frissítésre is...Több timer egymásra hatással van...
Továbbá a frekimérőknél az a szokásos mérési eljárás, hogy egy számlálót töltünk (amit nem jeleztetünk ki), a mérési ciklus végén egy átíró impulzussal átírjuk egy átmeneti tárolóba (itt lehet számláló, vagy byte multiplexer) az előző értéket amit kijeleztünk azt meg természetesen töröljük...tehát az átmeneti tároló értékét jelezzük ki...
Ezt a parsic-al kőnnyen megoldható...
Köszönöm az infót. Még nem valósult meg fizikaliag az áramkör, de amit irtál abból arra gondolok hogy tároló nélkül nem lehetne elolvasni az LCD-t.
Valahogy így gondoltam...
az elv ez, aztán kiegészíted... Az órajel lefutó élére átirja az MX1-t utána törli a számlálót...stb
Érdeklődnék a Parsic 3.6 prg. után
hol lehet letölteni stb.
Az első oldal utolsó hozzászólásában megtalálod a linket.
OK. megvan, köszönöm
Tetszik prg. eddig csak PLC\célgépekkel foglalkoztam most majd kipróbálom a PIC-et is.
Sziasztok valaki tudna segíteni?
Az MPLAB-ba írt *.asm program kis vagy nagy betűkből kell hogy álljon? Számít a betű különbség?
dcsabi légyszi küld el az rs-check nevű progit, vagy adj egy linket ahonnan letölthetem, mert nem találom sehol.
Köszönöm. Üdv.
Üdv mindenkinek!
Van egy kis uart gondom, adott 2 pic, egy 877 és egy 628. Köztük kellene adatot átvinni, a 628 lenne az adó a 877 a vevő, az adatot amit vett egy lcd re írná ki. A probléma, hogy nem akar működni, felmerült pár kérdés. A 2 picnek azonos frekin kell mennie? 877 nél nem tudtam int.rc oszcit beállítani. A 877 jelenleg 20MHz es kvarcról jár, a 628 int. RC n van. A 2 fájlt mellékelem. Van esetleg valakinek ötlete? Előre is köszönöm.
Mikor az UA1 modult beállítod, ott van pirossal hogy az összes beállítás 4Mhz órajel esetén érvényes...
Tehát az a minimum, hogy mindkét processzor ugyanazon a frekin járjon... Azt el tudom képzelni, hogy az egyik órajel duplája a másiknak és a sebesség ezáltal dupla lesz, holott a lassabb PIC viszont dupla portsebességre van állítva, és így passzolhat a kommunikáció. Pl: 4Mhz és 8Mhz ill 19200 és 9600... Én használtam három 20Mhz-s PIC-et és kommunikáltak egymással, viszont a PC-vel nem passzolt a sebesség... A belső oszcillátor használata kerülendő ilyen alkalmazásokban, egyszer még az I2C kommunikáció sem ment emiatt.
Üdv!
Sikerült beüzemelni, 4 megásokat tettem bele. A 877 est viszont még mindig nem engedi int. oszc ra állítani (másik project).
Ha jól tudom a 877-ben nincs is belső oszcillátor...
Üdv!
Honnan lehet leszedni a Parsic 3.4-es verziójánál újabb verziót? Előre is thx a választ! jah a 3.4-es a honlapomról le lehet!
Helló Dcsabi!
Látom/olvasom, hogy nagyon segítőkész vagy. Ezért szeretnék is segítséget kérni tőled. Még ezelőtt nem foglalkoztam programozással és most kezdtem el érdeklődni utána, tehát még szinte semmit sem tudok. Csináltam első nekifutásra egy nagyon egyszerű kis programot, melynek a lényege, az, hogy ha megnyomok egy gombot a Led felgyúllad és ha egy másikat, akkor elalszik. Remélem jól csináltam. Ezt a progit úgy szretném megcsinálni, ha megnyomom a gombot, akkor a led felgyúllad és világit 5 mp-et, aztán magától kialszik. Ezt hogyan tudnám megoldaini? Előre is köszönöm a válaszod. |
Bejelentkezés
Hirdetés |