Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Hát ez szuper!
Szimulátorban úgy látom működik, délután kipróbálom a PICen is. Így csináltam végülis:
Ha csökkentem a frekit növekszik a count értéke értelemszerűen és fordítva. Majd estefele beszámolok mit csinál a PIC-ben. Köszi!
Ez lett a REPEAT-UNTIL rész közti ASM kód:
Ez sok utasításnak számít a mérés szempontjából?
Majdnem.
![]() Nos az Until feltétele, hogy az előző érték nulla legyen és az aktuális pedig egy. Ez jelenti a felfutó élet. Ha az előző értéknek nullának kell lenni, akkor a negáltja egyes. Tehát a feltétel magyarul(?): ciklus vége, ha portúj = 1 és (portrégi fordítottja ) = 1 Azt hiszem a felkijáltójel helyett a NOT szócskát kellett volna írnom. Az összeadás, amit te írtál, a logikai vagy függvényt jeleni. Amit én írtam, az a logikai és (&) ami paszkálosan ha jól emlékszem az AND szócskával írandó. Az egyszerűbb ciklusra is szükséged van a teljes eljáráshoz, ugyanis azzal keresed meg az induló élt. Abban a ciklusban felesleges számolni, hogy hányszor ment körbe ( hacsak időtúllépésre kilépést nem csinálsz ). Ezt követően kell az a ciklus, ami már számolja a keringések számát. Számolhatod az első ciklusban is, csak sok értelme nincs. Talán annyiban lehet jó megoldás egyfajta ciklust készíteni, hogy egy eljárást készítesz rá és egymásután kétszer hívod meg. Az első hívásra élkeresés történik, a másodikra pedig lejön a mérési eredmény.
Üdv Mindenkinek!
Elkészítettem a Szilva által közzétett PICKIT 2-höz való 3V3 illesztő áramkört (mellékeltem képet, kapcsrajzot). A PICKIT2 azzal a hibával áll meg, hogy VPP voltage level error (pickit2 V2.61). Most azt nem tudom, hogy ilyenkor valahol valamit kell-e állítani, vagy az áramkörrel van-e valami baj? Kösz a válaszokat előre is!
Vpp? Nem Vdd?
A PIC nélkül megnézted, hogy a feszütlségek rendben vannak-e és minden oda kerül, ahová kell a foglalatban? (Érdemes lenne átugrani a PICKit2 topicba!)
Szia Watt!
Vpp volt a hiba, annyit rontottam el, hogy a szilva rajzán a csatlakozó számozás a baloldalon pont fordított kéne legyen (6-os a Vpp,5-ös a Vdd, 4-es GND, stb...) ezt nem vettem figyelembe. Elkezdtem átmérni a Pickit2 program troubleshooting menüjével (eddig ezt még nem használtam), és közben jöttem rá a trükkre. Köszönöm az irányvonalat! Üdv!
Nincs olyan, hogy lenni kéne. Nincs meghatározott csatlakozókiosztás, mindig a felhasználónak kell odafigyelni, hogy minden jó helyre menjen!
Sziasztok!
Szeretnék egy kis segítséget kérni! Eddig sok pic-et beégettem már de a következő hibával még nem találkoztam. A programom beégetése után azt írja ki az IC prog, hogy Verify failed at 0000. A PIC típusa 16F628A és MPLAB 8ast használok. Van olyan progim amit beéget hiba nélkül de van amit egyáltalán nem. Pl most ezt amit csatoltam. Még eddig nem volt ilyen gondom. LPT portos El cheapo égetőtt használok. Lát valaki valami okot a programban ami miatt létrejön ez a hiba?
A programozó foglalatod hogy van kialakítva? Nem megy jel véletlenül az LVP lábra?
18 lábú IC foglalatban van. A PGM láb levegőben van, nem kap semmit. Meg ki is van kapcsolva a konfigban az LVP.
Szia!
A konfiguráció szerint belső oszcillátorról jár, a MCLR funkció kikapcsolva, a PGC és PGD a 6. utasításban kimenetnek állítod be. Amikor a programozó bekapcsolja az 5V -os tápot a program elindul, 6 us múlva kimenet lesz a PGC és PGD vonal és a programzó nem tud vele kommunikálni. Nézd meg, van-e lehetőség a "Vpp First Programming Entry" mód használatára azaz rá lehet-e beszélni a programozót arra, hogy a kontrollernek előbb a Vpp -t adja ki, aztán a Vdd-t. Ha lehetséges, akkor a kontroller a Vpp megjelenéséből fogja tudni, hogy programozási üzemmódba kell menni. Ha ez a programozó nem tudja, ne dobd ki a kontrollert - egy PICKit2/3, ICD2 ki tudja törölni majd... Ez a konfiguráció kerülendő. Ha nem akarsz magadnak problémát, a kimenetté állítás elé tegyél be 50 - 100ms késleltetést.
Köszi szépen! Erre nem gondoltam! Szóval elvileg ha az MCLRE funkciót ON-ra állítom akkor fel kéne programoznia?
Holnap kipróbálom. A programozó nem tudja kapcsolni a tápot egyáltalán az fix. Én is gondolkoztam már rajta, hogy össze kell dobni egy komolyabb égetőt, mert ez a mostani már kevés. Csatoltam a rajzát a mostaninak. Törölni lehet a kontrollert mert vannak programok amiket bele tudok égetni csak pont ezt az üzemóra számláló / bemenetválasztó progit nem tudom amit kéne.
Szia!
Ha már ezt használod, a 74LS05 -öt érdemes lenne 7406 / 74LS06 -ra cserélni. A 74LS05 megengedett maximális kollector feszültsége 5.5V (absolute maximum - a tönkretétel határa), a 7406 -é és a 74LS06 -é 30V. A Q1 bázisát hajtó inverter kimenete 13V -ra van felhúzva. Az LVP bemenetet 10K -val a földre kellene húzni. Ld. programozási adatlap. A Oshonsoft tiszteségesebb (nem csak az 74LS06 miatt), a Vdd -t is kapcsolja. A "Vpp First Programming Entry is megvalósítható vele. "Nem utolsó sorban a két LED -en keresztül a töltések gyorsan tudnak távozni a Vdd és a Vpp lábakról. A Vpp bemeneten nincs belső védelem a PIC-ben, könnyen tönkre lehet tenni ezen a lábon egy túlfeszültséggel.
Még egy apróság:
A programozásnál lényeges a sorrend. Törlés, program memória programozása programozása és ellenőrzése, adat memória programozása és ellenőrzése, konfigurációs szavak és Id memória programozása és ellenőrzése. Egy kódvédelemmel ellátott program csak így ellenőrizhető, a konfigurációs szó/szavak beprogramozása után a program és eseteleg az adatmemória tartalma nem olvasható már ki.
Szia!
Köszi a válaszokat! Igazad volt! Átállítottam külső oszcillátorra a konfigban és sikerült a beégetés. Csak muszáj a belső oszcit használnom, mert azokat a lábakat a PIC-en másra használom szóval úgy döntöttem összerakok egy PIC kit 2 vagy ICD 2-t. Már rég meg kellett volna tennem mert mostanában sok PIC-es dolgot építettem.Szerencsére van itthon 74LS06 úgyhogy azt még kicserélem ebben az égetőben, biztos ami biztos ![]()
Szia!
A PICKit2 egyszerűbb, olcsóbb, a support-ja még nem szűnt meg...
Köszi szépen a válaszokat! Akkor azt építem meg!
Szia!
Próbáltam úgy is, ahogy tanácsoltad de nincs változás. Most jöttem rá, hogy működik a kommunikáció, csak hibásan. A flash h'00' címén h'44' van írva, de h'00' jön olvasáskor. Ha más címet adok meg akkor sem azt az értéket kapom, ami be van írva. Ezt nem értem...
Sziasztok!
Szeretnék 1 bináris órát(3x6 led) csinálni LCD kijelzővel,és egy DS1307-el, egy PIC16F877A-val. Csatoltam 1 képet. Színekkel jelöltem,hogy melyik lábak foglaltak,és minek. De nem maradt a ledeknek 3x6 láb, csak 2 sornak lenne elég. Lehetne valahogy multiplexelni az órát,és a percet? 1x6 láb az órát,1x6 láb a percet,és 1x6 láb a másodpercet írná ki. 8 Mhz-es kvarc van benne, szóval megse látszana a váltás. csak a testet nemtudom hogy szakítsam meg egy láb kimenetével. Hogy lehetne a legegyszerűbben legolcsóbban? Valami inverterrel? Tranzisztorral? 5N25-el? Mondjuk rákötném a D portra mind a 3 sor ledet,és a sorok GND-jét szakítanám meg 3db 5N25 optocsatival? Köszönöm. Ha rajz kell, akkor szóljatok, valahogy csinálok. a ledek közvetlen egy ellenállással lennének kötve a lábakra. A kvarc kivülről 2 kondival van kötve,ahogy kell. Nagyon kezdő vagyok,és tanulás miatt akarom összerakni, már a programozó felület a kvarc,az IC lábainak a foglalat,a tápellátás,a ledeknek a tüskesor már rajta van. Még uton van az LCD kijelző meg a DS1307.
Sziasztok, az lenne a kérdésem, hogy valakinek van egy jól működő párhuzamos portos vagy USB-s univerzánis PIC égetője (lehetőleg nem túl bonyolult, mert még kezdő vagyok)?
Építettem egy soros portost de az nem működik, egyszer azt írja, hogy sikerült a programozás máskor meg nem, de ha sikerül is a programozás és beteszem az áramkörbe a PIC-et (16F628A) nem történik semmi / nem működik (nem csinálja azt amit programoztam). Ezért úgy határoztam, hogy építek egy másik programozót ![]() Elnézést ha már volt szó ilyensmiről, de nincs időm átolvasni az egész fórumot ![]() Előre is köszönöm!
Idézet: „lehetőleg nem túl bonyolult, mert még kezdő vagyok Elnézést ha már volt szó ilyensmiről, de nincs időm átolvasni az egész fórumot” Ha nem akarsz kezdő maradni örökre, akkor bizony rá kell szánnod az időt. És létezik kereső is.
Köszönöm, valamelyiket majd kipróbálom
![]()
Sziasztok!
Körülbelül mennyi idővel lehet számolni egy PIC A/D konverziójára? A 40Mhz órajelű 18f szériára gondoltam konkrétan. (Egyelőre még csak még csak felmérem a lehetőségeket a tervezett projektemhez, csak egy körülbelüli értéket várok, akik már használták ezt a PICes modult.) Köszi előre is ![]()
Típusfüggő, adatlapban megtalálod a pontos értékeket. Nagyságrendileg 30000-100000 konverzió végezhető másodpercenként, utóbbi spéci tipusokból rémlik.
Sziasztok!
A PIC16F877A-nak van olyan regisztere, ami folyamatosan változik/növekszik? (nem a PC) És ezt CCS-C-ből hogy tudom lekérdezni az aktuális állapotát? Köszönöm!
Értem, csak elriasztott a több sornyi képlet ami a doksiban van, és ezért kérdeztem, hogy tapasztalat alapján milyen gyorsaságokra képes. Viszonylag gyors. Még annyit,hogy többször említik a referencia feszültséget. Ez pontosan miért is kell? Ha én 0 és 5V közötti analóg értéket szeretnék digitalizálni, akkor is szükséges?
Timerek erre valók.
A referencia azért kell, mert ahhoz képest mér az AD. Használható referenciának a PIC tápja is, akkor áramkörileg csak a mérendő jelet kell odavezetni a PIC lábára.
|
Bejelentkezés
Hirdetés |