Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Idézet: „A sietős fél év alatt olyan 50 másodpercet szedett össze (netről szinkronizált időhöz szoktam hasonlítani).” Az teljesen korrekt. Az azt jelenti kb 3.8ppm, ami egy atlag 20ppm-es kvartzot figyelembe veve szerencses esetnek mondhato. Itt lehet kalkulalni ppm-et
Hali!
Megépítettem próbapanelon a Topi féle adóvevő áramkört, aminek a vevő részén egy lcd csücsül. Az ICD kasán látja a chipet fel is programozhatom (mit szenvedtem mire a ccs-t be tudtam lőni), de az lcd panel teljesen üres. Ha 4,5V-ot ráadok nem kéne fekete kockáknak lenni rajta? (1-es és 3-as láb között egy 6,8K-os ellenállás van) Lehet hogy meghalt a kijelző?
6,8k sok oda. (Én is mennyit szenvedtem mire rájöttem hogy még a 3,3k is sok... persze ez kijelzőfüggő). Tegyél oda 0.5-1k és nézd meg. Ha még kevés lehet csökkenteni.
A Topi kapcsolasaban ott egy potmeter van - szerinted miert? Az en LCD-m amugy eleg halovany meg ugy is ha ~4.4V-t megy ra ellenallas / poti nelkul (egy bipolaris kapcsolo van ott nalam, es a stabil 5V-bol ennyi jut az LCD-nek de ez is gyengus mar, bar meg olvashato).
Hello!
Idézet: „Mitol jonne 3x int egy utasitas alatt?” Az a szép benne, hogy én a felprogramozott timer-ről próbáltalak győzködni, Te pedig a frekimérésről. Egyébként értelek, és igazad is van, csak hát meddő ez a tehén, "mert ami nincs, az nem van"! Tehát, csak elvi jelentősége lenne a dolognak. üdv! proli007
Valaki betudna veyetni hogyis van a pic programozas es a stbi? delphibe paschalba meg cbe programozok meg ize pic hogymihogyanja , szval ertitek ki tud segiteni ?
Ott egy 10k-s poti van azzal a megjegyzéssel, hogy toljunk oda egy 6k körülit és azzal is megy, persze kö9zben kipróbáltam a kazánvezérlőmön és a kijelző jó. Tanácsokat megfogadom, teszek rá egy 1k-sat.
Ne vedd genyóságnak tőlem, de itt a kollégák megkövetelik a tiszta érthető fogalmazást, a helyes írást, az írásjelek használatát és így tovább...
Ha nem fektetsz elegendő időt a kérdés feltevésére, megfoglamazására, akkor nem várhatsz kielégítő és egyáltalán semmilyen választ. Ne haragúdj, de ez itt így működik. Egyébként itt mindenki szívesen segít, láthatod, a témák és hozzászólások mennyiségén.
Ja jó bocsi
Mindenhol mas a nep mas a stilus A fogalmazasom nem mindig lehet majd megerteni de probalkozok szepen irni, es szeretnek megtanulni PIC chipet programozni tudom hogy ez egy nehez munka lesz , de biztat az hogy valamennyire c-ben Delphiben es pascalban tudok programoni, es a ti segitsegeteket szeretnem kerni , hogy hogyan tudnam elkezdeni :yes: mert gepen megirom minden progarmot csak szeretnek elmozdulni a geptol es nyomtato port nelkul vezerelni dolgokat, hogy erdemes nekikezdeni? Udv Devi
Használd majd a válasz gombot...
Szóval kezd mondjuk itt. Olvasgasd el szépen sorban a PIC-ekről szóló részt. Közben válassz magadnak egy PIC programozó áramkört (PicKit2) és egy programnyelvet, az assembly-t mondják a legcélravezetőbbnek. Ja és egy PIC típut is, mondjuk pic16f648A-t, aminek töltsd le és olvasgad együtt az adatlapját az előző anyaggal együtt.
Itt van pontosabban a link: Midrange Pic
Itt meg a 16F648A adatlapja. A pickit2-ről meg pl. a chipcad honlapján olvashatsz.
Olvasd végig a ezt a témát, és az össes PIC-el foglalkozó témát itt az oldalon az elejétől a végéig. Ez kezdésnek nagyjából elég.
Koszi
ezeket mar megtalaltam, de az alaplapjan 8bitnek irjak es a "azonositas" szerint pedig 14bit, akkor most melyik?
A 14 bittel egyelőre ne törődj: ennyi hely kell egy-egy utasítást, és annak operandusait letárolni a programmemóriában. Ami neked számít, az a 8 bit: ekkora az a legnagyobb tárhely, amit egy utasítás egyszerre el tud érni. Vagyis minden művelet legfeljebb nyolcbites számmal történhet, ha egy lépésről beszélünk.
Olvasgasd az adatlapot, ott szokták grafikusan is ábrázolni, hogy mit takar a 14 bit és a 8 bit.
szerencsere ilyen suliba jarok (csak sajna igyen alacsony szinten van) ezeket en mar tanulnat h mi az eepron es az ilyeneket
Egy nagyon rövid (és semmire sem jó) összefoglaló:
- válassz feladatot, pl. gombnyomásra led kivezérlése - válassz egy kontrollert (flash kivitel a többszöri programozhatóságért, egyszerű felépítés) - adatlapból elemezd a perifériákat, melyik mire jó, melyikkel lehetne megoldani a feladatot - töltsd le az MPLAB fejlesztőkörnyezetet (ingyenes, rengeteg okosság van benne), nézd át a Help-jét, mi mire való - keress a neten a választott kontrollerre írt forráskódokat, elemezd a konfigurációs biteket, direktívákat - írd meg a programot, debug-old, javítsd ki, ha kell - szerezz egy (támogatott) égetőt, vegyél kontrollert, írd meg, tedd mellé a perifériákat, kapcsold be, és juhé Azért írtam, hogy ez a leírás semmire sem jó, mert én így csináltam, de mindenki a szája íze szerint szokta. A lényeg, hogy legyen valami logika a lépések között, ne kapkodj, ne akarj egyből mindent megérteni. A C is a "Hello world" -el kezdődik, ami semmire sem jó, de egy megfelelő szemléletet már segít kialakítani.
Koszi
ebbol mar mind megvan marcsak egy kontroller avagy a startkit2 kell asszem mert velem sose volt olyan hogy nincs otlet hogy micsinaljak amugy eloszor arra gondoltam 1 vilagito Devi felirat (ledekkel) amit gombnyomasra lehet kapcsolgatni
kerhetnek valahol valami leiras hogy a chip labai merre meddig vannak? mert sajna ami a kezikonyvben van abban nemtudok eligazodni
És azt hiszed, hogy az olyan könnyű? Na igen. H a rárajzolod feketével egy üvegdarabra, aztán mögéteszel egy 220-as izzót, meg egy kapucsengő-nyomógombot. Na az egyszerű.
Gombkezelés: rögtön prellegésgátlással kell kezdened, amihez tanácsos ismerni az időzitő-trükköket (én ált. 10 x 1 ms késleltetést használok). Persze, igazán elegáns az lenne, ha a gombod figyelését interrupt-kiváltással oldanád meg, hiszen akkor a főprogramod csinálhatna mást: mondjuk kiirja a pontos időt, és ha megnyomják a gombot, akkor a feliratot. Elegáns lenne mondjuk 4 db 7 szegmenses kijelzőt használni(amin nehéz a D meg a V betük kiirása), melyek vezérlését szépen multiplex üzemmódban kell megoldani (hacsak nem akarsz 7 X 4 +tp lábat használni a kijelzéshez) Az órához kell egy kis timer0 -osztás, számlálókezelés, a beállításához a gombkezelés,valamint szépséges figyelő-rutinok: a másodperc nem lehet 60, 59-nél váltani 00-ra, a perc +1. És így tovább... az óra nem lehet 23-nál nagyobb, stb, stb. Vélhetően, itt a programod már akkora lesz, hogy az egy program-memória lapon belüli ugrásokra is figyelned kell: a PCL mutató csak 8 bites, tehát a mutató max 255-ig megy. Ameddig lineárisan haladsz, addig semmi baj, de ha mondjuk ugrálnod kell ide-oda, akkor már előfordulhat, hogy a PCLATH 3.4. bitjeit is kezelned kell a helyes működéshez. Interruptnál a szükséges változók lementése, majd visszatöltése, ha üzembiztos áramkört akarsz, ami fittyet hány a bekapcsoláskori zavarokra, akkor a reset-áramkör kezelés (külső-belső megoldás), üzemközbeni ingadozások kezelése, kifagyáskor automatikus újraindulás (WDT kezelése), és még sorolhatnám. És akkor még csak a szoftvernél tartasz. Felhúzó ellenállások mérete, a vezérelt ledek fogyaztása (kell-e tranzisztor a meghajtáshoz, vagy a PIC elbírja), külső quartz áramkör kondenzátorainak a kapacitása, stb, stb. Szóval, kezdésnek nem rosz, sok sikert hozzá !
en ugygondoltam hogy ledekbol kirakok egy Devi feliratot es nem 1 ledet kapcsolok hanem 7et helyette 1re rakotve :wink:
ne viccelj már, ezen kb 10 perc alatt túllépsz! több idő lesz a ledek beforrasztása, mint amennyi idő alatt megírod a progit
az a baj hogy szoftveresen ertek mindent, de hardweresen azt se tudom mi micsoda
tudom, hogy nem a reklám helye,(ezért nem írok konkrét nevet) de van olyan cég Mo-on, akik tartanak tanfolyamokat kezdőknek. Nem olyan vészes, azt hiszem 10e Ft/nap. Ugyan akkor én mér szereztem magántanárt (nem PIC témában) a prog.hu oldalon. Szóval, keresd meg valamelyik tapasztalt emberkét innen a fórumról pl, hogy egy délutáni KV-sör keretében magyarázza el az alapokat, valami szerényke díjazás fejében. (Ha lenne időm, mondjuk én szívesen beszélgetnék veled az alapokról, de most nem aktuális az elfoglaltságom miatt.) Ugy gyorsabban haladsz majd. Hamár az elején nem tiszta, hogy miért kell a movlw-movwf páros, akkor később sokkal nehezebb lesz. Ugyan így, ha nem mondják el, hogy mi az a prellegés, és miért nem "lóghat a levegőben" a proci lába (pl ha analóg bemenet), akkor az megint sok gondot fog okozni. Hidd el, csak jó alapra lehet erős várat építeni - a régiek sem a löszfalakra épitkeztek, hanem a sziklás hegyekre.
Idézet: „az a baj hogy szoftveresen ertek mindent, de hardweresen azt se tudom mi micsoda” Hidd el, nem cseszegetésből vagy levakarásból mondjuk azt, hogy olvasd végig az ezzel foglalkozó témákat. Sokmindent meg fogsz tanulni és érteni belőlük. Ne akard egyik pillanatról a másikra megérteni a kontrollereket, amit rhino említett, az nagyon kis része a problémakörnek. Mi sem egyik napról a másikra tanultuk meg. Hogy alap dolgokkal tisztában légy (timerek, multiplexelés, analóg-digitálális átalakító, usart, stb.) ahhoz kell legalább egy hónap onnan, hogy már végigolvastad az említett témákat, és próbapanelen elkezdtél kisérletezni.
És még valami: ha igazán szeretnél tanulni, akkor egy jó developer-bordot válassz! Én olyanon dolgozom,
1 ami kezeli a 8-40 lábú PIC-eket, 2 van rajta 35 led (a megfelelő előtét-ellenállásokkal), 3 35 kapcsoló(ellenállással, és eldönthető, hogy fel-vagy lehúzom, 4 akár portonként, enable/disable LÁBANKÉNT!), 5 2 USB, 1 soros, 1 PS2 port, 6 grafikus (128 x 64)LCD, 2x 16 karakteres LCD, 7 külső 8MHz-es oszcillátor,érintő-képrnyő-vezérlés, 8 ICD áramkör, 9 2 potenciométerrel ellátott analog bement-kezelő ( jumperrel beállítható, hogy az egyik RA0-ra4-ig, a másik RA1-ra5-ig melyik lábra menjen. 10 Van rajta 4 db 7 szegmenses LED kijelző , és a portok lábai (RA-RE-ig) lábanként definiálható DIP-switchekkel, hogy melyik hová legyen kötve.! ( a boardon összesen 9db 8-as DIP-sw található, és kb 30 jumper) Pl: ra0 lehet analóg bemenet(potméteren keresztül), digitális kimenet akár a 35 ledek 1-ikén(előtét ellenállás már rajta van!), akár az első 7 szegmenses anódja, de lehet akér a 35 kapcsoló 1-ikén keresztül digitális bemenet! Az LCD-k háttérvilágitása ki-be kapcsolható (DIP), a kontrasztja potméterekkel állítható, és az egész megelégszik 1 USB porton jövő árammal. És mindez mennyiért? kb 31 ezer forint, a két LCD panel nélkül. És nem kell külön égetéshez panelt venned/gyártanod, mert az egyetlen USB-n keresztül kapja a tápot, megy az égetés, és ha kell, az ICD is! Használható Basic, Pascal és C nyelveken, (speciális változatok, fordítót adják hozzá, rengeteg példaprogrammal), de hasznáhatod az MPLAB assemblerét is. Saját égető szoftvere van, eddig mindent megírt gond nélkül.
8 bites PIC-ekbol 3 csalad letezik, a 12 bites utasitasokkal rendelkezo a base-line, a 14 bites utasitassal rendelkezo a mid-range es a 16 bites utasitasu az enhanced (avagy 18F-nek szoktak roviden hivni ez utobbiakat). Fuggetlenul az utasitas szohosszatol mindegyik 8 bites adathosszusaggal szamol, tehat 8 bitesek.
Sziasztok!
Tudna nekem v.ki abban segíteni,h.PIC16F687-esnél melyik lábain tudnék emulált soros portot megvalósítani?? http://ww1.microchip.com/downloads/en/DeviceDoc/41262E.pdf Köszi, Iván
Emulalt soros port alatt gondolom szoftveresen megvalositott soros kommunikacios modulra gondoltal? Gyakorlatilag barmelyik digitalis porton meg tudod valositani amelyiket epp nem hasznalod masra...
|
Bejelentkezés
Hirdetés |