Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   889 / 1319
(#) SmithWebster válasza p_istvan hozzászólására (») Jan 15, 2011 /
 
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.
(#) bankimajki válasza p_istvan hozzászólására (») Jan 15, 2011 /
 
Szia, én ezen oldal segítségével tanultam meg, hogy miként is kell vezérelni az LCD-t. LCD szimulátor
(#) bankimajki válasza p_istvan hozzászólására (») Jan 15, 2011 /
 
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.
(#) SmithWebster válasza bankimajki hozzászólására (») Jan 15, 2011 /
 
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.
(#) p_istvan válasza SmithWebster hozzászólására (») Jan 15, 2011 /
 
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.>>
(#) SmithWebster válasza p_istvan hozzászólására (») Jan 16, 2011 /
 
Á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
(#) p_istvan válasza SmithWebster hozzászólására (») Jan 16, 2011 /
 
Gyakorlatilag sem!
Ha belső oszcillátort használod akkor annak a frekvenciáját add meg a "clock" értékének.
(#) trudnai válasza szabics hozzászólására (») Jan 16, 2011 /
 
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.
(#) trudnai válasza szabics hozzászólására (») Jan 16, 2011 /
 
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...
(#) icserny válasza szabics hozzászólására (») Jan 16, 2011 /
 
Idézet:
„Van valainek pic frekvenciamérő rutin, ami 2MHz ig mér és Herz pontosságal bír?”
Tudsz hozzá adni olyan kvarcot (időalapot), ami ennek a pontossági igénynek megfelel?
+/- 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!
(#) icserny hozzászólása Jan 16, 2011 /
 
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.
(#) potyo válasza icserny hozzászólására (») Jan 16, 2011 /
 
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.
(#) potyo válasza potyo hozzászólására (») Jan 16, 2011 /
 
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.
(#) icserny válasza potyo hozzászólására (») Jan 16, 2011 /
 
Az assembly lényege ennyi:
  1. #include "p18f24k22.inc"
  2.  
  3.         ORG 0
  4.         movlb    0xf
  5.         clrf    ANSELA,BANKED
  6.         clrf    ANSELB,BANKED
  7.         clrf    ANSELC,BANKED
  8.         clrf    TRISA,ACCESS
  9.         clrf    TRISB,ACCESS
  10.         clrf    TRISC,ACCESS
  11. loop:
  12.         setf    LATA,ACCESS
  13.         setf    LATB,ACCESS
  14.         setf    LATC,ACCESS
  15.         NOP
  16.         clrf    LATA,ACCESS
  17.         clrf    LATB,ACCESS
  18.         clrf    LATB,ACCESS
  19.         bra     loop
  20.         END


Az ANSELx regiszterek az ACCESS területen kívül esnek, ezért kell a "bankolás".
(#) icserny válasza potyo hozzászólására (») Jan 16, 2011 /
 
Idézet:
„Hardveren mit mutat a dolog?”
Fogalmam sincs, nincs ilyen mikrovezérlőm. Viszont a jelek szerint a szimulátorra alapozva segíteni sem tudok ilyen programok fejlesztésében...
(#) Hp41C válasza icserny hozzászólására (») Jan 16, 2011 /
 
Szia!

A 18. sor nem
  1. clrf  LATC,ACCESS
akart lenni...
(#) icserny válasza Hp41C hozzászólására (») Jan 16, 2011 /
 
Hp41C: De, LATC kell, csak figyelmetlen voltam (copy-paste effect...).

Potyo: köszönöm, hogy megnézted.
(#) Baxi hozzászólása Jan 17, 2011 /
 
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?

16f876.LAY
    
(#) icserny válasza Baxi hozzászólására (») Jan 17, 2011 /
 
Böngészővel megnézhető képet tegyél fel a kapcsolásról!
(#) Baxi válasza icserny hozzászólására (») Jan 17, 2011 /
 
Hi
Itten van

16f876.JPG
    
(#) kissi válasza Baxi hozzászólására (») Jan 17, 2011 /
 
Szia!

PK2 adatlap szerint így kell kiépíteni az ICSP-t ( az ellenállásokkal gond van! ) !

Steve

ICSP.JPG
    
(#) watt válasza Baxi hozzászólására (») Jan 17, 2011 /
 
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.
(#) Baxi válasza kissi hozzászólására (») Jan 17, 2011 /
 
Ok, köszönöm. Áttervezem.
(#) Hp41C válasza Baxi hozzászólására (») Jan 17, 2011 /
 
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.
(#) trudnai válasza Baxi hozzászólására (») Jan 17, 2011 /
 
...es legkozelebb legyszi kapcsolasi rajzot tegyel be, de nyak tervet
(#) icserny válasza Baxi hozzászólására (») Jan 17, 2011 /
 
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.
(#) jdani hozzászólása Jan 17, 2011 /
 
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é.
(#) edison14 válasza jdani hozzászólására (») Jan 17, 2011 /
 
Igen rá. Egy 100-300R-es ellenállást tegyél a két láb közé.
(#) trudnai válasza jdani hozzászólására (») Jan 17, 2011 /
 
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.
(#) Baxi hozzászólása Jan 17, 2011 /
 
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.
Következő: »»   889 / 1319
Bejelentkezés

Belépés

Hirdetés
XDT.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