Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   45 / 1320
(#) dpeti válasza Norberto hozzászólására (») Jún 19, 2007 /
 
Nekem lefordította a _BOR_OFF -ot, és pl 16f690-nél CSAK EZZEL működött...
(#) Topi válasza dpeti hozzászólására (») Jún 19, 2007 /
 
Én megnéztem az MPASM fordító helpjét és ott _BOR_OFF volt.

Kellene az oldalra egy Ring szekció... Vitás eseteket virtuális izombajnoksággal el lehetne dönteni
(#) menyus válasza Norberto hozzászólására (») Jún 19, 2007 /
 
Nálam sem működik a _BOR_OFF , csak a _BODEN_OFF .
Most próbáltam...
(#) dpeti válasza Topi hozzászólására (») Jún 19, 2007 /
 
támogatom... és az nyerne aki síkbarajzol egy K3,3 gráfot :p
(#) Topi válasza dpeti hozzászólására (») Jún 19, 2007 /
 
Vagy tegnapi dátummal létrehoz ma egy topicot
(#) dpeti válasza Topi hozzászólására (») Jún 19, 2007 /
 
vigyázz, azt még a végén megoldják :p
(#) Topi válasza dpeti hozzászólására (») Jún 19, 2007 /
 
Bízom a programozásomban... (Vakon!?!?)
(#) watt hozzászólása Jún 19, 2007 /
 
Jé modi csata van!

Komolyra fordítva, annak van igaza, aki az xxFxxxx.inc fájlokat megnézi, hogy abban hogyan van deklarálva a kérdéses szimbólum. Mivel a PIC-ek nem egyformák, előferdülhet, hogy másként neveznek bizonyos dolgokat. Sőt még hiba is lehet egy inc fájlban!

Tehát, ha nem megy, keresd az INC-ben! :yes:
(#) watt válasza menyus hozzászólására (») Jún 19, 2007 /
 
Tudod ritka, mikor valaki hasonlóan gondolkodik, mint jómagam(ezt nem szerénytelenségből írom!), ezért örömteli, mikor az történik, amit én is elképzelnék javítási menetnek, tőlem függetlenül.
Ezért igazi felüdülés volt ez a menet!

Remélem még sok jó kérdésed lesz, amire tök jól tudunk válaszolni!
(#) Prinner hozzászólása Jún 19, 2007 /
 
Észrevettem egy apró elírást a cikkben:
a 9. oldalon +5V tápfeszültség előállításáról van szó, és 7805 bemeneti feszültségtartománya 6-12V közöttinek van feltüntetve egy eagle rajzon. Az általános 7805-nek 2V a dropfesze, ezért legalább 7V ra van szüksége a megfelelő működéshez.

elmegy +6V-ról is, csak akkor 3,5-4V lenne a kimenő feszültség, de ez még elégséges a uC táplálásához
(#) Norberto válasza watt hozzászólására (») Jún 19, 2007 /
 
Idézet:
„Komolyra fordítva, annak van igaza, aki az xxFxxxx.inc fájlokat megnézi, hogy abban hogyan van deklarálva a kérdéses szimbólum.”


Én is ezért csatoltam egy részletet az előző oldalon az INC fájlból :yes:

Ott egyértelműen látszik, hogy az adott típusnál hogyan hívják a tápfesz leesését figyelő "detektort".
(#) watt válasza Norberto hozzászólására (») Jún 19, 2007 /
 
Pontosan.
(#) vzoole hozzászólása Jún 19, 2007 /
 
Hali!

Na a 18F2550-esre (SOIC) esett a választás.

Azért is mert 28 láb bőven elég, másrészt a 40 lábas SMD-nek tul sűrű a lábazása.

akkor egy gyakorlati kérdés:
-leszámítva a programozó+táp+kvarc a többi szabadon hsználahtó bármire?

Tehát hogy szokás? megtervezem a panelt ahogy a legpraktiküsabb, és majd ami ahova esik úgy programozom le a lábakat?

(semmi extra funkció nem kell, csak digit I/O)


Másik: mindkettő GND-t rá kell kötni? vagy szabadon választható praktikussági szempontból?

Köszi!

pic111.jpg
    
(#) dpeti válasza vzoole hozzászólására (») Jún 19, 2007 /
 
-leszámítva a programozó+táp+kvarc a többi szabadon hsználahtó bármire?
Igen

Tehát hogy szokás? megtervezem a panelt ahogy a legpraktiküsabb, és majd ami ahova esik úgy programozom le a lábakat?
Ugyanahhoz a dolgohoz tartozó biteket 1 portra szokás pakolni

Másik: mindkettő GND-t rá kell kötni? vagy szabadon választható praktikussági szempontból?
Igen, mindkét oldalon rá kell kötni a földet és a tápfeszt (GND, Vdd)
(#) Norberto válasza vzoole hozzászólására (») Jún 19, 2007 /
 
Idézet:
„leszámítva a programozó+táp+kvarc a többi szabadon hsználahtó bármire?”


Igen, ahogyan azt az adatlap megengedi! Ezt azért emeltem ki most, mert pl. analóg bemenetként nem minden láb funkcionálhat...

Idézet:
„hogy szokás? megtervezem a panelt ahogy a legpraktiküsabb, és majd ami ahova esik úgy programozom le a lábakat?”


Igen, általában így. De azért néha nem árt egy kis logikusságot is belevinni a témába :yes:

Pl. ha egy 8 bites adatvonalú, általános LCD-t hajtasz meg, akkor azt nyilván úgy célszerű bekötni és vezérelni, hogy az egyik PORT kompletten illeszkedjen az LCD adat- (avagy vezérlő) vonalához...

Idézet:
„mindkettő GND-t rá kell kötni? vagy szabadon választható praktikussági szempontból?”


Nem muszáj bekötni őket, de célszerű! Elméletileg a PIC-en belül össze vannak huzalozva, de biztosabb működést (és érzést :yes: ) ad, ha mindkét oldali, azonos funkciójú táplábak össze vannak kötve.
(#) potyo válasza vzoole hozzászólására (») Jún 19, 2007 /
 
Idézet:
„leszámítva a programozó+táp+kvarc a többi szabadon hsználahtó bármire?”

Igen. De arra figyelj, hogy az RB6 és az RB7 lábon keresztül programozod fel, tehát az égetőnek ezeket el kell engednie a felprogramozás után, ha áramkörben programozod.

Idézet:
„megtervezem a panelt ahogy a legpraktiküsabb, és majd ami ahova esik úgy programozom le a lábakat?”

Igen.

Idézet:
„mindkettő GND-t rá kell kötni?”

Igen.
(#) Topi válasza Prinner hozzászólására (») Jún 19, 2007 /
 
Idézet:
„Az általános 7805-nek 2V a dropfesze, ezért legalább 7V ra van szüksége a megfelelő működéshez.”


Köszönöm! Hamarosan javítom!
(#) watt válasza vzoole hozzászólására (») Jún 20, 2007 /
 
Többiek már válaszoltak, én csak kiegészíteni tudom és pontosítani:

1. Minden táplábat be kell kötni és a lehető legrövidebben kondizni(SMD legkisebb 100nF-os kondija pont befér két láb közé!)

2. Ha nem kell kvarc pontosság, akkor még a kvarc lábakat is fel tudod használni, mert van belső 8MHz-es oszci is.

3. Ha az RB6(PGC), RB7(PGD)-en keresztül progizol, akkor azokat állítsd bemenetnek, akkor nem okozhatnak bajt.
(#) menyus hozzászólása Jún 20, 2007 /
 
Sziasztok !

Újabb kérdésem lenne, ha tudnátok segíteni. A 877 es után szeretnék 12F508 at programozni. A gond már az inicializálásnál elkezdődik, mivel nem fogad el semmit amit a 877 es elfogadott. Én azt hittem az összes PIC "egykaptafa" ebből a szempontból, tehát értem ez alatt hogy az adott eszköznek megfelelő paramétereket ugyanolyan formában kell megadni mindegyik típusnál. Vagy mégsem? A másik gondom hogy a project felépítésénél (MPLAB IDE 7.0) a program hiányol, vagy (ha a 877 es nek megfelelően írom be) nem értelmez egy .inc fájlt. Ezt hol kellene találnom? Vagy milyen formában kell beírnom? Az 508 as adatlapján nem találok erre vonatkozót....(lehet hogy csak én nem...?) Az eszközöknél kiválasztottam az F508 at.
(#) potyo válasza menyus hozzászólására (») Jún 20, 2007 /
 
Idézet:
„Én azt hittem az összes PIC "egykaptafa" ebből a szempontból, tehát értem ez alatt hogy az adott eszköznek megfelelő paramétereket ugyanolyan formában kell megadni mindegyik típusnál. Vagy mégsem?”

Az egy családba tartozók között érvényes az egy kaptafa. A 16F877 és a 12F508 nem egy családba tartozik.


Idézet:
„hiányol, vagy (ha a 877 es nek megfelelően írom be) nem értelmez egy .inc fájlt. Ezt hol kellene találnom?”

Ott, ahol a többi inc fájl van: MPASM Suite mappában.
(#) watt válasza menyus hozzászólására (») Jún 20, 2007 /
 
A megfelelő inc fájlt kell kiválasztanod a programod elején. Keress rá az MPLAB könyvtárában az inc-kre, és meg fogod találni a megfelelő fájlnevet(Szerintem 12F508.inc lesz).
Azt, hogy mit fogad el a fordító, ebben a fájlban megtalálod.
(#) menyus válasza watt hozzászólására (») Jún 20, 2007 /
 
Megvan, köszönöm. "P12F508.INC" nek hívják, én PIC12F508 al meg 12F508 al próbálkoztam ezért nem volt jó.
(#) vzoole válasza dpeti hozzászólására (») Jún 20, 2007 /
 
Köszönöm a válaszokat!

"Ugyanahhoz a dolgohoz tartozó biteket 1 portra szokás pakolni"

Viszont ezt nem tudom megcsinálni mivel az kijelzőhöz 7 kimenet kell (+2)

A Port - csak 6 I/O
B Port - csak 6 I/O (8, de -PGD és -PGC)
C Port - csak 6 I/O [RC4 és RC5 csak bemenet (adatlap szerint)]
(#) watt válasza vzoole hozzászólására (») Jún 20, 2007 /
 
Nyugodtan teheted bármelyik lábra, csak nehezebb egy bájtot kitolni a szanaszét lábakra.
Ha írsz rá egy rutint ami ezt végzi, akkor tök mindeg melyik lábra mit teszel!
(#) Norberto válasza watt hozzászólására (») Jún 20, 2007 /
 
watt!

A múltkor egyébként pont ezen a dolgon gondolkoztam...

Mármint hogy valahogy lehetséges lenne-e megoldani azt, hogy ASM-ben a program elején megadnék előre egy regisztert, pl. mondjuk 0x40 címmel, és azt úgy beállítani, hogy mindenáron azt használja "kimenetként" a program...tehát "összerakosgatjuk" a portlábakból ezt a regisztert, mint egy puzzle...

Feltételezve pl. PORTA 0-3-ig legyen a 0x40-es regiszter első 4 bitje...

...aztán PORTC 2-3 legyen a következő 2 bit...

...és végül a PORTD 0-1 legyen az utolsó 2 bit a 0x04-es helyen levő regiszterben...

Tehát ilyesfajta összemixelésre gondoltam...és akkor mondjuk azt mondom programban, hogy:

movlw B'01010001'
movwf 0x40

És akkor megjelenne >>>

PORTA 0-3-ig lábakon: 0001

PORTC 2-3 lábakon: 01

PORTD 0-1 lábakon: 01

De szerintem ez így nem igazán megoldható, ha jól sejtem...csakis egy rutinnal, ahogy fentebb írtad, igaz?

Pedig milyen szép is lenne, ha lenne ilyenre lehetőség :yes:
(#) watt válasza Norberto hozzászólására (») Jún 20, 2007 /
 
Első körben azt mondanám, hogy csak rutinnal lehet, de majd gondolkodom más megoldáson.
(#) potyo válasza Norberto hozzászólására (») Jún 20, 2007 /
 
Mindenképpen szoftveresen kell a dolgot megcsinálni, és innen már mindegy, hogy magunk írunk rutint rá (pl. BTFSS/BTFSC+BSF/BCF utasításokkal), vagy egy beépített funkciót használunk. ASM-ben nem hiszem, hogy lenne beépítive, C-ben lehet ilyen mutatványokat csinálni (hogy pontosan ezt lehet-e, nem tudom).
(#) Norberto válasza potyo hozzászólására (») Jún 20, 2007 /
 
Köszi!

Igen, sejtettem, hogy ez lesz a "megoldás"...

Na nem mintha azonnal kellene használnom...csak felmerült bennem, mint lehetőség

Talán azért, mert korábbi tanulmányaim során a 8051-es családnál mintha találkoztam volna ilyesmivel...
(#) Tomee hozzászólása Jún 20, 2007 /
 
Üdv!

Én a pic guruktól kérdezném, hogy hogyan lehet piccel 10bites belső AD átalakítót használva pontosan megmérni egy feszt / hőmérsékletet.

Leírom, hogy én hogyan tettem.

Hw:
Először is én a pic A0 AD bemenetét használtam. Elé beraktam egy 74hc4051 analóg multiplexert.

Sw:
Kód részlet:
AD átalakító beállítása
bank1
movlw b'11000100'
movwf ADCON1
bank0
movlw B'10000001'
movwf ADCON0
Majd engedélyezem az átalakítást és tesztelem a Go/Done bitet.

Ez idáig mind OK!
Megvan az eredmény. Majdnem jó csak néha előfordul, hogy 1-2 értéket változik. -> Ez még elmenne.
Ezután van némi kérdésem. Hogy kell ebből a 10 bites eredményből pontos szám értéket varázsolni?
Leírom a gondolat menetemet.

2.017V-ra kapok 01A0 hexa értéket (416 dec), ja és ez 34,6 foknak felel meg.
Ebből számolok egy konstanst. 416:34,6=12,023
Ez után fogom a 416-ot és megszorzom 10-zel, hogy pontosabb konstanssal tudjak számolni a PIC-kel. Konstans ezután már 120
Utána 4160:120=34.6666

Egész: 34 => kiírom + tizedes vesszőt is utána rakom.

Maradék: 80 => elmentem a későbbi számításokhoz.

Majd az egész kiiratása után fogom a maradékot és megszorzom 100-zal.
80*100=8000, ezután 8000:120=66.6666
Egész: 66 => kiírom
A maradékokat eldobom.
És meg is van az eredményem.

Szerintetek jó ez az elgondolásom?
Kipróbáltam és működik csak nem az igazi….

Segítségeteket köszönőm.
(#) watt válasza Tomee hozzászólására (») Jún 21, 2007 /
 
1-2 értéket változni is fog, mert van mérési bizonytalansága, ami 1 digit, ha jól emlékszem.

Mit értesz azalatt, hogy nem az igazi?
Következő: »»   45 / 1320
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