Fórum témák
» Több friss téma |
Ha az LVP engedélyezett és a PGM magas szintre vált, akkor a kontroller programozási módba lép - a program futása megáll.
Figyeld meg, hogy a MCLR láb 4,7 kOhm helyett csak 3,3kOhmmal van a tápra húzva.
Idézet: „ [quote]Ha nem fut a program, akkor az lehet a baj, hogy nincs letiltva az LVP” Mármint, hogy engedélyezni kell [/quote] Lehet engedelyezni is, de ekkor az LVP labat a foldre kell huzni. Ha bele gondolsz nincs sok teteje a dolognak ha amugy sem szeretned alacsony feszultseg modban programozni a PIC-edet... csak elvesztegetsz egy labat ezzel es ha nem huzod le a foldre azt a bizonyos labat akkor vakargatod a fejed miert viselkedik furcsan a PIC...
Idézet: Dehogy kell! Az LVP-nek és az 5V-nál kisebb tápfeszültségen való célprogram futtatásnak semmi köze egymáshoz.„Mármint, hogy engedélyezni kell” Viszont az LVP engedélyezése esetén az RB4 láb bemeneti szintje dönti el, hogy programozás mód vagy programfuttatás mód legyen (ezért kötötted rá az AUX lábra). Ha nincs alacsony szintre húzva, akkor nem fut a program...
köszi
Csak annyit, 10mA-on tartja az áramot.
5 / 4700 = 0,0106 A 3,3 / 3300 = 0,01 A
És az miért is lenne lényeges?
Amúgy elrontottad a számítást, mert 5V/4700ohm=0,00106A, vagy kb. 1mA.
Köszi az infót.
Még annyi lenne a kérdésem, ha pl 7809 lesz a tápja az me. -nek, akkor hogy tudom beállítani a 0-5 V kimeneti feszt?
Ha ezt kérdezed, akkor az erősítőt +1 szeres erősítéssel feszültségkövetőnek szeretnéd hasznáni... Mivel a bemenetén 0..+5V között lesz a feszültség, a kimenetén is - leszámítva a be- / kikapcsolási tranzienseket. A tranziensek kivédésére egy 5.1V -os zener diódás védelem is megfelelő lehet, a művelei erősítők kimenete áramkorlátos...
Idézet: „Csak annyit, 10mA-on tartja az áramot.” Pontosabban nem tartja annyin, hanem annyira korlatozza -- ameddig az MCLR bemeneten levo FET kapacitora toltodik, azutan kb 0-hoz kozeli aram fog ott folyni.
Csak kísérletezgetések voltak, mert még sose használtam pic-t 3,3 v-on, mint kiderült nekem nokia 3410-es kijelzőm van ezért nem is szükséges a 3,3v, mehet 5v-al.
Viszont érdekes, ha 3,3v on megy a PK2 és a fordító ráereszti a Hex-t, akkor lefagy a PK2, újra kell indítani a programját a PK2-nek. Hasonló hibát másnak is produkál? Üdv
Idézet: Nem tudom, hogy jól értem-e, de az biztos, hogy a hiba a felhasználóban van, nem tartottad be az előírásokat:„ha 3,3v on megy a PK2 és a fordító ráereszti a Hex-t, akkor lefagy a PK2, újra kell indítani a programját a PK2-nek.” 1.1 Hardware Requirements The PIC16F627A/628A/648A requires one programmable power supply for VDD (2.0V to 5.5V) and a VPP of 12V to 14V, or VPP of 4.5V to 5.5V, when using low voltage. Both supplies should have a minimum resolution of 0.25V. Bővebben: Link
Még van egy előírás: Flash Block Erase min. Vdd: 4,5V - 5,5V. Így szegény programozó 3.3V -on nem tudja törölni.
Tegnap volt róla szó..
Azt értem én, hogy nem tudja törölni, de ha véletlen 3,3 V-on marad a PK2 akkor az a válasz, hogy lefagy?
Nem vagyok benne biztos, hogy ez így ok. Üdv
Ezt található az MpLab 8.83 és a MpLabX PICKit2 Release Note -jában:
Idézet: „PK2-87: MPLAB PICkit 2 hangs when target is self-powered but PK2 set to a low voltage”
Heló!
Valami nem érthető számomra: Tanulok Kónya könyvből, és ugye írja, hogy itt meg itt be kell állítani a BIT-eket. A Bitnek ugye az értéke 1 v. 0 lehet. Ahány bites a PIC annyit lehet az a parancs alatt beállítani? pl 0110111011 ? Miért valamelyik 0, valamelyik 1? Nem teljesen érthető számomra.. Üdv !
Ahány bites a PIC adatbusza (8 bitesnél = 8; 16 bitesnél = 16; stb.) annyi bitesek az egyes regiszterei is. Egy-egy regiszter bitekből épül fel. A speciális funkciójú regiszterek tartalmazzák az egyes perifériák funkcionális működéséhez szükséges beállításokat. Minden egyes bitnek megvan a maga jelentése, ezeket a konkrét mikrovezérlő adatlapja tartalmazza. A helyes működéshez ezek megfelelő beállítása elengedhetetlen. Nem teljesen érthető a kérdésed, így visszakérdezek! Erre voltál kíváncsi?
Nézd meg az adatlapban az utasításkészlet összefoglalóját! Vannak bit orientált műveletek, amelyek csak egyetlen bitet változtatnak meg vagy vizsgálnak meg, s vannak bájt-orientált műveletek, amelyek 8 bitet írnak olvasnak vagy manipulálnak egyszerre. Maszkokkal és bitenkénti logikai műveletekkel ügyesen operálva ezeknél is tudunk csupán egyetlen, vagy néhány biten műveletet végezni.
Szia! Nézd meg az adott pic adatlapját a megfelelő regiszterek beállításához. A 0 és 1 jelentése az, hogy engedélyezed vagy tiltod az adott funkciót. Így lehet pl. beállítani hogy ki vagy bemenet legyen a láb, legyen e a/d, egyebek. Sokszor az adott regiszter bítjeit nem egyenként állítgatják, hanem kiküldenek rá egy hexa értéket. Ha windowst használsz, igen jól használható a számológépe, tudományosra állítva egy gombnyomással tudod átállítani a kijelzést hexa, decimális és bináris ábrázolás között. Bin-re állítva látod, hogy mely értékek milyen beállításokat hajtanak végre a regiszterben.
Köszönöm mindkettőtöknek !
Valami hasonlóra voltam kíváncsi. Már csak a helyes és a pontos beállítás csínját-bínját kell megtanulnom, de erre van még időm, ugyanis maradt 400 oldal kb.. ![]() Köszi még egyszer, és ha valami felmerül, majd írok ! ![]()
Köszönöm ! Jelenleg Windows-t használok, de szeretnék teljesen áttérni a Linuxra! Üdv!
Linuxnak is van szamologepe, talan meg jobb is mint a Windows-e, ugyanis egybol mutatja a szamot kulonbozo szamrendszerekben (hex, dec, oct, bin) mikozben irod be a szmot, igy konverziohoz nem kell kapcsolgatnod ide-oda...
[OFF] Hát sajnos nem tudom, áttérjek-e..
![]()
Valaki letudná írni hogy az analóg konvertálásnál az ADCS1:ADCS:2 mit jelent?
Melyik értéknél mi történik Fosc/2,Fosc/8,Fosc32
Az ADC adatkonverzióhoz használt órajel frekvenciáját lehet itt beállítani (ennek reciproka, azaz periódusideje az adatlapban emlegetett TAD időegység). Az adatlapban található táblázatból kiderül, hogy adott órajelfrekvencián melyik beállítás a nyerő.
Alapszabály, hogy TAD minél rövidebb legyen (nehogy konvertálás közben elszivárogjon a töltés), de van egy típustól függő fizikai határ, aminél rövidebb nem lehet a TAD. Például ha a PIC18F14K50 48 MHz-en fut, csak a Fosc/64 beállítás használható. Foszc/32 esetén már túl rövid lenne a TAD (667 ns, ami már vészesen közelíti a Fenevad számát...) Ugyanennél a vezérlőnél Fosc=16 MHz frekvenciánál több beállítási lehetőség is elfogadható, ezek közül a Fosc/16 ajánlott, mert a többinél (különösen Fosc/64-nél) már szükségtelenül hosszú a konverziós idő, ami a pontosság romlásához vezethet.
Sziasztok!
Lenne egy olyan kérdésem, hogy a BANK1,2,3 szabadon használható memóriaterületre szeretnék táblázatot elhelyezni, akkor azt milyen lépésekkel kell megtenni kb? Köszi előre is ![]()
Milyen kontrolleren? 16F hagyományos, 16F anvanced, 18F ?
Hello 16F877A val tanulok
![]()
Minden olyan hagyományos 16F kontrollerre, aminek a Bankjainak utolsó 16 rekesze köröz memória: Pl.: 16F87, 16F88, 16F876(A), 16F877, 16F886, 18F887 stb.
- A memória 0x070 - 0x07F, 0x0F0 - 0x0FF, 0x170 - 0x17F, 0x1F0 - 0x1FF területe közös terület, azaz ha az egyik Bank -beli címen egy adattal írjuk, a többi Bank -beliből kiolvasva is azt az adatot kapjuk meg. - A felépítésből adódóan a bankok első 32 rekesze speciális célú regiszter (SFR). - A táblázat csak a SFR terület után kezdődhet és nem használhatja (legfeljebb csak 1 Bank -ban) a közös memória területet. A táblázat címzésénél az indexből a tárcímet kialakító függvénynél ezt be kell tartani. - A megszakítás mentési regiszterei közül minimum a W mentését a közös memóriában kell lefoglalni. - A megszakítási rutin mentse és kilépés előtt állítsa vissza a Bank kiválasztást. - A megszakítás kiszolgáló rutinban, a mentés után mindig ki kell választani az elérendő regiszter Bank -ját. - Mivel a táblázat az FSR regiszteren keresztül címezhető csak, az FSR -t is menteni kell, ha a megszakítás kiszolgáló is használja. - Indirekt címzésnél a cím 9 bitjét a STATUS regiszter IRP bitje adja. |
Bejelentkezés
Hirdetés |