Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   62 / 1319
(#) potyo válasza tibcsi hozzászólására (») Aug 8, 2007 /
 
Digitális világban nincsen olyan, hogy "nem árt". Szóval kötelező.
(#) watt hozzászólása Aug 9, 2007 / 4
 
Érzek némi félreérthető tartalmat is a bankokkal kapcsolatos kérdések éás válaszok között.
Ugye nem csak akkor kell bankot váltani 16F-eknél, ha TRIS meg ehhez hasonló regeket akarunk elérni,hanem akkor is, amikor a többi változónk RAM rekeszét akarjuk írni-olvasni.
Ez nincs másként a 18F-eknél sem, kivéve, hogy a TRIS és társai eléréséhez nem kell bankolni! A másik bankban található RAM adatainkhoz továbbra is bankot kell váltani!
Vannak trükök, hogy bankváltás nélkül elérjünk 256+128 RAM rekeszt úgy, hogy az 1-es bankra váltunk. Ekkor lesz egy 128bájt Access terület, ami az SFR területhez hasonlóan minden bankból elérhető, valamint lesz az 1-es bankunk 256bájt méretű területe amire tulajdonképpen be vagyunk bankolva. A 384bájt legtöbb esetben elegendő terület a változóinkhoz, a többi területet meg általában úgy is indirekt címzéssel szoktuk kezelni. Ha ez még sem így lenne, akkor kénytelenek leszünk tovább bankolni!
(#) tibcsi válasza potyo hozzászólására (») Aug 9, 2007 /
 
Kosz a helyrerako valaszt.
En azt ugy gondoltam, netan az Mplab nyujt valami extra szolgaltatast nekunk halando pic hasznaloknak,
amirol en nem tudtam.
Gondolok olyanra, hogy minden regisztert automatikusan felismerne forditaskor, es valtogatna a megfelelo bankokat. Termeszetesen mas esetben mikor bankot kell valtani "kezibe" meg lehetne tenni ugyan ugy mint eddig.
Lehet csenevesz gondolat?
(#) Braf hozzászólása Aug 10, 2007 /
 
Nem tudom ki van itt ilyenkor de most keztem PIC ezni és próbáltam egy LED villogtatót írni egy 16F628A RB4 es portjára de a következő hibaüzenetet kapom:
Warning[205] C:\PICPROJEKTEK\PIC.ASM 1 : Found directive in column 1. (LIST)
Warning[205] C:\PICPROJEKTEK\PIC.ASM 9 : Found directive in column 1. (ORG)
Message[302] C:\PICPROJEKTEK\PIC.ASM 13 : Register in operand not in bank 0. Ensure that bank bits are correct.

Itt a program első fele:
LIST P=16F628A
#INCLUDE "P16F628A.INC"
__CONFIG _CP_OFF&_XT_OSC&_WDT_OFF&_LVP_OFF&_MCLRE_ON&_PWRTE_ON
CBLOCK 0x20
T1
T2
T3
ENDC
ORG 0
KEZD
MOVLW B'00010000'
BSF STATUS,5
MOVWF TRISB
BCF STATUS,5
GOTO LEDON

Én átváltottam a BANK 1 be vagy mégsem?
Meg miért nézi rossznak a LIST et és az ORG ot?
(#) Topi válasza Braf hozzászólására (») Aug 10, 2007 /
 
Elrendezés beni problémája van. Assembly nyelvél be kell tartani a szókózóket is. Pl:

  1. Cimke
  2.    Utasítás Param1, Param2
  3.    Utasítás param1, param2
  4.  
  5. Másik címke
  6.    Utasítás Param1, Param2
(#) potyo válasza Braf hozzászólására (») Aug 10, 2007 /
 
Előszöris egyik sem hibaüzenet. Az első kettő figyelmeztetés, a harmadik csak üzenet.

A LIST és az ORG elé tegyé egy szóköz vagy egy tab-ot. Az első oszlopban a címkék (label) helyezkedhetnek csak el.

Amazzal meg ne foglalkozz, ha megcsináltad a bankváltást. Csak jelzi, hogy olyan regiszterrel dolgizol, ami nem a bank0-ban van, és légy körültekintő.

És hogy én is kérdezzek valamit, ezt, hogy a bankváltást BSF STATUS, 5 paranccsal kell csinálni, hol láttad?
(#) Braf válasza Topi hozzászólására (») Aug 10, 2007 /
 
Rendben elkezdek szóközölni
(#) Braf válasza potyo hozzászólására (») Aug 10, 2007 /
 
A BSF az egy megadott regiszterben (pl status) egy megadott bitet (pl 5 ami a RP0) magasra (1) állít

"RP1:RP0: Direkt címző bitek
11 = Bank 3
10 = Bank 2
01 = Bank 1
00 = Bank 0"
(#) Topi válasza Braf hozzászólására (») Aug 10, 2007 /
 
Ha már idézed az RP0, RP1-eket, akkor használd azt.
BCF STATUS, RP0
ne konstans számokat használj, megvannak azok nevesítve. Potyo kérdése inkább úgygondolom erre irányult.
(#) potyo válasza Topi hozzászólására (») Aug 10, 2007 /
 
Idézet:
„Potyo kérdése inkább úgygondolom erre irányult.”


Jól gondolod, csak kíváncsi lennék, honnan veszik az ilyen kódokat, amiben a nevesített biteket is számmal jelölik.
(#) Braf válasza potyo hozzászólására (») Aug 10, 2007 /
 
Adatlap
(#) potyo válasza Braf hozzászólására (») Aug 10, 2007 /
 
Pedig az adatlapban is az összes kódrészletben, ahol bankváltást csinálnak, mindig RP1 és RP0-t használnak, nem a bitek sorszámát. Pl. 16F628A adatlapjában example 5-1.
(#) Braf válasza potyo hozzászólására (») Aug 10, 2007 /
 
adatlap 18-19 oldalon van egy táblázat amin minden regiszter fel van tüntetve , bitek meg vannak számozva nevezve
(#) menyus hozzászólása Aug 10, 2007 /
 
Sziasztok !

Megint kérdeznék... A Topi féle futófényt átírtam 877 - ről 628A ra. Az MCLRE lábat is szeretném felhasználni mégpedig arra, hogy ha nincs hang /zaj a panel környezetében akkor az MCLRE láb testre húzásával állítsa le a program futását (reset) . Szóval egy hangra induló futófényt szeretnék kreálni. A problémám ott van hogy ha a config ban engedélyezem (MCLRE_ON) akkor a program nem is fut. Engedélyezni kell ezt + még valahol? Az MCLRE láb fel van húzva tápra 4,7 K val. Mit rontok el?

(#) potyo válasza Braf hozzászólására (») Aug 10, 2007 /
 
De ott a biteknek nevük is van. Nem azt mondom, hogy rossz, ha számokat használsz, de egyrészt a saját életedet nehezíted vele, másrészt jó eséllyel egyikünk sem fogja átnézni a kódot, ha segítségre lenne szükséged.
(#) gulasoft hozzászólása Aug 10, 2007 /
 
Hali!

Bocsi ha kicsit bugyuta lesz a kérdés, de még nincs pic égetőm (most vettem egy kitet 900Ft körüli áron, csak a trafó hiányzik hozzá (12v váltót vár a bemeneten ebből csinál 16V egyent, es az eladó rám akart sózni egy 12-es egyent, mondtam köszi, de nem ez van a leírásban)), és még nem égettem pic-et.
Szóval a kérdés:
Egérátalakítót csináltam kapcsolási rajz alapján amigához.
Volt egy eredeti átalakító 16f84 volt a lelke, és a kapcsolási rajz és az eredti átalakító az egy darab 100nF-es szűrőkondin kívül teljesen megeggyezik.
Egy ismerős megírta a PIC-et (kapcsolási rajzhoz mellékelték), és most azt vettem észre, hogy az eredeti ic-vel (kiszedtem az eredeti áramkörből) kasán működik az átalakító, míg az általunk írt pic-el csak akkor múködik, ha bekapcsolás után lehúzom a mouse portról az átalakítót, aztán visszadugom, de ha csak simán bekapcsolom a gépet, akkor a fenti műveletig nem csinál semmit.
Annyit tudok különbséget a két chip között, hogy amit mi írtunk at végig lett írva (tehát a vége tele van üressel), míg az eredeti az nem, viszont az meg védett, tehát nem tudjuk igazából milyen kód futkos benne.
Lehet hogy másik program van az eredetire töltve ugyan olyan kapcsolási rajz alapján, vagy esetleg a végigírás lehet a probléma?
(#) gulasoft hozzászólása Aug 10, 2007 /
 
Ja és ha már kérdések. Mi a különbség a
PIC16F84A-04/P
és az
PIC16F84A-04/SO
között?
(#) Stadi válasza gulasoft hozzászólására (») Aug 10, 2007 /
 
A tokozás. Lásd adatlap.
(#) Braf hozzászólása Aug 10, 2007 /
 
"Skipping link step. The project contains no linker script." ez most mi lenne? (ehez kevés az angol tudásom annyit értek hogy már megint hiányol valami mutató script et)
(#) Norberto válasza Braf hozzászólására (») Aug 10, 2007 /
 
Idézet:
„Skipping link step. The project contains no linker script.”


Magyarul: a linkelő lépés átugrása, kihagyása. A projekt nem tartalmaz linker(összefűző) szkriptet.

És ez szerintem nem valaminek a hiányolása, hanem csak egy figyelmeztető üzenet lehet...
(#) m.joco hozzászólása Aug 10, 2007 /
 
PIC16F628-at lehet égetni ezzel az égetővel???
ezzel

És nekem a gépen csak olyan soros port van(ha egyáltalán az soros port), hogy a nem lyukak vannak rajta, hanem tűk állnak ki belőle-"kan"
Olyan aljzat, mint amibe régebbi gépeken az egeret szúrták.
Az megfelel erre a célra???????
Előre is köszi
(#) Braf válasza Norberto hozzászólására (») Aug 10, 2007 /
 
Kössz rájöttem a hibára! (Az volt a baj hogy egy másik asm fájl is volt a projrktben aminek semmi köze nem volt ehez. A törlése megoldotta a problémát )
(#) Braf válasza m.joco hozzászólására (») Aug 10, 2007 /
 
Igen lehet én is ezt építettem meg tegnap.
Mindenkinek olyan soros portja van (hiszen csak az a soros port)
(#) deguss válasza m.joco hozzászólására (») Aug 10, 2007 /
 
Igen, lehet.
Hogy sikerül-e, az inkább az alaplapodtól függ. De általában szokott, vagyis csak kevés olyan számítógép van, mellyel nem lehet ilyen JDM-klónnal programozni. De élő példája vagyok rá, hogy lehet.
(#) m.joco válasza deguss hozzászólására (») Aug 10, 2007 /
 
Segítséget szeretnék kérni tőled. Ugyanis BAT48 tipusú diódáról még nem is hallottak, BC212 tranya pedig nincs az üzletben. Tudnál ezek helyett mondani valamilyen más alkatrészt??? És a BC182 helyett csak BC182B volt nekik, ez megfelel?
Köszi a segítséget
(#) potyo válasza m.joco hozzászólására (») Aug 10, 2007 /
 
Jóformán bármilyen helyettesítő megfelel, csak ne legyen PNP helyett NPN és fordítva. A BAT48 helyett meg tegyél 1N4148-at.
(#) 5cmarzo hozzászólása Aug 10, 2007 /
 
Hello
Van egy 16F876-s kontrollerem. Ki akartam próbálni az A/D portját, de nem tudtam, mert a ADRESL regisztert hibásan tölti át egy másik regiszterbe. Mindig hiányzik az 5. és 6. bit. És az az érdekes, hogy ha ADRESL regisztert a BANK váltás után a PORTB-re kiküldöm, jól működik. Érdekes, nem? Várom az ötleteket.
Hello
(#) m.joco válasza potyo hozzászólására (») Aug 10, 2007 /
 
De a BAT48 helyett biztos jó lesz a 1N4148??? Mert az nem Schottky dióda.
Én azért annyira nem értek hozzá, mondj akkor lécci pár lehetséges helyettesítő tranzisztort a BC212-re, olyat, ami biztos hogy lesz az üzletben, szóval hogy ne kelljen rendeltetni, mert az +1 hét.
Kössz
(#) potyo válasza m.joco hozzászólására (») Aug 10, 2007 /
 
Akkor pl. 1N5819-et vegyél diódának.

A BC212 helyett pl. BC307, 308, 327, 556, 557, stb.
A BC182 helyett pl. BC237, 238, 337, 546, 547, stb.

És mindegyikből jó az A, B, C jelzésű is.
(#) potyo válasza 5cmarzo hozzászólására (») Aug 10, 2007 /
 
Mutasd a kódot!
Következő: »»   62 / 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