Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Remek, köszi googa! Ez így első olvasatra kicsit bonyolultabbnak tűnik, mint gondoltam
De kipróbálom. Neked sikerült, használod is?
Te, én még fel sem fogtam. Egy kis LCD vezérlő alkalmazás letöltése után nézegettem, hogy az ASM nagyon kis karcsú, viszont tele van include-okkal. Láss csodát, ott figyelt a könyvtárban a többi fájl, amiben megvoltak írva előre a rutinok. Ekkor jöttem rá, hogy ezt így meg lehet ügyködni, ezért is kérdeztem itt a fórumon, hogy mi a módja. Simán megy úgy is, ahogy te akartad és csak az include fáljodban meghatározott címkéket kell meghívnod így pl.: CALL Delay50...stb...
hali!
PIC-el lehet AT parancsokat küldeni? Én ugy olvastam,h.lehetséges és egyesével kell küldeni a parancsokat karakterenként.. Erősítsen meg v.ki akinek már csinált ilyet.
Irtam eg ykis progit ami arra lenne hivatott, hogy az RC1 lábon lévő kapcsoló logikai 1 akkor az RB0-ás lábon a ledem világitson, ha lekapcsolom a kapcsolót ne világitson. De sajna nem műkszik. Valaki segítene nekem , hol tévedtem rossz útra?
Idézet: „...ha lekapcsolom a kapcsolót ne világitson.” Ez hol van a programban??? Én csak olyat látok, hogy "bsf RRLED". Olyat sehol, hogy "bcf RRLED"... Ilyesmire gondolok:
Idézet: „Erősítsen meg v.ki akinek már csinált ilyet.” Bár ennek a mondatnak nem sok értelme van, megerősítlek, lehet AT parancsokat küldeni és mivel a soros kommunikáció 8 bites, így karakterenként lehet csak elküldeni a karaktereket.
Sziasztok!
PIC-el szeretnék megépíteni egy vezérlést. Mit gondoltok (van-e tapasztalat) a bemenetként használt lábakat negatívra kapcsolni működik-e cirka 25m hosszú távolságból 0,5-ös MZS kábelen át direktben kapcsolóval vagy illik relét alkalmazni? Arra gondolok, hogy a 25m-es vezeték (több is) okozhat-e problémát a lábakra kötve. Szed-e fel zajt, ami befolyásolja a működést,stb. Esetleg használja árnyékolt kábelt?
Ha kapcsolóról van szó, akkor a picnél egy kondenzátort kell a bemeneti láb és a test közé kapcsolni, a vezetékbe meg egy soros ellenállást tenni, hogy az RC tag megszűrje a pic felé érkező zavarokat. Meg célszerű valamelyik ST bemenetű lábat használni a feladatra. Illetve szoftveresen is prellmentesíteni a biztonság kedvéért.
A minap gondoltam tovabb haladok es elkezdek microcontrolerekkel foglalkozni. Epitetem egy ilyen egetot:Bővebben: Link Lass csodat ,enged ell magad nem mukodik. mar legalabb vagy 10 szer atneztem . programozas kozben villog a led, meg van az MCLR labon a 13v feszultseg es meg van a Vcc-n az 5v is. tehat elmeletileg mukodnie kellene de failed at address 0000h uzenet jelenik meg. Tanacsaitokat elore is kosz
AZ 1MB-os KÉPET LECSERÉLTEM. --vicsys
Köszönöm!
Nyomógombról lenne szó, azt hiszem, ez még rosszabb mint ha kapcsoló lenne... Én is attól félek, hogy lesz benne pergés bőven.
A lenyege ezeknek a "bonyolitasoknak" hogy legyen dinamikus eroforras kezelesed a modulokbol. Gondolj bele, hogy van mondjuk egy LCD modulod, annak kell valamekkora memoria terulet. Ez kulon file-ban van es beinkludalod az #include paranccsal. Honnan fogod tudni, hogy az az LCD modul hova pakolhat a memoriaban? Egyreszt meg a PIC tipusat sem ismeri, igy meg a memoria terulet elejet sem tudja. Ezenfelul ha elkezdesz mondjuk a 0x20 teruletre pakolgatni es egy masik modul vagy a foprogram is oda pakolgat akkor igen nagy kalamajkak johetnek ki abbol.
A linker sciptekkel azonban nem adod meg hova tegyen, csak annyit, hogy szukseged van valamekkora teruletre. Ekkor a linker fogja a vegleges helyet kivalasztani, kozben ugyel ne legyenek atfedesek vagy ne lepd tul a rendelkezesedre allo memoria tartomanyt.
Kapcsolónál is ugyanúgy van pergés, de a pergést ki lehet küszöbölni szoftveresen, ha van elég idő rá. A zajt meg ki lehet szűrni célszerűen megválasztott RC taggal. Pl. ha a láb fel van húzva a pic-nél 4k7 ellenállással, akkor az RC tag legyen 470ohm és 2,2µF-ból.
Ha megoldható, akkor alakíts ki 10-20 mA-es áramhurkot, s hajtsd meg vele egy (lassú) optocsatoló LED-jét. A fototranzisztor kollektora meg billegesse a PIC bemenetét (1-2 kOhm-os felhúzóellenállás kell). Ez szerintem jobb, mint a PIC lábára direktben rákötött antenna...
Hello
Az IC-Progban talán ki kéne kapcsolni az LVP-t. Üdv.
Olvasd el az oldalamon a JDM-es írást! Topi is írta a cikkben, hogy nem mindig működik. (abból kiindulva, hogy "mindent rendben találtál".)
Oké, köszike! A kondi alapban rajta legyen a lábon vagy a nyomógomb tegye rá?
Jó ötlet! De relém van itthon, optokapum nincs... Ha tényleg gond a hosszú vezeték, a relés megoldás is jó lehet, nem?
A relé is jó, ha kisfeszültségű, kisáramú...
Üdv mindenkinek!
Tegnap írtam hogy a 12C509A mikrovezérlőt felprogramoztam egyszer, de nem vettem észre hogy hogy C-s, ezért úgye nem tudom törölni... Na most! Nem tudom hogy gondoljátok, de sok külfőldi oldalon írják hogy régi meg elavult darab. Megjelenleg nincs is itthon másik. Ezért én tegnap neki fogtam hogy ezt a rövidke programot átíjam 12F629-be, ami megtalálható nálam is. Ehhez van forráskódom tehát ezt nem kellett visszaalakítgatni. így egyszerűbbnek is hittem, de fentakadtam. A program feladata hogy bizonyos lábakon frekiket adjon ki egy RDS coderhez. Na már most átgeneráltam 12F629-be, a számítógépes szimulátor szerint a lábakon meg is jelenik a jel. De akkor az áramkörbe betéve miért nem műxik? Mit rontottam el a progiban? Valami láb beállítási gond van? Egy kis útmútató:GP0, 1, 2 - kimenet GP3, 4, 5 - bemenet 4,332Mhz kvarc-ról megy, de ez mellékes... Nem szurom be az egészet, csak az elejét... Itt lenne a progi eleje: LIST p=12f629a ; proc. defs #include __CONFIG _MCLRE_ON & _CP_OFF & _WDT_ON & _XT_OSC ORG 0000h CLRF GPIO MOVLW H'00' TRIS GPIO MOVLW H'00' OPTION
Üdv!
Lenne egy rövid kérdésem. Az MPLAB-ban a DMCI (Data Monitor Control Interface) menü mire jó? Biztos hasznos, de nekem nem sikerült életre keltenem, szóval nem tudom mire lehet használni. Köszi!
Közben rájöttem mi lehet a hiba. Bár evvel felmerült még egy kérdés.
TRIS "regiszter" nincs az 12F629-be. Ahogy kivettem a forrásból azt az egy sort, már a szimulátornál sem volt jó. Érthető, az áramköben ezért nem ment... Azt mivel lehet helyettesteni?
A 12C509 az Baseline, a 12F629 pedig Mid-Range, ugyhogy ez a kod nem hiszem neked lefordult. Mid-Range-ben nincs TRIS es OPTION utasitas, helyettuk TRISIO es OPTION_REG regiszterek vannak... Adatlapot ki kell nyitni, mind kettot, es nezegetni, hogy egyik helyen mit csinal, masik helyen mit csinal.
Amugy miert ez a fura erteku kristaly? Ha nem szukseges rendkivul nagy pontossag akkor hasznald a belso orajat.
Hali!
Ebben az áramkörben fontos a 4.332Mhz. A kimeneteken így jelenik meg a 57Khz, 1187,5Mhz, stb. Ez a része a proginak jó is, nem is kell módosítani. (nyilán a CALL, NOP, GOTO, BCF BSF, stb lefordul, nem kell piszkálgatni -- zömmével ennyi az utánalévő része a proginak) Ok! A TRIS -re rájöttem az előbb, de az optionra még nem gondoltam. Nézegetem az adatlapját, aztán meglátjuk mia jutok. Köszi a segítséget!
57kHz-et meg csak elo lehet allitani, na de 1187.5MHz?! Nem 1.1875MHz akart ez lenni? (amugy nem kotozkodes keppen, de a kilo az kis k es a Hertz az nagy Hz - egeszen pontosan az SI kilo/1000 az mindig kicsi es a computereknel szokas a nagy K mint kilo de az 1024, amugy pedig a Kelvin jele!).
A Baselinenak kevesebb utasitasa van es par SFR hianyzik (pl a TRISIO es az OPTION_REG - ezert szukseges neki kulon utasitas). Amiket felsoroltal vannak, de pl ADDLW/SUBLW nincs. Erdemes atfutni az adatlapokon az Instruction Set Summary reszt, bar meg kell jegyezni ha felfele valtasz akkor nem hiszem nagyobb akadalyokba utkozol ilyen teren. Ami esetleg gondot okozhat, hogy a bank hasznalat teljesen maskepp van - es nyilvan azt is at kell nezni mi melyik bankon talalhato, nincs-e ebbol eredo problema... Amugy forditaskor erdemes elolvasni mit irkal a fordito, lehet van egy csomo Error vagy Warning amik esetleg segitenek a lehetseges problemak felderiteseben - pl ami arra figyelmeztet, hogy egy adott regiszter nem a bank0-n van es hogy kellene ele bank szelekcio.
De igen! Bocsi, khz-el akartam írni és mHz lett belőle. Igaz-igaz...
A felsoroltakon kívül más utasítás nincs. A program eleje (amit már bemásoltam) + 80 sor utasítás felváltva az előbb írtakból Másként kéne deffiniállni a GPIO-kat, kimenet, bemenet, stb a progi elején. A bank használat amúgy rendben van. Majd délután gondolkodom hogyan. Addig is ha valaki tud valami megoldást, példát, akkor várom.
Kosz szepen az otletet ki gondolta volna hogy egy kis bifa csodakat tesz . megy
Egy újabb kérdéssel állnék elő
Ha ezt irom:
Akkor ugye az RB0 portján lévő LED világit. Nha de ha én azt akarom hogy az RB0-RB4-ig vílágitson a led, akkor azt ugyebár nem irhatom, hogy
És még sok egyéb más ötletem volt, de egyik sem működik. Ezt hogy lehet megvalósítani hasonló gondolkodás móddal? |
Bejelentkezés
Hirdetés |