Fórum témák
» Több friss téma |
Fórum » PIC programozás
"csak" 4 óra van a linken , amit beszúrtál... melyikben van az égető?
Legfelsőbe, de már azthiszem találtam egy jót.Azért kösz
Most más kérdésem lenne:az alábi rajzon az PIC-nek jó néhány lába nincs sehova kötve, ezeket úgy kell hagyni vagy azért valahova be kell őket kötni, és ha igen akkor hova?Rajz:kapcsolás
Szabadon kell hagyni, mert az égetésben nem vesznek részt.
Idézet: „Most más kérdésem lenne:az alábi rajzon az PIC-nek jó néhány lába nincs sehova kötve, ezeket úgy kell hagyni vagy azért valahova be kell őket kötni, és ha igen akkor hova?Rajz:kapcsolás” Nem kell bekotni, viszont ugyelni kell ra, hogy a pin ne lebegjen. Azaz pl outputra kapcsolod, vagy ha van akkor belso felhuzo ellenallast bekapcsolod. Ha ezt nem teszed meg akkor a fogyasztas elegge megnohet azonkivul EMI problemak forrasa is lehet.
Az ott véletlen nem egy COM portos égető kapcsolási rajza volt? Tehát nem kell törődni a többi lábbal.
Elég furán néz ki a rajz, mert a Vdd-re kötött lábra GND van írva, a Vss meg nincs bevezetve???
Van egy pic16c73a-m szeretném beégetni de a Pickit 2
nem hajlandó megcsinálni nekem . Tudna e valaki egy egyszerű égetőt javasolni ,erre az 1alkalomra ami megoldaná nekem ezt a feladatot? És együtt tud működni az MPLAB-bal ?
Watt miniégetője (a legfrisebb cikkek között, vagy a honlapján megtalálod) elég egyszerű. A WinPic800 engedi kiválasztani a PIC16C73A-t, az eredményt meg majd látni fogod.
Nem egy életbiztosítás ilyen egyszer használatos processzorral játszadozni, pláne, ha még a fejlesztőeszközt is most "fejleszted" hozzá!
Köszi megpróbálom ha nem sikerül eldobom
csak egy talált pic gondoltam életet lehelek belé.
Ha talált, akkor miből gondolod, hogy még nem volt, programozva?
Ez a típus csak 1* programozható?
Akkor már dobom is a kukába ! Egy szünetmentes tápban "találtam" tehát programozva volt már !
Hali!
Bocsi hogy így bepofátlankodok, de elég nagy bajban vagyok . Adott egy feladat amit ezidáig egy bonyolult 10db ttl ic-t tartalmazó áramkör oldott meg, sajnos a szükséges smd ic-k beszerezhetetlené váltak ezért helyettük egy pic-re gondoltam. (egy 34*74mm-es panelon 4*kéne ugyan azt a feladatot megvalósítani mindenképpen 4db ugyanolyan pic.el!). Egy kis segítséget szeretnék kérni tőletek, a pic kiválasztásához az égető megépítéséhez és a mplab használatához. A feladat adott összesen 16 db bemenet és 6db kimenet amit a pic-nek kezelnie kéne, a 16 bemenetet folyamatosan figyelnie kell és a 6db kimenetet a 16 bemenet állapotából a megfelelő logika alapján állítania. A pic-ben megírt pár soros kis programnak másodpercenként nagyon sokszor le kell futnia hogy tudja tartani a 16db folyamatosan változó bemenetel az iramot, mert elég gyorsan változnak. Mindezt egy informatikai versenyre kell elkészíteni ami 23 nap múlva lesz, ideglenesen a verseny idejéig le lehet lassítani addig hogy "csak" másodpercenként 100 keljen lefutnia a pár soros kis programnak. Nem szeretném hogy más irja meg a programot helyettem, vagy más készítse el a kapcsolást, csak egy kis segítséget kérek az elinduláshoz. Köszönettel Juhász Bálint Idézet: „Ez a típus csak 1* programozható?” Ha megnézed a Microchip oldalán, az első paraméter ez: Program Memory Type OTP Az OTP = One time programmable, vagyis csak 1x...
Köszi a gyors segítséget , a pic megy a kukába
projektet átírom 16f 876-ra
Az elmondottak alapján inkább a CPLD, FPGA - Miértek, hogyanok topikba tartozónak tűnik a téma, de nem árultad el, hogy élesben mennyire gyorsan változnak a jelek?
Ha 16+6 jelet "brute force" alapon a PIC kezeli, akkor 28 lábú kell (pl. PIC18F24K20, PIC18F25K20, PIC18F26K20). Ezek most a 8 bitesek PIC-ek közül a leggyorsabb, 16 MIPS). Ha a sebességigény megengedi, egyetlen PIC is elláthatja a 4x16 bit figyelését az SPI buszra felfűzött MCP23S17 i/o bővítők segítségével. Sőt, azok bekonfigurálhatók arra is,hogy a bemenet változásakor interruptot adjanak,így ha nincs változás, nem kell a processzornak csinálnia semmit... A 16 bites PIC-ek némelyike (pl. PIC24HJxxGP502) DMAcsatornával is rendelkezik, így a nagyobb processzálási teljesítmény mellett az adatátvitel és az adatfeldolgozás akár párhuzamosan is történehet. Természetesen sebességben ez semveheti fela versenyt a programozható logikai tömbökkel (PAL,PLA, stb.). De a két hetet siralmasan kevésnek tartom az alapismeretek elsajátításához. A két év reálisabb célkitűzés volna.
Mi is nagy bajban vagyunk, mert nem vagyunk gondolatolvasok.
Ezek a 'szeretnek valamit, de nem tudom, mit' tipusu kerdesek nem vezetnek sehova, legjobb esetben indul majd az oda-vissza kerdezgetes. Itt senki sincs raszorulva a masik otletere, szoval; a leheto legpontosabban ird korul, hogy mi az, amit ki szeretnel valtani es milyen korulmenyek kozott akarod majd uzemeltetni. Addig minden valasz csak loves a sotetbe. A ket hetet en is igen rovidnek erzem.
Először is tévedtem, "csak" 13 bemenet, és 3 kimenetre lesz szükség.
A pic egy számítógép vezérlésű házhoz kellene, a 13 bemeneten a jel másodpercenként 512000* változna. Azért szeretném megoldani 4db pic el mert erre megtervezem a nyákot, és lesz olyan helyzet mikor elég egy vagy két pic és nemkel mind a 4 feleslegesen. Adott egy általun ki talált digitális busz amely a házban található eszközöket és érzékelőket kezeli, ezen érzékelők címzéséhez kellenének a pic-ek. A bemeneteket b1-b13 míg a kimeneteket k1-k3 fogom jelölni. A k1és k2 a digitális buszra megy rá. k1:érzékelőállapot k2:hibajelzés A k3 a hardver aktuális állapotát jelzi. A 13 bemenet 3 részből áll, - egy db kapcsoló (b1) - 4 db a digitális buszról (b2-b5) --b2 clok --b3 adat --b4 cím/adat választó --b5 paritás - 8 db cim (b6-b13) jumperekel az egyes panelokon kiválasztott cím Most megpróbálom leírni a logikát hogy mit kéne csinálnia, sajnos elég rosszul fogalmazok és borzasztó a helyesírásom de igyekszek követhető leni. szükség van még 8 db változóra is (v1-v8 al jelölöm) 1. ha b2 "1" ről "0" ra vált akkor nézze meg hogy a b4 "1" es e, ha a b4 "1" akkor v8=v7, v7=v6, v6=v5, v4=v3, v3=v2,v1=b3 2. ha b2 "0" rol "1" re vált akkor nézze meg hogy a b4 "1" es e, ha a b4 "1" akkor számolja meg az egyesek számát v1-v8 ig ha az egyesek száma páros volt k2=b5 negáltjával ha az egyesek száma páratlan volt k2=b5. 3. ha b4 "1" röl "0" ra vált akkor hasonlítsa össze a v1-v8 as változókat a b6-b13 as bemenetekkel, bitről bitre ha egyeznek akkor a k1=b1 el. 4. ha b4 "0" ról "1" re vált akkor hasonlítsa össze a v1-v8 as változókat a b6-b13 as bemenetekkel, bitről bitre ha egyeznek akkor a k1=0 és k3=b3. Végülis "csak" enyit kéne csinálnia egy db piknek, jó lenne ha olyan lene a pic hogy szeretné a 12v tápfeszt. Remélem értetétek és tudtok segíteni, ugy nagyából érteni is szeretném hogy mitcsinálok de elsődleges szempont hogy készlegyen, nemtudom feltudjátok-e mérni hogy mikre van szükségem ezen pic elkészítéséhez (pl. mijen pic, mijen égető és mplab használata, mijen parancsokra lesz szükségem stb). Novarobot
Úgy saccolom, hogy a feladat megoldható pic-el. Ha veszünk egy 18F24K20-t, annak 16MIPS sebessége van, vagyis a másodpercenkénti 512000 változásba belefér 32 utasításciklus. Persze ez nem effektív 32 utasítás, hanem kb. 20. Ha a főprogram üres, vagy magas prioritású megszakítást használunk, akkor nincs veszteség a regiszterek mentése miatt sem, vagyis kb. 28 ciklus a miénk. Van legalább két külső megszakítása, ezekre köthető a b2 és b4 bemenet. Ha jól nézem, ezeknek a változására kell reagálni tulajdonképpen.
1. Itt nem maradt ki néhány dolog a v1-v8 sorokból? mert ha v8=v7, v7=v6, v6=v5, v5=v4, v4=v3, v3=v2, v2=v1, v1=b3, akkor megoldható a regiszter balraforgatásával és a v1 beírásával ami kb. 5 ciklus. 2. Ez megoldható táblázattal, ahol a tábla címét a v1-v8 tartalom adja, és a táblázatban meg az szerepel, hogy az egyesek száma páros vagy páratlan. Ezt úgy 10 ciklusnak saccolom 3. Ha a b6-b13 bemeneteket egy portra tesszük, akkor ez kb. 6 ciklus. 4. ez meg kb. 10 ciklus Plusz még rájön néhány ellenőrzés, hogy hol volt a bemenő jelváltozás, a reakció ellentétesre fordítása, stb. ami kb. 6 ciklust igényel pluszban a fentiekhez. Szóval minden esetben bőven bele lehet férni a 28 utasításciklusba, tehát nekem megoldhatónak tűnik a dolog. A nagyobb probléma, hogy két hét alatt nagyon rá kell feküdni a dologra, hogy olyan szintre juss, hogy ez elkészüljön. Nem lehetetlen, de kérdés, hogy minden idődet erre tudod-e fordítani. MPLAB-ból a legújabb, égetőnek Pickit2, a parancsok (azthiszem 75 van) a pic adatlapjában megtalálhatók, azokra lesz szükséged. Nem mindre, de olvasd végig, hogy melyik mire való.
OFF Te egy őszinte ember vagy. VALÓBAN BORZALMAS A HELYESÍRÁSOD. Bár itt nem ez a lényeg, csak bántja az ember szemét.
ON Ennyi kell a teljes projecthez vagy ez még csak az eleje? Milyen nyelven akarod írni a progit ? Basic, c, pascal, vagy valamilyen grafikus szerkesztő ( parsic, flowcode)? Számomra egy kicsit összevissza van a dolog. Ha jól értem egy 4 bites adatbuszon küldött dekódolt parancsra kellene az általad leírt változásokat végrehajtani? Ha a buszon meg tudod címezni a megfelelő PIC-et, az tudja dekódolni a neki jött parancsot, ha ezt meg tudod ( tudtad ) írni, akkor miért gond néhány változó értékátadása??? Ezt nem értem bocsi. Azért sok sikert. mgabesz
Potyo
Tényleg kihagytam a sorozatból azt a kettőt köszi a javítást . A 18F24K20 pic-et meg nem találom sehol, se adatlapot se magyarországi beszerezhetőséget semmit, csak néhány angol fórumon szerepel a neve. Mgabesz A pc-s programot delphi-ben programoztam lpt portra, nem vagyok profi, nemkel semmilyen komoly programra gondolni. Program hardver vezérlő részén kívül már nagyjából kész és, szerintem a hardver vezérlő részel sem lesz probléma csak ellőbb legyen valamilyen hardver amit vezérelni kell. Az áramkört a Tina nevű programmal teszteltem és pénteken kész lett a nyák, még aznap mentem alkatrészeket vásárolni és ott csapot arcon hogy olyan ic is van a panelon amiből nem gyártottak smd-t és a többi is ritka , végül 2 db re lesz alkatrészem (péntekre ) de legalább 5-6 db-t kéne vinni a versenyre, így marad a pic (ami azért is jó mert sokkal barátibb megoldás ). Maga a pic program megírásával nem lenne bajom, csak az a baj hogy pic amivel még soha nem foglalkoztam. Találtam egy számomra is egész érthető és egyszerű pic programozót Link , de az mplab-al nem boldogulok, állítólag ki is lehet benne próbálni a programot, én még azt sem találtam meg hogy melyik nagy fehér kockába kell megríni a programot. Ha a pic programozó használható, akkor ezen programozó használatához, megfelelő pic kiválasztásához (nekem 18F24K20 is jó csak hol lehet megtalálni az utasításkészletét és hol lehet megvenni), és az mplab használatához kérném a segítségeteket. Talán úgy megérteném ha pl egy egyszerűbb pic elkészítését a program megírásától a beégetésen át a pic végső bekötéséig leírnátok, + hogyan kell kipróbálni a pic programot mplaban, hogy mire mit csinál? HELP Novarobot
Ha PIC18F24K20 néven keresed, itt megtalálod. Mellesleg a család többi tagja is jó helyette...
www.chipcad.hu-nál is kapható az Árlista/Alkatrészek/Microchip/PIC 18F FLASH mikrovezérlők menüpontban.
Figyelj a tokozásra! SDIP, SOIC, SSOP, QFN!!!! I vagy E a hőmérséklettartományt jelöli.... Idézet: „Talán úgy megérteném ha pl egy egyszerűbb pic elkészítését a program megírásától a beégetésen át a pic végső bekötéséig leírnátok, + hogyan kell kipróbálni a pic programot mplaban, hogy mire mit csinál?” Hmmm... Moziba ne vigyünk? :no: Keress, no meg ezt a topikot is olvasgasd! Egy ismertető pl. itt van: PIC oldal
Ha csak az a baj, hogy nincs belole smd, de van mondjuk dip, akkor szerintem MOST egyszerubb es gyorsabb, ha bemadzagolod az smd helyere vekony vezetekkel. A verseny UTAN pedig megnezed, hogy mit tudsz csinalni a PIC-el, ha ugyes vagy, jovore mar azzal villanthatsz.
De egy hazvezerles szerintem tipikusan az a dolog, amit nem lehet 'elvinni' egy versenyre. Mint mondjuk egy kertszepsegverseny....
Hát erre találták ki a cserepes muskátlit
Sajnos tényleg nehéz értékelhető munkát elvinni, tavaly egy legóházat vittünk el idén meg valószínűleg táveléréssel mutatunk be néhány dolgot... Jó lenne ha jövőre is indulhatnánk a versenyen, de sajnos mivel középiskolásoknak szól ezért idén indulhatunk utoljára. Mivel úgyis újrakel tervezni a nyákokat a pic-re majd maximum olyan nyákot tervezek amire kettő (vagy végső esetben egy) pic kerül így elfér a dip, ja és ugye (és most ne nézetek hülyének )a Spdip és a sima dip ugyan az? Akkor az a pic programozó amit kinéztem használható? (link) icserny linkje nagyon hasznos volt, de az mplab ban elakadtam (inkább el sem tudtam kezdeni ) , sajnos az mplab-os rész még 3.1 re készült és nemigazán találom a menüpontokat mplaban ki tud nekem segíteni mert egyelőre nagyon nem megy, és hogy autodidakta módon rájöjjek az elég kilátástalan. Novarobot
Az spdip a keskenyebbik valtozat. A kiosztas ugyanaz, csak a ket labsor kozelebb van egymashoz, de ugyanugy egyraszteres a soron belul a labtavolsag.
Az smd-ben a koverebbet W-vel jelolik. Barmifele PIC programozo hasznalhato, ami programoz. A PIC-nel fontos a hardver es a szoftver es a config bitek. Barmelyik nem jo, a cucc nem megy. A programozo jo lesz. Az mplabbal ne nagyon foglalkozz, megirod a progit barmilyen szovegszerkesztoben es mpasm vagy mpasmwin-nel leforditod, kapsz egy .hex-et es ezt mar egetheted is. A te szinteden nem kell mindenfele fejlesztokornyezettel szenvedni. De NAGYON sokat segit, ha van valami kollega vagy barat vagy csaladtag, aki mar latott ilyesmit es az alapszivasokon atsegit. De igen sokat segithet a forum olvasgatasa is. Idézet: „Akkor az a pic programozó amit kinéztem használható?” Szerintem a 18F24K20-hoz nem. Ahhoz PICit2 vagy ICD2 kell. Még egy fontos dolog: a PIC18F24K20 és társai 3.3 V-os feszültségen járnak. Ha ez gondot jelent a meglevő áramkörök illesztésben akkor jobban jársz, ha a teljesítmény feláldozása mellett most inkább egy 5 V-os típusnál maradsz (16 MIPS helyett 10-12 MIPS). Pl. PIC18F2321, 2323, 2450 stb. MPLAB teljes dokumentációja megtalálható a telepítési könyvtáradban, benne a hőn óhajtott Quick Start Guide... Érdemes a Project -> Project Wizarddal kezdeni, utána a Project -> Add New File to Project menuponttal folytatni. Idézet: „Spdip és a sima dip ugyanaz?” Mindig érdemes megnézni a méreteket az adatlapon. AZ spdip azt jelenti, hogy keskeny DIP, azaz ugyanúgy 0.3 inch a lábtávolság, mint a mezei 8-14-16-20 lábú IC-knél. Ez azért keskeny, mert a hagyományos tokozásnál a 24 és nagyobb lábszámú IC általában szélesebb, 0.6 inch távolságban van a két lábsor. Ilyen az SDIP kivitelű 28 lábú PIC18F24K20: Kép: Hivatkozás
Az a égető amit találtam alkalmas lehet pl.: egy pic16f84 felprogramozásához, mert úgynézki ez lesz az első pic es gyakorlatom alanya?
+még 5 kérdés: -hogyan tudok regiszterbe tenni egy bitet mint változót? -hogyan tudok bekérni adatokat a pic egyes lábáról? -hogyan tudok regiszterbe tenni az előzőleg bekért adatot? -hogyan tudok regiszterből adatokat viszanyerni? -hogyan tudok "ha" ("if") elágazást csinálni? Odáig már eljutottam, hogy el tudom dönteni melyik láb legyen kimenet éas melyik bemenet, és ki tudok adatokat küldeni a lábakra. Sajnos mplab-al nem sikerült semmit kezdeni, de ITT találtam egy jó kis pogit, amivel lehet programot írni és tesztelni is. Holnap megvenném a pic et, de ha tudtok ajánlani valamit helyette, (lehetőleg olyat amit biztosan támogat ez az egyszerű pic égető, vagy valami hasonló pic égetőt ha tudtok, mert akkor annak is megvenném az alkatrészeit holnap). Novarobot
Szia.
ASM-ben nem vagyok otthon, de úgy látom, hogy Te sem. Próbálj valamilyen magasabb szintű nyelvvel kezdeni. Vagy ennyire kritikusak az időzítések, hogy optimalizált assembly lista kell. Tudom, hogy szorít Téged az idő, de assemblerben programozni, ha kezdő vagy akkor nagyon nagyon gyötrelmes. Vagy próbáld ki a PARSIC-ot. Van itt saját topikja. Csak logikai kapukat számlálókat kell pakolgatnod van saját szimulátora és egy gombnyomásra elkészíti belőle az égethető HEX file-t. A kész kapcsolási rajzokat én Proteusban szoktam tesztelni, mert rengeteg MCU-t ismer (PIC, AVR stb). A PIC típussal kapcsolatban csak annyit, hogy szerintem sokkal jobban jársz egy 16F628-al. Harmadannyiba kerül és kétszer annyit tud. A 16F84-es már egy nagyon régi darab. Szia. mgabesz |
Bejelentkezés
Hirdetés |