Fórum témák

» Több friss téma
Fórum » Folyamatábrás mikrokontroller programozás Flowcode-dal
Lapozás: OK   74 / 360
(#) djadji válasza mrobi hozzászólására (») Okt 13, 2012 /
 
AHHHAAA... köszönöm. Az oldalszámot pedig külön köszönöm. Egy ideje már piszkálgatom a 628-t, de még sok minden nem világos az adatlapokban.
Így már világos...
Akkor viszont a 32,768 Khz es kristály egy kissé lassú lesz... mert az 32 Hzes megszakítást fog hozni. Lehet ezen valahogy gyorsítani?
Azt szeretném, hogy egy bizonyos ellenőrzést hajtson végre mondjuk ezred (vagy század is jó ) másodpercenként, de úgy, hogy tudjak belőle egész másodpercet is kihozni.
Hogy lehet ezt megvalósítani?
Lehet hülyén írtam le: Szval LOOP (?) os megszakítást szeretnék. Vagyis 1 ezredmásodpercenként ellenőrzi, hogy teljesülnek e a feltételek. De ez a frekvencia szeretném ha egész szám lenne, hogy elő tudjak állítani belőle 1 egész másodpercet...
(#) foxi63 válasza djadji hozzászólására (») Okt 14, 2012 / 1
 
Szia!
Amikor a tmr0 megszakítást okoz, akkor megszakításban olvasd be az értékét, adjál hozzá kb 9-et és írd vissza az értéket. Ekkor beállítható, hogy pontosan 250 óraciklusonként legyen megszakítás. minden 4. megszakításkor előáll a pontos 0,001 sec időd.
(#) baloghzoli1 válasza (Felhasználó 15355) hozzászólására (») Okt 14, 2012 /
 
Köszi a válaszodatA totyikot meg átolvastam,legalábbis ami erre vonatkozik.Ott sem találtam választ a kérdésemre.Amugy meg nem kioktatást kértem sajnálom ha számodra piti volt a kérdés ,számomra nem ebben még sajna nem vagyok profiEgyébként TMR0-val nem müködik együtt a megszakitás ha bekapcsolom a watchdogot.
(#) Klavier hozzászólása Okt 14, 2012 /
 
Sziasztok!
Érdekes megfigyelésem van...RB0-s megszakításra van mintaprogram, de nem ugyanúgy viselkedik, ha simán csak szimulálom, vagy bele megyek az int tulajdonságokba, rákattintok, megnézem, leokézom és újraindítom a szimulációt. Egyik esetben a nyomógomb fel-leengedést követően nő az érték, másik esetben csak leengedés következtében.
A Real Pic Simulator 1.1 pedig nem is kezeli le a programot.
Mik a vélemények?
Másik programok esetén is vannak ilyen szimulációs problémák, csak azért hoztam ezt elő, mert ez gyári mintaprogram.
Mivel lehet a probléma?
(#) foxi63 válasza baloghzoli1 hozzászólására (») Okt 15, 2012 /
 
Szia!
Nem jól tudod... A watchdog -nak semmi köze a tmr0 hoz. Főleg a megszakításhoz nincs
Egyedüli közös dolog az előosztó ami vagy a tmr0-hoz vagy a watchdog hoz rendelhető..
Ha a config bitben engedélyezed, akkor kb 32kHz frekivel lépked, és ha a belső számlálója túlcsordul RESET-et okoz.Ennek az ideje tolható ki az előosztóval. A progamban időnként elhelyezett CLRWDT utasítás nullázza a watchdog számlálóját.

(#) djadji válasza foxi63 hozzászólására (») Okt 17, 2012 /
 
Köszi szépen. Ezt kb értem, de elég bonyolultnak tűnik. Egyszerűbb megoldás nincs? Úgy értem, hogy veszek más fajta kvarcot, de nem tudom hogy milyet. 1.024.000 HZes kristály elvileg akkor 1 ezred másodpercenként adna simán megszakítást. No, de ilyen nincs....
Akkor hogyan?
(#) baloghzoli1 válasza foxi63 hozzászólására (») Okt 17, 2012 /
 
Szia
Én csak azt látom hogy a progimban van egy tmr0-megszakitás és addig jól müködik amig a watchdogot be nem kapcsolom ezért gondoltam hogy köze lenne hozzá.Egyébként ez 16F876 pic ebben állitható az osztó?
(#) baloghzoli1 válasza (Felhasználó 15355) hozzászólására (») Okt 17, 2012 /
 
Szia
Idézet:
„Totyikot pedig átolvashatnád.”
Erre irtam
(#) foxi63 válasza djadji hozzászólására (») Okt 17, 2012 /
 
Szia!
4MHz kristálynál 1 timer "lépés" 0,000001 sec, de a számláló mindig 256-nál fordul át, tehát
muszáj trükközni. Egyszerűen megszakításonként hozzá kell adni 6-ot a timer0 aktuális értékéhez.. Csakhogy a beolvasás hozzáadás és visszaírás alatt tovább lép a timer, ezért nem 6-ot, hanem kb 9-10-et kell hozzáadni.de mindjárt leírom neked, hogyan.

BCF INTCON,T0IF ;itt áll vissza megszakításban a jelző flag
MOVLW 0X09 ;ennyit kell hozzáadni.
ADDWF TMR0,F
ennyi és pontosan 250uS időközönként lesz megszakításod meg is csináltam...
ha tudsz beszúrni asm kódot, akkor ennyi.
(#) kaqkk válasza djadji hozzászólására (») Okt 17, 2012 /
 
4 megás kvarcccal : TMR2 az osztót kerek értékekre állítod (a256 ot át lehet írni 250 re ) a többi már gyerekjáték ... 1/100 ad másodperces stoppert csináltam ilyen megoldással

A hozzászólás módosítva: Okt 17, 2012
(#) djadji válasza kaqkk hozzászólására (») Okt 17, 2012 /
 
Köszönöm mindenkinek!
Foxi63: a ASMből semmit nem értek, de a logikája így már tiszta. Így gakorlatilag szabadon állítható a TMR0 hossza.

Kaqkk: Ez viszont egy tök egyszerű és hasznos. Bármilyen kristályból lehet így kihozni valami "használható" kerek megszakítást.

A belső Órajele nem pontos a PICeknek, de nem találtam rá példát, hogy mennyire nem pontos? Ha egy órát csinálok belőle pl (nem tervezem) akkor mennyire lesz az pontatlan?

MÁS: FlowCode-ban lehet be és kikapcsolni a belső felhúzó ellenállásokat? És ha igen akkor hol, hogyan? Vagy itt már kell az ASM/C kód beillesztés?
(#) kaqkk válasza djadji hozzászólására (») Okt 17, 2012 /
 
Megpróbáltam az óra egy héten 10-15 percet is késett ...
(#) kaqkk válasza kaqkk hozzászólására (») Okt 17, 2012 /
 
Én nem is próbáltam a felhúzókat bekapcsolni 40ft a 8db ellenállás...
(#) attis71 hozzászólása Okt 18, 2012 /
 
Sziasztok!

Egy DS18S20 hőszenzort illesztenék PIC-hez (PIC16F877), ehhez tudnátok nekem egy minta programot csinálni Flowcode4-ben. Pl. egy érték beolvasás és kiíratás 7 szegmenses kijelzőre.

Üdv:
attis71
(#) babuka válasza kaqkk hozzászólására (») Okt 18, 2012 /
 
Nem azért a húsz forintért
felhúzó
(#) babuka válasza djadji hozzászólására (») Okt 18, 2012 /
 
TMR0 is tud pontos megszakítást.

Freq = 4000000 Hz
Prescaler = 1:4
Delay time = 0,001 Seconds
Timer offset = 6

--- C blokk ----
tmr0 += 6;



(#) babuka válasza (Felhasználó 15355) hozzászólására (») Okt 18, 2012 /
 
Nem felesleges mert én igyekszem elolvasni
(#) djadji válasza (Felhasználó 15355) hozzászólására (») Okt 18, 2012 /
 
Én is olvasom amit csak lehet, de sajnos nem mindig tudom az összes kapcsolódó fórumot elolvasni, az összes kapcsolódó cikkel, és nem mindig találom meg. Ha mindent tudnék hol keressem soha nem szólnék senkihez
Köszönöm a linket. Olvastam valahol, hogy a felhúzókat nem szeretik. Nem megbízható, inkább használj külső ellenállásokat (én is azt teszem most), ilyesmikkel találkoztam. Ugyanakkor egyszerűbb lenne a NYÁK is ha nem kellene egy rakat ellenállás a bemenetekre...
Pozitív tapasztalataitok vannak a belső ellenállással?
(#) Bari- válasza djadji hozzászólására (») Okt 18, 2012 /
 
Ebben a kapcsolásban használom, nem tapasztaltam vele eddig semmi problémát.

Bari
(#) Kovabe hozzászólása Okt 18, 2012 /
 
Sziasztok segitséget kérnék mert nem értem hogy tudom kiszámolni a frekit az alábbi programban. A pic belsö 4MHz-re van állitva.
(#) babuka válasza Kovabe hozzászólására (») Okt 18, 2012 /
 
Mit szeretnél csinálni ?
Azt mond el kicsit bővebben.
(#) Klavier válasza (Felhasználó 15355) hozzászólására (») Okt 19, 2012 /
 
Köszi az IC-t, de tényleg azon vagyok, h csak PIC-el oldjam meg a feladatot.
Tovább fejlesztettem, egész jól haladok a feladattal, kisebb problémáim vannak azonban most is... Arra rájöttem, hogy nem kellene ADC-t használni potinak, mert rendkívül visszaveszi a sebességet, inkább interrupt-el kellene nyomógombot kezelni.
Abban tudna valaki segíteni, hogy lehetne olyat csinálni, hogy:
Megszakítással! - amíg lenyomva tartok egy gombot, egy változó értékét folyamatosan növelem, amikor felengedem a nyomógombot, akkor pedig a változó éppen aktuális értéke megmarad? Fontos lenne...
Esetleg erre egy fcf fájlt tudna valaki küldeni?
Vagy legalább a megvalósítás menetét elmondani.
(#) Klavier válasza Klavier hozzászólására (») Okt 19, 2012 /
 
Arra gondolok pl, hogy RB0-s megszakítással a PORTB0-ra kötött nyomógombot amíg lenyomva tartom addig pl a PORTC-re kötött ledsor folyamatosan inkrementálódik, mikor felengedem a nyomógombot pedig az utolsó érték, amit elért a számlálásnál kintmarad a PORT-on.
(#) rogers hozzászólása Okt 19, 2012 /
 
Hello.

Szeretném megkérdezni hogy vajon miért nem tudom lekérdezni a bejövő hivást?

Nem jó a kód vagy nem jön be a "RING" utasitás




gsm.JPG
    
(#) Klavier válasza (Felhasználó 15355) hozzászólására (») Okt 19, 2012 /
 
Valahogy így gondolod?
Mert így csak számol egyesével felfele...
Nekem viszont úgy lenne jó, ha úgy számolna felfele, amíg lenyomva tartom, és mikor elengedem kintmarad az érték

nyomogomb.fcf
    
(#) Klavier válasza (Felhasználó 15355) hozzászólására (») Okt 19, 2012 /
 
tudom, hogy mit akarok, csak arra nem jöttem még rá, hogy kellene megcsinálni.
ezért írtam ide.
pontosan ez az, amire gondoltam, ugyanezt próbálom megszakítással elérni.
A hozzászólás módosítva: Okt 19, 2012
(#) Klavier válasza (Felhasználó 15355) hozzászólására (») Okt 19, 2012 /
 
közben még én is próbálkoztam, de ennél jobb nem is hinném, hogy kellene...köszi
azt néztem, hogyha kihagyom az adc-t és csak megszakításokat használok, akkor 8 lépésből 16,7kHz körüli jeleket lehetséges 20Megás kvarccal csinálni, ami egyáltalán nem rossz fv generátornak.
persze a 8 lépéses szinusz jel alakjára még kíváncsi vagyok, lehet, hogy 16 vagy 32 lépésre szükség lesz, hogy tiszta legyen, egyelőre azonban csak jó lesz így
(#) Klavier válasza Klavier hozzászólására (») Okt 19, 2012 /
 
ezért volt szükségem erre, hogy potméter helyett tudjak valamivel különböző nagyságú várakoztatást előállítani
(#) Klavier válasza (Felhasználó 15355) hozzászólására (») Okt 19, 2012 /
 
jó, hát persze az ideálistól csillagászati távolságokban lesz, de azért a reálishoz közel
(#) Klavier válasza (Felhasználó 15355) hozzászólására (») Okt 19, 2012 /
 
PWM-el kezdtem, de rá kellett, h jöjjek, nem lesz elég gyors...
Ezért marad az R2R létra
Következő: »»   74 / 360
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