Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Persze, elnézést, elkerülte ez a figyelmem. Elméletben értem, hogy kéne működnie, de sajnos akkor se megy. Persze lehet figyelmetlen vagyok, de már napok óta próbálkozom vele és egyszerűen semmi se történt azon kívül, hogy sikerült bekapcsolni a led háttérvilágítást, meg a kontrasztot tudtam állítgatni.
Általában jól megy a programozás, csináltam már saját kútfőből motorvezérlő "szoftvert" is, de ez valahogy nem akar menni. (Köszönöm a segítséget, de a USE_LCD_RW - vel se megy) Üdv.
Szia, én ezen oldal segítségével tanultam meg, hogy miként is kell vezérelni az LCD-t. LCD szimulátor
Bocsi, SmithWebsternek szántam. Ezt is: (A google-be írd be hogy: BC1602B) És a második találatot töltsd le. Annak a .pdf fájlnak a végén megtalálod az inicializálást. Utána pedig már csak az adatokat kell neki küldeni. (Elég egyszerűnek tűnik.
Köszönöm a tippet, de ezt már én is láttam. Igazából nem az elvi működésével van a probléma, hanem inkább a gyakorlattal.
Üdv.
De nélküle biztos nem fog...
- Futtasd a programot az MPLAB-ban lépésenként, - Az LCD biztos jól van bekötve, lábsorrend, lábszám? - Most négy vagy nyolc bites módban használod? Mert a program négy bites, korábban pedig mind a nyolc bitet hozzárendelted a PIC-hez. A nem használt LCD bemeneteket a testre kell kötni. Viszont az lcd_putc(char c) függvény 1 azaz egy darab karaktert vár paraméterként, de Te konzekvensen mindenféle stringeket próbálsz kiíratni vele... Erre szoktak pl. egy olyan hosszú karaktertömböt definiálni mint az LCD karakterszáma és egy újabb függvénnyel karakterenként kiírni az lcd_putc(string[n]) meghívásával egy for ciklusban. Továbbá és ezt az init stringet használom ={0x28, //0x20 | (lcd_type << 2), // Func set: 4-bit, 2 lines, 5x8 dots 0x08, 0xc, // Display on 1, // Clear display 6} // Increment cursor Egy bájttal több, de lehet hogy működik a Tiéddel is.>>
Átírtam az inicializálást és csak karaktereket adtam az lcd_putc-nek, de így se akar menni.
Ahogy böngésztem ezeknek az lcd moduloknak a lapját azt néztem, hogy elvileg nem mindegy milyen gyorsan történnek a parancsok. És ugye én nem használok külső kristályt... Nem lehet, hogy a késleltetéssel van valami probléma? ( #use delay (clock=20000000) ) Majd holnap újra nekiesek, szétszedem, összerakom a tesztpanelt. Üdv, smith
Gyakorlatilag sem!
Ha belső oszcillátort használod akkor annak a frekvenciáját add meg a "clock" értékének.
szabics, 4MHz-en nem lehet pontos 1mp megszakitast csinalni csak eskizarolag trukkozessel. Nem veletlen, hogy az un. ora kvartz 32768Hz-es... hiszen az osztasok es szamlalok is "binaris kerek" szamokkal dolgoznak - azaz 2^15 az ugye epp 32768...
Amit esetleg lehet csinalni, hogy a CCP modult beallitani ugy, hogy egy eleg jo megkozelitessel adjon megszakitasokat. Idézet: „De az ha nekem még vizsgálnom kell, hogy elérte e az értéket. Jön a megszakítás, növelek egy számlálót és megvizsgálom. Az idő tellik. Tehát valódi kvarc frekvenciához hozzáadódik a műveletvégzés ideje.” Miert adodna mar hozza? Az idozito aramkor folyamatosan szamlal, nem fog leallni csak azert mert szamlalgatsz... Idézet: Tudsz hozzá adni olyan kvarcot (időalapot), ami ennek a pontossági igénynek megfelel?„Van valainek pic frekvenciamérő rutin, ami 2MHz ig mér és Herz pontosságal bír?” +/- 1 Hz a 2 MHz-es frekvenciához képest 0,5 ppm, azaz 0,5x1o-6 relatív pontosság. A szokásos kvarcok pedig ennél jóval instabilabbak. Jó, hogy nem mindjárt collstokkal akarsz mikron pontossággal mérni!
Az MPLAB szimulátora kissé buggyantnak látszik egy PIC18F24K22 programocska kapcsán, furcsa és egymásnak ellentmondó adatok jelennek meg a PORTx és LATx regiszterekben. Van valami tippetek rá?
Mellékeltem a projektet. Nálam MPLAB 8.60 és C18 v3.36 van fenn.
Hogy néz ki az asm lista? Én nem találok ANSELA, ANSELB és ANSELC-t az adatlapban...
Szerk.:most látom, hogy mellékelted a projektet, akkor majd belenézek.
Elsőre rossz adatlapot is néztem, azért nem találtam az említett regisztereket. Viszont nem látok semmit, ami miatt ezeknek kellene megjelenniük. Hardveren mit mutat a dolog? Találtam már én is hibát az MPLAB SIM-ben, a kód a hardveren az adatlapnak megfelelően működött, szimulátor meg rosszul számolt.
Az assembly lényege ennyi:
Az ANSELx regiszterek az ACCESS területen kívül esnek, ezért kell a "bankolás". Idézet: Fogalmam sincs, nincs ilyen mikrovezérlőm. Viszont a jelek szerint a szimulátorra alapozva segíteni sem tudok ilyen programok fejlesztésében... „Hardveren mit mutat a dolog?”
Szia!
A 18. sor nem
Hp41C: De, LATC kell, csak figyelmetlen voltam (copy-paste effect...).
Potyo: köszönöm, hogy megnézted.
Hi Mesterek.
Csináltam egy próbapanelt 16f876 pic-hez csak nem igazán megyen Az lenne a gondom hogy felprogramozáskor lekel szednem róla a hardvert hogy rámenjen a prg. Pedig a PGC és a PGD lábai le vannak választva 330 Ohm ellenállásokkal. Van valami más/bevált megoldás erre?
Böngészővel megnézhető képet tegyél fel a kapcsolásról!
Szia!
PK2 adatlap szerint így kell kiépíteni az ICSP-t ( az ellenállásokkal gond van! ) ! Steve
Ha a PGD, PGC lábat terheli a hardvered, akkor ez így nem fog menni. Esetleg, ha a hardver felé lenne az ellenállás, de 330ohm szerintem nem elegendő, legalább 1k kéne, hogy biztos legyen az égetés. A hardvert úgy kell tervezni, hogy ezekre a lábakra ennél nagyobb terhelés ne essen(kondi sem lehet rajtuk az 1k előtt, csak után). Ha ez nem biztosítható, akkor kapcsolóval, vagy jumperrel kell kialakítani az égetési lehetőséget.
Szia!
Ha már áttervezed, a pic 19. és 20. lábai közé egy 100nF kerámia kondenzátort tegyél be, a tokhoz olyan közel, amilyen közel csak tudod, esetleg 100nF SMD alulról.
...es legkozelebb legyszi kapcsolasi rajzot tegyel be, de nyak tervet
Az a probléma, hogy te a programozót választottad le a PIC-ről, nem a járulékos áramköröket. Fordítva kellene, ahogy a többiek is mondták.
Hali. Egy PIC kimenetén rá lehet egyenesen kötni egy másik ,,kivülálló,, PIC lábára? Az első PIC adná a jelet,a második venné.
Igen rá. Egy 100-300R-es ellenállást tegyél a két láb közé.
Igen, ra, de ha veletlen az egyiket aktiv alacsony, mig a masik at aktiv magas allapotba kapcsolod, akkor abbol tul sok jo nem fog kisulni (max a PIC laba...). Az ilyen esetleges szoftver hibabol adodo fustjelek elkerulese vegett kell az aramkorlatozas, ahogy azt edison14 mar leirta.
Hi Mesterek.
Olyan kérdésem lenne hogy amit most csinálok PIC-es teszt panelt azt úgy akarnám hogy a PIC-nek lenne egy saját 5V stab ic-je a ráaggatott hardvernek meg külön lenne a meghajtása/stab IC-je Lehet evvel valami gubanc hogy két különálló feszültségforrás lenne egy a PIC-nek egy meg pl.:ledeknek, potiknak stb.? Segítséget előre is köszönöm. |
Bejelentkezés
Hirdetés |