Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   426 / 1320
(#) icserny válasza Csaplar hozzászólására (») Márc 5, 2009 /
 
Idézet:
„Igen, csak ezt nem lehet kötni PC-hez ha jól látom. Én meg pont azt szerettem volna.”

Megjegyzem, erről a szándékodról mélyen hallgattál eddig!
Meg arról is, hogy milyen pontossággal szeretnél mérni, és milyen gyakorisággal?

Egy PIC-nek a PC-hez kötése nem nagy ügy, vannak rá kész receptek. (Soros porthoz, USB-UART átalakítóhoz, vagy USB-hez).

A PIC-ben levő ADC-vel 10 vagy 12 bit pontossággal tudsz mérni (ez 3, illetve 3 1/2 digit), s felváltva akár több csatornán is. Ha ennél pontosabb mérés kell, akkor külső ADC kell. Például a Linear Technology LTC2400 ADC-je 24 bites, de másodpercenként csak kb. hétszer lehet kiolvasni. SPI kimenete van, tehát egy ilyen IC, meg egy feszültségreferencia IC megy egy PIC4550 vagy 2550 megoldja a DC voltmérést egy méréshatárrra és a PC-hez csatlakozást USB-n.

A bonyodalom itt kezdődik: jelkondicionálás, bemeneti túlfeszültség-védelem, méréshatár és üzemmódváltás. De ez sem ördöngősség... Viszont a bemeneti osztókat, műveleti erősítőket is az elérni kívánt pontossághoz kell igazítani.
(#) bbalazs_ válasza hop hozzászólására (») Márc 5, 2009 /
 
Olyan sok sajat regisztered nincs, a w az egyetlen.
Ha viszont ez alatt mem-mem mozgatast ertesz,akkor ha jobb pic-ed van, akkor a movff-el, ha kevesbe, akkor eloszor betoltod a w-be a membol, aztan kiirod a w-bol a masik membe.
movf source,w
movwf destination

A pic adatlapjaban ott talalod az osszes utasitas leirasat, csak meg mielott vegigmennenk rajtuk...
(#) icserny válasza hop hozzászólására (») Márc 5, 2009 /
 
Érdemes végigböngészni az adatlapban az utasításkészletet!

  1. movf e,w
  2. movwf PORTB


A movf e,w utasításnak van egy egyszerűsített alakja, ha az MPASM-ot használod:

  1. movfw e
(#) hop válasza icserny hozzászólására (») Márc 5, 2009 /
 
Köszönöm mindkettőtöknek a választ!
Gyakorlatilag erre voltam kíváncsi. Ezek szerint a 16-os sorozattal csak a w regiszter közbeiktatásával tudok mem-mem tartalom mozgatást megoldani.
(#) hop válasza bbalazs_ hozzászólására (») Márc 5, 2009 /
 
Nem szükséges az összes utasítást részletezni csak meglehetősen hiányos angoltudásom miatt az értelmezéssel vannak gondjaim
(#) potyo válasza hop hozzászólására (») Márc 5, 2009 /
 
Meg valljuk be, olvasni se szeretsz, mert már itt a témában "néhányszor" be volt linkelve ez az oldal: http://www.freeweb.hu/t-t/elokep/pic/felhkk.htm
(#) Csaplar válasza icserny hozzászólására (») Márc 5, 2009 /
 
És mi lenne ha vennék egy átlagos multimetert, szétszedném, és a kapcsolójára, valamint a kijelzőjére rákötném a pic lábait?

Azt nem tudom, hogy a kijelzőhöz milyen jelek mennek és azt mennyire könnyű kezelni a pic-kel...

Egyáltalán kivitelezhető a dolog?
(#) icserny válasza hop hozzászólására (») Márc 5, 2009 /
 
Idézet:
„Ezek szerint a 16-os sorozattal csak a w regiszter közbeiktatásával tudok mem-mem tartalom mozgatást megoldani.”

Ez elég nyilvánvaló, hiszen a 14 bites utasítás-szóban hogyan is férne el az utasítás mellett két memóriarekesz címe?

(#) hop válasza potyo hozzászólására (») Márc 5, 2009 /
 
De, szeretek olvasni, de ezzel a linkkel speciel nem találkoztam, sőt bevallom a topic 850 oldalát sem olvastam végig.
(#) hop válasza icserny hozzászólására (») Márc 5, 2009 /
 
Ez valóban triviális, és meg sem fordult a fejemben. Programozok már több mint 20 éve, de az assembly-hez egészen más gondolkodásmód szükséges.
(#) watt válasza Csaplar hozzászólására (») Márc 5, 2009 /
 
Ez elég jó ötlet. A PIC A/D bemenetét a multiméter kijelzését biztosító IC-jének a bemenetéhez kellene bekötnöd. Lehet, hogy némi szintillesztést is kéne csinálnod egy OPA-val. Tényleg jó ötlet!
(#) watt válasza hop hozzászólására (») Márc 5, 2009 /
 
Ezért lenne érdemes az adatlap alapján jobban megismerned a PIC felépítését. A parancsok szépen részletezve vannak. Nagyon egyértelműek, és mindent elmondanak a lehetőségekről. Sok sikert!
(#) icserny válasza Csaplar hozzászólására (») Márc 5, 2009 /
 
Idézet:
Azt nem tudom, hogy a kijelzőhöz milyen jelek mennek és azt mennyire könnyű kezelni a pic-kel...”

Még én vagyok így vele...

Idézet:
„Egyáltalán kivitelezhető a dolog?”

Hogy menyire komplikált az a kapcsolási rajz ismeretében dönthető el. Nekem pl. KAD7001 típusú IC van a multiméterben, ehhez nincs adatlap. Most akkor mit, hova kötnél?
(#) bbalazs_ válasza hop hozzászólására (») Márc 5, 2009 /
 
Nem nem es nem! Az assembly PONT ugyanolyan lienaris programnyelv, mint a tobbi. Csak flexibilisebb. Viszont a PIC harverkozelibb, mint barmelik mas computer, ezert a nyelv is jo, ha hardverkozeli.
(#) watt válasza icserny hozzászólására (») Márc 5, 2009 /
 
Az osztók után valahol kell lennie egy olyan pontnak, ahol előáll a mérendő jel. Oda kell egy illesztőt tenni, és a PIC-el kiértékelni. Az egyszerűbb multiméterek talán csak egy A/D átalakítót és egy kijelzőt valamint az oszókat+kapcsolókat tartalmazzák. Átalakításra venni nem is érdemes komolyabbat. 500...1000Ft-ot pedig akár meg is érhet egy közepesen pontos ellenállás hálózat. Persze el tudok képzelni olyan belső felépítésű multit is, amivel ez nem megoldható(automata méréshatárváltós példányok pl.), nem ilyet kell választani.

Viszont egy mutatós műszer szóba jöhet!
(#) skeletornb válasza watt hozzászólására (») Márc 5, 2009 /
 
És ha csak a multiméter kijelzőjének tartalmát vessszük le és küldjük a PCnek? Továbbá, ha nem automata méréshatárváltós, meg lehetne oldani azt is, hogy PC-ről kapcsoljuk a multimétert. Gyakorlatilag a multiméter meghosszabbított kezelőfelületét kapjuk. Lehet tévedek.
(#) icserny válasza watt hozzászólására (») Márc 5, 2009 /
 
Hát ahogy ezt a rajzot megnéztem, nekem elment a kedvem...

Inkáb egy webkamera, meg alakfelismerő szoftver, ami leolvassa a kijelzőn mutatott értéket.

MY-68.png
    
(#) hop válasza bbalazs_ hozzászólására (») Márc 5, 2009 /
 
Persze azzal egyetértünk, hogy ugyanolyan lin. programnyelv mint a többi, de kötöttebbek a lehetőségek, és ehhez hozzá kell szokni, és kell ugye a gyakorlat. Jó példa az előbbi - így utólag - balga hibám.
Abból, hogy mondjuk a decfsz k,f a k memóriacím tartalmát csökkenti, arra a következtetésre jutottam, hogy a movlw k is a k memcím tartalmát mozgatja w-be. Hogy ez nem így van, magamtól 50-szeri átnézés után sem jöttem volna rá. Nektek (rutinosabbaknak) viszont rögtön feltünt a hiba.
(#) skeletornb válasza hop hozzászólására (») Márc 5, 2009 /
 
Gyakorlatilag minden parancs mozaikszó, ahogy a regiszterek elnevezése is. Szerintem nem nehéz az értelmezése.
(#) hop válasza skeletornb hozzászólására (») Márc 5, 2009 /
 
nem a mnemonik értelmezésével volt/van gondom. Az operandus mibenlétét értelmeztem rosszul.
(#) MPi-c válasza hop hozzászólására (») Márc 5, 2009 /
 
Nem tudom hol nézted, de az adatlap így írja: DECFSZ f,d illetve MOVLW k. Az utasítások előtt pedig azt is leírják, hogy ezek a kisbetűk mit jelentenek: "f: Register file address; d: Destination select... ; k: Literal field, constant data or label.
(#) trudnai válasza hop hozzászólására (») Márc 5, 2009 /
 
Idézet:
„arra a következtetésre jutottam, hogy a movlw k is a k memcím tartalmát mozgatja w-be.”


DataSheet-ben es a Help-ben is le van ez dokumentalva

Amugy azt kell nagyjabol megjegyezni a PIC assembly-vel kapcsolatban, hogy ezek a betuk miket jelentenek. Altalaban van 3 betus utasitas nev es utana 1-2-3 betu kiegeszites hogy hova vagy honnan iranyul az operandus.

L - literal, azaz konstans
W - Work, azaz munka regiszter
F - File, azaz file regiszter, ami vagy specialis, vagy altalanos (general) regiszter lehet.

MOVLW --> MOV L W --> MOV Literal to Wreg

MOVWF --> MOV W F --> MOV Wreg to File

MOVF --> MOV F --> MOV File (hogy hova, azt neked kell megadni, vagy W vagy F, tehat MOVF PORTA,w pl a W-be masol, MOVF PORTA,f az F-be, ami jelen esetben ugyanaz lesz mint a PORTA, aminek latszolag nincs ertelme, azonban allitja a flageket tehat tesztelesre kivalo, pl hogy nulla-e a PORTA tartalma.

DECF --> DEC F --> DEC File, megint meg kell adni vesszovel a celt ami w vagy f

DECFSZ --> DEC F S Z --> Na ez bonyasabb, DEC File, Skip if Zero...

es igy tovabb...
(#) Beles hozzászólása Márc 5, 2009 /
 
Bár lehet nem ide tartozik a kérdés, de végülis picel programozom az lcd-t Szóval van egy 4*20 soros lcd kijelzőm, és ha mondjuk beírok egy 16 karakteres szöveget, akkor az utolsó két karakter már a következő sorban is íródik. Értelemszerűen ha t7 karakter, akkor 3 karaktert ír a következő sorba....
(#) hop válasza MPi-c hozzászólására (») Márc 5, 2009 /
 
A k-nak nem voltam tisztában az értelmezésével, ez okozta a galibát. Illetve azzal, hogy a cblock-ban deklarált konstans egy memória cím , és nem egy memória címen lévő érték.
(#) icserny válasza Beles hozzászólására (») Márc 5, 2009 /
 
Elejtetted feltenni a kérdést, meg kifejeltetted a kérdés megválaszolásához elengedhetetlen információkat! (Pl. az LCD típuszáma..., hogy van bekötve...)
(#) bbalazs_ válasza Beles hozzászólására (») Márc 5, 2009 /
 
Szerintem rosszul inicializalod.
Ami vezerlo rajta van, azt hasznaljak a 16-osokhoz is.
(#) szigetivan hozzászólása Márc 5, 2009 /
 
Sziasztok!

Kicsit googleztam, de nem találtam használható soros portot emuláló assembly progit PIChez, nem lenne v.kinek használható linkje vagy kódja?
(#) trudnai válasza szigetivan hozzászólására (») Márc 5, 2009 /
 
Idézet:
„Kicsit googleztam, de nem találtam használható soros portot emuláló assembly progit PIChez”


Mert nem emulalasnak hivjak, hanem vagy software-es soros kommunikacios konyvtarnak (software serial communication library) vagy un. 'bitbang' technikanak - ez utobbinak nem tudom a magyar megfelelojet.
(#) watt válasza szigetivan hozzászólására (») Márc 5, 2009 /
 
A gyártó oldalán tuti hogy van!
(#) watt válasza icserny hozzászólására (») Márc 5, 2009 /
 
Hát igen, ennek én sem állnék neki. Inkább keresnék egy analog műszert és azt alakítanám át.
A kamerával az a baj, hogy a multiméter is lassú, és a kamera is az. Így nem lehetne kihasználni a gyors mintavételezésből adódó előnyöket. Én sok fesz és áram mérésére alkalmas áramkört lógattam már össze, hogy nyomon kövessek dolgokat. Még nem öntöttem végleges formába, de tervezem. Ha lesz valami belőle, talán még egy cikket is írok. Épp most 80kHz-es mintavételezéssel 10bites A/D-vel egy OBD2-es kommunikációt próbálok visszafejteni, egyelőre csekély sikerrel! (változó baud, extrém értékek...)
Következő: »»   426 / 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