Fórum témák
» Több friss téma |
A fő pogram ba az óra kiíratásokat raktam bele ha azokat "megállítom" az nagy baj??.
ÖÖ inkább kódot küldök mi van a fő program whileba.. szerk.:
A hozzászólás módosítva: Ápr 8, 2017
Tiszteletem!
- Az itt letölthető kód milyen nyelven van, és kell-e rajta még valamit módosítanom, hogy működjön? (Tömören: billentyűzet írkál kijelzőre.) Mellékelem a kapcsolásomat, ami szerint dolgozok! - Valamint ez így milyen szinten kezeli a billentyűzetet? Azaz működnek-e a betűk, számok és írásjelek? - Kérem, írja le valaki, hogy hogyan menjen a "reset" a [home] gomb hatására! - És végül bekapcsoláskor ír-e ki valamit, vagy azonnal lehet írni? A válaszokat nagyon megköszönném! A hozzászólás módosítva: Ápr 8, 2017
Oké, "vaksi" vagyok, de a többi kérdésemre is várom a választ!
A te rajzodon más PIC van. Ezzel nem fog működni. Vagy azt a PIC et hasnálod amire megírták a kódot, Vagy értelmezed mit csinál az eredeti program és átírod a saját PIC edre. (ha elegendőek hozzá az erőforrásai).
Tehát így ebben a formában halott dolog? Tehát az én PICemen nem menne?
![]() Tehát mit is kellene módosítani? Akkor segítséget kérek! Nem lenne elég a lábakat átírni? Mást már nem tudok venni, és kellene, hogy működjön! Vagy hogyan keressek rá, hogy PIC16F88 kompatibilis kódot találjak? :/
Mi lenne, ha leírnád, mit szeretnél létrehozni.
Mert így, hogy rajzokat, meg kódokat linkelgetsz be, nem igazán világos.
Az én kapcsolásommal működjön! Bekapcsoláskor indítson üres kijelzővel, amire billentyűzettel lehet közvetlenül írni (összes elérhető szám, betű, írásjel működjön), valamint a [home] gomb váltsa ki a resetet (azaz kijelző törlése) és ha betelt a kijelző, akkor eggyel feljebb tenné a sort, hogy lehessen tovább írni! Az is jó lenne, ha a [backspace] is működne, mint karaktervisszatörlő!
Tehát tulajdonképpen egy PS/2 LCD interfész, mely billentyűzettel ír a kijelzőre!
Szerintem igen nagy fába vágtad a fejszédet.
Sajnos ez nem csak úgy működik, hogy fogsz egy Pic-et és találsz hozzá egy kódot és már működik is. Nem elég csak a lábakat átírnod, vagyis az esetek 99%-ba nem. Az adott kódot az adott Pic-hez kell fordítanod. Ha már Mikroc akkor kezd el INNEN és nézd végig az összes videóját. Sok jó dolog van benne, többek között a billentyűzet kezelése is. Ha végignézted akkor rá fogsz jönni, hogy lehet nem is olyan fontos neked ez a projekt ![]() A hozzászólás módosítva: Ápr 8, 2017
Fordítani??? Azt hogyan és mivel??? Mert mint írtam, ez a PIC van, ezzel kell működnie! Tehát tonnányi segítség kellene!
Én feladtam ne haragudj
![]() Én nem vagyok egy nagy Pic guru de ez már kicsit sok ![]() Olvass,olvass,olvass és olvass és akkor megkímélsz mindenkit a fölösleges válaszoktól. Amit te szeretnél nem egy kezdőnek való, én se mernék belefogni pedig már megépítettem egy pár Pic-es kapcsolást. Kezd el az alapoktól és menj szépen sorra. Először próbálj meg egy porton egy darab ledet villogtatni és így tovább. Arra ne várjál, hogy ezt valaki meg fogja helyetted csinálni, legalább is én még nem találkoztam olyannal. Sok sikert én azért szurkolok neked. A videót amit linkeltem azt azért nézd végig szerintem ha nem siklottál át fölötte.
Ha vissza nézel pár lapot, egész oldalakon keresztül csak a newbie kérdései voltak, amit azzal zártunk le, hogy alapozni kellene még. Írtunk is neki tippeket, de a jelek szerint nincsen türelme tanulni sem.
Nos kezdjük az elején.
Minden LCD kijelzőnek van egy beépített karakterkészlete, valamint generálható számukra 8db egyedi karakter. Ezeket a karaktereket ASCII kódok megadásával lehet a kijelzőre írni. Elvileg a billentyűzet is ASCII kódokat ad ki. Eddig OK. Csakhogy az alap angol ABC-n és az alap írásjeleken kívül nemigen van egyezés. Tehát minden bevitt kódot először egy programmal fel kell dolgozni. El kell döntenie a programnak, hogy a kijelző számára emészthető kód jött, vagy olyan, amit át kell alakítani, vagy olyan ami épp használhatatlan. Ez még assemblyben is meredek, pedig ott jóval rövidebbek a kódok. Minden beérkező kódnál le kell futtatni egy több száz soros ellenőrző rutint. Számolni a karaktereket a sorléptetéshez. A második sor végén a második sor tartalmát átmásolni az első sorra. A másodikat törölni. Plusz kérdéses, hogy csak írogatni akarsz, vagy le is akarod tárolni. Mert a tárolás véges! Első lépésként RAM-ba kell tárolni. Onnan lehet átírni EEPROM-ba. Az általad választott PIC-nek 386byte RAM-ja van, aminek egy része kell a program működéséhez. EEPROM pedig 256byte található benne. Ez még egy vershez is kevés. Tehát kell egy külső memória. Az I2C-n, vagy SPI-n üzemel. Azaz újabb kommunikációs feladat. Ilyen kódot, erre a PIC-re írva biztosan nem fogsz találni. Megírni pedig , ahogy attika is írta, senki nem fogja helyetted. Legfeljebb sok pénzért. Én is csak azt tudom mondani, mint már sokan előttem: Nem kezdőknek való projekt! Azt már csak mellékesen tenném hozzá, hogy ezt C-ben létrehozni csak vérprofiknak ajánlott. Olyanoknak, akik ki tudják kerülni az ingyenes C fordító által felállított csapdákat. Az általad belinkelt oldal fordítása során is esik erről szó.(melléklet)
Én előre láttam, hogy itt lesznek még gondok dögivel a képek, linkek, kifejezések terén nála. Mertem is ajánlani egy alternatívát (arduino), itt a pices oldalon , felvállalva, hogy a picesek megköveznek
![]() Nem akarom szegény srác kedvét elvenni, de ha visszanézed eddigi tevékenységeit, voltak már ilyen nagy ötletei.
Én már rég feladtam.
Korábban írta az eddigi tapasztalatait elektronika terén. Tartalmazott ha jól emlékszem 3 tételt. Zseblámpa, led izzó, karávsonyi égősor. Ez gyakorlatilag nulla elektrotechnikai ismeretet enged feltételezni. Könnyen lehet, hogy még Ohm törvényével sincs tisztában. Pedig az általános iskoai tananyag. Így em lehet neki segíteni. Segíteni annak lehet aki tud, de valahol valamiért elakadt.
Letárolni azt nem kell, csak a kijelzőn jelenjen meg, amit beírok... Különben is fizikailag már csak a billentyűzetet kellene bekötnöm meg tápfeszültséget adnom, tehát már csak a kód hiányzik...
Tehát a projekt mintegy 5% már megvan.
Ez nem valami sok.
De nem ám!
![]() A hozzászólás módosítva: Ápr 8, 2017
Ezért érdemes volt benézni!
![]() ![]()
Kedves Udvari Zsombor
Lehet megoldották már a problémád nem tudom nem követem. De ajánlanék egy videos aki MikroC(kódot nézve abba akarsz programozni) be programoz picre és elég értelmesen elmondja és érthetően. Bővebben: Link
Javasolnám, hogy akkor tanulj! Nagyon, de nagyon sokat.
A kód megírása nem olyan dolog, hogy ripsz-ropsz kész. Ehhez először is meg kell tanulni az alapokat. Nem reménytelen a dolog, de ezt neked kell megtenned. Ne várd el itt senkitől, hogy ingyen megírja helyetted.
Érthetőek a videói, egyből megtaláltam az LCD és billentyűzet részeket, viszont ha jól látom, akkor ő egy másik PICet állított be, hogy ahhoz írja a kódot! Én mit tegyek? Írjam át, hogy mi melyik lábon van? Az pedig esetemben alap, hogy vele ellentétben nálam belső oszcillátor van, külső pedig nincs! És honnan tudnám letölteni a videóiban szereplő programot, amiben a kódot írja, meg amiben a kapcsolást szimulálja?
A Mikro C PS/2 könyvtári rutinjai működnek 16F628A -val is. Le kell fordítani a programot erre a kontrollerre.
Amúgy, csak kívülállóként érdeklődve: - Szerda délelőtt írt hozzászólásodban belinkeltél egy kész projektet, ami majdnem megvalósítja a feladatodat. Benne 18F1320 -at használtak. Miért nem azt a típust használod Te is? A RA0 -ra kapcsolódó részt egyszerűen el kellett volna hagyni. - Csütörtök reggeli válaszomban megírtam, mit kellene változtatni a programon, hogy kezelje a Home, a visszatörlés és a sorváltás parancsokat...
Mi??? Nekem PIC16F88 van! És 4 biten menne az LCD a D4...D7 adatlábakat bekötve, de láthatod a kapcsolásomon. Tehát csak röviden, tömören: hogyan is lenne az a fordítás dolog? A PICek nem egy kaptafára vannak?
De egy kaptafa az összes. Mindegy hogy 8bites vagy 16 vagy 32 . Dugd be egy mikrohullámú sütőbe és programozd fel.
Nem számít milyen piced van mert mind egyforma. Csak egyet árulj már el légyszíves, hogy ha te ekkora penge vagy ebbe akkor miért kérdezel ennyit?? Fogalmad nincs az egészről, azt se tudod, hogy eszik e vagy isszák. A program amit néztél az mikroc be írták meg és a mikroc pro for pic programmal tudod leforditani. Pár oldallal előrébb be is linkeltem az oldalt, hogy honnan lehet letölteni de csak próba verzió és csak 2k-ig fordít. Megfogadtam, hogy nem szólok már hozzá de ne haragudj ez már tényleg kicsit több mint sok. Ha esetleg ez valakinek szemet szúr akkor jelentse és törölni fogják. Azt ne várd, hogy helyetted valaki meg fogja csinálni. Hp41C is leírta neked teljesen érthetően de szerintem el se olvastál semmit.
Sziasztok!
8 bites PIC timerjével szeretnék aszinkron(ha jól gondolom ez a jó szó) programozni. Szóval real time szerint szeretném meghatározni a függvényhívást. Hogy tudom kivitelezni? Sokféleképp kerestem, de a google nem akart segíteni. If feltétellel meg tudom oldani a függvények hívását? Mivel a tmr hardwares modul, nem vagyok biztos benne, hogy nem lehet olyan eset, hogy az mcu terhelt, a tmr számláló felveszi az értéket és kimarad a függvényhívás. Pl.: if(tmr1isr=100) {...}
Erre való a megszakítás.
Ha a timer megszakítást aktivál, kizárt dolog, hogy kimaradjon.
Nem a megszakítás az meg fog történni.
A megszakításba, akkor csak az időt számolod igaz? Mondjuk mást nem is igen kell ott csinálni.. Jónak néz ki. Idézet: „A megszakításba, akkor csak az időt számolod igaz?” Van ott a kodomba olyan hogy "idoszamol()" és amit tartalmaz :
Ha 10 secig nyomom a gombot ugye addig a fö while megszakitja és igy idoszamol() nem hivja meg igy "mas1" lehet 11...... is.(Nem hinném hogy edddig nyomnám csak felmerült bennem) Ez beválhat:
Többen is mondtuk, hogy ez így nem fog menni! Szép lassan te is belátod...
De, hogy segítsek is valamit: Adj fel egy hirdetést az apróba ezzel a szöveggel: "Egy PIC16F88-asra szeretnék egy működő programot íratni egy hozzáértővel. Egy SP2-es billentyűzet karaktereit kellene egy 2×16-os LCD-n megjeleníteni." A hozzászólás módosítva: Ápr 9, 2017
|
Bejelentkezés
Hirdetés |