Fórum témák
» Több friss téma |
Szia!
Az adatlap 9.8 fejezete igen rövid... A lényeg, hogy az RB7..4 bemenetein van változásra megszakítás kérés. Az INTCON registrer RBIE bitje engedélyezi, az RBIF bitje pedig a fennáló kérést jelzi. A megszakítás beállításához el kell dönteni, hogy hagyományos vagy két prioritású rendszert használsz. A döltés szerint be kell állítani az RCON regiszter IPEN és az INTCON2 RBIP bitjét. A hagyományos módban az INTCON GIE és PEIE bitjét kell beállítani, proritásos esetben csak a kiválaszott szint bitjét GIEH vagy GIE. Ne zavarjon, hogy ugyan azokról a bitekről van szó, a IPEN bit beállítása szerint kell a funkciójukat értelmezni. A megfelelő megszakítási vektor címre elheyezett rutinban előbb ki kell olvasni a PORTB regisztert majd törölni kell a RBIF bitet. Idézet: „Na az én problémám amivel hozzátok fordulok hogy a fenében értelmezi a pic a servojelet? Felteszem a progit hátha ti ki tudjátok bogozni mert nem értem hogy a fenébe lesz egy bejövö frekiböl kimenö feldolgozott freki.” A servo jel az tulajdonkepp egy PWM jel (Pulse Width Modulation azaz Impulzus Szelesseg Modulacio). Az impulzusok periodus ideje 20ms kornyeken vannak (kisebb-nagyobb elteresek lehetnek a kulonbozo radio rendszerek kozott). Az impulzus szelessege pedig le van korlatozva 1ms - 2ms -ig, tehat 5% - 10%. Azonban jonehany szervo kepes ezen ertekek ala ill fole menni, tehat a gyakorlatban fogsz talalni 6ms - 25-30ms periodus ideju, 500us - 2.5ms impulzusig mindent... Levenni a jelet lehet a PIC CCP moduljaval is, de a gyakorlatban az felesleges es neha macera is (timer modul nem tud olyan sokaig varni, mivel ez egy eleg kicsi frekvencia, ugye 20ms az 50Hz...az csigalassusag a PIC-nek ) Szoftveresen: 1. Tight-loop -al pollozod a bemenetet, mikor az megjon, akkor megmered az impulzus szelesseget. 2. Megszakitassal a timert nullazod mikor felfuto el van es mikor lefuto el van akkor a megszakitasban megnezed a timer allasat es eltarolod -- az lesz az impulzus szelessege... Ha az 1ms vagy kisebb akkor kikapcsolod a motort, ha 2ms vagy nagyobb akkor teljes sebesseg, kozte linearisan (vagy mas algoritmus alapjan) allitod a sebesseget... Idézet: „PIC18F2520-at PICKIT2-n keresztül C-ben programozgatok” A nagyobb testvérhez (PIC18F4520) van tananyagom, nézd meg, hátha segít! Bővebben: Link
Köszönöm gyors és böséges válaszodat. Igazábol nekem 1,2 és 1,8ms között kell mérnem és értékelnem illetve tovább küldenem a jelet. Röviden van két bejövö signal (1,2-1,8ms között) az egyik a gázkar a másik a kormány és ebböl a két jelböl kellene kétmotort hajtanom a bejövö impulzusok alapján. A legföbb problémám hogy most kezdtem foglakozni a PIC-eléssel és azt is flowcode-ban, tehát még egyenlöre messze vagyok ettöl a dologtol amit te leirtál, kicsit el voltam tévedve azt hittem hogy egyszerübb de rájöttem hogy akkor mindenki gyártaná a programokat. Igyexem tanulni hogy egyszer én is megértsem mi micsoda.
Üdv Kovács G
Sziasztok!
Bocsi, hogy yilyen későn reagálok. Nagy örömmel vettem ezt a beírt Linket. Itt a 10bitről 4 digitest választottam, mert pont erre lenne szükségem. Sajna szerintem hibás, mert egy ugró utasítás hivatkozik egy B2d2 címkére amit a programban nem találok. Sikerült-e lefuttatni valakinek ezt a programot, és ha igen, mit kell rajta kijavítani? Előre is köszi a választ!
Szép napot!
Építeni szeretnék egy színérzékelőt! Tudtok kapható szenzorral és pic-cel épített, esetleg program leírással rajzot, projectet?
Szia!
Válaszd inkább ezt (ezt emeltem ki...) Tetszőleges hosszúságra meg lehet csinálni, működik 16F -en, és átírható egy pillanat alatt 18F -re is. Mindkettőt kipróbáltam. Az eredményben egy byte -ban két decimális digit lesz, a magas helyirétékű nibble swapf, az alacsony movf utasítással majd andlw 0x0F segítségével szerezhető meg.
Ok, köszi a tippet! Ezt konkrétan nem néztem, de egy másikat igen, csak abban voltak szorzó utasítások, és nekem is 16Fxxx-re kell. Az meg nem tud hardware szorzást. Ez amit te küldtél most szuper. Még egyszer köszi!
Jó napot!
Az lenne a kérdésem, hogy Icd2 klón építése mennyire lehetséges, azaz elérhető és gazdaságos?
Szia!
Miért nem használod a keresőt? Két cikk és egy topik foglalkozik az ICD2 építésével. Megépítése ma már nem perspektivikus...
Totál kezdő kérdésem lenne.
Beleírok egy programot a PICbe (legyen egy villogó led). Lehúzom róla a programozót, rákötöm a lábára a LEDet egy ellenállással. Amikor az IC lábaira rákötöm a 5 Voltot és a GND-t, az egyből el is kellene kezdjen villogni? Mert a program a PIC emulátoron működik, bele is tudtam írni, de a led semmi életjelet nem mutat.
Hűűűha.. ezt most nem értem. Hol találom ezeket a beállításokat?
Nekem ilyen k150 égetőm van. Bővebben: Link Idézet: MPLAB fordítási opció. „Hol találom ezeket a beállításokat?”
Hát igen..
Én most a FlowCODE-dal ismerkedek. Megcsinálom, fordítom. Utána a égető saját programjával beleírom a PICbe, majd kihúzom az USBt az égetőből. Na és itt kezdődnek a gondjaim. Ezek után mit tegyek? Én úgy gondoltam, hogy adok az ICnek tápot 1-1 lábára, rákötöm a LEDet, és amint a tápot bekapcsolom már villog is a led. De nem így történik....
- Konfiguráció: Oszcillátor, MLCR, Watchdog beállításai,
- Kapcsolás: Órajel előállítása, MCLR felhúzása, tápszűrés, - Program: TRIS regiszter beállítása, komparátor vagy A/D kikapcsolása... Az ötletek itt vannak a sárga részben...
Sziasztok!
Még kezdő vagyok a témában de érdekel, hogy hogyan működik a PIC , hogy hogyan lehet programozni és, hogy mit hova kell kötni. Nagyon megköszönném ha valaki tudna küldeni egy olyan könyvhöz hasonló kis oktató pdfet amivel megértem a dolgokat. Köszi!
Hali!
Rengeteget találsz egy kis keresgélés után. Addig is egy kis olvasnivaló. Egyébként ajánlom a icserny PICCOLO és PICula projektjeit. Üdv.
Nagyon szépen köszi mindenkinek a gyors választ!
Köszönöm a segítséget Stadi fórumtársunknak!
Egyébiránt meg Köszönet a remek műszerért Attilának
Hello!
Kösz a választ, a "sárga ökölszabályokat" elfelejtettem. Most tudom programozni, és el is indul villogni, de sajnos csak akkor ha lehúzom az ICSP szalagkábelét a programozóról (égetőről), és így adok neki külső tápról 5Vot. Ha rajta van a programozó kábel, akkor nem hajlandó működni (még akkor sem, ha a programozóból kihúzom az USB kábelt, vagy az nem kap tápot). Ezt hogy lehet megoldani? Igazság szerint egy próbapanelt terveztem, amit úgy gondoltam, hogy rákötöm a tápot, valamint az égetőt is, és hol programozom, hol tesztelem. Meg lehet ezt oldani? Vagy ezt csak az AVR tudja?
Hopp a file fölment, de amit írtam az már nem. Bocs!
Szóval néha azt a hibát írja ki az égető. Aztán néhány újraindítás, USB kihúz, program bezár-elindít után helyreáll a rend és működik rendesen. Nem tudja valaki mi lehet ez a hiba?
Arra már rájöttem, hoyg gondodt az okozta, hogy bekötöttem a égető tápját is, meg a külső tápot (okos gondolat volt... tudom).
Most csak a külső tápot használom, így úgy fest működik a teszt és a próba egyszerre, de most ez a hiba makacsolta meg magát és nem tudom megoldani. (lásd fenti file)
Találtam egy kifejezett PIC tesz-programozó panelt. Azon szerepel egy kapcsoló, ami futtatás, OFF, és programozás állásai vannak. Gondolom ez az ami nekem kell, hoyg tudjak választani, mikor akarom programozni és mikro tezstelni.
De mit kapcsol ez a kapcsoló?
Ha jol emlekszem mar volt szo rola, hogy csinalni kell egy (tobb) probapanelt, es azon probalni a LED villogtatast, es egyeb ilyen egyszeru dolgokat. Demo panelok na megegyszer. A programozast pedig probald meg egy kulon programozo panelkan, amibe minden korites nelkul bedugod a PIC-et es siman beegeted. Nagyon vigyazni kell az ilyen dolgokkal, hogy egymasnak engeded a programozo, es a probapanel tapjat. Konnyen elfustolhet valamelyik alkatresz. Az ilyen programozas/futtatas kapcsolos panel valoszinu valami spec HW-hez keszult, gondolom meg Noe elott. Ja az en probapaneljaim fel vannak keszitve az ICSP csatlakozasra (kiveve a 18 labas) ahol minden varazslas nelkul lehet programozni menet kozben a PK2, vagy a PK3 programozoval. Nincs kapcsolo, mert a programozo automatikusan felismeri a panel tapjat.
Idézet: „Gondolom ez az ami nekem kell, hoyg tudjak választani, mikor akarom programozni és mikro tezstelni. De mit kapcsol ez a kapcsoló?” Te most jatszol velunk, vagy komolyan kerdezed miutan Te magad valaszoltad meg, meghozza a kerdes elotti mondatban...?
Szia Trudnai!
Valamiért nem sikerült kikapcsolnom, szerintem ezen a típuson nincsen WDT, mert hibás konfigurációs szóként értelmezi a fordító a WDT_OFF-ot. Még mivel lehet próbálkozni? Wabe
Szia!
Van benne Watchdog, a konfigurációs szavának 3. bitje engedélyezi. Ha szélesebb körben használt fordítót választottál volna, még arra is kapnál választ, hogyan kell beállítani.
Mplab ablakában felül középen vagy a Project / Build configuration elmenüiként.
|
Bejelentkezés
Hirdetés |