Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   323 / 1318
(#) szilva válasza frecsko hozzászólására (») Okt 27, 2008 /
 
628 vagy 628A? Nem mindegy, a helyes típust kell kiválasztani az MPLAB-ban!
(#) Mate78 válasza potyo hozzászólására (») Okt 27, 2008 /
 
Már kezdek rájönni. hála Neked.

ahol pl. 0x20,0X30 volt a táblázatomban ott RRCF 0x20 W, ACCESS utasítást írt be,mert 0x30 = 0011 0000 az RRCF utasítás kódja pedig 0011 00da,xxxx xxxx.Megnéztem az adatlapban,logikus már.

Akkor ez a Disassembly Listing a gépi kódból állít vissza asssembly kódot,miután assemblyből lefordította gépi kódra?

köszönet a segítségért.

üdv.
(#) frecsko válasza szilva hozzászólására (») Okt 27, 2008 /
 
628A, ez is van kiválasztva.
(#) potyo válasza Mate78 hozzászólására (») Okt 27, 2008 /
 
Na látod, csak rájöttél. Igen, azt csinálja. Akár egy hex fájlt is megnyithatsz File-->Import-al, és annak is nézheted a disassembly-jét.
(#) rhino válasza Pola76 hozzászólására (») Okt 27, 2008 /
 
lehet. a típusszámban az "L" a low voltage programming" röviditése, ami azt jelenti, hogy a program égetéséhez a korábban szokásosnál kevesebb is elég.(nem kevesebb KELL, hanem kevesebb is ELÉG) A működést nem befolyásolja, csak az égetést. A legtöbb mai procinál találsz a leírásban táblázatot, hogy mekkora feszültségnél milyen sebességre képes. Pl 20 MHz-et csak 5V-nál tud, de 512k-hoz már elég 2,4 V is. Hangsúlyozom, ez nem a proci nevéből derül ki, mert ott az "L" csak az égetési feszültségre utal.
(#) potyo válasza rhino hozzászólására (») Okt 27, 2008 /
 
Az L betű NEM a low voltage programming jelzése. Az L betű azt takarja, hogy alacsonyabb feszültségről is működőképes. A nem L jelzésűnél csak 4,2V feszültségtől garantálják a működést frekvenciától függetlenül. Míg az L jelzésű 4MHz alatt akár 2V-ról is elketyeg, 16MHz-re elég neki 3V, és 25MHz-re a 4V. Adatlapban a Figure 28-1 és 28-2 képeken láthatók a tartományok.
(#) szilva válasza vtnagy hozzászólására (») Okt 27, 2008 /
 
Nem valami ilyesmire gondolsz?

  1. void main()
  2. {
  3.    const char str[] = "abc123";
  4.    int i;
  5.    char c;
  6.    
  7.    i = 0;
  8.    while ( c=str[i++] ) putc(c);
  9. }


(#) icserny hozzászólása Okt 27, 2008 /
 
Új játék a PIC18F mikrovezérlőkhöz:

Más BASIC, FORTH stb. fordítókkal ellentétben a FlashForth 3.3 a célprocesszorn fut, egy soros porton terminállal (vagy terminál emulátorral) kommunikál, így interaktív programfejlesztést, debug-olást és futtatást tesz lehetővé.

Nem merültem még bele a részleteibe (multitasking, interrupt és online assembler használata), s a dialektust is szokni kell még. Pl. a szokásos DO..LOOP konstrukció helyett itt for..next van.

Egy kis ízelítő elemi matematikából:
  1. FlashForth V3.3 on PIC18F8722
  2.  
  3. 3 2 + . 5 ok      
  4. 3 2 min . 2 ok    
  5. 5 9 max . 9 ok
  6. -2 abs . 2 ok


Amint látható, a Forth verem-orientált, s a fordított
lengyel jelöléshez hasonló logikával kell dolgozni.
A pont kiírja a verem tetején talált eredményt, az ok pedig jelzi, hogy nem volt hiba.

A Forth felfűzött nyelv, azaz a már definált szavakból újabb definíciókat fűzhetünk össze. Az alábbi példában egy test nevű utasítást definiálunk, ami a verem tetjén talált számnak megfelelő ciklust hajt végre, s kiíratjuk a visszafelé számláló ciklusváltozót. A új szavak definíciója kettősponttal kezdődik és pontosvesszővel zárul. Utána két futtatás következik (20 ill. 5 ciklussal).

  1. : test for r@ . next ; ok
  2. decimal 20 test 2 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 ok
  3. decimal 5 test 2 4 3 2 1 0 ok


Összefoglalva: a FlasForth jó játék! Az interpretert lefordítjuk, beégetjük, s utána napokig kommunikálgathatunk a PIC vezérlővel. A 18F PIC-ek önprogramozó képességét kihasználva nemcsak a RAM-ot és EEPROM-ot, hanem a FLASH memóriát is írja/olvassa.


A words paranccsal egy impozáns listát kapunk a már definiált utasítások neveiről.
(#) potyo válasza icserny hozzászólására (») Okt 27, 2008 /
 
Idézet:
„a FlasForth jó játék!”


Szerintem az is marad, én legalábbis nem látom, hogy mire lenne ez jó? Jól értem, hogy ez gyakorlatilag egy interpreter?
(#) icserny válasza potyo hozzászólására (») Okt 27, 2008 /
 
Igen, ez egy interpreter. Charles Moore találta ki 1968-ban, s rádiótávcsövek vezérlésre használta.
A 80-as évek elején a mikroszámítógépekben is elterjedten használták, sőt, célprocesszort is fejlesztett hozzá Moore cége, amit a Harris Semiconductor továbbfejlesztett, s több NASA expedícióban is felhasználták.

Azt már írtam, hogy mi az előnye: menet közben lehet matatni a célprocesszorban, tehát flexibilisebb, mint a sima debugolás, mert újabb kódrészleteket próbálhat ki az ember újrafordítás nélkül. Egyszerűbb mérésvezérlési, adatgyűjtési feladatra tökéletes.
(#) trudnai válasza potyo hozzászólására (») Okt 27, 2008 /
 
A Forth az eszmeletlen jo dolog! Eleg jopofa dolgokat lehet vele ossza utni es meglepoen gyors az eredmeny. Eleg ha csak a forditott lengyel logikara epulo matematikara gondolunk.
(#) rhino válasza potyo hozzászólására (») Okt 28, 2008 /
 
bocsánatot kérek, hogy kezdőként ellenkeznem kell. Én bemutatok példákat, ha mégsincs igazam, természetesen fejet hajtok előtted.

PIC 16F887:
Low voltage programming: Not enabled
Operating voltage: (2V-5.5V)

majd kiszúrtam találomra egy "L"-est:

PIC16LF724

LVP: available
Operating voltage: (1,8V-5,0V*)

*Maximum speed available from 3,6V

Tehát, a 887-es NEM L-es, mégis működik már 2V-al is!(viszont nincs LVP). A másik L-es típus ugyan 2 helyett már akár 1,8-al is műxik, de van LVP.
Nem tartom valószínűnek, hogy 0,2V miatt betennének egy L betűt, annál is inkább, mert pl az 14000-as szintén nem L-es, és annak aműködési tartománya 1,8-6,5(!) V.

Persze, lehet, hogy én tévedek. És mint mondtam, akkor fejethajtok. Még azt is el tudom képzelni, hogy mindkettőnknek igaza lehet, és ezek a mindenben "Low voltage" konstrukciók: alacsonyabb feszültségen működnek (erre utal az a csillag, hogy már 3,6V-on rendelkezésre áll a maximális frekvencia), valamint, hogy az égetési feszültség is lehet kisebb.
még 1x:

Ezt, a 1f887-es pdf-jéből másoltam ki:

 Operating Current:
- 11μA @ 32 kHz, 2.0V, typical
- 220μA @ 4 MHz, 2.0V, typical

Egyébként, egyik forgalmazó szerint, az L a Low voltage operating mod-ra utal. Kifejti, hogy nem csak az L-esek képesek erre, de az L-esek biztosan. Viszont csak az L-esek LVP-sek. Tehát, az L NEM egyértelműen az alacsony feszültségű működés jele, hiszen mint látod, a 887 is tud 2V-on működni, mégsem L-es...
(#) trudnai válasza rhino hozzászólására (») Okt 28, 2008 /
 
Idézet:
„PIC 16F887:
Low voltage programming: Not enabled
Operating voltage: (2V-5.5V)”


Ezt hol olvastad?
(#) rhino válasza rhino hozzászólására (») Okt 28, 2008 /
 
"Viszont csak az L-esek LVP-sek"

Sajnos, ez a mondatom nem igaz.Én értettem félre a magyarázatot. Elnézést, ha bárkit is megtévesztettem vele...
(#) rhino válasza potyo hozzászólására (») Okt 28, 2008 /
 
Idézet:
„Az L betű NEM a low voltage programming jelzése”


Hát, sajnos jön a fejhajtás. Úgy tűnik, potyónak volt igaza, tényleg nem annak a jele. De csak részben volt igaza, ugyanis nem is annak a jele amit ő mondott, hiszen az L nélküli procik is képesek alacsonyabb feszültséggel működni (2 példát is mondtam rá). A hivatalos megnevezés szerint az "L" az " Extended Vdd range" jele.
(#) Adam1985 hozzászólása Okt 28, 2008 /
 
Hello!

A következő problémába ütköztem:
PIC18F4520-asba beleégetek egy programot (szimplán villog egy led). Az égetés sikeres, amikor viszont rákapcsolom a tápot a led nem villog. Ha azonban megfogom a földet (néha a +tápfesz-re is ez ven) az áramkör szépen működik, a led villog. Ugyanígy ha az égetőáramkört nem kapcsolom le égetés után, és úgy adok tápot, akkor is jó. Egyszerűen fogalmam sincs miért van ez, mert pl ugyanilyen áramköri elemekkel (csak a PIC-ket cseréltem ki a próbapanelon) nemrég PIC16F877A-t programoztam, és azzal nem volt ilyen gond. Valakinek van valami ötlete?

köszi
(#) watt válasza rhino hozzászólására (») Okt 28, 2008 /
 
Ezt nagyon rosszul tudod, potyo már leírta...
(#) watt válasza rhino hozzászólására (») Okt 28, 2008 /
 
Ne tetézd! Semmiben nem volt igazad... Ezt a békát be kell nyeld!
(#) kaqkk válasza Adam1985 hozzászólására (») Okt 28, 2008 /
 
Az mclr lábat felhúztad +ra? Tedd meg 1k és nem vezetget továb
(#) watt válasza Adam1985 hozzászólására (») Okt 28, 2008 /
 
MCLR láb hová van kötve?

szerk: kaqkk, bingó!
(#) Adam1985 válasza watt hozzászólására (») Okt 28, 2008 /
 
Az mclr láb 10k-n keresztül a +ra van kötve. Próbáltam 1k-val is, de semmi.
(#) watt válasza Adam1985 hozzászólására (») Okt 28, 2008 /
 
Igazából végig kérdezgethetnénk, hogy van e 100n-s kondi a táplábakon, meg ilyeneket sorba, de jobb lenne, ha a kapcsolást csatolnád pl. gif-ben, (a jpg elmossa a részleteket) kicsit gyorsabban haladnánk. Pontosan legyen rajta minden ami most a Te áramkörödön fellelhető. Ha lehet a kondik elhelyezekedését is jelöld a rajzon az alkatrész berajzolásánál(gondolok itt arra, hogy mihez és milyen közel van.)
(#) Adam1985 válasza watt hozzászólására (») Okt 28, 2008 /
 
itt a rajz.

A kapcsolásban közel vannak egymáshoz az alkatrészek, viszont a tápkábel 1 méter hosszú legalább. (abból stabilizált 5V jön)
Csak az a furcsa, hogy 16f877-tel semmi gond nem volt ugyanebben az összeállításban, és mivel a lábkiosztásuk ugyanaz, csak a picet cseréltem ki, és ez (18f4520) meg problémázik.

picc.GIF
    
(#) trudnai válasza Adam1985 hozzászólására (») Okt 28, 2008 /
 
Elso korben 22-33pF-ekkel kiserleteznek, az a 16pF eleg kicsinek tunik. Aztan lehet kellene egy soros ellenallas is - mindenesetre probald meg belso taprol jaratni a kutyut, ha ugy megy akkor mindenkepp a kristaly korul keresnem a bibit, ha ugy sem megy, akkor lehet a tapod vacakol? Ja meg valami: mindket oldalra tegyel szurest (100nF) ne egy kozoset, es a 100nF olyan kozel legyen a labakhoz amilyen kozel csak lehet...
(#) icserny válasza rhino hozzászólására (») Okt 28, 2008 /
 
Idézet:
„Egyébként, egyik forgalmazó szerint, az L a Low voltage operating mod-ra utal. Kifejti, hogy nem csak az L-esek képesek erre, de az L-esek biztosan. Viszont csak az L-esek LVP-sek. Tehát, az L NEM egyértelműen az alacsony feszültségű működés jele, hiszen mint látod, a 887 is tud 2V-on működni, mégsem L-es...”


Nem kellene keverni a dolgokat! Konkrétan USB-s PIC18F és LF összehasonlításáról volt szó, ahol az adatlap szerint az F-es típus min 4.2 V tápfeszültséget igényel. Az LF típus az, amelyik alacsonyabb tápfeszen is működik - igaz, kisebb frekvencián...

Idézet:
„a 887 is tud 2V-on működni”

Persze, de nem 96 MHz-es USB transcieverrel!
(#) szilva válasza Adam1985 hozzászólására (») Okt 28, 2008 /
 
A hosszú tápfesz miatt a PIC mellé a 100nF-dal párhuzamosan én tennék egy 10-20µF szűrést is, lehetőleg tantált. Aztán meg a PGM lábat meg kellene próbálni lehúzni a testre egy ellenállással, illetve ellenőrizni kellene, hogy a low voltage programming nincs-e engedélyezve a PIC configjában.
(#) Adam1985 válasza trudnai hozzászólására (») Okt 28, 2008 /
 
Beraktam 22p-ket, 100nF-ot mindkét oldalra, és elemekről táplálom. Így jónak tűnik.
Még szórakozok a kristály körül.
(#) Adam1985 válasza szilva hozzászólására (») Okt 28, 2008 /
 
naggyon jó! Köszi szilva meg persze mindenkinek, aki hozzászólt! A low voltage programming tényleg engedélyezve volt. Kiiktattam és működik ráadásul mindenféle szűrés nélkül.
(#) trudnai hozzászólása Okt 28, 2008 /
 
Nos, most mar biztos nem a PICkit2 valtja le az ICD2-t, hanem az ICD3 debugger...

Joval gyorsabb programozasi es debuggolasi mod az FPGA tervezesnek koszonhetoen es erosebb vonali vedelmek jellemzik - 220 dollar koruli ara nem eppen hobby penztarcahoz igazodik...
(#) watt válasza trudnai hozzászólására (») Okt 28, 2008 /
 
Nem rossz! Viszont, hogy leváltja-e, az még odébb van. Gondolok itt arra, hogy van már a DVD-nél jobb tárolás, még sem terjed úgy, ahogy szeretnék, mert a DVD úgy jó, ahogy van.
Következő: »»   323 / 1318
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