Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   163 / 1320
(#) szilva válasza potyo hozzászólására (») Feb 28, 2008 /
 
Azon kívül nem látok "org"-ot a kódban, ez nem tudom, mennyire baj esetleg, és nem NOP az első utasítás.
(#) Sendi válasza szilva hozzászólására (») Feb 28, 2008 /
 
Helló Fiúk.

Köszönöm, majd kipróbálom.

Köszönettel.
(#) trudnai válasza Sendi hozzászólására (») Feb 28, 2008 /
 
Sendi,

Nem igazan latom a javasolt modositasokat...

1. NOP a 0-as program cimre
2. ahogy potyo mondta kondifg bitek a forrasba, ott allits be mindent, hogy esetleg mi is lassuk mi hogy van es tudjunk segiteni
3. az INC file-ben benne vannak a definiciok, miert nem hasznalod? ezek az ADCON1, 7 meg egyeb szamok eleg csunyak, masreszrol nehezebb latni mit is akarsz, hozza kell olvasni a kommentekek folyamatosan - szerencsere az legalabb van...

Amugy szerintem ennek a programnak mennie kell.
(#) Sendi válasza trudnai hozzászólására (») Feb 28, 2008 /
 
Helló trudnai.

Eddig csak az első javaslataitokat csináltam meg, így nem kérdezett rá a WDT-ra és az alacsony fesz. programozásra, mert fixen beállítottam a MPlab-ban.
A többit csak reggel lesz időm megtenni.
Azért rendesek vagytok, hogy segítetek az öreg csontnak.

Köszönettel holnapig.
(#) Sendi válasza Sendi hozzászólására (») Feb 29, 2008 /
 
Helló trudnai

Na beírtam amit ajánlottatok. El is indult.
Köszönet. De kerdésem, hogy miért kell a 0-ás címre NOP utasítás, és miért csunya az ADCON1, 7 utasítás?

Köszönettel.

adc876.asm
    
(#) watt válasza Sendi hozzászólására (») Feb 29, 2008 /
 
Idézet:
„miért csunya az ADCON1, 7 utasítás?”

Mert minden bitnek van neve. Ennek az ADFM. Még megjegyzést sem kell mögé írni, mert eleve szemléletes!

Idézet:
„miért kell a 0-ás címre NOP utasítás”

Valószínű azért, hogy nehogy egyből elugorjon a reset után a program, mielőtt a debugger átvenné a stafétát. Egyébként meg azért, mert az adatlap ezt írja, bár ez nem valami kielégítő válasz, viszont helytálló.
(#) trudnai válasza Sendi hozzászólására (») Feb 29, 2008 /
 
Orulok, hogy sikerult, Sendi!

NOP azert kell az elejere, mert nem a break pointoknal all meg az emulator, hanem amogotti utasitasnal. Namost 877-nel valahogy trukkosen oldottak meg a lepesenkenti vegrehajtast - ha jol sejtem break pointokkal - es igy ha az elso utasitas nem NOP akkor nem kepes megallni, nem kepes debugba allni - ennel pontosabb infot nem sikerult eddig talalnom, talan mas tud bovebb infot?

Megjegyzem sokszor inkabb szimulatort hasznalok mint hardver emulatort, mivel ott ilyen gondok nincsenek - ott meg sajnos az aramkori elemek hianya miatt hibas aramkorbol adodo mukodesi zavarok nem talalhatoak meg, az csak algoritmus elemzesre jo ertelem szeruen.

"BCF ADCON1, 7" azert csunya, mert igy ranezel es el kell gondolkodnod mi is volt a 7. bit? Ha ehelyett azt irod, hogy: "BCF ADCON1, ADFM" akor mar konnyebb emlekezni mi is volt az. Mikor irod a programot is konnyebb ezekre a nevekre emelkezni, minthogy ujra es ujra kisilabizalni hogy akkor a 7. vagy a 6. bit volt az - es ha veletlen rosszat irsz be hiaba irod a megjegyzeshez, hogy az mi, attol a programod ugyanugy a rossz bitet torli...

Nezd meg az "MPASM Suits\p16F877a.inc" filet, abban vannak a definiciok, te be is inkludalod a kododba. Ilyen blokkokat talalsz, hogy lasd a definiciokat:

  1. ;----- ADCON1 Bits --------------------------
  2.  
  3. ADFM                         EQU     H'0007'
  4. ADCS2                       EQU     H'0006'
  5. PCFG3                       EQU     H'0003'
  6. PCFG2                       EQU     H'0002'
  7. PCFG1                       EQU     H'0001'
  8. PCFG0                       EQU     H'0000'

(#) Sendi válasza trudnai hozzászólására (») Feb 29, 2008 /
 
Helló trudnai.
Igen világos amit írtál. Köszönöm, megint tanultam egy kicsi.
Az hogy egy bitre utalok a nevével, ez mindig érvényes? pl. egy portnál írhatom hogy PORTA, A0 vagy csak PORTA,1

Köszönettel.
(#) bbalazs_ válasza Sendi hozzászólására (») Feb 29, 2008 /
 
De nem egyszerubb definialni magat a labat vagy regiszterbitet?
pl.

#define lcd_clk porta,5

(#) trudnai válasza bbalazs_ hozzászólására (») Feb 29, 2008 /
 
Dehogynem, ha megnezed a standard include file-okat, ott inabb a specialis file regiszterek (SFR) vannak definialva, hogy azokat neked mar ne kelljen kulon definialnod.

Portoknal vegulis mindegy, irhatsz PORTA,0-t is akar, mindenki tudja, hogy az a 0. bitje a PORTA-nak... De ha van egy alkalmazasod, akkor egyszerubb es konnyebb is kesobb magadnak definialgatni, szoval ha

#define lcd_clk porta,5

van akkor kesobb eleg

bcf lcd_clk -t irni...

Kesobb ha ez atkerul egy masik portra vagy labra, akkor a definiciot megvaltoztatod de a programod marad valtozatlan... konyebb is igy karban tartani a programodat!
(#) Krisz03 hozzászólása Feb 29, 2008 /
 
Hali!

A Brenner8 USB-s égetőmet még nem tudtam megvizsgálni, de jött egy ötletem az LPT portos Oshon-nal kapcsolatban.
Ennek ugye kell külső táp, de azt én inkább a gép USB portjáról szeretném biztosítani. Találtam is egy ilyet. IC van nekem, szóval ezzel nem lehet gond. Szerintetek ez használható lenne?
(#) potyo válasza Krisz03 hozzászólására (») Feb 29, 2008 /
 
Ha van IC-d, akkor használható, a 12V elég szokott lenni az égetéshez. Ha ellátogatsz watt oldalára, ott is találsz többféle megoldást is ugyanerre.
(#) Krisz03 válasza potyo hozzászólására (») Feb 29, 2008 /
 
Köszi a gyors válasz!
Igen, néztem az oldalát, de az ott lévőhöz úgy tudom, hogy sokkal több alkatrész kell. Meg olyan IC-m nincs...
Még egy kérdés ezzel a kiegészítő Step-Up-pal kapcsolatban: Az Oshonban ugye a Vpp-re 13.5V van kapcsolva. Mivel 13V nem lesz ott még, így akkor gondolom csak 5V jöhet szóba, és azt kell kapcsoltatni a tranyóval ennek az IC-nek a "SHDN" lábára. Jól gondolom?
(#) watt válasza Sendi hozzászólására (») Feb 29, 2008 /
 
Idézet:
„Az hogy egy bitre utalok a nevével, ez mindig érvényes?”

Amennyiben a megfelő nevet használod igen! Az inc fájlban meg kell nézni milyen neveket fogad el. Egyébként PORTA,RA0 ha jól emlékszem...

A másik amit bbalazs írt! definiáld a kivezetéseket a saját nevüket adva címkének, és arra hivvatkozva csak annyit kell írni a programban, hogy a példánál maradjak:
BCF lcd_clk
És máris Low szintű lesz az LCD órajelvezetéke, ami a PORTA 5. bitjére van kötve....
(#) potyo válasza Krisz03 hozzászólására (») Feb 29, 2008 /
 
Inkább úgy csináld, hogy ez az átalakító folyamatosan állítsa elő a 12V-ot, és ezt a 12V-ot kösd az oshon égetőben arra a pontokra, ahol ott a 13,2V jelzés található. Egyébként ha nem lenne elég a 12V, akkor köss be 1-2 diódát a katódjukkal a Vout láb felé a MAX732-nél, ezzel megemeled a kimeneti feszültséget.
(#) Sendi válasza watt hozzászólására (») Feb 29, 2008 /
 
Helló watt és trudnai.

Köszönöm a segítségeteket. Eddig én az egyszerübb programok elemzésével és az itt olvasottak alapján gondolkodtam.
Most már ezeket is tudom.
A korábban feltett 877-e a/d program is csak arra kellett hogy megnézzem, és kipróbáljam, hogy hogyan kell beállítani a paramétereket.
Én így tanulok, erre van lehetőségem.

Mégegyszer köszönöm a segítségeteket, egy kicsit megint előrébb jutottam.
És ami a lényeg, hogy a valóságban is működik. (még nekem is)

Köszönettel.


(#) Maul hozzászólása Feb 29, 2008 /
 
Na megépítettem az oshon féle párhuzamos-port programozót egy próbapanelen, de nem akar működni. Multiméterrel megnéztem a feszültségeket az ic lábánál, mindegyik pontos (vpp 13,25 v, minden más 5v, amennyiben a programban rákapcsolom a feszt). Az egyetlen gyanús dolog, hogy ha rányomom a data out-ot és a clockot, akkor jön data in jel, pedig azt hittem, a clocktól nem kéne. Ennek gondolom köze lehet a nemműködéshez. Mi okozhatja ezt?

Előre is köszi
(#) potyo válasza Maul hozzászólására (») Feb 29, 2008 /
 
Idézet:
„Mi okozhatja ezt?”


Pl. zárlat vagy elkötés.
(#) eSDi válasza Maul hozzászólására (») Feb 29, 2008 /
 
Üdv!

Ha megnézed a kapcsolást, akkor láthatod, hogy a DATA Out és a DATA In össze van kötve. mivel soros adatátvitel van és ezen bellül kétirányú a kommunikáció. Tehát ez igy tökéletesen jó. Az hogy miért nem működik, azt nem tudom... lehet a BIOS-ban engedélyezni kell a kétirányú kapcsolatot a párhuzamos portra... de lehet, hogy valamit elkötöttél.... nézd át hogy nincs e valami hiba.
(#) Krisz03 válasza potyo hozzászólására (») Feb 29, 2008 /
 
Ok, világos! Így fogok tenni.
Köszi szépen!
(#) Krisz03 válasza szilva hozzászólására (») Feb 29, 2008 /
 
Hali!

Szóppal megvizsgáltuk a kitöltési tényezőt.
Ez kb 25%, amikor csak egyszerűen rádugom az égetőt az USB-re. Ha bekapcsolom a Vpp-t, akkor a fesz leesik, de a kitöltési tényező marad 25%.
Ha az US-Burn-ben módosítom a kimeneti feszt, akkor felmegy kb 50%-ra (beállítás közben be van kapcsolva a Vpp), ha kikapcsolom, akkor a fesz felmegy 14-15V-ig, de vissza is áll 12V-ra. Ilyenkor visszaesik 25%-ra. Ha újból bekapcsolom a Vpp-t, akkor lesik a fesz, de marad 25%.
(#) Maul válasza eSDi hozzászólására (») Feb 29, 2008 /
 
Csak azt nem értem, hogy ha vdd és vpp nincs rajta, a clock és a data out miért hoz létre data in jelet. Vagy ez normális?

Most szerintem újra összerakom az áramkört 0-ról, bár már annyiszor átnéztem, hogy nem hinném, hogy hiba van benne.
(#) menyus hozzászólása Feb 29, 2008 /
 
Sziasztok!

Kérdezném nincs e valami linketek ahol az RS232 működése részletesen le van írva? Egy GSM modulba szeretnék adatot (AT command / ASCII) küldeni (csak küldeni). De ezt a soros dolgot nem értem egyelőre, az egyértelmű hogy a modul RX bemenetére kell küldenem az adatot a TX ről, az órajelet a PIC adná, de hogy hogyan állítom be pl a kapcsolat sebességét, meg hogyan vezéreljem az LE bemenetet, paritás bit...stb. Nem igazán értem, ehhez kéne valami irodalom. Topi cikkét olvastam de ott részleteiben nincs leírva a működés csak a különböző szabványokat taglalja.

Köszi
(#) potyo válasza menyus hozzászólására (») Feb 29, 2008 /
 
Az, hogy a paritásbitet, sebességet hogy állítod be, azt a pic adatlapjában kell megnézned. A modul egy adott sebességen várja/küldi az adatokat, a pic-nek kell hozzá alkalmazkodnia.

Az LE az gondolom valami Latch Enable akar lenni, azt a programodból kell vezérelned. Hogy mikor hová kell állítani, azt pedig a modul dokumentációjából kell kikeresned.

Egyébként pl. itt van egy leírás, de a kérdésed alapján neked nem ez kell: Link
(#) kobold válasza menyus hozzászólására (») Feb 29, 2008 /
 
Töltsd le a Microchip-től az AN774 segédletet, ez a doksi elég jó áttekintést ad a PIC-ek USART moduljáról, az adott IC adatlapjával együtt szerintem minden "fehér folt" lefedhető.
Az LE funkciója valószínűleg a modulba történő adatbevitel engedélyezése (meg kell nézni a modul adatlapját), és vagy a küldés kezdete előtt kell megfelelő (vételi) szintbe állítani, vagy küldés után billenteni rajta egyet, én látatlanban az elsőre tippelek. Átvitel közben biztosan nem kell macerálni, ha mégis, az csakis azért cumi, mert meg kell írni a küldő rutint, a PIC moduljának használata helyett; erre az AN555-ös segédletben találhatsz egy példát is.
(#) menyus hozzászólása Feb 29, 2008 /
 
Köszönöm a válaszokat, nekifutok hátha nem vérzek el rajta ( ) . Az LE az "load enable" de hogy mennyi időre kell átbillenteni...? Átrágom az modul adatlapját...
(#) potyo válasza menyus hozzászólására (») Feb 29, 2008 /
 
Így látatlanban azt mondanám, hogy a LE azért kell, hogy amikor az szintet vált (mondjuk felfelé), akkor a modul törli a bemenő pufferét, és azután ahogy érkezik az adat, tölti fel a puffert. Amikor az adatnak vége, akkor az LE szintet vált lefele, aminek hatására a modul tudja, hogy nincs több adat, ami bejött, azzal kell valamit csinálnia.
(#) Krisz03 válasza potyo hozzászólására (») Márc 1, 2008 /
 
Idézet:
„Egyébként ha nem lenne elég a 12V, akkor köss be 1-2 diódát a katódjukkal a Vout láb felé a MAX732-nél, ezzel megemeled a kimeneti feszültséget.”


Lehet, hogy nagyon értetlen vagyok, de az anódot hova kössem? Ugye ne a kimenetre?
(#) watt válasza Krisz03 hozzászólására (») Márc 1, 2008 /
 
Nincs olyan PIC, aminek nem elég a 12V, legalább is én még nem találkoztam olyannal!
(#) Krisz03 válasza watt hozzászólására (») Márc 1, 2008 /
 
Akkor nem bonyolítom.
Tényleg, mekkora áram kell a Vpp-hez égetéskor? Mert ez a kapcsolás így kb 120-150mA-t tud leadni, amiből egy keveset, de azért elvisz a LED.
Következő: »»   163 / 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