Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   112 / 1319
(#) potyo válasza menyus hozzászólására (») Dec 6, 2007 /
 
Szerintem jo lesz a max232. Esetleg nem tudja majd a 115kbps sebesseget, de a modulnak ugysem kell ennyi.
(#) watt válasza menyus hozzászólására (») Dec 6, 2007 /
 
Jó a max232, de a telcsi RX vonala elé tegyél egy 470ohm-ot sorba, majd a telefon felőli oldalon egy 2,7V-os zenert testre. Ez védi a vonalat a túlfesztől.
A GSM modem TX-re pedig tegyél egy 100ohm-ot, a biztonság kedvéért, bár erre nagy szükség nincsen, de ártani nem árthat. Nekem így van illesztve a PIC TX, RX vonalára és működik jól(természetesen a PIC-modem közé nem kell max232, az csak a PC-modem-közé kell.)
(#) sszasza válasza potyo hozzászólására (») Dec 6, 2007 /
 
Hát, a 16f876A-kkal sokat szivtam. Volt pár példány ami 20MHzen hibázott. Érdekes, hogy mindig ugyanannál a cim(ek)nél. Kiszúrtam velük:
org hibas_cim : nop Csak hát mig az ember rájön hol a hol...
(#) menyus válasza watt hozzászólására (») Dec 6, 2007 /
 
ok köszönöm mindkettőtöknek a választ. Csinálok egy kiegészítő panelt és du. próba ismét...

köszi
(#) menyus hozzászólása Dec 6, 2007 /
 
A MAX232 vel kapcsolatban lenne kérdésem. Van benne 4 db illesztő/inverter. Ezek közül 2 smidth triggeres a másik kettő nem. Mindegy hogy az RX/TX vonalakat melyikre kötöm? A másik hogy ha a teljes soros vonalat illeszteni szeretném, tehát a többi lábat is (DTR, DSR, CTS, RI...stb) akkor gondolom több MAX232 kell. Kérdés hogy indokolt e ez, vagy elég csak az RX/TX vonalat illeszteni?

köszi
(#) Lacko89 válasza gulasoft hozzászólására (») Dec 6, 2007 /
 
Igen megvan a hex fájl, de közben úgy néz ki, a közvetlen közelemben is van megoldás. Neked mindenesetre szeretném megköszönni a segítőkész hozzáállást!
(#) watt válasza menyus hozzászólására (») Dec 6, 2007 /
 
A 4 inverterből kettő RS232 szabványvonalra kapcsolódhat, a másik kettő TTL (0,8 alatt L, 2V felett H) szintekre érzéken. Nem sok választásod van.

Azt már írtam korábban is, hogy csak az RX,TX vonalat kell bekötni!
(#) menyus válasza watt hozzászólására (») Dec 6, 2007 /
 
ok, vettem. Köszi. De akkor miért van a többi port bekötve a modul adatlapján? Ezek szerint 2 port + a GND kell öszvisz az egész programozásához akkor is ha PIC küldi neki az adatot. De akkor minek a többi láb? Azt a PC használja egyebekre? Bocsi a láma kérdésekért de ezzel a soros dologgal most találkozom először...

névtelen.JPG
    
(#) watt válasza sszasza hozzászólására (») Dec 6, 2007 /
 
Nekem egy 18F458-ban van néhány hibás bit, ami a fényfüggönyömben van. Ha program kerül oda, nem is működik, ha effekt, akkor szépen kigyullad az izzó, aminek nem kéne!
(#) krajnyak_dani hozzászólása Dec 6, 2007 /
 
helo
az lenne a problémám ,hogy egy PIC-nek általában nincs 3db INT lába ,PORTB4:7 megszakítás pedig a port változása esetén jelez.Nekem az kellene hogy 3db lábon felfutó élre kezdődjön a megszakítás
Hogy lehetne ezt megoldani?
(#) watt válasza krajnyak_dani hozzászólására (») Dec 6, 2007 /
 
Diódákkal.
(#) szilva válasza krajnyak_dani hozzászólására (») Dec 6, 2007 /
 
Az interrupt-on-change miért nem jó?

Az interrupt-kiszolgáló rutinban megnézed, hogy melyik láb generálta a megszakítást, valamint az aktuális állapotát is az adott lábnak. Ha magas, akkor felfutó él generálta az interruptot, szerintem ez világos. Vagy én nem értem a problémádat.
(#) watt válasza szilva hozzászólására (») Dec 6, 2007 /
 
Én úgy értettem, hogy ÉS kapcsolatban kéne a 3 lábnak lennie, és ez okozzon megszakítást. Ha rosszul, akkor az a leírás pontatlanságából ered...
(#) szilva válasza watt hozzászólására (») Dec 6, 2007 /
 
A kérdés szerint pont a 3 interrupt-láb "hiányát" szeretné megkerülni. Szerintem az IOC éppen ilyesmire való, az interrupt elején úgyis ki kell olvasni a portot. Egy-két logikai utasítással el lehet dönteni, hogy olyan változás, állapot állt-e be a porton, ami minket éppen érdekel.
(#) potyo válasza krajnyak_dani hozzászólására (») Dec 6, 2007 /
 
Általában... De egy 18F458 vagy 18F4550-nek három INT lába van.
(#) sszasza válasza potyo hozzászólására (») Dec 6, 2007 /
 
Nézzük: vannak az INTek, van az RB7-4, a capture bemenetek, komparátor. De ha ez se elég, lehet a számlálókat külső jellel járatni és max-1et tölteni beléjük, akkor az is 1 impulzusra megy. Ennyi már csak legyen elég
(#) watt válasza szilva hozzászólására (») Dec 7, 2007 /
 
Ha nem időkritikus a feladat, akkor így is megoldható, de ha igen, akkor a lekezelés közben befutó 3. él, nem okoz azonnal megszakítást, csak az előző lekezelése után. Ha ez nem számít, akkor jó....
Egyébként a 3 külön kezelt megszakításvonal se jó megoldás, ha a fenti kérdés fontos! Ekkor a diódás, vagy más logikai áramkör alkalmazása jöhet csak szóba.
Mivel a feladatot most sem ismerjük, így nem lehet tudni mire van szükség.
(#) neomur hozzászólása Dec 7, 2007 /
 
hy
most kezdek foglalkozni a PIC-el, és első saját magam álltal tervezett (a programot is én akarom írni) pices kapcsolásnak egy olyan áramkört gondoltam, amin van 2digites 7 szegmenses kijelző, és lesz rajta egy nyomógomb, amit ha megnyomok akkor a kijelző véletlenszerűen kiad egy számot 1 és 100 között. én programnyelvek közül a basicet ismerem, meg a pascalt is elég alap szinten, de egy ilyen programot meg tudnék írni (mármint ami véletlen szerűen kiír egy számot a gép képernyőjére).
tehát abban kérem a nálam PIC témában jártasabb fórumozók segítségét, hogy segítsenek megírni nekem ezt a programot úgy, hogy az piccel kompatibilis legyen.

elektronikai résznek én valami olyasmit gondoltam, hogy a PIC küldi majd a véletlenszerűen generált számot egy másik IC-nek ami ezt átalakítja egy 7 szegmenses kijelzőnek.
mivel épp vicsys féle feledékeny ember óráján dolgozok, szerintem a 74HC164 IC-t lehetne használni a kijelzők meghajtásához

szóval ehez lenne szükségm némi segítségre

ui: és nem találtam ilyen topicot ezért nyitottam újat
(#) bbalazs_ válasza neomur hozzászólására (») Dec 7, 2007 /
 
En pofonegyszeruen csinalnam, raadasul a szam valodi veletlenszam lenne:

A gomb lenyomasanak idotartama nagysagrendekkel hosszabb, mint egy utasitas ideje, ergo en egyszeruen a gomb lenyomasanak pillanatatol porgetnek egy szamlalot (incf szamlalo, ha eleri a szazat, akkor ujra 1-et bele), aztan ha elengedi, akkor megnezed, mi lett belole.

Tovabb bonyolithato egy allandoan porgo szamlalo (timer) hasznalataval, akkor meg egy veletlen erteked lesz, amit kombinalhatsz a lenyomas hosszaval vagy eppen egyedul is hasznalhato.

pl. timer-t beallitani ugy, hogy megszakitast generaljon 0-nal, aztan beleirni szazat. A megszakitasnal meg ujra feltolteni szazzal.

Bocs, most latom, hogy ket digites, akkor 99-el.
A PIC onmaga is meghajt egy ketszegmenses kijelzot multiplex modban - sot, ha soklabu, akkor akar direktben is (minden szegmens egy labrol).

(#) szidom válasza neomur hozzászólására (») Dec 7, 2007 /
 
Üdv!
A kijelzők meghajtásához én 74LS47-et használnék, nekem az jött be!
(#) neomur válasza bbalazs_ hozzászólására (») Dec 8, 2007 /
 
azt hiszem hogy megpróbálkozok az első ötleteddel. akkor tudnál kicsit segíteni a program megírásában?

szidom: igen ez az IC szerintem is jobb a kijelző meghajtására akkor ezt fogom inkább használni

köszi a helpet
(#) watt válasza neomur hozzászólására (») Dec 8, 2007 /
 
Egy PIC-hez külön TTL IC-t használni LED hétszegmenseshez, eretnekség!
(#) Carter hozzászólása Dec 8, 2007 /
 
Sziasztok!
Nem tudjátok hogy hogyan lehetne megcsinálni? 18F4520-nál kéne 8 analog mérés átlagát venni.
A gond az hogy ha mondjuk mind a 8 eredmény 11111111 akkor azt hogy adjam össze és hogy osszem el?
(#) Topi válasza watt hozzászólására (») Dec 8, 2007 /
 
Ezaz... tegyél helyette be egy AVR-t, ami szinte még olcsóbb is mint egy TTL BCD-7 segment dekóder... sőt akkor már legyen I2C busza, hogy a kijelző csak két lábat vegyen el a PIC-ből... :smoke:
(#) potyo válasza Carter hozzászólására (») Dec 8, 2007 /
 
  1. CLRF osszegL
  2. CLRF osszegH
  3.  
  4. MOVF meres0, W
  5. ADDWF osszegL, F
  6. BTFSC STATUS, C
  7. INCF osszegH, F
  8.  
  9. MOVF meres1, W
  10. ADDWF osszegL, F
  11. BTFSC STATUS, C
  12. INCF osszegH, F
  13.  
  14. MOVF meres2, W
  15. ADDWF osszegL, F
  16. BTFSC STATUS, C
  17. INCF osszegH, F
  18.  
  19. MOVF meres3, W
  20. ADDWF osszegL, F
  21. BTFSC STATUS, C
  22. INCF osszegH, F
  23.  
  24. MOVF meres4, W
  25. ADDWF osszegL, F
  26. BTFSC STATUS, C
  27. INCF osszegH, F
  28.  
  29. MOVF meres5, W
  30. ADDWF osszegL, F
  31. BTFSC STATUS, C
  32. INCF osszegH, F
  33.  
  34. MOVF meres6, W
  35. ADDWF osszegL, F
  36. BTFSC STATUS, C
  37. INCF osszegH, F
  38.  
  39. MOVF meres7, W
  40. ADDWF osszegL, F
  41. BTFSC STATUS, C
  42. INCF osszegH, F
  43.  
  44. RRCF osszegH, F
  45. RRCF osszegL, F
  46. RRCF osszegH, F
  47. RRCF osszegL, F
  48. RRCF osszegH, F
  49. RRCF osszegL, F



És az osszegL tartalmazza az átlagot.
(#) Carter válasza potyo hozzászólására (») Dec 8, 2007 /
 
köszönöm !
(#) Carter válasza potyo hozzászólására (») Dec 8, 2007 /
 
még1 kérdés:
És az osszegL-t hogy tudnám kiküldeni a soros porton?
(#) potyo válasza Carter hozzászólására (») Dec 8, 2007 /
 
Ha minden igaz, a 16.2.1. fejezetben találod a leírást, hogy kell beállítani a soros portot. Ha az megvan, akkor egyszerűen ennyit írsz, amikor ki akarod küldeni:
  1. MOVF osszegL, W
  2. MOVWF TXREG
(#) neomur válasza Topi hozzászólására (») Dec 8, 2007 /
 
nekem elsőre elég a PIC, nem kell rögtön avr is. akkor inkább olyan picet használok aminek van elég lába hogy minden szegmens egy ic lábra menjen.
(#) Carter válasza potyo hozzászólására (») Dec 8, 2007 /
 
hol keressem ezt a leírást?
Következő: »»   112 / 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