Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   622 / 1210
(#) Szárnyas válasza Hp41C hozzászólására (») Jan 22, 2015 /
 
Jaj, de szőrszálhasogató vagy!
Én ilyen pontatlanságon a Microchip esetében már meg sem lepődök.
(#) sprofan válasza Szárnyas hozzászólására (») Jan 22, 2015 /
 
Szuper, legalább már tudom hogy legközelebb nyitottabb szemmel böngésszem az adatlapot
Köszönöm!
(#) don_peter válasza DJozso hozzászólására (») Jan 23, 2015 /
 
Én is pont most foglalkozom a PIC-PIC kérdéssel annyi különbséggel, hogy Bluetooth chippel akarnék kommunikálni két egyforma, vagy is majdnem egyforma hardver között.
A hardverek már részben készen vannak a tesztelésre, de a még néhány alkatrész beszerzéséig érdemben nem tudok velük foglalkozni.
Ma délelőtt azért már minden adott lesz a tesztelésre.
Egyelőre nincs konkrét dolog miért is akarom kommunikációra biztatni őket, de majd biztos lesz.
A sebességen aggódom kicsit, de ha jó lesz, akkor egy joystick-ot gondoltam vele majd a Neo-Geo-ra csatolni, legalább is próba képen..
A hozzászólás módosítva: Jan 23, 2015
(#) icserny válasza Balagemann2031 hozzászólására (») Jan 23, 2015 /
 
Idézet:
„Viszont elég nagy hátrány, hogy csak assemblyben programozok ...”

Az első néhány fejezet ("A kísérleti áramkör" c. előttiek) célja elvileg pont az, hogy átvezessenek az assemblyből a C-be.
(#) Hp41C válasza Szárnyas hozzászólására (») Jan 23, 2015 /
 
Nem is vagyok szőrszálhasogató.... Nem is említettem a JW tokra vonatkozó megjegyzést. De minek ablakos, kerámia DIP tok egy flash memóriás kontrollerre.
Az utóbbi időkben egyre romlik a dokumentumok minősége. Már többször találtam másik adatlapból maradt részeket egy-egy adatlapban.
A hozzászólás módosítva: Jan 23, 2015
(#) kt hozzászólása Jan 23, 2015 /
 
Sziasztok.
Elég új vagyok a mikrokontrollerek világában, és ezért kérném a segítségeteket.
A problémám az lenne hogy van egy PIC18F14K50-I/P és egy PIC18F4550 mikrovezérlőm és szeretném felprogramozni őket.
Egy ilyen programozó megépítésén gondolkozok.
Azt tudom hogy a 18f14k50 PGC és PGD lábakra nem juthat 3,6 V-nál nagyobb feszültség, és ezért nem tudom hogy ez az eszköz képes lenne-e mindkét vezérlő programozásra.

És ha ez nem megfelelő, milyen programozót kell építeni?
(#) Hp41C válasza kt hozzászólására (») Jan 23, 2015 /
 
Ne építs ilyen programozót, ez a JDM egy reinkarnációja. Akkor van remény a működésére, ha jó régi géped van, minimum 15..20 éves...Watt oldalán nézz körül. A legjobb az lenne, ha átmenetileg összeraknál egy egyszerű programozót, azzal felprogramoznál egy 18F2550 -et a PICkit2 -be.
(#) don_peter válasza kt hozzászólására (») Jan 23, 2015 /
 
Szerintem ne ezen spórolj.. Meghálálja
(#) Kapagerenda hozzászólása Jan 23, 2015 /
 
Sziasztok.
16F887 es kontrollert használok. TMR0-ás időzítőt szeretném vezérelni külső léptetéssel. Ezt a külső léptetést egy cd4060 számlálóval épített áramkör képezi, ez adja azt a bizonyos négszögjelet amit a mikrokontroller RA4 bemenetére kötök. Sajnos csak abban az esetben működik a TMR0-ás időzítésem ha belső oszcillátort használok, ha rákötöm a külső négyszögjelet nemtörténik semmi sem. Az OPTIONREG regiszter jól van beállitva.
Mi lehet a gond?
(#) Hp41C válasza Kapagerenda hozzászólására (») Jan 23, 2015 /
 
Digitális módba van állítva (ANSEL)? A TRISA regiszter jól van beállítva?
(#) Kapagerenda válasza Hp41C hozzászólására (») Jan 23, 2015 /
 
Igen, bevannak jól állítva. Esetleg nem lehet az a gond, hogy a négyszögjel alacsony állapotánál az RA4 bemenet nem kapcsolodik rendesen a gnd-hez? Szóval ez esetben mintha lebegne a bemenet és a mikrokontroller azthiszi hogy még mindig magas állapot van?
(#) Hp41C válasza Kapagerenda hozzászólására (») Jan 24, 2015 /
 
Mivel T0CKI funkcióban a RA4 ST bemenet, az alacsony szint érzékeléséhez a lábon a feszültségnek 0.2 * Vdd alá kell mennie.
(#) kt hozzászólása Jan 24, 2015 /
 
Sziasztok.
A biztonság kedvéért gondoltam megkérdezem.
Van egy ilyen kondenzátorom mint a képen a kódja 104, elvileg 100nF es.
Ebbe az áramkörbe ez jó lesz ?
(#) nedudgi válasza kt hozzászólására (») Jan 24, 2015 /
 
Igen.
(#) fater0827 hozzászólása Jan 24, 2015 /
 
Üdv !
Bővebben: Link
A hozzászólás módosítva: Jan 24, 2015

usb.png
    
(#) fsub hozzászólása Jan 24, 2015 /
 
Sziasztok!
Mid-Range PIC-eknél assemblyben van egyszerűbb mód annak megállapításához, hogy egy regiszter értéke nulla-e, hogy W-be 0x00-t töltünk, majd ezt SUBWF-el kivonjuk a regiszter értékéből, és utána Zero flaget megvizsgálom?
A másik kérdésem pedig, hogy Zero flag-et módosító utasítás majd azt követő vizsgálatot megelőzően mindig törölni kell a Z flag-et?
(#) kissi válasza fsub hozzászólására (») Jan 24, 2015 /
 
Szia!

MOVF valtozo,F után vizsgálhatod a 'Z' bitet !

Ha egy utasítás állítja a 'Z' bitet, akkor nem kell előtte törölnöd, mindig a művelet eredményének megfelelő lesz a tartalma!
(#) fsub válasza kissi hozzászólására (») Jan 24, 2015 /
 
Köszönöm!
(#) ODU hozzászólása Jan 26, 2015 /
 
Sziasztok!

Olyan problémám lenn, hogy nem igazán értem a megszakítások menetét. Elvileg a lényege, hogy egy adott feltétel hatására (külső megszakítás, timer túlcsordulás, stb) a program megáll a megszakítás helyén. Majd elvégzi a megszakítás által kiadott feladatot és folytatódik a program a megszakadás helyétől.
Én azt szeretném megvalósítani, hogy egy másodpercig növel egy változót, majd a másodperc letelte után nullázza azt.
A megszakítás még működik is. A TIMER0 elindul és túlcsorduláskor változik is a T0IF bit. A probléma azzal van, hogy megszakításkor a program kilép a végtelenített ciklusból és elölről indul az egész program nem pedig a megszakítás helyéről. Ez normális így?. HI-TECH C fordítót használok. Tudtok ajánlani kezdőknek megszakításos példa programokat? Amiket interneten találtam azokat nem nagyon értettem illetve nem fordította le a fordító, hiába HI-TECH C.
A végleges tervem egy fordulatszám mérő lenne. Úgy működne, hogy számolná egy bemeneten a motor megtett fordulatszámát majd elosztaná az idővel. Jelen esetbe 1mp lenne, de később ezt csökkenteni fogom a gyorsabb frissítés érdekében.
Bármilyen használható segítséget, jó tanácsot megköszönök! (Kezdő vagyok de szeretnék fejlődni)
A hozzászólás módosítva: Jan 26, 2015

fordulat.c
    
(#) Balagemann2031 válasza ODU hozzászólására (») Jan 26, 2015 /
 
Szia! Bár nem néztem meg a kódot, de feltételezem a leírtak alapján, hogy mikor belépsz a megszakításba, nem mented a STATUS-t, W-t, PCLATH-t, illetve BSR-t típustól függően, illetve megszakításból való kilépés elött nem töltöd vissza. Ha nem ez a probléma, akkor vedd úgy hogy nem szóltam.
(#) Pali79 válasza ODU hozzászólására (») Jan 26, 2015 /
 
Olvastad Topi "Nullától a robotokig" című cikkét? A 3. része a megszakításokkal foglalkozik. Van benne CCS példa, hátha megérted annak alapján.
(#) Pali79 válasza Balagemann2031 hozzászólására (») Jan 26, 2015 /
 
Ez csak assemblyben kell, C-ben a fordító megcsinálja helyetted ezt is...
(#) Balagemann2031 válasza Pali79 hozzászólására (») Jan 26, 2015 /
 
Köszi!
(#) mrb válasza ODU hozzászólására (») Jan 26, 2015 /
 
A probléma az, hogy nem írtál a programba megszakításkezelőt, és az a memória elején van, ezért megszakítás esetén oda ugrik: a program újraindul. Próbáltam írni valamit, amit kipróbálhatsz, nekem nincs hitec c-m. ( a volatile vátozó azt jeleni, hogy az értéke bármikor változhat, megszakításban érdemes használni.)

fordulat2.c
    
(#) cxaba hozzászólása Jan 26, 2015 /
 
Üdv mindenkinek,
Egy PC monitort szeretnék venni, de mivel hogy nem vagyok szakértő ezekben a dolgokban, szeretnék tanácsot kérni ennek kiválasztásához. Mik a legfontosabb szempontok a méretén kivül amit meg kell nézni, mit tudok meg a gyártocégek által ráirt cimkékből és én effektive miket tudnék megnézni? Tervezéshez, müszakirajzhoz kell használnom a legtöbbet, de sok más általánosságokra is.
Köszönöm tisztelettel.
(#) Pali79 válasza cxaba hozzászólására (») Jan 26, 2015 /
 
De miért itt?
(#) spgabor válasza spgabor hozzászólására (») Jan 26, 2015 /
 
Sziasztok!

A napokban újra volt időm a kijelzővel foglalkozni. Gondoltam, hogy mielőtt nekiállok programozni don_peter által linkelt videóból kiindulva megpróbálok valami életet lehelni a kijelzőbe, de sajnos nem sokra jutottam, mivel nem stabil és legtöbbször magától össze-vissza villog. Gondoltam arra is, hogy ez egy elég régi darab, lehet kontaktos, ezért újraforrasztottam. De ez nem segített. Labortápról és dugdosós lapról egy kicsit stabilabb a működése, de az általatok írt és az SDA2131 doksijában szereplő pulse diagram próbálgatására nem bírok belőle kicsikarni szinte semmi értelmes dolgot. Egyik este labortápról meghajtva annyi sikerült, hogy az egyik szegmenst körbeugráltattam, arról kicsit stabilabb volt, de az is csak alig. Valamint hozzá sem érek, csak kicsit fölé tartom a kezem, és más-más szegmensek világítanak és alszanak ki sokszor. Ez lehet ilyen érzékeny az elektromágnesességre, vagy döglött a meghajtó ic szerintetek? Amíg nem tudok vele kézzel kiíratni semmit, addig nem is látom értelmét, hogy pic-kel elkezdjek rá programot írni. Az enable-t sem értem, mert valamikor legtöbbször felhúzom a tápfeszre, akkor minden szegmens világít mind a négy kijelzőn, de ez sem mindig. Próbálok az órajellel és a data-val játszani, majd lehúzni testről az enablet, de semmi nem történik (minden szegmens kialszik) az esetek túlnyomó részében. Bár egyszer-egyszer nagyon gyors szegmensvillogások előzik meg a kikapcsolást. Lehet, hogy tök amatőr dolgokat írok, de sajnos elég kezdő vagyok ezzel kapcsolatban.

Üdv:
spgabor
(#) usane válasza spgabor hozzászólására (») Jan 26, 2015 /
 
Ha kézzel buherálod nem is fog működni.
1. A vezérlő nem azért van rajta, mert úgy működik mint a sima LED, hogy csak táp kelljen neki.
Kellenek az időzítések, stb.
2. Valószínű, hogy mint sok elektronikus dolog, ez is olyan mint egy úri hölgy. Nem lehet csak
úgy tapizni. Érzékeny.
Egyszóval akassz rá valami PIC-et és úgy játssz vele.
(#) don_peter válasza spgabor hozzászólására (») Jan 26, 2015 /
 
Ez teljesen megfelelően, nem működik
A linkelt videó egy shiftregiszter működését mutatja be, de ha jól emlékszem a tiéd fordított, tehát ha magas szintre kerül az enable, akkor teszi ki lábakra a beérkezett adatot.
És azt hiszem az órajel is fórdítva van mint ahogyan a sima shiftregiszternél. (74HC595)
Kelleni fog neked egy vezérlő, esetünkbe egy PIC amivel egy programban időzítheted a stiftregiszterre kerülő adatokat.
Kézzel csak a shiftregiszter egyes lábaira tudsz adatot küldeni melyet vissza tudsz ellenőrizni egy LED-el vagy műszerrel.
A hozzászólás módosítva: Jan 26, 2015
(#) spgabor válasza don_peter hozzászólására (») Jan 26, 2015 /
 
Igen, ezt is próbáltam a leírása alapján. Viszont akkor holnap elkezdem írni a pic-et és jelentkezem, mert már most felmerültek bennem megvalósítási kérdések.
Következő: »»   622 / 1210
Bejelentkezés

Belépés

Hirdetés
XDT.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem