Fórum témák
» Több friss téma |
akkor ezek szerint soros port felejtős ? esetleg valami használható LPT-re? semiképp sem szeretnék méregdrága gyári kütyüt venni
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 |