Fórum témák
» Több friss téma |
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 .
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
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.
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
Bocs, elfelejtettem h 628-asod van.. De igen jól mondod, az OSC-re kvarc megy.
É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.
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 )
Most még mindíg nem közölted , hogy mentek a programjaim?
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)
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.
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"
Ú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..
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.
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?...
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ű.
É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
Í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.
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
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: azt sikerült megcsinálnom. Az LM75_I2C.inc fájlban három helyen kellett megváltoztatni a slave addresst.„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...” 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.
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.
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?
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...
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.
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.
Nagyon szívesen.
Örülök, hogy müködik...
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?
Szia!
Valami hasonlóképp próbálkozz! üdv: Dávid
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..
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
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?
|
Bejelentkezés
Hirdetés |