Fórum témák

» Több friss téma
Fórum » PIC - Miértek, hogyanok haladóknak
Lapozás: OK   391 / 1320
(#) watt válasza mateus hozzászólására (») Jan 18, 2009 /
 
Nekem furcsa, hogy 7405-öt használ a szerző a kapcsolásban, miközben annak kimenete max. 7V lehet, és a kapcsolásban az egyik IC kimenete 13V-ra van felhúzva. Na mindegy, ha állítólag bírja...

A 4,7k helyett jó a 4,3k is, nem ettől nem megy, ez tuti.

Próbáld ki az oshon programját, vagy a WinPIC800-at. Az IC-Progot felejtsd el, mert nem jó semmire.
(#) szilva válasza watt hozzászólására (») Jan 18, 2009 /
 
Az INTRC_IO és az INTRC_NOCLKOUT nem szinonímák? Mintha mindkettő azt jelentené, hogy nincs CLKOUT, azaz I/O-ra használható az a láb. Csak mintha PIC-enként változna, hogy hogy is nevezik ezt a módot az adatlapban...
(#) slogan hozzászólása Jan 18, 2009 /
 
Sziasztok !

Hogy tudom MPLAB -ban megoldani ,hogy ne keljen (átírás nélkül) megvárnom a delay végigfutását ?
(#) potyo válasza slogan hozzászólására (») Jan 18, 2009 /
 
1. leszoksz az olyan delay használatáról, ami olyan hosszú, hogy feltetted ezt a kérdést

2. breakpoint-ot teszel, és futtatod F9-el
(#) delmur82 válasza watt hozzászólására (») Jan 18, 2009 /
 
HÉHÉ

Mit jelent az LVP???
Már nem érzékeny a rendszer. Immunis rám a panel.
Bevallom már teljesen elkeseredtem mivel ha csak a kezem közelítettem a panelhoz (10 cm) akkor resetelt a rendszer. Amit a DS1620 érzékelő okozott mert ha kikapcsoltam a programban tehát nem olvasta és írta a PIC akkor nem volt gond. De mihelyt adatokat küldött neki máris reszetelt a rendszer.
Na 1 probléma megoldva 1000 köszönet.
De mi is ez az LVP?
(#) slogan válasza potyo hozzászólására (») Jan 18, 2009 /
 
Köszönöm szépen!
(#) delmur82 válasza szilva hozzászólására (») Jan 18, 2009 /
 
Azt nem udom hogy szinonímák -e de ha INTRC_I/O - ra állítom égetésnél akkor gond nélkül villog a led a PORTA6 - on és belső OSC -ről megy. Tuti mert nincs a panelon külső
(#) watt válasza szilva hozzászólására (») Jan 18, 2009 /
 
Jó kérdés, bevallom nem ellenőriztem le, csak az adatlapból azt gondoltam, hogy ez a két INTOSC beállítási lehetőség egyike.
De most megnéztem és az MPLAB ezt nem is értelmezi, mert ott csak ez a két lehetőség van:
INTRC_OSC_NOCLKOUT
INTRC_OSC_CLKOUT
Viszont akkor nem értem mit kavar el az égetőprogram!?
(#) watt válasza delmur82 hozzászólására (») Jan 18, 2009 /
 
Alacson feszültségű programozás engedélyezése. A PGM láb ilyenkor bekavar, mert azon keresztül lehet indítani a programozási kérést. Ez volt a problémád.

Akkor most hogy is áll a dolog?
(#) delmur82 válasza watt hozzászólására (») Jan 18, 2009 /
 
Erre akkor majd odafigyelek. Már csak a DS1620 - at kell működésre bírnom. Most pihenek. Majd jeletkezem.

Mégegyszer kössz!!!

(#) slogan hozzászólása Jan 18, 2009 /
 
Lehet ,hogy megköveztek ,de 2 napja ezzel szenvedek és nem értem !

Amúgy is csak ismerkedek a PIC -ekkel ,de ez a 12f509 másabb is mint az eddig már - már ismerős 16f84 ,vagy a 877....

Az a jelenség ,amivel nem tudok mit kezdeni ,hgy a

"movwf a1_2" sorról elugrik vissza a "movlw H'df'" sorra ,ahelyett ,hogy folytatná a delay_0 tól !

Mitől van ,mit ronthattam el ?


list p=12f509, f=inhx8m
#include "p12f509.inc"
__config _MCLRE_OFF & _CP_OFF & _WDT_OFF & _IntRC_OSC

CBLOCK
a1
a2
a1_2
ENDC

org 0

Debut
movwf GPIO
TRIS GPIO ; PortGPIO en sortie
movlw H'df'
option
START

BSF GPIO,1
CALL Delay
BCF GPIO,1
CALL Delay
GOTO START
Delay
;499994 cycles
movlw 0x03
movwf a1
movlw 0x18
movwf a2
movlw 0x02
movwf a1_2
Delay_0
decfsz a1, f
goto $+2
decfsz a2, f
goto $+2
decfsz a1_2, f
goto Delay_0

;2 cycles
goto $+1

;4 cycles (including call)
return

END
(#) trudnai válasza delmur82 hozzászólására (») Jan 18, 2009 /
 
Idézet:
„A fura az hogy én a forrásba a _INTRC_OSC_NOCLKOUT állítottam be mégis működött.
Viszont ha a WINPIC- ben átkapcsoltam NOCLKOUT - ra akkor csak egyfolytában világított a led és még instabil is lett az egész érintésre.”


Nem ismerem azt a WinPIC-et (ill nagyon nagyon regen messze messze a galaxysban hasznaltam ) szoval az a gyanum, hogy az RC_NOCLOCKOUT es az INRC_NOCLOCKOUT keveredik ossze ott valahol - marmint az elmondasod alapjan...
(#) trudnai válasza slogan hozzászólására (») Jan 18, 2009 /
 
CBLOCK
a1
a2
a1_2
ENDC

Nem adtal meg a konstans blokknak kezdo erteket, igy a specialis funkcio regiszterekben turkalsz, es az a1_2 eppenseggel a PCL lesz...
(#) slogan válasza trudnai hozzászólására (») Jan 18, 2009 /
 
Köszi !

Ez ennél a pic -nél van így ,vagy a 877 -nél is ?
Mert ott is így csináltam !
(#) trudnai válasza slogan hozzászólására (») Jan 18, 2009 /
 
A CBLOCK egy konstansok deinialasara hasznalatos direktiva. A kezdo ertekkel lehet megadni, hogy mi legyen az elso elem erteke, utana az elemek erteke novekszik:
  1. CBLOCK  0x20
  2.    a1
  3.    a2
  4.    a1_2
  5. ENDC
...ekkor az a1 0x20 lesz, a2 0x21, a1_2 0x22 stb stb stb.

Ezt a konstans definialast lehe felhasznani RAM cimek definialasara is, a kezdo ertek a RAM terulet elejenek cime. Neked kell kinezni az adatlapban, hogy a szabadon felhasznalhato terulet hol kezdodik. Van ahol 0x20, van ahol 0x70 van ahol mashol... Vannak olyan PIC-ek ahol bizonyos teruleteket lapozas nelkul ersz el, van ahol nincs ilyen sem. Mindig az adatlap arulja el, hogy ez hol lesz - ill ha mar sokat dolgoztal egy adott tipussal akkor emlekezni fogsz ra, de addig a biblia az adatlap
(#) skeletornb válasza slogan hozzászólására (») Jan 18, 2009 /
 
Célszerű mindig megadni a kezdő blokk címét, ez alapján járj el és jó lesz.
(#) trudnai válasza slogan hozzászólására (») Jan 18, 2009 /
 
Meg valami: Ha megtanulnad a relokativ programozast - ami szerintem nem nehez - akkor nem kellene a ram teruletet adatlapbol kinezni, mert az benne lesz a linker script-ben amibol majd a fordito (ill a linker) kibogarassza, hogy hol van a ram. Keress ra ebbena topicban a linker script -re, irtam valamikor arrol par szot, vagy ide is irtam egy cikkecsket angol nyelven.
(#) mateus válasza watt hozzászólására (») Jan 18, 2009 /
 
A progi szimpatikus, de sajnos alap beállításokkal nem megy, próbálgattam állítgatni, de azon kívül, hogy a két piros ledet ki be tudtam kapcsolgatni, nem változott semmi. Annyit csinál, hogy (elméletileg) töröl, kiolvas, és ellenőriz, de mihelyt betöltöm a hex fájlt és rá akarom tölteni ezt írja: ERROR -> Writing Adress 0x000000, ha viszont ki olvasom az üres pic-et akkor a progiba is minden üresre vált, és azt viszont vissza írja (legalább is úgy tűnik) , közben még az oldalon amit fentebb linkeltem, nézegettem a kapcsolást, és a beültetést, és azt vettem észre hogy a kapcsoláson van egy kondenzátor (az alkatrész jegyzéken is ott van, ezért van is itthon egy) a beültetésen viszont nincs, a 74LS05 4-es és 11-es lábát köti össze a testel, ez lehet-e probléma? Még a program beállításában szeretnék segítséget kérni. Köszönöm!
(#) watt válasza mateus hozzászólására (») Jan 18, 2009 /
 
Milyen programról beszélsz?
Arra a kondira nehéz lenne ráfogni.
(#) mateus válasza watt hozzászólására (») Jan 18, 2009 /
 
A WinPic800-ra gondolok, alap beállításokkal semmi, manuálba nem e kellene valamit állítani, a két piros ledem, ellentétessen működik, mint ahogy a programban van, tehát ha a progi úgy jelzi hogy világít akkor az égetőmön nem világít...
(#) watt válasza mateus hozzászólására (») Jan 18, 2009 /
 
Így próbáld beállítani: csatoltam a képet...
A jobb szélső Teszt oszloppal ki tudod próbálni a vonalakat. Műszerrel végig kell mérni. Az ACK akkor kell világítson, ha a data vonalat bepipálod. Közben a Vdd legyen bekapcsolva. PIC-et nem szabad rákötni közben, csak ha minden okés.
(#) delmur82 hozzászólása Jan 18, 2009 /
 
Üdv!

Nem boldogulok a DS1620 és a PIc16F628 közötti kommunikációval, pedig már átrágtam néhányszor az adatlapot. Egyszerűen a BEJOVO1 mindig 0 marad. nem változik semmit. Esetleg valaki dolgozott már ezzel a fajta kommunikációval? (data, clock, reset).
1-2 dolgot azért találtam benne amit átírtam de már nem tudom hogy mi lehet a hiba

A configurálós részbe javítottam a write config parancsot MOVLW 0x0c - re (0xac volt), illetve az adatot 00000011 - ra (00000001 volt) . De már nincs ötletem.
Az ELEJE részbe betettem egy ellenőrzést. A BEJOVO1 első bitje akkor 0 ha egész a hőméeséklet, 1 pedig ha fél
(#) Moderátor hozzászólása delmur82 hozzászólására (») Jan 18, 2009
 
Ennyire hosszú kódot a későbbiekben, legyél szíves csatolmányként feltenni, mert nem kényelmes, ha emiatt túl sokat kell görgetnie minden segítségnyújtónak.

Kösz!
(#) delmur82 válasza (») Jan 18, 2009 /
 
Bocsi!
Ok!
(#) Noja válasza watt hozzászólására (») Jan 18, 2009 /
 
Hali!

Na, itt van a kép...
Közben azért gondolkoztam, és az nem lehet gond, h a kábel kb 1,5-2 m hosszú??

wattnak.jpg
    
(#) watt válasza Noja hozzászólására (») Jan 18, 2009 /
 
Ha a soros kábel ilyen hosszú, az nem baj.
Viszont ez a prgoram nem a WinPIC800, nem ismerem.
Töltsd le - innen - hátha ezzel mész valamire.
(#) watt válasza delmur82 hozzászólására (») Jan 18, 2009 /
 
Már elmondtam mi a véleményem a RECIVE rutinról és képet is csatoltam arról, hogy mikor jelenik meg az adat. Ennek ellenére továbbra is a lefutó élnél olvasod ki a bitet, amikor még az állapota értékelhetetlen.
(#) delmur82 válasza watt hozzászólására (») Jan 18, 2009 /
 
Bocsi!

már azt is átírtam vagyis megfordítottam mind a két esetben (RECEIVE, SEND), de semmi.
(#) watt válasza delmur82 hozzászólására (») Jan 18, 2009 /
 
Lássam hogy fordítottad meg!
(#) delmur82 válasza watt hozzászólására (») Jan 18, 2009 /
 
Jelenleg itt tart a progi a változtatásokkal együtt.
Ja meg több rajzon is láttam úgyhogy beraktam egy 1K ellenállást a data vonalra.

proba1.asm
    
Következő: »»   391 / 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