Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Köszönöm a válaszokat!
Persze nem egészan ezt akartam hallani... De egyre inkább gondolkodom a 18F sorozatra való áttérésen. Nincs lapváltás, több programmemória, több EEPROM, nagyobb hardware stack, stb.
Meg persze egy csomó nagyon jó utasítás. :yes:
Köszi szépen! Lehet nekiülök egy saját panelnak...
De ahogy elnézem: első ránézésre hasonlít erre.
Csak sokkal több hiba az adatlapokon és a chipeken. Az errata -kat mindenképen át kell olvasni ...
Szia!
Nem egészen értem miért tervezel újabb panelt, ezzel hibákat vihetsz a kapcsolásba, amit egyedileg kell majd megkeresni... Az említett rajzhoz ott a kész, jó, bemért panelterv - igaz SMD. Ha mégis magad tervezed, nézzd meg az alkalmazott alkatrészek beszerezhetőségét: IRF7317 -et nehéz beszerezni, de az N része egy BC639 is lehetne 1k bázisellenállásal, a P része pedig a már úgyis (kizárólagosan) használt IRF7314.
De ha a kész kapcsolást építem meg (akkor abban mi a kihívás?!?), akkor ahhoz megkapom az alkatrészeket? Ahogy elnézem ahhoz s kellenek a fetek...
Igen, megkapod. Nézted az alaktrészlistát? Linkelve vannak az alkatrészek. Ami esetleg már nincs, van másik helyette ugyanott, csak keresni kell... (szerk:13:19, megnéztem, minden kapható a két jelölt helyen.)
Szia!
A mikrokontrolleres fejlesztéshez, a kiinduláshoz, két biztos pont kell - a programozó (hw és program) és a fordítóprogram. Ha ezeket is magad fejleszted, nem fogod tudni, hol a hiba. Ha már van gyakorlatod, persze fejleszthetsz programozót is... Mindkét ajánlott verzióhoz minden alkatrész kapható - legfeljebb csak néhány helyen. A furatszerelt változatban foglalatba tettem az összes IC-t, így módom volt kipróbálni a kapcsolást többféle alkatrésszel. A tapasztalatokat olvashatod a feltöltött állományban. Egyetlen kritikus alkatrész maradt az IRF7314 - a Vdd kapcsoló P-FET. Eddig nem találtam más helyettesítőt, de jó eredményeket lehet elérni a TSB772, ZTX753 pnp tranzisztorokkal is. Kihívásnak - szerintem - elég lesz a fejlesztendő készülékek kapcsolásának megtervezése és a programjának megírása és élesztése...
Akkor végülis ami kivűl van az access ram-on annál figyelnem kell, hogy melyik bankba van a regiszter.
Nem szerkesztin be a bankváltó utasításokat magától a fordító vagy a linker z MCU-hoz tartozó INC + LKR fájlok alapján?
Szerintem nem tudja, honnan keveredsz oda és indirekt módon is el lehet érni --> sokszor felesleges lehet ( a bankváltás )! Aki olyan sok memóriát akar használni az figyeljen az elérésre !
Steve
Vagy aki nem akar bankolászni, az írjon C -ben programot
Igazából 16F-en is az SFR terület elérése miatt volt a bankváltások nagy része (legalábbis nekem ez a tapasztalatom velük). He ezt teljesen kiveszed, és megnézed, hogy a nullás bank alsó fele, az egyes bank teljes területe és az SFR terület elérhető bankváltás nélkül (BSR regisztert 1-es bankra állítva, és megfelelően használva az ACCESS illetve BANKED utasításparamétereket), akkor végülis igen kevés bankváltásra lesz valójában szükséged, és bankváltás nélkül tudsz 384 bájthoz hozzáférni - tehá gyakorlatilag a 16F összes elképzelhető területénél is többet el tudsz érni. A maradék területet pedig tudod pl. indirekt módon címezni, amihez megintcsak nem kell bankváltás, illetve a MOVFF utasításhoz sem kell bankváltás, mivel a W mint munkaregiszter is elérhető az SFR zónában WREG néven. Emiatt pl. egy W-be beolvasás az bankváltás nélkül lehetséges MOVFF valami, WREG formában bárhonnan. Sőt, úgy emlékszem, hogy az SFR zóna regiszternevét tartalmazó utasításnál az ACCESS paraméter az alapértelmezett, míg nem SFR zónás regiszternévnél a BANKED, tehát valamilyen szinten automatikus is a dolog. Illetve van még a MOVLB utasítás is, amivel konstanst tudsz direktben a BSR regiszterbe tölteni, nem kell először MOVLW majd utána MOVWF. Szóval igen jelentős eltérés van a 16F és a 18F között, de a memória címzésére korlátozott számú bit áll rendelkezésre egy-egy utasításnál, így nem minden utasítás tudja a teljes területet bankváltás nélkül címezni.
Akkor egyszerűbb, ha az itt megtalálható nyáktervet nyomtatom ki, és az alapján dolgozok?
És azt az usb csatit hol kapom meg?
Szia!
Az USB mini B smd a Hq Video -nál, az USB normál B furatszerelt pl. a Lomex -ben kapható, de minkettő rendelhető pl a HE - Store -ből is...
Lehet inkább beszerzek egyet a chipcad-ról... :hide:
Annak legalább nincs semmi baja, garancia van rá stb. Ráadásul dobozolva van...
Én erre azt mondom, ha nem tudod megépíteni, nincs is rá szükséged.
Kössz a biztatást... mondanám, hogy elmehetnél valahova, de azt a felsőbb körök szépen megdíjaznák . Tehát maradok a hátsó fertályaimon
Sziasztok!
Valaki felprogramozna nekem egy 16F628A-t, sajnos nincs égetőm, és ezért az egy chippért nemszeretnék építeni egyet. Köszi előre is.
Szerintem meg ne hápogjál, hanem építsd meg!
Abba lehet hagyni a ba*tatást. Már nem vicces. Köszi!
Teljesen igazad van, de én ezt jószándékú ba*tatásnak szántam. Tudod, hogy többször elhangzott itt, hogy aki PIC-el akar foglalkozni, annak értenie kell az elektronikához, miután a PIC nem más mint egy elektronikus eszköz. Ha nem képes valaki egy áramkört megépíteni, akkor mit akar kezdeni a PIC-el? Ezt a kizáró kapcsolatot akartam feloldani. Részemről lezárva, és elnézést, ha sértettem a szabályokat!
Üdv srácok!
Csináltam egy többfunkciós órát PIC16F876A-ból. Kipróbáltam 7 szegmenses és nixie kijelzővel is. 7 szegmensessel tökéletes viszont nixies kijelzővel a szomszédos digitek halványan látszanak. Nyilván multiplex probléma, de létezhet az hogy 7 segmensesnek elég a frissítési idő, de a nixinek már nem??? Természetesen 6 digites mindkét kijelző változat. Köszi! Szifon
Hello! Azt írtad, hogy neked működik a távirányítós kapcsolgatása a TV-nek, vagy videomagnónak. Azt szeretném kérdezni, hogy amikor a PIC-ről kiadod a vezérlőutasításokat akkor hogy éred azt el, hogy egyszerre jelenjenek meg a PIC kimenetein. Például ki szeretném adni a decimális 7-et ahhoz ugye egyenként kell beállítanom a kimeneteket egymás után. így:
PORTA.F0 = 1; //1-es helyiérték PORTA.F1 = 1; //2-es helyiérték PORTA.F2 = 1; //4-es helyiérték PORTA.F3 = 0; //8-as helyiérték De amint beállítottam az első kimenetet már előállt egy decimális szám pl 1 (ha előzőleg az összes 0 volt) és ha erre egy másik parancs van mondjuk a kikapcsolás, akkor rögtön kikapcsol, még mielőtt mondjuk hangerőt emelhetne. pl: PORTA.F0 = 1; //1-es helyiérték PORTA.F1 = 0; //2-es helyiérték PORTA.F2 = 0; //4-es helyiérték PORTA.F3 = 0; //8-as helyiérték Vagy esetleg van olyan gyors a PIC hogy ez nem okoz gondot?
Üdv!
Használj egy változót, ebbe beállítasz mindent és ezt a változót írod ki a portra. PORTATMP.0 = 1; //1-es helyiérték PORTATMP.1 = 1; //2-es helyiérték PORTATMP.2 = 1; //4-es helyiérték PORTATMP.3 = 0; //8-as helyiérték MOVF PORTATMP,0 MOVWF PORTA
Próbáld meg, hogy az egyes digitekre váltás után több szünetet tartasz, mielőtt a hozzá tartozó szegmens adatokat kiteszed. Ez jó lesz mindkét kijelzőre. Nem a multiplex üteme miatt van, hanem a nixie eltérő sebessége miatt.
A infra távirányítás nem soros kommunikáció? Vagy milyen távirányításról van szó?
MikroC nyelvű ötleted nincs? Nem szeretném keverni az asm-t és a C-t.
Még arra gondoltam hogy lehetne úgy is hogy PORTA=0b0100; de az a baj, hogy a példával ellentétben én nem csak az RA lábakat használom, hanem vegyesen RA és RB lábakat,így egyszerre nem működne
Nem, ezt egy 74hct154 ic-n keresztül pnp-s tranzisztorokkal kapcsolgatom.
Értem. Akkor ha netán nem működne, késleltetést kell betenned a 8 adatvezetékbe. RC tagokat. De lehet, hogy nem okoz gondot, mert a tranyók , illetve a távirány lassabbak, mint a PIC. Próbáld ki!
|
Bejelentkezés
Hirdetés |