Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Szerintem jo lesz a max232. Esetleg nem tudja majd a 115kbps sebesseget, de a modulnak ugysem kell ennyi.
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.)
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...
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
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
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!
![]()
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! ![]()
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...
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!
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?
Diódákkal.
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.
É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...
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.
Általában... De egy 18F458 vagy 18F4550-nek három INT lába van.
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
![]()
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.
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
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).
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 ![]() köszi a helpet ![]()
Egy PIC-hez külön TTL IC-t használni LED hétszegmenseshez, eretnekség!
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?
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:
És az osszegL tartalmazza az átlagot.
még1 kérdés:
És az osszegL-t hogy tudnám kiküldeni a soros porton?
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:
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.
|
Bejelentkezés
Hirdetés |