Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Sziasztok!
Nem nagyon értek a PIC-hez (még ![]() Előre is köszönet! ![]() ![]() Üdv:tony994
Ajánlom a Flowcode-ot.Nézz be a topikjába.Lehet,hogy nem a legtömörebb programot készíti,de 2 perc megírni.
Ezt írtad korábban:
1. CLRF CCP1CON 2. BSF CCP1CON,CCP1M1 3. BSF CCP1CON,CCP1M2 Erre azt írtam, hogy nem jó! A mostanira azt írom, hogy jó ![]() Steve
Szerinted akkor így jó lesz ?Mert amit linkeltél ott Hp41C hozzá szólása elég zavaros.Csatolom az adatlapban levőt ott nem a CLRF utasítást használja. Miért?Üdv nyemi.
ORG 0x0004 MOVWF W_MENT SWAPF STATUS , W CLRF STATUS MOVWF S_MENT CALL megszakítás kezelés SWAPF S_MENT , W MOVWF STATUS SWAPF W_MENT , F SWAPF W_MENT , W RETFIE ;Regiszterek ;W_MENT=0x70 ;S_MENT=0x71
Helló!
ÉS mivel tudom megnyitni?? üdv:tony994
Hát a Flowcode nevű progival.
![]()
Úgy nem tudod megcsinálni h belső oszival mennyen?? Üdv!
Sziasztok!
Az eddigi válaszok alapján a következőkre jutottam: Egy ilyen égetőt fogok építeni szerintem, már ha senkinek nincs ellenjavaslata: Link Programot hozzá pedig ICprogot gondoltam, remélem így jó lesz. A PIC-el kapcsolatban még mindig nem jutottam döntésre. Nem tudtok ajánlani valamit a hestore.hu-ról, ami olcsó, és kezdésnek megfelel, valamint kompatibilis a fenti égetővel? Így olcsón kijönne minden, ha ezt is innen meg tudnám rendelni.
Belső oszcival F84-nél? Esetleg F628-nál... (Ugye megnézted az adatlapját a 84-nek?)
Igen
![]() üdv:tony994
De most komolyan! Miért nem jó neked egy darab ellenállás+ 1darab kondenzátor? Helyette beraksz egy kvarcot + 2db kondit? (Te tudod...)
![]()
Az oszci nem lényeg,nem kell halálpontosnak lennie.Nem egyszerűbb egy R-C tag?Sőt,ha egy 10K-s potit raksz,még a sebességet is tudod állítani,igaz,szűk határok közt.Inkább 22K-s poti 47pF-el.
Kipróbáltam próbapanelon 4 Mhz-n és nem ment :S 16F628A is van , arra esetleg megtudod csinálni belső osszival? üdv!
Elvileg ez 628A-ra.Jaj,bocs, el volt állítva a fordító,és elfelejtettem.Szóval ez 628A-ra.
Hali.
Lalca megtudod nekem mondani, hogy miért nem akar az INT megszakitás müködni? Elméletileg bekellene lépnie a manualis_kapcsolo makroba.
Az adatlapban is szó van a regisztermentésekről "context saving during interrupt" vagy valami hasonló címen. Nézd meg azt, mert a mentés mikéntje sem teljesen mindegy (a flagek miatt)!
Szia!
Jó lesz, amit írtál (a megszakítási rutinban a 0. lap azaz a 0x20..0x7F közöti terület lesz kijelölve)! A "call megszakítás kezelés" helyére jobb beleírni a rutint, mert a 16F - en általában 8 mélységű a stack (visszatérési címeket tárokó zsák memória). A megszakítási rutinba belépve az RP1 és az RP0 bitek értéke tetszőleges lehet (mind a 4 lapot használhatja az alap program). Ha a megszakítási rutin még indirekt memória elérést is végez, az IRP értékét is be kell állítani. A három bit törlése a bcf utasításokkal 3 részletben, a clrf utasítással egyszerre történik meg... (A clrf STATUS ugyan a többi 4 bitet is törli, a Z-t pedig 1 -re állítja, de ezek értéke amúgy sem ismertek a megszakítási rutin indulásakor, a kilépés előtt meg visszaállítjuk az eredeti értéküket...) Szia
Köszönöm a választ most már értem a kódot leszimuláltam szóval minden tiszta. Persze nem hívok semmit a megszakításból csak nem akartalak titeket terhelni a program többi részével meg persze így áttekinthetőbb, ha más is olvassa. Üdv. nyemi
Először is,megszakításhoz ne konfiguráld A2-t bemenetként.Töröld.Még így sem megy,mert valszeg bugos a flowcode.De talán a flowcode topicba kellene ezt.
CLRF csak törli a regiszter értékét.
A SWAPF meg azért kell, mert ez nem szól bele a Z bit értékébe. Remélem jól írtam, ha mégse javítsatok ki (és kövezzetek meg ) ![]() Persze jól elkéstem a válasszal, mert délután óta ugrott egy oldalt a topik, én meg a böngésző elmentett folyamatával jöttem az oldalra ![]()
A CLKO kimenet elé be lehet kapcsolni előosztót? (PIC18F2520)
Eleve be van kapcsolva egy 1:4-es előosztó (azaz nem Fosc, hanem Fosc/4 megy ki). További leosztásra nem látok lehetőséget az adatlapban.
Szerintem az arra való, hogy a belső órajelet (el)kalibráld (gyárilag kalibrált). Fosc/4.
Ha más freki kell, akkor valamelyik timer és megszakítás. Az is elég pontos.
A megszakításra semmiképp sem bíznám, de az Ouput Compare vagy a PWM kimenet hardveresen is elő tudja állítani a kívánt frekvenciájú négyszögjelet.
Igen, csak az áramkör már kész és ezek a kimenetek már fel lettek használva másra. Egyetlen szabad I/O-m van amire eredetileg LED-et kötöttem de most jó lenne ha egy kis piezo hangszóró lenne a helyén.
A piezónak bármi jó, akár megszakításból való jelkeltés, vagy egyéb megoldás erőből, ha kifér a prociidőből. Ha van valami gyors megszakításod(2KHz körüli) akkor egy flag-el meg lehet oldani a csipogást...
Szia!
Van olyan csipogó, amiben belső (2 -2.5 kHz -es) oszcillátor is van, annak csak a táp kell... Szia
100ms-os és 5ms-os megszakításaim vannak, de akkor csinálok egy 2kHz-eset is.
Hp41C! Ilyen piezot nem is láttam még. Hol lehet ilyet kapni?
Szia!
Pl. a Lomex keresőjébe írd be "Buzzer self".... Szia |
Bejelentkezés
Hirdetés |