Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   920 / 1203
(#) kriszrap válasza don_peter hozzászólására (») Ápr 8, 2017 /
 
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.:
  1. while(1)
  2.     {
  3.       nyfgy();// nyomogomb figyelés!!!
  4.       if(kepfrissit == 1)
  5.       {
  6.         kepfrissit=0;
  7.         idoszamol();
  8.         ebresztocheck();
  9.         if(menu !=1 && visszaszamol != 6) visszaszamol=6;
  10.         if(menu >3) menu=0;
  11.         if(menu == 3) idokiir(ora2,ora1,perc2,perc1,mas2,mas1,1);//bin
  12.         if(menu == 2) idokiir(oreb2,oreb1,pereb2,pereb1,-1,-1,0);
  13.         if(menu == 1) homerokiir();// hömérö
  14.         if(menu == 0) idokiir(ora2,ora1,perc2,perc1,mas2,mas1,0);// idö kiiratás
  15.       }
  16.     }
A hozzászólás módosítva: Ápr 8, 2017
(#) Udvari Zsombor hozzászólása Á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

µnote.png
    
(#) Hp41C válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 

MikroC.JPG
    
(#) Udvari Zsombor válasza Hp41C hozzászólására (») Ápr 8, 2017 /
 
Oké, "vaksi" vagyok, de a többi kérdésemre is várom a választ!
(#) Elektro.on válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
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).
(#) Udvari Zsombor válasza Elektro.on hozzászólására (») Ápr 8, 2017 /
 
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? :/
(#) sonajkniz válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
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.
(#) Udvari Zsombor válasza sonajkniz hozzászólására (») Ápr 8, 2017 /
 
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!
(#) attika válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
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
(#) Udvari Zsombor válasza attika hozzászólására (») Á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!
(#) attika válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
É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.
(#) pajti2 válasza attika hozzászólására (») Ápr 8, 2017 / 2
 
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.
(#) sonajkniz válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
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)
(#) Gabó válasza attika hozzászólására (») Ápr 8, 2017 /
 
É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 , de kezdőknek szerintem sokkal de sokkal könnyebb elindulni.
Nem akarom szegény srác kedvét elvenni, de ha visszanézed eddigi tevékenységeit, voltak már ilyen nagy ötletei.
(#) Elektro.on válasza sonajkniz hozzászólására (») Ápr 8, 2017 /
 
É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.
(#) Udvari Zsombor válasza sonajkniz hozzászólására (») Ápr 8, 2017 /
 
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...
(#) sonajkniz válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
Tehát a projekt mintegy 5% már megvan.
Ez nem valami sok.
(#) Udvari Zsombor válasza sonajkniz hozzászólására (») Ápr 8, 2017 /
 
De nem ám! A kódot pedig össze kellene valahogyan hozni..
A hozzászólás módosítva: Ápr 8, 2017
(#) rolandgw válasza sonajkniz hozzászólására (») Ápr 8, 2017 /
 
Ezért érdemes volt benézni! Important-ot akart írni az emberke nem impotent-et, de nézd el neki, indiai
(#) kriszrap válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
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
(#) Laslie válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 / 1
 
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.
(#) Udvari Zsombor válasza kriszrap hozzászólására (») Ápr 8, 2017 /
 
É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?
(#) Hp41C válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 /
 
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...
(#) Udvari Zsombor válasza Hp41C hozzászólására (») Ápr 8, 2017 /
 
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?
(#) attika válasza Udvari Zsombor hozzászólására (») Ápr 8, 2017 / 4
 
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.
(#) gazspe hozzászólása Ápr 9, 2017 /
 
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) {...}
(#) sonajkniz válasza gazspe hozzászólására (») Ápr 9, 2017 /
 
Erre való a megszakítás.
Ha a timer megszakítást aktivál, kizárt dolog, hogy kimaradjon.
(#) don_peter válasza kriszrap hozzászólására (») Ápr 9, 2017 /
 
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.
(#) kriszrap válasza don_peter hozzászólására (») Ápr 9, 2017 /
 
Idézet:
„A megszakításba, akkor csak az időt számolod igaz?”


Van ott a kodomba olyan hogy "idoszamol()"
és amit tartalmaz :
  1. void idoszamol(){
  2.     mas1// interupban növelem egyesével.
  3.     if (mas1 == 10)
  4.     {
  5.         mas1 = 0;
  6.         mas2++;
  7.     }
  8.  
  9.     if (mas2 == 6)
  10.     {
  11.         mas2 = 0;
  12.         perc1++;
  13.     }
  14.     if (perc1 == 10)
  15.     {
  16.         perc1 = 0;
  17.         perc2++;
  18.     }
  19.     if (perc2 == 6)
  20.     {
  21.         perc2 = 0;
  22.         ora1++;
  23.     }
  24.     if ((ora2 < 2 && ora1 == 10) || (ora2 > 1  && ora1 == 4))
  25.     {
  26.         ora1 = 0;
  27.         ora2++;
  28.     }
  29.     if (ora2 == 3) ora2 = 0;
  30. }

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:
  1. if (mas1 >= 10)
  2.     {
  3.         mas1 -= 10;
  4.         mas2++;
  5.     }
(#) Pali79 válasza Udvari Zsombor hozzászólására (») Ápr 9, 2017 /
 
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
Következő: »»   920 / 1203
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu
Az oldalon sütiket használunk a helyes működéshez. Bővebb információt az adatvédelmi szabályzatban olvashatsz. Megértettem