Fórum témák
» Több friss téma |
![]() ![]()
Vegyél ,vagy építs pickit2 klónt ! Már itt az apróban is találsz 4-5000ft körül
Itt a bankváltásokkal van baj. Az ANSEL törlése még rendben megy, de utána a TRISB, TRISD az 1. bankban van, de a 2. bank kiválasztásával próbálod írni, stb...
A banksel tényleg segít: - ha még nem tudom melyik regiszter melyik bankban van, - ha egy programot át szeretnénk írni más kontrollere: pl. 16F628 -ban az eeprom regiszterei más bankban van, mint a 16F88 -ban. Ha a programban banksel -lel állítják be az összes bankot, kisebb változtatásokkal megoldható az áttérés.
Köszönöm a válaszodat!
Igen,láttam a táblázatot a 25.oldalon. Akkor a 2-es Bank az: BSF STATUS,RP1 BCF STATUS,RP0 ,ugye?
Na,belezavarodtam..
![]() Szóval.Az 1-es Bank az: BCF STATUS,RP1 BSF STATUS,RP0 ,ugye?
Még mindig küzdök vele, mást szépen lefordít hex-re, de ezt nem akarja.
Yes,yes!
Végre történik valami.Alap helyzetben a led világít,és egy megfelelően hosszú gomb nyomásra elalszik,majd egy idő múlva újra világít.És így tovább.Igaz nem ezt akartam,de legalább siker élmény! ![]()
Remek!
Örülök, hogy megvan az első sikerélmény. Nem tudom, mi az amit el szerettél volna érni, de biztosan rájössz arra is. Ahogy Hp41C mondta, egyszerűbb a banksel, de ha egyszer rájöttél a lapok közti váltásra, akkor így sem lesz gond. Nem bonyolult, csak azt kell végiggondolnod, hogy a lapok 0-3 ig vannak számozva. A sorszámukat kell beírnod binárisan a 2 regiszterbe RP1,RP0 sorrendben. Tehát 00-> bank0 01-> bank1 10-> bank2 11-> bank3 De ezt már láttad az adatlapban. Természetesen csak azt kell állítani, amelyik hatására történik is valami. Alaphelyzetben a felállás 00. A programodról: Sorjában haladok. A használt portokat célszerű mindjárt a legelején törölni, mert induláskor akármilyen értéket fölvehet. Ez esetleg nem várt felvillanáshoz, vagy más működéshez vezethet. Még a beállítás előtt tedd meg. A MAIN címke lehet két sorral lejjebb, mert a bank beállítását nem kell minden ciklusban elvégezni. A beállításkor a TRIS-be célszerű egész bájtot írni, de a portot már nyugodtan kapcsolhatod bitenként. Így a 2 utasítás helyett 1-el bekapcsolhatod a ledet. Idézet: „Alap helyzetben a led világít,és egy megfelelően hosszú gomb nyomásra elalszik,majd egy idő múlva újra világít.” Ez azért van, mert a gombnyomás vizsgálata után teszed be a W-be a PORTD értékét. Nem tudom, hogy van-e a gomb prellmentesítve az áramkörben, de ha a program azt az időpillanatot kapja el, amikor az érintkezők nem zártak, akkor ezt az utasítást átugorja, és azt küldi ki a portra, ami épp a W-ben volt. Ide tehát egy visszaugrást kell tenned.
Most még utólag vettem észre, hogy a 34. sorban van egy MOVLW B'00000000'. Ez teljesen fölösleges. Ha pedig törölni akarod a regisztert, használt a
CLRF 'regiszternév'-et. Ez egy lépésben megteszi.
Sziasztok.
Megírtam az óra programomat, de nem igazán értem, mit rontottam el. Lefuttattam a szimulációban, és az első perc végére tettem egy töréspontot. Odáig mértem vele az időt. A végeredmény az lett, hogy egy perc nekem 196,59 másodpercig tartott. A PIC 20MHz-re van beállítva.
Szia!
- A 45. sorban a TMR2IE bit nem a PIR1 -ban, hanem a PIE1 -ben van, - A 46. sorban engedélyezed a megszakítást, de a 0x004 címen nem a megszakítás kiszolgáló program kezdődik. - Hiába írod a GIE -t 1-re, ha a PEIE 0, a timer2 megszakítás kérést nem fogadja el a kontroller. Hiányzik a bsf INTCON,PEIE sor. - BSF T2CON,2 helyett BSF T2CON,TMR2ON - Ja engedélyezed a megszakítást, miért programozottan várod a timer2 kérést. - Végülis az első, második és harmadik hibák kiütik egymást és a program valahogy működik...
Köszi, de nem ez a gond.
Kivettem a 45, 46-os sort, és az eredmény változatlan. Nem akarom megszakítással kezelni.
Valahol az osztónál lehet gond, mert ha csak 1 túlcsordulást mérek, az is 13,1 ms 4 helyett.
Elvileg nekem a 20 MHz negyedét kell leosztanom nem?
Srácok Profibus témában képben van valaki? VPC3+ stack-et keresnék pic-hez, és hát nem lelek. Értetlenül állok az eset előtt.
Sziasztok, szeretnék egy 16f877a pic-et belőni egy egyszerű ledvillogtatós progival de sajna vagy össze vissza villog nem a késleltetésnek megfelelően vagy pedig csak világít egyfolytában.
Remélem valaki tud nekem segíteni.
Szia!
A két db 100nF kerámia kondenzátor lemaradt a pic két oldalán a táp és a föld lábak közül. Lassan már óránként kell leírni.
Sajnos a Profibus zárt ipari szabvány, a leírásáért, felhasználásáért fizetni kell...
Azok a bankváltások, és a bitek a elcsúsztak a T2CON regiszterben... A mellékletben a megszakításos megoldásban a számítás már 4 ms -onként fut le...
A kerámia az narancssárga színű? Mert nem ismerem így
Egyébként a led nem villog de ha megfogom kézzel a kvarcot akkor vibrál a led.
van ilyenem de 33pf az jó lesz? configurációs bits az 2f49 re állítottam lehet ezzel lesz baj? De hiába húztam a 33pf kondival a vss-t a földre vibrál a led nem egyfolytába világít és ráadásul össze vissza.
Az mclr engedélyezve van és föl van húzva +ra ?
Sajnos nem tudom neked megmondani mert a pickit2 progijából csak hex-ben lehet bitek megadásával így fogalmam sincs hogy az melyik azt tudom hogy az első kettő az osc beállítása a többit nem tudom valaki ebben tudna segíteni hogy mikroc pro-ban hogy lehet ezeket a config biteket megadni?
A 33 pF nem jó, de 33nF .. 1µF kerámia már jó megoldás. Esetleg 1 .. 10µF tantál (olyan mint egy mázas cukorka csk két kivezetés van az alján - vigyázz polarizált, a + a Vdd -re menjen)., 6.3V -os vagy nagyobb feszültségű. Bővebben: Link..
Idézet: „valaki ebben tudna segíteni hogy mikroc pro-ban hogy lehet ezeket a config biteket megadni?” Adatlap alapján kiszámolod a hex értéket, és beírod azt a pickit2-be. Illetve ugyanígy tudod ellenőrizni is. De biztos vagyok benne, hogy a fordítónak van súgója, és abban is meg lehet nézni, hogy hogyan kell megadni... |
Bejelentkezés
Hirdetés |