Fórum témák
» Több friss téma |
Az igazság az, hogy nem akarom ugyan ezt a progit, mert csináltam újat (ugyanis változtatni akartam a funkcióin) flowcode-ban, csak mivel önszorgalomból meg akarok tanulni programozni, ezért szeretném visszafejteni a régit.
Köszi, kísérletezek.
Szia!
Kezdem kicsit hülyének érezni magam. A példádat átírtam az sda2131 adatlapja alapján úgy, hogy elvileg működjön, de sajnos nem működik. Most már nem is proteusban, hanem dugdosós panelen próbálkozom. A vezérlés megy, mert a led villog másodperces intenzitással. Mit rontok el?
A while ciklusba minek teszed bele a timer2 engedélyezését?
Azt még előtte kell while ciklusba jelen esetben nem kell semmi:
A CLK a te shift regiszterednél nem fordított? Ez persze csak kérdés... Ne feled, hogy ez elvileg csak 1 kijelzőre fog tudni írni a többin vagy ugyanazt vagy az egyel korábbi adatot kell látnod vagy semmit. Csomagold be a proteus projektet és töltsd fel.
Az véletlen volt, eredetileg előtte szerepelt, csak ahogy kísérleteztem, bent felejtettem.
CLK a Pulse diagram szerint amikor az Enable 1 lesz, akkor a CLK nulla. Bár lehet, hogy rosszul értelmezem. Azt értem, hogy egy kijelzőre kellene megjelennie. De arra is gondoltam, hogy lehet, hogy az a baj, hogy a tranzisztor nincs kapcsolva a 15, 18-as lábakról, és azért nem jelenik meg semmi. Proteus projektel az a baj, hogy az SDA-t nem tartalmazta, ezért azt kézzel csináltam meg, így nem is tudok vele modellezni, mert nem ismeri a működését és hibát ír rá. Azért is dugdostam inkább össze. De mellékelem azért.
Még jó, hogy nem jelenik meg semmi ha nem kapcsolod az anódot.
A LED nem világít ha csak az egyik lábát kötöd be. A kijelzőben is LED-ek vannak amik esetünkben tranzisztorral vannak kapcsolva az egyik oldalról. Már nem emlékszem, hogy közös anód vagy katód, de azt már annak idején is mondtam, hogy azon felül, hogy leprogramozod a kijelzést, a multilplexelést, azaz a tranzisztorok kapcsolását is meg kell oldani. A hozzászólás módosítva: Jan 30, 2015
Átalakítottam 74HC595-re.
Csak hogy lásd mi képen működne.. A tranzisztor model nem működik, így az 5v-ot fixen adom a kijelzőnek ha más nem kísérletezésnél te is fixen adj neki feszültséget, és majd utána ráérsz foglalkozni a tranzisztorok meghajtásával. Koncentrálj előbb 1 majd 2 és utána már mind a 4 kijelző működésére.. Szerintem jó felé kísérletezel szóval nem vagy elveszve... Még megnézem hátha van 16bites-shifregiszter bár eddig nem találtam benne.. A hozzászólás módosítva: Jan 30, 2015
Anno csináltam én is. A stabIC-t is ráterveztem, hogy rögtön legyen 3,3V is.
Sziasztok.
Az lenne a kérdésem hogy a táplábak mellé miért kell kondenzátort rakni ?
Zavarszűrés a feladata, így megbízhatóbb a működés.
Zavarszűrés és puffer. A kontrollerek nem folyamatosan fogyasztanak mint a megszokott analóg alkatrészek, hanem "csipegetnek" áramot, ezt segíti a kondenzátor.
Szia!
Ha a 100nF-os kondenzátorokra gondolsz, akkor azok zavarmentesítésre kellenek. Ez a gyakorlatban azt jelenti, hogy bár egyenfeszültségről járatjuk a PIC-et, de mégis megjelennek nemkívánatos feszültségimpulzusok, amik megzavarhatják a PIC-et, illetve bizonyosos áramköröknél (pl. erősítőknél) gerjedést okozhatnak. A "megzavarás" következménye lehet a futó program leállása, vagy rendellenes működése. Ezek ellen véd a kondenzátor, ugyanis ezt a (bizonyos frekvenciájú) feszültségváltozást gyakorlatilag nem engedi eljutni a PIC-ig, azáltal, hogy rövidre zárja. Ugyanis a kondenzátor adott frekvenciatartományban vezetőként viselkedik az AC jel útjában. Szerk.: mire megírtam ezt a regényt, addig már ketten is válaszoltak. A hozzászólás módosítva: Jan 30, 2015
Azért a Te válaszod egy kicsit tudományosabb
És szuper is lett.
Gondolom jó néhányszor hasznát is vetted. Stab IC-n és is gondolkodtam, de úgy voltam vele, hogy mivel a 3v és az 5v-is adott a cél boardon így azt külön nem terveztem rá. Remélem külön szűrést nem igényel majd a FET ellátás.
Sziasztok!
Vettem egy PICKit3-at, de lenne vele egy kis problémám. Megnyitom az MPLAP IDE (v2.26) programot, látja az égetőt. Beállítottam a pic típusánál a 16F628A-t, és csatlakoztattam az ICSP portra. A program nem találja a pic-et, ha rákattintok a connect-re, akkor kiírja, hogy csatlakoztassam az eszközt a Pickit3-hoz. Mi lehet a baj? Próbáltam több PIC-kel is, az ICSP jól van bekötve. Ehhez nincs olyan szoftver, mint a Pickit2-höz volt? Az sokkal szimpatikusabb, ha tudom, hogy ehhez nem adnak, akkor 2-est vettem volna, csak újabbat akartam, hátha olyan mikrovezérlőt használnék, amit a 2 már nem támogat. A hozzászólás módosítva: Jan 31, 2015
Üdv!
Nem fogod megbánni a hármast, csak hozzá kell szokni. Be kell kapcsoni, hogy a PICKit adja ki a tápot a PIC-nek. Esetleg tedd fel az MPLAB X-et, abból tudod külön használni az IPE-t csak felprogramozásra.
Itt valami nagy kavar van. A V2.26 a PicKit2 saját programjának kéne, hogy legyen. Az MpLab IDE V8.92 volt az utolsó verzió. A PicKit3 programozó progija az MpLab IPE, a fejlesztő pedig az MpLab X.
Szóval akkor mit próbáltál mivel?
Igazad van, nem kapcsoltam be, hogy az égető adja a tápot a pic-nek. Már működik rendesen.
Pali, lehet hogy ilyen régi mplab-ot használok?
Kihagytad az X-et
Sziasztok.
Watt féle LPT programozót építettem meg és WinPic800 szeretném használni. Beállítottam a WinPic800 úgy ahogy volt írva. Betöltöm a hex filet, rámegek hogy beírás és ezt kapom : HIBA -> Cím írása 0x000000 Beírva: 0x2FEE Kiolvasás: 0x3FFF Mit ronthattam el ?
A PICkit3 alapesetben nem kapcsolja a tápot a kontrollerre. MpLabX -ben nem vagyok járatos. Az IPE esetén az alábbiakat kell megtenni:
IPE indítása (nekem jópár másodpercbe beletelik...) Programozó elismerése után: Settings / Advanced mode - Jelszó megadása - Power lap -on 4.75V és Power target circuit from Tool beállítása, majd Operate... És mindezt minden indítás után, mert nem jegyzi meg...
Fél másodpercenként szeretnék timer0 megszakítást. A calculator ezt adja:
4Mhz 18f4520 Akármit csinálok, közel sem pontos. Elég rendesen siet. Itt a megszakítás kezelésem. Valaki rá tudna nézni, hogy mit rontok el?
Tulajdonképpen egy visszaszámláló lenne. A hozzászólás módosítva: Feb 1, 2015
A PLL be van kapcsolva?
Ha az órajel ténylegesen 4MHz és a TMR0 előosztó 8, akkor a TMR0 órajele 125kHz. 500ms -enkénti megszakításhoz a TMR0 -t valóban 0xBCD -re kell inicializálni. Azonban a TMR0 regisztereit minden megszakításban újra be kell állítani 0xBDC -re. Az írásnál előbb a TMR0H -t aztán a TMR0L -t kell beírni. Idézet: „Writing to TMR0 when the prescaler is assigned to Timer0 will clear the prescaler count but will not change the prescaler assignment.” Nem lenne egyszerűbb az automatikusan működö TMR2 -vel és egy belső számlálóval? Men kellene a timer regisztereket írogatni.
PLL nincs bekapcsolva, belső oszcillátorról megy. A regiszter írások szerintem jók.
De akkor utánanézek a tmr2-nek, mert ezzel így már 2 napja szívok.
Azonban a TMR0 regisztereit minden megszakításban újra be kell állítani 0xBDC -re.
A definiáltam ezeket a változókat, és így minden megszakításban visszaállítom.
Timer2-höz egy kis segítség a mellékletben.
Megint lenne egy kérdésem.
Én a CCS C Comilerében írok, mert az mplab annyira nem szimpatikus, így nekem jobban tetszik. Eddig az 5.040 demo változata volt meg, most beszereztem az egész verziót, ez az 5.008-as. Sajnos nincs benn pár PIC típus, többek között a 16F1705, amit most használni szeretnék. A kész programmal nincs is gond, azt be tudom tölteni, de ha új projektet akarok indítani, akkor nem tudom azt felhasználni, pedig most nagyon jó lenne. Telepítés előtt a demo változat fájljait eltettem máshova, így minden megmarad. Próbáltam bemásolni a Devices mappába azokat a header fájlokat, ami ebben nem volt meg, de ez nem elég. Hogy tudok hozzáadni új piceket? Nagyon fontos lenne. |
Bejelentkezés
Hirdetés |