Fórum témák
» Több friss téma |
Én arra (is) reagáltam, hogy nem akar újabb, modernebb MPLAB-ot használni, márpedig a régiekben nincsenek benne az új 16-osok, persze, mindent a helyén kell használni, a 10-esek, 12-esek is jók bizonyos feladatokra !
A 10F széria is benne van a 8.40 be, pl. 12F675 öt is használok általában tehát ezeket is ismeri a 8.40, valamint én az F628 at, 648 at 690 et használom általában. Ezeket is ismeri, tehát nekem elég volna a 8.40 mert az legalább stabil és bug mentes, legalábbis nem vettem észre benne semmi galádságot. De megfogadva a tanácsotokat most frissitettem le a 8.88 ra, Működik ez is rendesen és ez megnyitja gond nélkül a korábbi projectjeimet is. A 8.92 vel valami nem kerek mert az a régi projecteket nem szereti valamiért. De elég nekem a 8.88 is. Köszi.
A hozzászólás módosítva: Máj 1, 2020
Sziasztok. Szeretnék segítséget kérni.
Írtam 1 PWM rutint, ami 1 ledet pulzál. szuperül működik csak az a gond vele hogy amikor a led teljes fényerővel világit egy pillanatra elalszik átunna ismét teljesen és átunna kezd halványulni. Természetesen úgy szeretném hogy ne legyen észrevehető. Úgy írtam meg hogy 0x00-tol kezd és felfut 255-re. Nem találom a hibát. Előre is köszönöm
Sziasztok. Van 1 PWM rutinom. ami rendesen működik, de azt szeretném hogy meghatározott számig fusson végig , utána lépjen ki a ciklusból. Erre nem tudok rájönni.
Segítenétek?
A PWM a timer-hez van csatolva.
Indítasz egy timert azonos idővel és megszakítás(oka)t generálsz, ha lefutott. Az egy periódus. De a LED pulzálásnál nem lenne elég sima idővel dolgozni? Mondjuk 2mp után kapcsoljon ki...
Én úgy gondoltam hogy van egy ciklus felfut lefut. Annak a számát szeretném változtatni ha kell 5x ha kell 2x ara nem jövök rá.
Szia! egy második ciklus kell, ami annyiszor futtatja le a felfut-lefut rutint, amennyi a második ciklus száma.
Akkor vagy szubrutinba teszed és ciklusban annyiszor hívod meg, ahányszor kívánod vagy a kollega megoldása, egy külső ciklus a PWM körül.
Ha nem csak egyszer kell ez az egész, az elsőt javasolnám.
Szia. Próbálom ciklusba rakni de nem akar kilépni , csak ismétli.
Tedd be szimulátorba.
Nekem nagyon nem áll össze a kép, pl. közvetlenül nem dolgoznék a regiszterbe, hanem egy segédváltozón keresztül. A fő ciklus így nézne ki: movlw 0x05 movwf ciklusszamlalo cimke: call pwmrutin - ez a te rutinod, return-nal a vegen decfsz ciklusszamlalo goto cimke full:
Tökéletesen működik.
A baj az volt hogy a PWM_INDITAS-t EQU-ba raktam, nem CBLOCK-ba Csak ennyi volt a gond , a forrás maradt igy. A hozzászólás módosítva: Máj 2, 2020
Akkor sem szép az össze-vissza ugrálás. Amíg tízsoros a program, semmi gond.
Egy nagyobb program része lesz, több ugrálás lesz benne mint valaha.
Néztem, amiket írtál, meg átnéztem azadatlapot is, de az picit száraz nekem, illetve az assemby kódok továbbra sem állnak hozzám túl közel.
Szóval visszanéztem a régi kódomat és az időzítését és annak a kommentjeit is. Amit írtl és azzal kibővítettem a kapcsolásom, de Proteusban modellezve továbbra sem működik sajnos megfelelően. Az a baj, hogy modellezéskor a GP2 láb logikai 1 és 0 között ugrál folyamatosan. Ez a láb lenne, ami kimenetként szolgálva kapcsolná a fogyasztót. Illetve ez nem tudom, hogy általam elkövetett, vagy Proteus hiba-e, de mindig a felső nyomógomb, ami a GP4-re megy, alapból rövidre van zárva. Ha kitörlöm és újra berakom, akkor egy darabig jó. Az utolsó kódom a következő:
Illetve mellékeltem újra a Proteus rajzot is. Mi hiányzik még mindig, vagy mit rontok el? Köszönöm a segítséget előre is! Üdv: spgabor
Proteussal kapcsolatban nem tudok segíteni. A kódban van néhány gubanc.
Szia,
köszönöm a javításokat! A megszakításból a TMR2IE-t kellett volna használnom TMR2IF helyett? Akkor a TMR2IF nem is kellene esetleg? Illetve 61. sorban a
Proteus-ban ezt is megpróbáltam, de továbbra is instabil. Most magas CPU használat miatt reklamál, amit nem értek, hogy miért van. Az az érzésem, hogy a Proteus-on magában vannak problémák és egy megépített panelen kellene inkább már tesztelnem. Mellékletben becsatoltam a Proteus projektem. A fájl forrását nem a Proteusban fordítottam, hanem a hex file lett betallózva a mikrovezérlő alá. Esetleg valaki megtenné, hogy a saját programjában megpróbálja elindítani? Kicsit bosszant, hogy régen, amikor használtam ezt a programot, ilyen hibát nem tapasztaltam és nem tudom, hogy én rontottam el valamit vagy egy bug-ba nyúltam bele. Köszönöm és üdv: spgabor
TMR2IE - Engedélyezi, hogy a timer2 átfordulásakor megszakítás keletkezzen (ha PEIE és a GIE is engedélyezi).
TMR2IF - Jelzi, hogy a timer2 átfordult. Ezt a bitet nem törli a kontroller, így a kiértékelés után programból kell törölni. ((Ha nem töröljük és a megszakítás engedélyezett, a megszakítási rutin fut le minduntalan.)) Ezer a bitek nem a TMR2 regiszterben vannak. A TMR2 a timer számlálója (lehet előosztója és utóosztója is), ha írás történik a TMR2 regiszterbe az előosztója és az utóosztója nullázódik. Ez garantálja, hogy az első árfordulás ugyan annyi idő műlva történjen, mint a továbbiak egymás után.
Értem, köszönöm. Ritkán foglalkozok sajnos mikrokontrollerrel. Akkor is csak hobbi szinten, ezért mindig belekeveredek a működésében. De így most világos megint.
Lehet megépítem a paneljét és próbálgatom majd élesben.
Látom Hp41C segített közben. Sajnos én sem tudom a proteus mennyire kezeli korrektül a PIC programokat, de az MPLAB szimulátora is segíthet tesztelni.
Ezt nem is tudtam, hogy MPLAB-ban is lehet szimulálást végezni. Kipróbálom este. Köszi a tippet!
Nem vizuális, de a regisztereket és a változókat nyomon lehet követni.
Szia!
A komparátort kapcsold ki: CMCON0 = 0x07; Ebben a kapcsolásban ha GP2 alacsony akkor fog forogni a motor!
Akkor tudom, azt szoktam használni. Azt hittem tud valami vizuális funkciót, ami nem volt ismert számomra.
Taki33: Igen, akkor indulna, ha a GP2 alacsonan van. Ki fogom próbálni valós alkatrészekkel, mert az általad jvasolt módosításokkal is a modellezéssel fel/le ugrál a GP2 láb, akkor is, ha megszakítom a láb és R5 között a vezetőszálat. Ha itt nincs megszakítás, akkor a terhelése a modellezés szerint pedig felugrik 80-90% környékére.
Sziasztok! Szeretnék egy közelség érzékelőt építeni, de nem tudom, hogyan keressek kapcsolást, vagy egyáltalán mi alapján lehet ezt mérni.
Azt szeretném, hogy a macskámra teszek egy nyakörvet, ami elkezd sípolni, ha a nyavalyás felmegy az asztalra. Úgy gondoltam, hogy az asztalon lenne a bázis, amit ha a nyakörv megközelít 1 m-re, akkor jelez. de nem tudom hogy ezt hogyan is lehetne kivitelezni, kész kapcsolást nem találtam. Infra LED volt még az ötlet, de ehhez az kell, hogy a nyakörv "lássa" a bázis infra LED villogását, ami a macska nyakában nem biztos hogy megtörténik. Tudnátok tanácsot adni, mit keressek, lehet e ilyet csinálni?
A CCP1CON = 0x0F; sort vedd ki, vagy kapcsold ki: CCP1CON = 0x00;
Aliexpressen kapsz ilyet készen. Kulcskereső, rf elven működik. A vevője érzékenysége állítható. De miért ebbe a topicba tetted fel a kérdést? Ennek köze nincs a PIC hez... pl : https://www.aliexpress.com/item/32669439038.html?spm=a2g0o.productl...01603_
A hozzászólás módosítva: Máj 5, 2020
Ilyenem van, ez a fordítottja, annak ami nekem kellene. Ha kimegy a hatókörből, akkor jelez (hogy ne hagyd el a kulcsot). Nekem az kellene hogy ha bemegy a hatókörbe, akkor jelezzen. Hogy miért ide? PIC-kel gondoltam megoldani, másként nem tudom elképzelni a dolgot. Persze ez még nem PIC, mert az ötletelésnél tartok. Igazad van, bocs, nem gondoltam át. |
Bejelentkezés
Hirdetés |