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 |