Fórum témák
» Több friss téma |
Idézet: „bsf ADCON0,GO btfss ADCON0,GO goto $-1 ” Ez nem igy nézne ki bsf ADCON0, GO ;Elinditod a konverziót azzal hogy ADCON0.GO bitjét 1 állítod btfsc , GO ;Megnézed hogy hogy 0 e goto $-1 ; Ha nem akkor visszaugrasz mert nem fejezte be a konverziót ; ha 0 akkor befejezte az átalakítást ;mov-val átmented az eredmányt valahova
Köszi a gyors választ!
Én is így gondoltam, az adatlapban is ez van ezért nem értem ,hogy az oktató program miért "btfss" utasítást használ...
amugy melyk picel szórakozol csak tudjam hogy melyk adatlapok kell nézni
pic16f887, 877,877a, 917 vagy esetleg más? meg 887hez meg 917 vannak microchip honlapján példaprogramik (pickit2 rész legalján)
16F690 Majd ha hazamegyek melóból kipróbálok ezt azt...Vagy elírták a progit vagy nem tom...De működik az biztos. Csak nem lépek tovább amég megnem értem minden részletét az adott programnak és az adott hardver működését ...Kicsit bosszant ha sok bennem a kérdés és kevés a válasz.Tudom ,hogy ott van az adatlapban minden ,de mivel nem vagyok túl jó angolból nem tudok mindent megfelelően értelmezni.
Na egy kicsit bövebb válasz kérdéseidre:
Egy bit konverziójához 1 T(AD) idő szükséges tehát hogy 10 bitet konvertálj 11 T(ad) T(ad) a/d órajel periódus ami vagy belső órajelből kapsz(van minum értke is) vagy rc-ről (ADCS<1:0> = 11 ) ekkor 5v tápnál 2 és 6 mikrosec között van átlagosan 4 (258 oldal vannak a kiegészitő infók hogy teljesen értelmezd a A/D müködését) Ezen kivül van még egy idő amit az előtt kell várni mielőtt elkezdenéd az A/D konverziót. Ez azért van mert A/D átalakítás alatt egy kondenzátort tartja a feszültségértéket és ha frissen beállitod hogy melyk láb értékét akarod megmérni át kell vennie 100%ban a külső feszültség értékét Ez a "ACQUISITION TIME" és adatlapon vannak rá képletek hogy kiszámold értékét
ACQUISITION TIME-ot nem várod végig akkor előfordulhat hogy nem mérsz pontosan.
De ha nem váltogatot sürjen a csatornákat (vagy csatornák között nem nagy az eltérés) és nem változik két mérés között hatalmasat a feszültség nem muszály végigvárni ehhez átlagban elegendő 11,5 us (microsec)
na én ennyit birtam kihámozni az adatlapból
(bár én se vagyok profi angolból) amugy ha adatlapban hivatkozik bármilyen értékre pl.: vpp programozófeszültség, vdd tápfesz, i2c busz idözitései, minden paramétere kimenet bemenet ellenállása, stb a ELECTRICAL SPECIFICATIONS található meg ami te esetedben (PIC16F631/677/685/687/689/690) 233-260 van a pdf-ben néha érdemes hozzánézni a fejezethez ami hivatkozik rá meg néha van ott is magyarázó ábra.
Köszönöm a segítséget. Elmélet meg van jöhet a gyakorlat. Abból tanul az ember igazán.
Sziasztok!
Egy 18f4550-val szórakozgatok. 20 mhz kristályról kapja az órajelet. Beállítottam egy késleltetést, amely 1 másodperc az Mplabban, feltöltöttem a pic-be és azt vettem észre. hogy a pic 5 MHz-en dolgozik. Az adatlapban a 32. oldalon az van írva, hogy az USB miatt 4-el osztja az órajelet. Gyanítom, hogy emiatt 5 MHz. Be lehet -e állítani, hogy 20 MHz-el menjen? USB -s cikk Ebben a cikkben, azt írja a szerző, hogy 20 MHz -ből 48-at kapunk a PLL miatt. Hogyan állítsam be, hogy az 5-ből 48 legyen? A PLL az nem egy előosztó? Tehát hogy állít elő nagyobb frekvenciát? Vagy ez csak az USB modulra vonatkozna? Ha bárki tud valami használhatót azt megköszönném. István
Az adatlapban a Figure 2-1 mennyire használható? Csak végig kell követni, hogy hová mennyit kell állítani, hogy a végén a kívánt órajelet kapjuk.
Amúgy egy másodperces késleltetést nem illik csinálni...
De úgy van beállítva hogy 20 MHz legyen (00), és mégis 5 MHz-en ketyeg.
Hogyhogy nem illik?
Most neharagudj, de mi van 00-ra állítva?
Azért nem illik ekkora késleltetést csinálni, mert akkor a processzor nem tud semmit csinálni, amíg a delay rutinban van. Ha pedig a program esetleg pollinggal figyel valamit (és az eredeti usb stack ilyen), akkor bukik a kommunikáció.
Szia!
Amennyiben a PIC 20 MHz-ről üzemel ( ezt a kristályoszcillátoron mérhető ), teljesen logikus, hogy az utasításvégrehajtás frekvenciája 5 MHz. Ennek az az oka, hogy a kontroller utasításai 4 órajelciklus alatt hajtódnak végre. Néhány kivétel van persze, a nyolc órajel alatt végbemenő utasítások. A lényeg az, hogy fentebb leírtak miatt a PIC max. 5 MHz-es utasításvégrehajtási frekvenciával képes dolgozni, ezt adja ki az órajel kimenetén is, ha úgy van konfigurálva. Ahhoz, hogy ez a freki 48 mega legyen, 48x4=192 MHz-en kellene üzemeltetni.
Tehát amit az MPlab-ban beállítok órajelet, az már a parancsvégrehajtási frekvencia lenne? Most nem tudom megnézni de mintha CPU system clock lett volna oda írva nekem ez inkább az órajelre vonatkozik. Sajnos a szkópommal nem tudok mérni ilyen frekit szóval kb szemre állapítom meg, úgy hogy villogtatok egy ledet 1 mp-ként, és ha a valóságban másodpercenként vilog akkor az órajel annyi amennyi az MPLabban van.
Elvileg a PLL-el is elő lehet csalogatni 48 MHz -et, még akkor is ha a bemenő órajel kevesebb. Remélem jól értelmeztem a dolgokat. Ezt próbálom megcsinálni de egyenlőre még nem jött össze.
Ez nem éles program csupán egy teszt erejéig csinálok ekkora késleltetést.
A 00 beállítás már nem aktuális. Egyenlőre a PLL beindult de nem azzal a sebességgel zötyög mint amekkora kellene.
Akkor mutasd meg a konfigurációs bitek beállísát, mert vagy abban van valami elrontva, vagy a kvarc nem azon a frekvencián rezeg,amin kellene (pl. mert harmadik harmonikus kvarcot használsz az alapharmónikus kvarc helyett).
Üdv
Láttam egy PIC programozó kapcsolást amely sok különböző lábazatú PIC-et tud programozni: LINK Az lenne a kérdésem hogy mi a különbség a mindenki által itt használt PIC16F877A-I/P MCU és a pl: PIC12C509A-04 / P OTP PROCESSZOR 4MHz között. Programozásilag, satöbbi... Mivel tud kevesebbet, mit jkelent az OTP... Főleg az lenne a problémám hogy nem kell 40 lábú PIC mivel lehetne olcsóbbal és kisebbel és egyszerűbbel kiváltani? Hosszasan válaszoljatok ha lehet. Köszi
Ha nincs szükséged 40 lábúra, akkor is ne C-s pic-et vegyél, hanem F-eset. PL.: pic12F629. Azért, mert az f-es flash, vagyis sokszor tudod módosítani a benne lévő programot. A c-s és az F-es között progizásilag szerintem nincs különbség.
Az égetőről a véleményem az, hogy az oshonos egyszerűbb. De ahogy elnézem, ez egy égető és egy loader egyben. Legalábbis egy képen.
Egy pic programozóval rengeteg fajta picet lehet programozni, csak a megfelelő 5 lábat a megfelelő helyre kell csatlakoztatni.
otp: one time programable =egyszer programozható, ezek a C-s picek, felejtős! Neked F -es kell ahogy sirály12 is írta. 16F877A: 40 láb, belső timerek, pwm modul, adc modul, komparátorok, usart (komunikációs modul) nagy memória, ram, eeprom 12C509-ben ezek nincsenek benne és 8 lába van, C betű miatt csak egyszer programozható. 12F509 ugyanez, csak többször programozható. A belinkelt programozót szerintem felejtsd el... Idézet: „Főleg az lenne a problémám hogy nem kell 40 lábú PIC mivel lehetne olcsóbbal és kisebbel és egyszerűbbel kiváltani?” Microchip oldalán tudsz keresni tulajdonságok alapján. itt!
Köszi
És a PIC12F629-I/P MCU 1024x14 Flash 64B RAM tudsz valamit mondani? olyasmire kellene mint pl ledek villogtatása (barátnőmnek meglepinek) 30-40 led körbe fusson meg különböző effekteket tudjon (halványul...) Illetve időzítéses programozás (pl 5ms-enként felvillan egy led)... Ehhez mi lenne jó? Jól értem hogy a PIC-eknél 1láb 1led? Vagy vhogy tud egy láb többet is kezelni.... Köszi
Azt tudjuk mondani, hogyha a témával akarsz foglalkozni, akkor olvasd végig a PIC - Miértek, hogyanok című témát az elejétől a végéig!
Szerintem, inkább a modulrendszerű grafikus PIC programozás "Topicot" nézd át, az rövidebb, meg előbb érhetsz el eredményt. Amit említettél az kezdőként is hamar megy vele...
Proci szerintem ne 8 lábú legyen, azzal nagyon kevés variációja lehet a "ledsor kezelésnek" (628A vagy 876A... ezek már megoldják lazán, és még nem is olyan nagyok.)
Sziasztok!
Csináltam egy kapcsolási rajzot, szeretném kérni a véleményeteket hozzá, hogy jó-e, amire csináltam. Működése: a ucontroller a szenzorokból bekéri az adatot, amiket átalakít(ha szükséges) és bluetooth modulon keresztül továbbit egy mobilnak.. várom a véleményeket, hozzászólásokat, esetleg majd ötleteket a hogyantovábbhoz(korrigálás, programozás, hasznos tudnivalók Iván
köszi az lemaradt
egyéb észrevétel???
Sziasztok!
Végigolvastam a topic-ot, de maradt néhány kérdésem. Teljesen kezdő vagyok és szeretném első PIC -es programozómat megcsinálni. A többi témából és cikkekből nekem az derült ki, hogy kezdőként egy JDM programozóval érdemes kezdeni, merthogy az könnyű. Olvastam, hogy lehet építeni olyan verziót belőle, amelyik már újabb gépek soros portján is tud kommunikálni. Azt szeretném kérdezni, hogy szerintetek is jó ötlet először egy JDM programozót építeni? C nyelven szeretném programozni. Ezt esetleg megakadályozza az, hogy JDM programozó lesz hozzá? (Bár gondolom nem, mert úgyis a lefordított .hex .et töltöm bele) Illetve még egy kérdés, hogy tudtok ajánlani valami egyszerű próbapanel kapcsolást is? Előre is köszönöm a segítséget.
Mielőtt azt mondod, hogy végigolvastad a témákat, az előtt olvasd is végig azokat!
A JDM tilos. Ha ezt így megjegyzed, és később magad is terjeszted, akkor egyszer talán kipusztul a világból az utolsó is. Állítólag van, akinél állítólag működik, de ha égető kell, minimum egy normális LPT-s verziót keress, és ha azt rendesen összerakod, mindig működni is fog.
A C nyelvvel kapcsolatos elképzelés helyes, mindig hex állományt töltesz le, azt pedig akárhogy létrehozhatod. Van egy PIC - Miértek, hogyanok... című téma, azt (is) olvasgasd, illetve a profik (észre fogod venni, kik válaszolnak ott jót és sokat) honlapjain is érdemes nézelődni.
Több százszor le van írva: a JDM felejtős ( ÉN ELOLVASTAM )! A próbapaneleknek igazából sok értelmük nincsen, talán csinálj 1 ledsort, mellé nyomógomb, potméter. Az alapok megértéséhez bőven elég. Furatos próbanyákon pillanatok alatt össze lehet dobni 1 ilyen gyakorló áramkört. Ezzel megtanulható a digitális kimenetek kapcsolgatása, megszakításkezelés, AD konverzió, időzítések kezelése stb. Kezdésnek több, mint elég.
Ha jobban szereted a kész megoldásokat, vagy nincs rutinod az áramkörépítésben, vehetsz pl. Pickit2 Debug Express néven komplett "rendszert" is. Ez tartalmazza a Programozó készüléket, 1 csinos gyakorlópanelt, a szükséges szoftvert és 12 mintaprogramot, melyek próbálgatásával, módosításával gyorsan juthatsz sikerélményhez. Az ajánlott nyelv az assembly, ez is sokszor le lett írva. Összesen pártíz utasítás. Sok sikert!
Igen én is olvastam, hogy a JDM nem jó, viszont azt is olvastam, hogy elkészítése egyszerű.
(De oké megértettem, ha nem hát nem.) Azt is elolvastam, hogy a 18F4525 érdemes kezdőknek is, nem 16F -eset, mert az már nagyon régi. JDM helyett itt a topic-ban olvastam, hogy érdemes ezt Viszont a fent említett típus nem szerepel a listában, szerepel viszont a 18F452, nem tudom, hogy a 452 és a 4525 között van-e olyan fontos különbség, ami megakadályozza, hogy beletegyem ebbe a programozóba. Szeretnék megpróbálkozni sajátal, ha nagyon nem akar összejönni, akkor veszek.. |
Bejelentkezés
Hirdetés |