Fórum témák
» Több friss téma |
Fórum » MikroPascal kérdések
Témaindító: bozsokiandras, idő: Máj 15, 2006
Témakörök:
Valahogy így nem?
Így már sokkal jobb, de a lényegen mit sem változtat!
Hello!
Így igaz. De ha olvashatatlan a program formátuma, akkor kevésbé lesz valaki lelkes, ha segíteni akar.. üdv! proli007
sziasztok
Ha nyomógombként deklarálom az egyik bemenetet
Viszont a nyomógomb pont minuszt kapcsol, hogy tudnám a programmal megértetni, hogy a Low érték tulajdonképpen az 1? Üdv
A programodban beolvasod a portbitet, es negalod a beolvasott bit erteket. Es maris ott az "1" ertek, ha a bemenet "0".
ok, de ez hogy néz ki a gyakorlatba?
próbálkoztam mindennel.
nyomogomb := not(nyomogomb); de nem segít, az a gáz, hogy erre a problémára még csak rá se tudok guglizni, holott szerintem egy pofonegyszerű dolog (annak aki csinált ilyet)
Nem vagyok pascalos, de esetleg a mintapeldakbol leshetnel egy kicsit. C-ben igy csinalom
Esetleg a telepitett mintapeldakba kellene belelesni, vagy a Mikroe oldalon szetnezni a nem keves irodalomban. A C-re pl van egy igen komoly leiras, gondolom basicra, es pascalra szinten irtak valami par soros ismertetot (par szaz oldal).
sajnos ez uPascalba nem működik, már próbáltam.
Szoval....
1.: Ha elkezdesz egy programnyelvvel programozni eloszor is meg kell ismerni a sajatossagai, operatorait, adattipusait, es ugy altalanosan mindent. E-nelkul ez nem programozas, hanem kinlodas, es a tobbiek molesztalasa. 2.:A MikroE oldalan talalhato egy 586 oldalas "User Manual" , kb 2.5 MB mintapeldat. Ezek letoltese es reszletes tanulmanyozasa nagyban fog segiteni az elorehaladasban.
Hello
Valahol a programodban nyilván vizsgálod a nyomogomb változó értékét. Nem értem, hogy miért gond a nyomogomb nullás értékét venni "megnyomott" állapotnak: pl. if nyomogomb = 0 then ... Egyébként a nyomogomb változót nem tudod invertálni, mert az egy bemenet (macro). Ha viszont neked mégis fontos, hogy 1 legyen a gomb állapotát jelző változó értéke megnyomáskor, akkor ezt tudom elképzelni megoldásnak: gomb:= not nyomogomb; A gomb pedig egy bit típusú változó, és a programban ennek az értékét vizsgáld. Üdv.
Szia
Nem rossz módszer, csak az a gond, hogy a ciklus elején meg kell értetni , hogy gomb:= not nyomogomb. Én meg pont ezt akartam elkerülni, de azért köszi. Üdv
Szia.
Miért nem használod a beépített "Button" függvényt?
Az oldalamon találsz rá példát.
Szia
Szoktam használni, úgy tudom csak pergésmentesítésre használatos, ráadásul ennél nem lehet elnevezni a portot, csakis a gpio-val lehet rá hivatkozni. Apropó, olyan függvényt nem tudsz véletlen, ami ennek gyakorlatilag az ellentettje, szóval x időn belül érkezik-e jel? Üdv
Sziasztok
Sípoltatni akarok piezzot. Valami jobb megoldás kellene, mert ez:
Brutálisan nyeli a memóriát. Üdv
Sziasztok!
3x4-es (matrix) keypad kezelésében tudna valaki segíteni? Egész pontosan a lenyomott gombot kéne kideríteni, de sajnos a mP beépített library-je nem jó, mert az külön porton lévő oszlop/sort nem kezeli, nekem meg a PORTC-n és D-n vannak Mellékeltem egy képet a bekötésről is, remélem tudtok segíteni, mert én sajnos nem vagyok elég tapasztalt ehhez :pirul:
Szia
Valami hasonló módszer létezhet, mint az lcd lábkiosztásának deklarációjánál, bár példát én se láttam rá. Próbálgatni kell
a keypadport magának a keypad-nek a portját adja meg, ahová a sorok és oszlopok lábai vannak kötve, külön külön nem lehet megadni, hogy 1-es sor RB.3, 2-es sor RB.5..
Már próbálkoztam saját rutint kitalálni, de elvesztem a sok 1 és 0 közt
Hello
Szerintem muszáj lesz saját keypad-szkennelő rutint írnod. A dolog úgy működik, hogy ha keypad-en pl. megnyomod a 7-es gombot, akkor keypad összeköti az 1-es és C lábát. Nos, a PIC 28:30 lábának bemenetnek kell lennie jelen esetben, a 23:26 -nak pedig kimenetnek. A PIC 23:26 lábait 0-ra állítod. Ezután a keypad A lábára magasat kapcsolsz és megnézed, hogy a keypad 1, 2, 3 lába közül melyik van alacsony, vagy magas szinten. Amelyik magas szinten van, ott az a gomb van megnyomva. Így megtudod, hogy az első sorban melyik gombok vannak megnyomva. Ezután ugyanígy végigmész az összes soron. Ha már érzékeled, hogy meg van nyomva az egyik gomb, akkor a függvényed adja vissza az annak a gombnak megfelelő számot. Ilyen keypad-del csak egyszerre egy gomb lehet megnyomva. Egyébként megkérdezhetem, hogy milyen programmal rajzoltad ezt a kapcsolási rajzot? Üdv.
Szia!
Köszönöm, én is kb ez alapján a logika alapján próbáltam megírni, a szkennelő rutint, csak nem sikerült, de neki esek mindjárt megpróbálom újból. A rajzot a "ISIS Professional" programmal csináltam, ezzel kompletten le lehet szimulálni a pic-be égetett program működését is.
Ha nem működne, akkor tedd fel ide a kódot és meglesem.
Üdv.
Szia!
Nos sikerült végül nagy nehezen megcsinálni, de a kód az gusztustalan lett, mindenesetre megosztom veled/veletek. Egyelőre ez így működik, de ha valaki le tudná ezt egyszerűsíteni, nagyon hálás lennék érte! Tehát íme a kód:
Kis változás: Szimulációban működött jól, a valóságban csak az első oszlop (1,4,7,*) működik...
sziasztok!
16f pic után elkezdtem foglalkozni 12f675 pic-vel. sajnos nem sikerült sok próbálkozás után sem megoldani egy darab led villogtatását gpio-n keresztül. így próbálkoztam:
korábbi hozzászólásokban olvastam, hogy a CMCON:=7; sorral még ki kell egészítenem az elején, de sajnos azzal sem működik. tudnátok segíteni?
Ha jól látom, a lábak nincsenek átállítva digit. I/O-ba.
már ezt is próbáltam. trisio elé és után is.
sajnos nem segített.
érdekesség, hogy a 3-as lábára rakott led, folyamatosan világít, bármilyen kódot is írok a pic-re. nem tudom ezt mi okozhatja.
3. láb világítása miatt, mi van beállítva oszcillátorként?
A project/edit menüpontban: Internal rc no clock legyen beállítva oszcillátornak. Üdv
működik!csak hogy okosodjak. az ott szereplő oszcillátor beállítások mit jelentenek pontosan?
Akkor neked internal rc clkout" volt beállítva ezek szerint.
A nevébe benne is van, belső oszci és ennek a jele a kimeneten, jelen esetbe 3. láb, de ha megnézed a pic adatlapját magad is láthatod. Üdv
Valami csak nem jó.
teljesen egyszerű az áramkör, mégsem akar rendesen működni. a programozó panelemen lehet tesztelni is a pic-t, és annak a nyomógombja és ledje azt is csinálja amit mondok neki. a PIC 12F675 2.lábán lévő nyomógomb-ra világítani kezd az 5.lábon lévő led. viszont ha kiveszem a programozó panelből és saját áramkörben akarom tesztelni, akkor folyamatosan világít a led a nyomógomb állapotától függetlenül. labortápról kapja a feszültséget 1-8 lábakra, de próbáltam már 3db ceruza elemmel is. próbálkoztam 1uf, 100uf, 100nf kondenzátorokkal, amiket más kapcsolásokban láttam a betápnál. próbáltam másik lábra tenni a ledet és annak megfelelően átírni a kódot, de ott is ugyanez a hiba fogadott.. nem értem miért működik programozó panelen, ami nem megy egy ennyire egyszerű áramkörben.
(itt a gpio.2 az 5.lábra mutat, a gpio.5 pedig a 2.lábra) kapcsolás: Bővebben: Link (itt a 2-es lábon van a led, de én 5-ösre tettem mert a programozó panelen csak ott van led bekötve a foglalatba) a kapcsolás egyszerűségéből gondolom, hogy bagatel problémáról lehet szó. tudnátok segíteni? |
Bejelentkezés
Hirdetés |




Mellékeltem egy képet a bekötésről is, remélem tudtok segíteni, mert én sajnos nem vagyok elég tapasztalt ehhez :pirul: 
működik!