Fórum témák
» Több friss téma |
Köszi hogy kipróbáltad, holnap megpróbálom én is másik áramkörrel.
Igen, tudom. Azokat is 0-ára állítottam.
Uraim kérnék egy kis megerősítést vagy lecsekkolást mert nem vagyok benne biztos, hogy jól számoltam az időzítést.
P16F684-es PIC-re 32.768KHz-s kristályt tettem 33pf-es kondikkal lekötve. Órát szeretnék készíteni és ehhez kellene a másodperces időzítés. Jelenleg itt tartok a dologgal, de igazából még mindig nem értem mire való pontosan a PR2 regiszter. Milyen és miért kell bele adatot írni? Miért kell az? Configurációs beállításnál az LP vagy is Low-power crystal van kiválasztva.
A számításom valahogy így néz ki: 32.768-at előosztással 8-al osztottam, majd utóosztásnál még 4-el elosztottam így elvileg megkapom az 1024-es eredményt. Ami az 1KHz-es jel elvileg. (vagy is 1mp-enként okoz megszakítást?) (32.768/8)/4 = 1024 Tuti, hogy még mindig nem értem rendesen ezt a timer-es témát. Előre is köszi a segítséget.
Közben rájöttem, hogy a Timer0 jobb választás a 32-es osztó miatt.
Köszi. Idézet: Abba kell beírni, hogy 0xFF helyett meddig számláljon a TMR2 regiszter. Bővebben: Link „nem értem mire való pontosan a PR2 regiszter”
Sziasztok volna egy kérdésem. Van egy PIC16F84A típusú PIC-em. Ebbe kéne egy frekvenciamérő hex-ét beleégetnem. Először csinálok ilyet, nem értek hozzá. Az égetőmnek van egy PIC DATA és egy PIC CLK lába. Ezt a kettőt nem tudom hova kell csatlakoztatni. Csak egy tipp a PIC CLK láb az égetőn a 16-os CLKIN lábra megy, de a data melyikre? Ilyen égetőm van: Bővebben: Link Tudom tudom JDM-et ne, de nekem csak erre az egy alkalomra kellett valami, mert a frekvenciamérőmet szeretném befejezni. A Vicsys által publikált frekvenciamérőről van szó.
A hozzászólás módosítva: Júl 10, 2014
Bővebben: Link A publikációban a beültetési rajznak illene tartalmaznia a megnevezéseket, de le tudod következtetni.
Köszönöm, most már értem.
Na kipróbáltam én is másik cuccal, tényleg a kontrolleremnek van baja.
Sziasztok!
Tudnátok-e ajánlani egy jó pic szimulátor programot? Olyan kéne amiben lehet assembler nyelven programozni, van hibakeresője, le tudja fordítani hex- be és lehet vele szimulálni a működést. És még azt szeretném kérdezni, hogy ha ott a menüből állítom be a konfigurációs biteket és nem az assembler kódban, akkor azt beleírja a hex kódba és égetéskor az úgy fog működni vagy az csak a szimulációra vonatkozik. A válaszokat előre is köszönöm!
Azt, hogy jó vagy nem jó, ne firtassuk!
Egyrészt van az MPLAB, amely fordít és szimulál, másrészt van a Google, amelybe beírod, hogy PIC simulator, s akkor lehet válogatni. Van fizetős és ingyenes. Tökéletesnek egyik sem mondható.
Én is kezdő vagyok, de szerintem a szimulátor felejthető dolog. Ha breadboard-on összedugdosod a pic-et pár leddel, írsz rá egy futófényt és látod valóban villogni az sokkal nagyobb élmény!
Szia!
MPLAB-ra szavazok, minden igényedet kielégíti...
Én ha simulátor akkor Proteus ISIS de drága@mod ,de ne felejtsük el a siumulátor az simulátor.
A hozzászólás módosítva: Júl 11, 2014
Mármint úgy gondoltad, hogy fizetős program!
Sziasztok!
Itt ez a program:
Elvégeztem a kollégák által javasolt módosításokat de mégsem akar működni. A szimulációban működik, de amikor a valóságban ráteszem a 4 LED et akkor nem csinál semmit. Tudna nekem valaki segíteni?
Idézet: „IDO-III” A program cimkéi csak betüket és számokat és az aláhúzás karaktert ("_") tartalmazhatják és betüvel vagy az aláhúzás karakterrel kell kezdődniük. A "-" egy műveleti jel, ami azt írja elő, hogy bal oldalán levő szimbólum (kifelyezés) értékéből vonja ki a jobb oldalán álló szimbólum (kifelyezés) értékét.
Többek közt ezért is lenne jó az MPLab-ot használni, mert fordításkor kidobálja azokat a hibákat is amiket itt elkövettél!
Javítsd azokat amiket Hp41C kolléga írt, illetve amit elmondtunk már korábban is, hogy a címkét nem írjuk egy sorba az utasítással: Idézet: „IDO-III DECFSZ SZAM3,F” Helyesen:
Egyébként átírtam 628A-ra mert csak az van itthon és működik élőben is, persze a fenti javítások után! A hozzászólás módosítva: Júl 11, 2014
Kedves csabagalcsaba!
Sajnos, mivel itt a legtöbben MPLAB-ot használunk, nem tudjuk biztosan, hogy az Oshon Pic Simulator IDE mit "szeret" és mit nem (eSDI- nek esetleg van erről több tapasztalata) Érthető, hogy ódzkodsz egy új környezettől, de így csak nagyon minimális segítséget tudunk adni. Addig is itt a minimális: 1. A 3-as sorodban CONFIG parancs szerepel. Ezt pl. az MPLAB nem fogadja el, csak a __CONFIG parancsot (két aláhúzás jel van a CONFIG előtt!)! Az Oshon hogy van ezzel? 2. A címkék! Ahogy Hp41C is és Pali79 is írta, az MPLAB esetében nem lehet - jel a címkében! Az Oshon ezt eltűri? 3. Még mindig a címkék! Az MPLAB-ban egy címkét az jelez, hogy a címke után van egy kettőspont. Pl
(és kedves Pali79! Az MPLAB megengedi az egy sorba írást! Persze nem kötelező, ennélfogva ízlések és pofonok!) Elektronikai kialakítás? Gondolom csak táp, a kapulábakon meg egy ellenállás és egy led. 4. A táp 5V-os, stabil és zajmentes? A + megy az 1-es lábra, a - a 14-esre? 5. Hardveres teszt megvolt? Hardveres teszt: Kiveszed a PIC-et a próbapanelból, vagy foglalatból (remélem nem beforrasztottad!) és egy drótdarabbal átvezeted a pozitívat is, majd ennek bontása után a negatívat is a kapu láb helyére. Tehát a kivett PIC helyén levő 1-es lábhelyet összedrótozod a 2-es lábhellyel, (itt elvileg a led-nek világítania kell), ezt bontod, majd ugyanígy a 14-es helyet is a 2-essel (itt elvileg a led-nek nem szabad világítania). Ugyanígy a 2-es helyett 3-as, majd 5-ös és 6-os lábhelyekkel is. Amúgy mekkora az ellenállás? És tényleg akkora? Le is mérted? Nincs kontakthiba az áramkör kialakításban? 6. Már korábban is kérdeztem (vagy legalábbis akartam): az égető OK? Kipróbált, nincs vele baj? Vajon fut abban a PIC-ben egyáltalán valami? De jó volna belelátni, ugye? Nem egyszerű, de van egy kis esélyed. Cél, kivezetni az órajelet a 3-as lábra. Ehhez töröld a programban a 23-astól a 29-ig terjedő sorokat (a 23-ast is és a 29-est is, valamint a közte levőket), valamint az elején a CONFIG (vagy __CONFIG) után a 0x3194-et cseréld le 0x3195 -re. Újrafordítod, beégeted, beüzemeled, és a 3-as lábon most elvileg egy szép, 4Mhz-es négyszögjelet kell láss. -- Ha van szkópod, azzal megnézheted. -- Ha nincs, de van olyan műszered ami frekvenciát is mér, hajrá! -- Ha egyik sincs, végy egy (azaz két) osztóIC-t, és oszd le a frekvenciát így, hogy azt már te is lásd egy próba-leddel, vagy egy műszerrel. (Osztó IC pl.: CD4060, ez 14-szer felez. Sajnos ez még nem elég a szemrevételezéshez, mert 4Mhz / 2^14 = 244, márpedig egy 244 Hz-es villogást nem fogsz látni. Érdemes ezt a jelet egy második CD4060-asra rátenni, és ott még 7-szer leosztani. így egy sacc fél másodperces villogás lesz a vége. Már ha a PIC dolgozik!) Látod! Ez a szép a szakmában! A hibalehetőségek száma csak a csillagok számával összemérhető! A hozzászólás módosítva: Júl 11, 2014
Bocsánat, az előző hsz-omban 6-os pontban rosszul mondtam, mert az a jel nem 4 MHz-es, csak 1 MHz-es!
MpLab és a címkék:
A forrásban a címkét a sor elején célszerű elhelyezni. Különben "Warning[207] C:\......ASM 3471 : Found label after column 1. (LOOPU3216)" Utasítást pedig célszerű bevezető szóközzel / tabulátorral írni. Különben "Warning[203] .....ASM 1283 : Found opcode in column 1. (movlw)" és hibásan fordít. A proram részben mindegy, hogy a címke után van e kettőspont vagy nincs. A cblock azonban másként működik:
Ha nincs kettőspont a címke után, akkor a címszámláló 1 -gyel növekszik. A példának Cimke1 értéke a 0x20 lesz, a címszámláló 0x21 -re áll. Ha kettőspont van a címke után, akkor a címke megkapja a címszámláló értékét és a címszámláló annyivan növekedik, amennyit a kettőspont után megadunk. A példában Cimke2 értéke 0x21 lesz, a Buff értéke is 0x21 lesz, hiszen nem adtunk meg értéket a Cimke2 sorban a kettőspont után. A Cimke3 értéke pedig 0x41. A címkével egy sorban is lehet utasítás. Azonban jobban áttekinthető a program, ha betarjuk a következőket. (Sajnos a fórum motor megváltoztatja a bemásolt kódokat.) - Címkéket külön sorba írjuk - Az utasításokat két tabulátorral írjuk és a paramétereket és a kommenteket is tabulátorra vezetjuk be. Ha egy részletet kommentezni kell (tesztelés hibakeresés miatt) a kommentezés nem fogja érinteni a megjelenést, csak a címkéket tolja beljebb. - A feltételes fordítás direktíváit egy tabulátorral bevezetve írjuk. Ha több feltételes fordítás direktívát ágyazunk egymásba azokat 1 - 2 betüközzel is tehetjük beljebb, hogy láthatóvá tegyük a szinteket. - Az utasításokat, paramétereket és kommenteket mindig azonos pozícióban kezdjük. - A tabulátor "hosszát" a list b=(szóközök_száma) utasítással állíthatjuk be.
Ha valaki annyira nem szereti a tabulátort, írjon helyette 4 vagy 8 betüközt... A hozzászólás módosítva: Júl 11, 2014
Srácok, hogy lehet egy előre beállított 8 bites értéket bejárni?
Tehát van egy ilyen beállított változom:
Ezt szeretném úgy bejárni, (1 porton belül) hogy a nulláknál alacsony, egyeseknél magas szintre állítaná a PIC lábát. Próbálkozom, de nem sok eredménnyel. Előre is köszi a segítséget. A hozzászólás módosítva: Júl 11, 2014
Szia!
A helyiértékek hogy alakulnak? Mert ha azonosak, akkor pl. a B portra:
A hozzászólás módosítva: Júl 11, 2014
1 - Kiírod a portra: movwf LATx: A port minden bitje a változó megfelelő helyiértékű bitjét kapja meg.
2 - Léptetéssel: RLCF vagy RRCF: Ekkor pl a 0 bit értékének megfeleően állítható be a PORTx/LATx egy bitje. Figyelem, a léptetésben a C bit is részt vesz. 3 - Léptetéssel: RLNCF vagy RRNCF: Ld. 2. pont , de a C bit nem vesz részt a léptetésben. Nincs minden típuson. 4 - Önmagával történő összeadással... 5 - Nibble cserével: SWAPF: ha esetleg 4 bites csomagokban lenne szükséges a léptetés. A hozzászólás módosítva: Júl 11, 2014
Egyesével szeretném for() ciklusba vizsgálni majd kitenni portra. C nyelv és MPLAB
1. igen ez meg van, de szeretném vizsgálni is, hogy 1-es vagy nulla
2. léptetést próbáltam, bár lehet rosszul értelmezem: valtozo>>1 4. ezt nem értem. Talán így: valtozo/valtozo == ? 5. egyszerre minimum 7bit-et kell léptetni és vizsgálni C-ben dolgozom ASM csak felületesen megy..
Köszönöm meg van a megoldás: (hátha érdekel még valakit)
Visszafelé pedig:
A hozzászólás módosítva: Júl 11, 2014
Kedves Hp41C!
Lám, lám! Több vonatkozásban is igazat kell adnom neked! Legelőször is, amit a cblock-ról írtál, nekem teljesen új volt! Így is tanul az ember! Köszönöm szépen! A címkékről is tanultam újat. Ez eddig dogmaként hittem a kettőspont kötelezőségében, ezt a hittételemet ezennel elvetettem. (Ilyen ez a "vallás"!) Én most azt látom, hogy vagy külön sorba, vagy kettősponttal. Mindkét verziót elfogadja a fordító, de az egy sorba kettőspont nélküli esetet nem. (Itt is látszik, az MPLAB intelligenciája. Próbálja kitalálni, mit akarunk, akár így, akár úgy mondjuk is neki.) A csabagalcsaba által belinkelt programra visszatérve, az számos esztétikai, és néhány szintaktikai, (valamint anno működési logikai) hibát tartalmazott. Mivel nem kedvét szegni szeretném szegénynek, ezért azokra a hibákra, hibalehetőségekre koncentráltam, amik a kudarcot okozhatják! (Bőven van ebből is!) Így kizárólag a szintaktikai (és anno működési logikai) hibák kijavítására szorítkoztam. Tettem ezt annak érdekében, hogy minél hamarabb sikerélmény bátoríthassa őt. (A Pali79 által felvetett egy sorba írás tilalma ügyre is csak azért tértem ki, mert az állítás hamisságát saját szememmel láttam.) Tökéletesen igazat adok abban. hogy a hosszabb távú fejlődést gátolják az átláthatatlan, átgondolatlan programok, de most rövid távú volt a cél. A javasolt javítások után a program fordítása ugyan 11 warningot és 2 massage-t dobott ("gyári ajánlásoktól való eltérés" jellegű hibák), valamint kapkodom a fejem a fölösleges címkék és egyéb furcsaságok miatt, de a program lefordul (tehát szintaktikai hibák így már nincsenek). Én is nyomatékosan javaslom csabagalcsaba kollégának a "Dr. Kónya László: Mikrovezérlők alkalmazástechnikája" (vagy hasonlóan jó) könyv alapos áttanulmányozását, amiben még számos kötelező és ajánlott szabály van. Remélem, ehhez adja meg az első siker a kellő energiát. (Valamint javaslom még az MPLAB-ra való áttérést is.) A hozzászólás módosítva: Júl 12, 2014
Nézd meg egysze, mire fordítja a C forrásodat, el fogsz szörnyűlködni...
A hozzászólás módosítva: Júl 12, 2014
|
Bejelentkezés
Hirdetés |