Fórum témák

» Több friss téma
Fórum » Modulrendszerű, grafikus PIC programozás
Lapozás: OK   71 / 177
(#) aderka válasza jdani hozzászólására (») Máj 5, 2010 /
 
Te.. Most visszcsináltad amit javítottam ..

Figyelj.. Ne ezzel a ba..sággal kezdj. Töltök fel pár példaprogit, tölsd be, és teszteld azokat. Egyik egy astabil villogó, a másik futófény a B porton. Ezt töltsd bele, és teszteld. Ha nem megy akkor szólj .
(#) jdani válasza aderka hozzászólására (») Máj 5, 2010 /
 
Háde logikai alapon összehordok valamit, aminek a kimenetein megjelenik egy LOG.1, mint ahogy rajzoltam is, és megneveztem a lábakat is, akkor miért nem működik? Kel még valamit a programon belül pontosan beállítani? Az hogy msot Te megrajzolod nekem, én abból sokat nem tanulok.... Vagy igen? Hát az a futófény számomra még sokkal bonyolultabb, amit én rajzoltam
(#) aderka válasza jdani hozzászólására (») Máj 5, 2010 /
 
Azt nem akarod megérteni, hogy logikusan és szépen próbálj meg rajzolni a Parsicban. A tied egyiket se fedi. A kimeneti lábakat össze vissza nevezed el, lehetőleg te magad is belekeveredj, ráadásul előző progidban amit csatoltál, RA.6-os láb is volt. Nemtudom a datasheet-et mennyire nézegetted de RA.5 ig van .
Légyszíves nyomd bele ezt a progit amit csatoltam, teszteld. Ha megy akkor nem a szoftvereddel és beállításokkal van gond.
(#) jdani válasza aderka hozzászólására (») Máj 5, 2010 /
 
Azért neveztem el úgy a lábakat, mert elő van készítve már egy panel, amikbe így mennek sorba a LED-ek, ahogyan írtam a progiban. Én e kép szerint néztem, aholis a 15-ös láb az RA6, de akkor az nem az lesz, mivel oda a kvarc megy
(#) aderka válasza jdani hozzászólására (») Máj 5, 2010 /
 
Bocs, elfelejtettem h 628-asod van.. De igen jól mondod, az OSC-re kvarc megy.
(#) jdani válasza aderka hozzászólására (») Máj 5, 2010 /
 
És akkor végül is mi a gond, amiért az enyém nem ment? Néztem a rajzod, a kimenetre kell húzni egy kis ,,összekötő vonalat,, és úgy elnevezni. Én azt megtettem, enyém mégse működik, és mást nem látok a tiedbe, ami az enyémen nem lenne, kivéve azt a RES valamit, de az most nem szükséges.
(#) baloghzoli1 válasza jdani hozzászólására (») Máj 5, 2010 /
 
Szia
A16F628 -ban van belsö oszcillátor(int RC) tehát az RA6 és az RA7 is felhasználható i-o portnak(azért ez a neve )
(#) aderka válasza jdani hozzászólására (») Máj 5, 2010 /
 
Most még mindíg nem közölted , hogy mentek a programjaim?
(#) jdani válasza aderka hozzászólására (») Máj 5, 2010 /
 
a futófény és a villogó, az 877-esre van, azt meg nem tudom kipróbálni, mivel olyanom nincs, de amit Te módosítottál az én rajzomon, azt beleégettem, az ,,működött,,(nem sorba, és csak 2 LED villogott, de azért mert nem jól volt megírva a kimenetek)
(#) herzsolt hozzászólása Máj 5, 2010 /
 
Tudnátok segíteni, hogy hogy tudom megvalósítani a sleep üzemmódot PIC16F628 estében? Előre is köszönöm a segítséget.
(#) baloghzoli1 válasza herzsolt hozzászólására (») Máj 5, 2010 /
 
Szia a sleep modullal, de benne van a sugóban de leforditottam a guglival azért remélem érthetö
"Az ilyen tárgyú el lehet mozgatni a mikrokontroller az alvó üzemmódba.
Ha az IN-bemenet fekszik a magas szintű, akkor az alvó üzemmód be van kapcsolva, a program leáll és az oszcillátor ki van kapcsolva.
Visszaállítani a normális funkció 2 lehetőség áll rendelkezésre.

1. pozitív él az Rb0-bemenet
2. módosítására szintet RB4, RB5, Bb6 ... RB7"
(#) jdani válasza aderka hozzászólására (») Máj 6, 2010 /
 
Újra nézegetem ezt az ADC konvertert, de nemvilágos... Azért értem hogy ha elnevezem ADC0-nak, és a ,,bemenetet,,?... elnevezem RA.0-nak, akkor ha oda arra a lábra kötök egy értéket, mondjuk 4V, és akkor mi van? .... Honnan tudom, hogy mennyi az az érték? Mondjuk azt akarom, hogy egy LED kivilágítson egy kimeneten, ha az a bemenet kap 0,5V-ot. Honnan tudjam hogy ez az ADC konverteren milyen érték lesz? De még ha tudnám is, hogy ha oda 0,5V-ot kötök, akkor ott az érték 8bitben 16 lesz, és ezzel mit kezdek? ah eléri a 16-os értéket, akkor valahol egy kimeneten meg kell hogy jelenjen egy LOG.1 érték. Ez lesz az ADC jobb oldalán lévő ,,kimenet,,? Le tudnád rajzolni azt, hogy mondjuk, 0,5V-tól bekapcsoljon egy LED (egy kimenet aktív legyen) és 4V-tól inaktív egy kimenet..
(#) aderka válasza jdani hozzászólására (») Máj 6, 2010 /
 
Ha azt akarod, hogy az RA.0 analóg bemenet legyen, akkor lehúzod a DAT modult, és elnevezed ADC0-nak. Ha az RA.1-es lábat akarod analognak akkor ADC1.
Az intervallum minden esetben 0-5V ig értendő. Azaz ha 0-255 ig vesz fel valami értéket értelem szerűen ki kell számolnod mennyi mondjuk az 1 V. Az 1 az 5-nek az ötöd része, tehát a 255:5=51. Felhasználni úgy tudod például, ha leteszel egy Comparator modult. Ennek 2 bement lába van. Ráklikkelsz az egyikre, és megadod, hogy ADC0-át figyelje. Ráklikkelsz a másikra, megadod, hogy 51. Azután ráklikkelsz magára a comparator modulra, és kiválasztot a relációs jeleket. Ha azt akarod, hogy kapcsoljon fel egy led ha a bejövő jel 1V vagy annál nagyobb akkor a nagyobb vagy egyenlőt választod ki.

analog.PIC
    
(#) jdani válasza aderka hozzászólására (») Máj 6, 2010 /
 
ilyen ADC konvertert csak megadott lábakra lehet kötni, vagy akármelyik IO lábra? PL 16F628A-nál melyik lenne az? Ha bármelyik láb lehet, akkor hogy nevezem el, ha pl az RB.5-re akarom? Van az ADC0 bemenet a konverteren, és ez a bemenet a komparátoron. B ponton meg az 51-es érték. A komparátor honnan tudja hogy mi ez az 51? Onnan hogy az A ponton ADC0van, tehát a B pont is az ADC konverter értékét figyeli? ... Nem lett volna az ADC-nek egy bementet és kimenetet?...
(#) aderka válasza jdani hozzászólására (») Máj 6, 2010 /
 
628-as PICnek nincs valódi analóg bemenet, sajnos ott nemtudod használni. 874-877 ig van, ezeknek is HA MEGNÉZED AZ ADATLAPOT , láthatod, hogy az A portja analogként is használható. A többi nem. Tehát ha megadod, hogy ADC0 akkor tudni fogja a program, hogy az adott PIC ( azaz 877 ) 0. analog lábára gondolsz . Azaz az RA.0 lesz analog bemenet. Ezt jobban nemtudom elmagyarázni.
A Komparátort sokféleképp/sokmindenre használhatod. Tulajdonképpen ugyan azt csinálod mint ha müv erősítővel játszanál. Az 51 egy beállított, tulajdonképp alapjelként fogható fel, amihez viszonyít. A másik bemenete amit figyel. Az ADC0 egy folyamatosan változó érték. A relációt gondolom érted. A példaprogi amit feltöltöttem egyértelmű.
(#) jdani válasza aderka hozzászólására (») Máj 6, 2010 /
 
Értem azt hiszem Nemsoká veszek egy pár 877-est meg egy pár 628A-t és majd tesztelgetek van még most is egy jó pár dolog, ami nem világos a parcisban, de nehogy már egy hét alatt akarjam kitanulni az egészet
(#) aderka válasza jdani hozzászólására (») Máj 6, 2010 /
 
Így igaz... Itt is járd végig a létra fokait. Kezd villogókkal, futófényekkel, léptetőmotorozz, LCD kijelzőzz.. Szépen lassan mindere csináltál progit, tesztelted is, akkor majd lehet továbbvinni a dolgot.
(#) proli007 válasza aderka hozzászólására (») Máj 7, 2010 /
 
Hello!
Idézet:
„Azaz ha 0-255 ig vesz fel valami értéket”

Tegyük hozzá, hogy amennyibe az AD modul, 8 bitre van beállítva. Mert ha 16 bitre, akkor 0..1023-ig.
üdv! proli007
(#) aderka válasza proli007 hozzászólására (») Máj 7, 2010 /
 
Igen jogos ez lemaradt .
(#) Ferkógyerek válasza dcsabi hozzászólására (») Máj 9, 2010 /
 
Szia Csabi!

Csak most volt időm ismét foglalkozni a több LM75 érzékelő kiolvasásával.
Amit javasoltál első lépésnek
Idézet:
„Ha külön-külön mindkettőt helyesen huzalozva a cím átírásával ki tudod olvasni, akkor tovább léphetsz...”
azt sikerült megcsinálnom. Az LM75_I2C.inc fájlban három helyen kellett megváltoztatni a slave addresst.
A következő lépésnek azt gondoltam hogy a slave address értékét az INC fájlban, a konstans szám helyett átírom egy a Parsic által előállított bájtra pl: S3.
Így a továbbiakban a Parsicból tudnám vezérelni hogy melyik érzékelőt olvassa ki. Ehhez kellene további segítség.
(#) Ferkógyerek hozzászólása Máj 9, 2010 /
 
Sikerült még tovább jutnom.
Az LM75_AV fájlban ki lehet választani közvetlenül az érzékelő címét, csak ez a pár sor ki volt iktatva.

  1. ; Set SlaveADR
  2.         ;movlw 0        ; can be 0 or 1
  3.         ;banksel iislaveadr
  4.         ;movwf iislaveadr
  5.  
  6. ; Set Clock Mode
  7.         movlw B'00000001'        ; Address 15 - control
  8.         banksel iiadr
  9.         movwf iiadr
  10.  
  11.         movlw B'00101000' ; Control byte, see Datasheet
  12.         banksel iidata
  13.         movwf iidata
  14.  
  15.         call PCF8583WriteByte
  16.  
  17. ; Get current time
  18.         ;call PCF8583ReadClock


Ha itt a második sorban található értéket változtatom 1 és 0 között, akkor más-más érzékelőt olvas ki a program. Azt szerettem volna elérni ha ezt a kapcsolót a parsic vezérli, ezért kiegészítettem a programot pár sorral, most így néz ki.

[/code]; Set SlaveADR
movlw 1
banksel m0
btfss m0,2
movlw 0 ; can be 0 or 1
banksel iislaveadr
movwf iislaveadr

; Set Clock Mode
movlw B'00000001' ; Address 15 - control
banksel iiadr
movwf iiadr

movlw B'00101000' ; Control byte, see Datasheet
banksel iidata
movwf iidata

call PCF8583WriteByte

; Get current time
;call PCF8583ReadClock

[code=c]

De hiába változtatom a Parsicon belül M0.2 értékét, mindíg ugyanazt az érzékelőt olvassa ki a program. Hol rontottam el a dolgot?
(#) dcsabi válasza Ferkógyerek hozzászólására (») Máj 9, 2010 /
 
Amit módosítottál annak űgy nem sok hatása van...
valami olyasmivel próbálkozzál, hogy adjál egy másik szubrutin cimet Pl: set_slaveADR1
és a Parsic-ban ha egyik feltétel előáll akkor az egyik cím
állításra ugrik, ha a másik feltétel áll fenn akkor a másik cím állításra ugrik.
A MAIN.inc file-ból vehetsz példát, ahogy az írás és olvasás elkülönítése történik feltételes ugrással, -valamelyik változatban 4 db ugrást is tettem.
Természetesen a kiolvasott értéket is el kell különítened(MX modul)...
- erre már tettem javaslatot...
(#) dcsabi válasza Ferkógyerek hozzászólására (») Máj 9, 2010 /
 
Ne M0.2 nek az állását változtasd csak,(a pic mást sem fog csinálni mint I2C-t olvasni) hanem hozzál létre egy másik bitet is M0.3 (ez tartozik a másik szenzor címéhez) és ezt is célszerűen one shot kapcsolja, pár ms és kész is a kiolvasás így.

Ezeket a bit változtatásokat ismételgesd Pl: 500ms-al...
Azok a programsorok amelyek ki vannak iktatva, azok valőszínű nem kellettek...
Nem találom azokat az Inc fileket, a másik laptopomom van a teljes projekt (az meg "beteg")
Azért így konkrétumok nélkül próbálok segíteni.
(#) Ferkógyerek válasza dcsabi hozzászólására (») Máj 10, 2010 /
 
Sikerült a két LM75 kiolvasása.
Az asm rutin amit írtam jó volt, csak nem jó helyen.
Áthelyeztem és máris működött a dolog.
Ha valakit érdekel érdekel itt található az eredeti Dcsabi által írt program. Én csak az II2_1.inc fájlt módosítottam és a Parsic fájlt. A módosított fájlok a mellékletben.
Csabi köszönöm a segítséget.
(#) dcsabi válasza Ferkógyerek hozzászólására (») Máj 10, 2010 /
 
Nagyon szívesen.
Örülök, hogy müködik...
(#) jdani válasza aderka hozzászólására (») Máj 14, 2010 /
 
Ehhez mit szólsz? Egy voltmérő, természetesen pontatlan, de a gyakorlat a lényeg. A komparátor kapcsolta volna kijelzőt, de amikor az ADC érték a maxon van, akkor az 5 kijelző CF lába mindig aktív lenne, azért tettem oda egy mono-flop-ot. Viszont ha csökken az érték, akkor vissza nem ment az érték, hacsak nem kezdtem előröl. Azzal bajlódtam egy pár órát, hogy hogyan megoldani, hogy visszafele is számoljon. Mennyire bonyolult megoldást használtam? Elméletileg működne ha PIC-be égetném? 8MHz-ről a kvarc értékét át lehet írni? Mi szerint válasszam a kvarc értékét?

vmeter.PIC
    
(#) aderka válasza jdani hozzászólására (») Máj 14, 2010 /
 
Szia!
Valami hasonlóképp próbálkozz!

üdv: Dávid

VAmero.PIC
    
(#) jdani válasza aderka hozzászólására (») Máj 14, 2010 /
 
Nemértem miért küldöd nekem ezt. írtam hogy nekem nem az kell msot hogy egy működő PIC-s voltmérőm legyen, hanem a tesztelés. Sok kérdés, amit nem válaszoltál meg..
(#) aderka válasza jdani hozzászólására (») Máj 14, 2010 /
 
Valószínű félreértettem, de most sem teljesen tiszta mit is akarsz. Válaszolok amire tudok.
Mi számoljon visszafelé?
Ami szimulációban működik általában az életben is.
Olyan kvarcot használj amilyen van . Én 8MHz-eset szoktam mert az van itthon sok, így nem kell vennem. 4MHz a megszokott, ez esetben XT oszcillátor lesz. 22pF-os kondik kellenek körülbelül.
Ha még mindíg nem a lényeget mondtam, akkor fogalmazd meg úgy hogy értsem .
üdv: Dávid
(#) jdani válasza aderka hozzászólására (») Máj 14, 2010 /
 
az utolsó pár sor kérdésen kívül csak a programot írtam le, amit készítettem, hogy mivel volt gondom, mit hogy csináltam stb Beleégetem a PIC-be, a megfelelő helyre kötöm az LCD lábait, bekötöm a kvarcot, a MCLR-t fel a +ra ellenállással, és mennie kellene?
Következő: »»   71 / 177
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