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   1213 / 1225
(#) otvenkilenc válasza Máté Tibor Zoltán hozzászólására (») Márc 26, 2025 /
 
Mi a feladat? A PIC egy LCD- hajt meg. De jó volna tudni, hogy az a sok ic milyen tipusú. legalább az egyikét. Kettő 5 helyiértékes kijelző multiplex meghajtásának néz ki. A PIC belső számlálóit jelenití meg. Multiplex kijelző vezérlésnek látszik.
(#) Máté Tibor Zoltán válasza Pali79 hozzászólására (») Márc 26, 2025 /
 
A rajz a Dip Trace prorammal készült. (Minden korlátlan benne). De még egyszer megpróbáltam és most csatolom is.

w.pdf
    
(#) otvenkilenc válasza Máté Tibor Zoltán hozzászólására (») Márc 26, 2025 /
 
De mi lenne a cél?
(#) Moderátor hozzászólása otvenkilenc hozzászólására (») Márc 27, 2025
 
Kérjük, kód beillesztésénél használd a [ code] és [ /code] tag-eket!
(#) Máté Tibor Zoltán válasza otvenkilenc hozzászólására (») Márc 27, 2025 /
 
Ha feltudnék tölteni egy használható elvi tervet a PIC program megírásához kellene a segítség!
(#) Bakman válasza Máté Tibor Zoltán hozzászólására (») Márc 27, 2025 /
 
A rajz továbbra is olvashatatlan. Mennyire megy a PIC programírás és/vagy valamilyen nyelven a programozás?
(#) Máté Tibor Zoltán válasza otvenkilenc hozzászólására (») Márc 27, 2025 /
 
Szeretnék feltölteni egy használható elvi tervet! De addig is a "felső" IC csoport 74HC138 hex 3 -ról 8 kimenetre dekóder míg az "alsó" IC csoport 74HC151 8 -ról 1 kimenetre dekóder. A PIC-en belül kellene az egyik számlálót előre-hátra léptetni (0-39) és a számláló értékét HEX formátumban PORTC - re kitenni. Ezek címzik a fenti IC csoportokat. Különböző egyéb műveletekhez kellene egy másik PIC - en belüli előre-hátra léptethető számláló (0-7). Ezek pillanatnyi értékéhez lenne programozva a műveleti nyomógombok. A kimenetek PORTD jelennek meg. Ezt egy bus meghajtó küldi tovább. A nyomógombok PORTA bemeneten vannak. Mivel a PIC belső világát még nem teljesen értem, de rendelkezem PLC programozási képesítéssel ezért mindig így gondolkodom. A kijelzőn a (0-39) számláló értéke jelenne meg (1-40) formátumban valamint a visszatérő értékek. Kijelző meghajtó PORTB. A kijelzőn egyszerre lenne látható a 40 kimenet és a hozzá tartozó visszatérő érték.
(#) Pali79 válasza Máté Tibor Zoltán hozzászólására (») Márc 27, 2025 /
 
Sajnos most sem lett jobb. Próbáld meg a lapméretet nagyobbra állítani. Most A4-es, legalább A2-re, hátha úgy jobb lesz.
(#) otvenkilenc válasza Máté Tibor Zoltán hozzászólására (») Márc 27, 2025 /
 
"A kijelzőn a (0-39) számláló értéke jelenne meg (1-40) formátumban valamint a visszatérő értékek. " Ez HEX formában?


"A kijelzőn egyszerre lenne látható a 40 kimenet és a hozzá tartozó visszatérő érték."
Ha jól értem 40 kijelzőn illetve ponton szeretnéd megjeleniteni a PIC-ben lévő kettő számláló HEx értékét?
A visszatérő érték az honnan tér vissza?
(#) Máté Tibor Zoltán válasza Bakman hozzászólására (») Márc 27, 2025 /
 
Tisztelt Bakman és többi segítőkész FÓRUM tag! úgy érzem hozzátok képest nagy a hátrányom ezért egy időre eltűnök, hogy majd jobban felkészülve visszatérhessek.
(#) Bakman válasza Máté Tibor Zoltán hozzászólására (») Márc 27, 2025 /
 
Ne tűnj el, hanem kezdd az ismerkedést az elején. Segítünk abban is.
(#) Máté Tibor Zoltán válasza otvenkilenc hozzászólására (») Márc 28, 2025 /
 
Elképzelésem!
128*64 Pixel kijelzőn 20 db 5*7 pixel karakterek 8 sorban. A karakterek között 1 pixel szünet
A sorok között 1 pixel szünet
kivéve a 4. és 5. sor ahol a sor között 2 pixel szünet

1. sor kimenetek tízes 40-21 Címe: A0 - A4 PIC TIME 1 hozza létre
2. sor kimenetek egyes 40-21 Címe: A0 - A4 PIC TIME 1 hozza létre
3. sor kimenetek 1-8 PIC TIME 2 hozza létre
4. sor a visszatérő adat értéke A megcímzett egység aktuális állapota Csak egy L vagy H
5. sor a visszatérő adat értéke A megcímzett egység aktuális állapota Csak egy L vagy H
6. sor kimenetek 1-8 PIC TIME 2 hozza létre
7. sor kimenet tízes 1-20 Címe: A0 - A4 PIC TIME 1 hozza létre
8. sor kimenetek egye 1-20 Címe: A0 - A4 PIC TIME 1 hozza létre

A nyomógombok (Rafi) 2 kimenetű prellmentes Nyomásra L
Minden PIC TIME számlálónak beállítva.

PORTA.0 Bemenet S0 (A nyomógombok egyik kimenete közösítve. (Ha szükséges!)
PORTA.1 Bemenet S1 PIC TIME 1 léptetés Előre (0-39) kijelzőn (1-40)
PORTA.2 Bemenet S2 PIC TIME 1 léptetés Hátra (39-0) kijelzőn (40-1)
PORTA.3 Bemenet S3 PIC TIME 2 léptetés Előre (0-7) kijelzőn (1-8)
PORTA.4 Bemenet S4 PIC TIME 2 léptetés Hátra (7-0) kijelzőn (8-1)
PORTA.5 Bemenet S5 (lejjebb létrehozott műveletek végrehajtása)


PORTB.0 Kimenet D0 (Kijelző D0)
PORTB.1 Kimenet D1 (Kijelző D1)
PORTB.2 Kimenet D2 (Kijelző D2)
PORTB.3 Kimenet D3 (Kijelző D3)
PORTB.4 Kimenet D4 (Kijelző D4)
PORTB.5 Kimenet D5 (Kijelző D5)
PORTB.6 Kimenet D6 (Kijelző D6)
PORTB.7 Kimenet D7 (Kijelző D7)

PORTC.0 Kimenet A0 (TIME 1
PORTC.1 Kimenet A1 (TIME 1
PORTC.2 Kimenet A2 (TIME 1
PORTC.3 Kimenet A3 (TIME 1
PORTC.4 Kimenet A4 (TIME 1
PORTC.5 Kimenet A5 (TIME 1
PORTC.6 (Jelenleg nem használt
PORTC.7 (Jelenleg nem használt

PORTD.0 Bemenet Px Visszatérő adat (L vagy H)
PORTD.1 Kimenet HA S5 (L) Egy impulzus (L)
PORTD.2 Kimenet HA S5 (L) ÉS T2 (0) Egy impulzus (L)
PORTD.3 Kimenet HA S5 (L) ÉS T2 (1) Egy impulzus (L)
PORTD.4 Kimenet HA S5 (L) ÉS T2 (2) Egy impulzus (L)
PORTD.5 Kimenet HA S5 (L) ÉS T2 (3) Egy impulzus (L)
PORTD.6 Kimenet HA S5 (L) ÉS T2 (4) VAGY HA S5 (L) ÉS T2 (5) Egy impulzus (L)
PORTD.7 Kimenet HA S5 (L) ÉS T2 (6) VAGY HA S5 (L) ÉS T2 (7) Egy impulzus (L)

PORTE.0 Kimenet Gondolom a kijelzőhöz kell! De hogyan?
PORTE.1 Kimenet Gondolom a kijelzőhöz kell! De hogyan?
PORTE.2 Kimenet Gondolom a kijelzőhöz kell! De hogyan?

Az impulzus hosszt a PIC TIME 0 állítaná be.
Ez az idő nem kritikus TTL és CMOS bemeneteket vezérel.
A karaktergenerátort a PIC valamelyik nem felejtő memóriája tartalmazná.
A pic PIC16F877A (Kezdőknek ajánlott elnyűhetetlensége és sok IO miatt!)
Dolgozom egy elfogadhatóan feltölthető elvi terven és, ha kész azonnal feltöltöm.
De addig is itt van egy. Hátha megfelelő.
Addig is minden köszönetem.

Fórun(1).pdf
    
(#) Máté Tibor Zoltán válasza Máté Tibor Zoltán hozzászólására (») Márc 28, 2025 /
 
Az előző Fórum(1) -ben a kijelző Dx kimenetek sorrendje nem megfelelő! Helyesen Fórum(2) .ben

Fórum(2).pdf
    
(#) Máté Tibor Zoltán válasza Bakman hozzászólására (») Márc 28, 2025 / 1
 
Köszönöm a biztatást a segítséget! Élve az ajánlattal lejjebb már fel is töltöttem amire gondolok:
(#) KoblogPerGyok válasza Máté Tibor Zoltán hozzászólására (») Márc 28, 2025 /
 
Szia!

Írni szerettem volna neked privátban, hogy ne add fel, meg itt vagyunk, de megtették mások.

A projekt (bármi is legyen, mert nem tudom mit kell tennie pontosan) megoldhatónak tűnik. Azonban mi van meg eddig?

Csak mert:
Például a Portc 5 bitje, amit írtál nem elég a timer 1-ben lévő számláló (39-ig) megjeleníteni. Ha jól sejtem akkor 31-ig lehet elszámolni 5 biten binárisan. Szóval kell még egy bit. De csak átfutottam a dolgot, nem értem pontosan mit szeretnél. De amit láttam, abból kezdek sejteni dolgokat.

Ami a legfontosabb:
Ekkora projekthez már lehet jobb, ha szimulálással kezd neki az ember, de azt is úgy, hogy részegységekre bont mindent. A kód lehet nem is olyan nagy gond, de azért a nyomógomboknál és a számlálásoknál oda kell figyelni, ha interrupt-ok lesznek.

Szóval amit én javaslok neked:

MPLAB-X, és IPE. Én ebben írnám a programokat.
Proteus... Na, ha az ismeri ezt a PIC-et, akkor nyert ügyed van. Jobb, mint a deszka modell, mert ott kontakt hibák fognak megőrjíteni.
Logikai analizátor, ami ilyenkor sokkal jobb, mint az oszcilloszkóp, bár a modern digitális szkópok eleve tudnak ilyet.
De ha deszka modellel is csinálod, én elsőként a kijelzőnek állnék neki, mert szerintem az a mecerásabb, a többi meg majdnem sima ügy.

Ha lesz majd PIC+ kijelző, akkor az MCLR lábra még vissza kell térni kicsit.
(#) KoblogPerGyok válasza Máté Tibor Zoltán hozzászólására (») Márc 28, 2025 /
 
Mert például, ha jól láttam a rajzot:

Bővebben: Link

Akkor ilyen kijelző lenne.

Na ez SPI-n is, és 4 biten is el tud ketyegni. Máris felszabadulna pár láb esetleg. SPI-hez mennyi láb kell pontosan? Clock, Data, és a /CS láb, ha egyirányú a kommunikáció.
De ekkor ha jól emlékszem a PIC lábai fixen vannak, azaz nem minden lába lehet a PIC-nek erre a célra. Bár a dsPIC128-nál volt pin mapping-re lehetőség, de nem kellene addig belemenni.

De ha más is a kijelző, azok is SPI-n, vagy I2C-n is tudnak kommunikálni szerintem.
A hozzászólás módosítva: Márc 28, 2025
(#) KoblogPerGyok válasza Máté Tibor Zoltán hozzászólására (») Márc 28, 2025 /
 
Elsőként ennek a felélesztésével foglalkoznék, mert SPI-n lehetne kommunikálni vele, logikai analizátorral sokat lehet tanulni belőle, a másik, amit nem értek, hogy ez tartalmaz sok karaktert eleve. Neked azok nem elegek? Szerintem igen.
(#) Máté Tibor Zoltán válasza (Felhasználó 32034) hozzászólására (») Márc 28, 2025 /
 
Helló!
Egyik hozzászólásomban írtam van PLC programozói képesítésem ezért néha úgy gondolkodom. Azt hittem egyszerűbb mindent a PIC-en belül elintézni. Pl: A címet (A0,A1,A2,A3,A4,A5) a PIC belső itt TIME1 számlálója hozza létre amely a PIC-en belül valamilyen trükkel a rajzon látható módon vezérli a 40 kimenetet és a 40 bemenetet és még a kijelzőre is kiírja az értéket. (PLC -be már benne vannak a különböző átalakítók. Pl: OMRON)
Nem tudom a PIC is ugyanúgy dolgozik-e mint a PLC. A PLC -n a program állandóan fut és bemeneti változásokra reagál és hajtja végre. A kimenetet vagy egyből kiteszi a kimenetre vagy átmeneti tárolóba.
PIC nélkül hogyan oldom meg a kijelző meghajtását?
128*64 pixel amelyre vizszíntes soronként 20, függőleges soronként 8 karakter kerülne.
Ezek jelzik a 40 (4*20), (tízes, egyes) címeket valamint a 40 (2*20) művelet számot és a un. visszatérő adat (a megcímzett egység) állapotát. 40 (2*20)
A rajzban találtam egy hibát. Mivel a kijelzőn a címek értéke mindig látszik az aktuális kimenetet villogtatom.
A módosított rajzot most feltöltöm.

Fórum 3.pdf
    
(#) Bakman válasza Máté Tibor Zoltán hozzászólására (») Márc 28, 2025 / 1
 
Idézet:
„Nem tudom a PIC is ugyanúgy dolgozik-e mint a PLC. A PLC -n a program állandóan fut és bemeneti változásokra reagál és hajtja végre. A kimenetet vagy egyből kiteszi a kimenetre vagy átmeneti tárolóba.”
A PIC-ben is állandóan fut a program. A PLC-ben a processzor többé-kevésbé úgy működik, mint a PIC-ben, de a PLC programozási módok miatt az apró lépések el vannak rejtve előled. PIC-kel is megoldható hasonló programozási mód, lásd Flowcode nevű program.

A hozzászólásaidból látszik, ez lenne az első projekt PIC-kel. Tedd alacsonyabbra a lécet mert csak csalódás lesz a vége, soha nem fogsz a végére jutni. A kapcsolási rajzban is vannak hibák, már első ránézésre is. Rég foglalkoztam ilyen kijelzővel de emlékeim szerint az RS, DSB, E lábakat is kötelező használni, különben nem fog működni a kijelző.

Legyen PIC16F877A ahogy eredetileg képzelted. Talán jobb is, hogy egy régebbi, egyszerűbb kontrollerrel kezdesz, ettől szinte csak összetettebbek vannak. Szerezz be egy próbapanelt (pl.: BB-102), 5 V-os tápegységet, összekötő vezetéket (RC-40-20/MM), LED-et, ellenállást (330 Ω). PIC programozó is kelleni fog. Ha ezek megvannak, készíts egy olyan programot, amivel villogtatsz egy LED-et (0.5 mp OFF, 0.5 mp ON).
(#) Pali79 válasza Máté Tibor Zoltán hozzászólására (») Márc 29, 2025 /
 
Haladj fokozatosan, ahogyan már mások is javasolták. Majdnem napra pontosan 10 éve írtam ezt a cikket a grafikus kijelzőkről.
Bővebben: Link
Az ott leírtak simán átültethetőek a 877A-ra is. Próbáld meg ezt működésre bírni, először statikus kijelzéssel. Aztán jöhet egy gomb az egyik bemenetre, hogy lépeptni tudd a számlálót és az értékeket kiküldeni a kijelzőre. És így tovább.
(#) otvenkilenc válasza Máté Tibor Zoltán hozzászólására (») Ápr 2, 2025 /
 
Azt nem értem miért kell ennyi külső IC?
A rajz alapján azt kell gondolnom hogy van egy csak 128 x 64 bites LCD panel és azt akarod Pontmátrixban vezérelni,a külső ic-ék azért lennének?

A kijelző terv alapján 8 x 20 karaktert akarsz megjeleníteni.
A hozzászólás módosítva: Ápr 2, 2025
(#) otvenkilenc válasza (Felhasználó 32034) hozzászólására (») Ápr 2, 2025 /
 
Te biztosan tudod mit akartál mondani, de most érthetően elmondanád újra?
(#) Bakman válasza otvenkilenc hozzászólására (») Ápr 2, 2025 /
 
Tekintettel a kérdező gyakorlatára a mikrokontrollerek világában, kb. minden lehetséges. Fórumban láttam én már olyat is, hogy valaki PIC16F... kontrolleren akart USB host üzemmódot indítani.

Elsőre ránézésre inkább sok kimenet, amit a bemenetek ilyen-olyan összefüggéssel vezérelnek és mindez egy LCD kijelzőn is követhető. Portbővítési feladatok miatt vannak a kapcsolásban az IC-k.
(#) otvenkilenc válasza Bakman hozzászólására (») Ápr 2, 2025 /
 
Negyvencsatornás bemeneti adatválasztó ha jól gondolom. Kiválasztja a csatornát ami a vagy kapun a PIC egyik bemenetére vezet. Akármilyen céllal. Ezzel egy időben ugyanazon címen a kimenetre is kiadja a bemenő jelet.
(#) Pali79 hozzászólása Ápr 6, 2025 /
 

Eeprom

Sziasztok!
Az eeprom terület írásának élettartama függ attól, hogy csak egy részterültetét használom? Arra gondolok, hogy ha mindig csak az első 3-5 címet használom írásra, akkor csak az a rész megy tönkre egy idő után vagy a teljes terület?
(#) Hp41C válasza Pali79 hozzászólására (») Ápr 6, 2025 /
 
Ha mindig csak az első 3-5 címet használod írásra, akkor csak az a rész megy tönkre. A Microchip a PIC32 -khöz írt EEProm megoldást a program memória felhasználásával, amink még korlátozottabb az írási száma.
Vagy elosztod a használatot az egész EEProm tarományra, vagy külső (nagyobb újrairhatósággal rendelkező) memóriát használsz.
(#) Panhard válasza Pali79 hozzászólására (») Ápr 6, 2025 / 2
 
Használj külső FRAM-ot. Akár végtelenszer is írhatod, olvashatod.
Pl: Bővebben: Link
(#) etilalkohol hozzászólása Ápr 20, 2025 /
 

PICKIT

Sziasztok, a PIC18F8722 melyik PICKIT-el olvasható/írható biztosan, ill. ezek a KIT-ek lefele kompatibilisek (csak PICKIT-5 öt találok eladót)?
(#) Bakman válasza etilalkohol hozzászólására (») Ápr 20, 2025 / 1
 
PICKit2 is tudja írni. Távolkeleti boltokban van PK2 klón, olcsón.
(#) Chainsaw hozzászólása Máj 12, 2025 /
 

Technibel MTF84C5TAA

Üdv mindenkinek!

Van egy mobilklímám ami tönkrement sajnos. A vezérlését egy PIC látja el. Tönkrement a kompresszor reléjét kapcsoló tranzisztor és ez pokolba taszította a PIC-et, hiába cseréltem ki a tranzisztort, nem vezérli. A típusa PIC16C622A. Próbáltam kiolvasni a tartalmát, de természetesen kódvédett... Elég régi masina szóval sem alkatrészt nem kapnék hozzá, és a gyártót is feleslegesen keresném fel valószínűleg. Az lenne a kérdésem, hogy van-e rá valami mód, hogy megkerüljem a kódvédelmet, és kiolvassam a tartalmát? Egy új PIC-re írva talán működőképessé tudnám varázsolni a gépet Köszönöm előre is a válaszokat!
Következő: »»   1213 / 1225
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