Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   486 / 1319
(#) bladika válasza mammut hozzászólására (») Máj 19, 2009 /
 
Ahogy mondod!
(#) trudnai válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Olvasd el azt is amit potyo irt!

Amugy pedig nem figyeltel, tehat megegyszer:

Van a PORTB meg a TRISB. Mindketto 8 bites, mindkettonel ugyanaz a bit tartozik az adott labhoz... A TRISB vezerli, hogy ki vagy bemenet legyen, a PORTB pedig hogy ha kimenet akkor magas vagy alacsony szinten alljon-e ill ha bemenet akkor onnan tudod kiolvasni milyen szinten van...

Namost, az Output (kimenet) a 0, az Input (bemenet) meg az 1...

Tehat, mit fog neked eredmenyezni ha a kovetkezoket toltod be:
  1. TRISB 11110000
  2. PORTB 11110000

Tehat kerdesek:
1. Melyik bitek lesznek inputok?
2. A kimenetek milyen allapotban lesznek?
3. Trukkos kerdes: A bemenetek milyen szinten lesznek?
(#) watt válasza mammut hozzászólására (») Máj 19, 2009 /
 
Olvasd el az adatlapban, hogy milyen feszültségeket garantál a gyártó a kimeneteken az adott logikai szintekhez. Vagy mérd meg műszerrel, ha ez fontos.
(#) mammut válasza watt hozzászólására (») Máj 19, 2009 /
 
Ok! Köszi szépen!
(#) Thowra válasza trudnai hozzászólására (») Máj 19, 2009 /
 
Üdv!
  1. TRISB 11110000
  2. PORTB 11110000

Melyik bitek lesznek inputok? B4-B7 ig
A kimenetek milyen allapotban lesznek? minden kimenet alacsony szinten van
Trukkos kerdes: A bemenetek milyen szinten lesznek? nincs megadva mert a portB a kimenetre vonatkozik

Alapból az output_low(PIN_x); és output_high(PIN_x); et használnám, de így csúsznak a ki ill bekapcsolások, ezért kell az asm hoz fordulnom.
(#) trudnai válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Alapból az output_low(PIN_x); és output_high(PIN_x); et használnám, de így csúsznak a ki ill bekapcsolások, ezért kell az asm hoz fordulnom.”


Ezt nem ertem? Hol van akkor az ASM kod?
(#) icserny válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Nem szeretnék komolyabb progit csinálni egyelőre, csak a portot ki, be kapcsolni, de egyszerre több lábat. A C nél ezt csak asm utasítással tudom megtenni.”

Ha CCS-t használsz, akkor miért nem élsz a #byte, #bit, #locate, #word direktívák nyújtotta lehetőségekkel?

Például:
  1. #byte PORTA = 0x05
  2.       #byte PORTB = 0x06

(vagy ahol vannak az adatlap szerint...)

Idézet:
„set_tris_b(0b11110000); portB4 tól 7 ig kimenet”

Pont fordítva! :no:

Idézet:
„A végén lévő 4 db nulla nem zavar be ha a bemeneteket C be kezelem?”

Ha bementnek van kapcsolva, akkor mindegy neki, hogy mit írsz a kimenő adatregiszter megfelelő bitjébe.
(#) MPi-c válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Alapból az output_low(PIN_x); és output_high(PIN_x); et használnám, de így csúsznak a ki ill bekapcsolások, ezért kell az asm hoz fordulnom.”


Ha a fordítóra bízod, hogy a ki-bemeneteket állítgassa, akkor minden egyes utasításnál a TRIS regisztert is állítja és ehhez bankot is vált (már ha a használt PIC miatt kell). Ezért az egy BCF/BSF utasitás helyett mindjárt 4 utasítás lesz. Meg lehet mondani a CCS-nek is, hogy ne ő állítgassa a kimeneteket, pl. a #use fast_io(port) direktívával és a set_tris_x(value) utasítással és akkor, pl. az output_high(pin) már csak egy BSF-nek fordul és nem lesz „csúszás”.
(#) Thowra hozzászólása Máj 19, 2009 /
 
Mellékelek egy részt a progiból, a csúszás oka a sok ki/be kapcsolás. Ezt szeretném kiváltani. A kimenetek így egyszerre kapcsolnának, és nem kellene mindet egyesével.
Idézet:
„set_tris_b(0b00000001); //PORTB.0 bemenet”

Ezt ITT olvastam, rbből feltételeztem a bitek helyét. Csökkenő sorrendre gondoltam.
Idézet:
„Ha CCS-t használsz, akkor miért nem élsz a #byte, #bit, #locate, #word direktívák nyújtotta lehetőségekkel?”
Azért nem, mert nem tudtam róla

1.c
    
(#) potyo válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Azért nem, mert nem tudtam róla”


Azért, mert hiába mondjuk, hogy olvasd el az ezzel foglalkozó témákat, akkor sem olvasod el!
(#) MPi-c válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Azért nem, mert nem tudtam róla”

Mondjuk elővehetted volna a Reference Manual-t vagy elolvashattad volna a CCS topikot, ahol erről volt már szó!
(#) kisszee válasza Thowra hozzászólására (») Máj 19, 2009 /
 
CCS -be van olyan parancs, hogy "output_X(nnn)". X helyére port betűjelét írod, nnn helyére pedig unsigned char -t. Ha jól emlékszem.

Egyébként, ha már CCS, akkor "Programming 8-bit Microcontrollers in C" c. könyvet ajánlom. Ott elég sok ( lehet mind ) mintaprogram CCS -ben íródott.
(#) MPi-c válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Csináld úgy, ahogy icserny felvetette:
#byte PORTB = 0x06 - az általad hivatkozott cikkben is így van, csak az a PORTD-t használja!

Ezután a négy alsó bit bekapcsolása: PORTB=0x0f;
a kikapcsolás PORTB=0x00;
Ha csak két bitet akarsz kikapcsolni, akkor maszkolás: PORTB&=0b11110011; (látszik melyik kettőről van szó?)
(#) icserny válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Azért nem, mert nem tudtam róla”

Pedig te is megfordultál már néhányszor a CCS PIC Compiler topikban, ahonnan az előző példát idemásoltam. Ezen kívül a CCS kézikönyvét és a Helpjét is érdemes nézegetni, s van millió példaprogram is hozzá.

Leghatékonyabbnak a CCS Help tárgyszavas keresőjét tartom, én mindig ott kezdem a keresgélést, ha egy kérdés felvetődik. S a CCS-sel kapcsolatos itteni kérdések 90 %-át ötperces Help olvasással meg lehetett válaszolni...
(#) gyártó hozzászólása Máj 19, 2009 /
 
PIC-es (16LF628) fejlesztésre keresünk hozzáértőt.
Az áramkör készen van.
(#) Thowra hozzászólása Máj 19, 2009 /
 
Köszönöm mindenkinek a segítséget.

Végül kisszee output_X(nnn) javaslata tűnik megoldásnak.

A C s témát természetesen végigolvastam már és a cikkeket is.
A fordítóm helpje, mintaprogik nincsenek meg (ccs 4.038). Leszimuláltam a progit, úgy néz ki jó lesz
(#) olala hozzászólása Máj 19, 2009 /
 
Hello minedenkinek!

A kérdésem az lenne hogy a PIC-ekben van zárlat elleni védelem? Sajnos óriási hibát követtem el, és egy olyan áramkört sikerült létrehoznom a próbapanelon, amiben minden össze volt kötve mindennel és egy fél percig tápra volt kapcsolva. Szerintetek túlélte? Szoftver még nincs rajta, ma összeszereltem, holnap akartam beleégetni a programot, a kérdés már csak az, hogy lesz e mibe beleégetni.

Üdv!
(#) potyo válasza olala hozzászólására (») Máj 19, 2009 /
 
Az attól függ, hogy hová milyen feszültség jutott a zárlat következtében. Ha a bemeneteire és a tápjára nem jutott 5V-nál több, és az MCLR lábára nem jutott 13V-nál több, akkor túl kellett, hogy élje. De ez majd akkor derül ki, ha megpróbálod felprogramozni.
(#) robing16 hozzászólása Máj 19, 2009 /
 
Sziasztok!

Nagyon nagy kérdésem és kérésem lenne! Valaki nem tudna csak egy valamilyen rövid forráskódot adni, ami egy PIC-ből DMX512 vevőt lehet csinálni?!

Egyszerűen nem tudok elindulni, 2-3 forráskódot találtam, és azok olyan nyelven vannak, amit én egyszerűen nem értek! A Sima ASSEMBLER-t megértem, de már C#nyelvet nem nagyon értem!

Megvan a kapcsolás, MAX485-tel össze van kötve, csak vesz! De nem tudom, hogy lekezelni az USART-ot!

Valaki tudna segíteni? Tényleg csak 1 csatorna kellene, amit le tudok kezelni 0 vagy 255, ugye KI vagy BE, és onnantól én vinném tovább!!

Köszi előre is!
(#) olala válasza potyo hozzászólására (») Máj 19, 2009 /
 
köszi a gyors választ!
ezek után azt hiszem, hogy túlélte, legalábbis abból próbálok következtetni, hogy a zárlat nagy valószínűséggel a tápcsatlakozó után volt közvetlenül, és szerintem az áram ott gyorsan fordult egyet, és talán nem is ért el a PIC-ig. (Remélem most nem mondtam nagy baromságot a rövidzárral kapcsolatban. ) Úgy jöttem rá egyáltalán arra hogy gond van, hogy megmértem a tápcstlakozónál a feszültséget, és 5V helyett 0V-ot mértem, aztán gyors érintés a kis stabilizált 7805 IC-s tápegységemre és kicsit már forrt, akkor lekapcs és itt vagyok most.
(#) watt válasza olala hozzászólására (») Máj 19, 2009 /
 
Közben ellopták a shift billentyűt?
(#) icserny válasza Thowra hozzászólására (») Máj 19, 2009 /
 
Idézet:
„A fordítóm helpje, mintaprogik nincsenek meg (ccs 4.038).”

Atyavilág! Akkor minek használod? Megtehetnéd azt a szívességet, hogy leszeded és egy használható változatot telepítesz! Mert ennek így se értelme se haszna és a jövőre nézve sem nyújt értelmes perspektívát!

A CCS PIC Compiler topikot már ajánlottam, azt kellene figyelmesebben olvasgatni...
(#) trudnai válasza robing16 hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Egyszerűen nem tudok elindulni, 2-3 forráskódot találtam, és azok olyan nyelven vannak, amit én egyszerűen nem értek! A Sima ASSEMBLER-t megértem, de már C#nyelvet nem nagyon értem!”


Es a C# -nak mi koze van a PIC-ekhez?!

Idézet:
„Valaki tudna segíteni? Tényleg csak 1 csatorna kellene, amit le tudok kezelni 0 vagy 255, ugye KI vagy BE, és onnantól én vinném tovább!!”


Ha az a keres, hogy megtanulnad szivesen, milyen konyveke olvass el, vagy hogy konkretan ez vagy az a problemad akkor nagyon szivesen segitunk.

Ha pedig csinaltatni szeretned akkor ahogy nemreg Norberto irta a hirdetesi rovatban meghirdetheted mint szerzodeses munkat... Tenyleg nem szeretnek rossz indulatunak tunni de az ingyen munkakbol az embernek mar kicsit elege van...
(#) icserny válasza robing16 hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Valaki nem tudna csak egy valamilyen rövid forráskódot adni, ami egy PIC-ből DMX512 vevőt lehet csinálni?!”

Az miért nem elég, amit a Microchip adott az AN1076 alkalmazási mintapéldában? Adó és vevő mintaprogram is van benne, a hasznos magyarázatokról nem is szólva.
(#) potyo válasza olala hozzászólására (») Máj 19, 2009 /
 
Akkor szerintem nincs semmi baja. A szabályzó is túl kellett, hogy élje, mert van bennük túláram és túlmelegedésvédelem is.
(#) olala válasza watt hozzászólására (») Máj 19, 2009 /
 
Biztos rövidzárat kapott már az is.
Bocsi, legközelebb jobban ügyelek a használatára!
(#) trudnai válasza olala hozzászólására (») Máj 19, 2009 /
 
Idézet:
„a zárlat nagy valószínűséggel a tápcsatlakozó után volt közvetlenül, és szerintem az áram ott gyorsan fordult egyet, és talán nem is ért el a PIC-ig.”


Persze, es kozben meg a rezvezetek kozepen levo akadalyok kozott is szlalomozott egyet

Idézet:
„(Remélem most nem mondtam nagy baromságot a rövidzárral kapcsolatban.)”


A megfogalmazas volt inkabb erdekes De felre teve a temat az aram nem fordul gyorsan, hanem a fizikai torvenyeknek megfeleloen viselkedik -- folyik amerre lat, keresi a kisebb ellenallast, de azt nem lehet mondani "nem er el a PIC-ig". Legfeljebb azt, hogy a PIC-en nem folyt at merheto merteku aram...

Azzal a 7805-tel mar inkabb lehet gond, elobb teszteld le PIC es mindenfele egyeb aktiv elem nelkul hogy viselkedik... Nem tudom milyen tipus, de pl a max ill kozep terheles eseten merdd meg a feszultseget, ha van szkopod nezd meg stabil-e a feszultseg rajta stb. Kar lenne egy vacak 7805 miatt kidobnod a PIC-et...
(#) olala válasza potyo hozzászólására (») Máj 19, 2009 /
 
A tápegységet teszteltem utána és az túlélte! Az volt az első saját kis alkotásom, kár lett volna érte ha megadta volna magát. De ebből az esetből kiindulva, és a későbbieket szemelőtt tartva, csinálnom kellene valami védelmi vonalat a PIC-nek, hogy ha mégegyszer előfordulna egy ilyen baki, akkor se legyen probléma. Na meg a másik, hogy ezután az összerakott áramkörre egy mA áramot sem adok, ameddig a csipogós szakadásvizsgálóval át nem nézem, rövidzárt keresve.
(#) trudnai válasza olala hozzászólására (») Máj 19, 2009 /
 
Idézet:
„Na meg a másik, hogy ezután az összerakott áramkörre egy mA áramot sem adok,”


Hat ne is, mert 1mA az rengeteg! Jobb lenne ha lenne egy stabil labor tapod aminel az aramkorlatozast is be tudod alliitani. Ha mas nincs egy egyszeru PC tap is megteszi elso korben, abban van rovidzar vedelem es azonnal leold ha valami gond van. De meg jobb ha azt meg megfejeli az ember egy valtoztathato aram korlatozoval -- biztosan talalsz ilyenhez rengeteg leirast, meg talan itta HE-n is lattam PC tap atalakitasrol szolo topikot...
(#) potyo válasza trudnai hozzászólására (») Máj 19, 2009 /
 
Hát PC táppal nekem volt már olyan kalandom, hogy amikor tirisztorral rövidrezártam, akkor lazán elgőzölgött a tirisztor és a csatlakozó közötti ónnal megerősített nyákfólia, a táp meg simán ment tovább a géppel együtt. Szóval akkor inkább egy 7805 vagy 78L05 megkondenzátorozva és diódázva, és akkor az tényleg lekorlátoz 1,5A illetve 250mA körül, és nemis hajlamos tönkremenni...
Következő: »»   486 / 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