Fórum témák

» Több friss téma
Fórum » PIC kezdőknek
 
Témaindító: Placi84, idő: Okt 3, 2005
Témakörök:
- A PIC ÖSSZES Vdd és Vss (AVdd és AVss) (tápfeszültség) lábát be kell kötni!
- A táplábak mellé a lehető legközelebb 100nF-os KERÁMIA kondenzátorokat kell elhelyezni.
- Az MCLR lábat, 10kohm-mal fel kell húzni a Vdd tápfeszültségre.
- Külső kvarc használatakor 4MHz-ig XT, a fölött pedig HS konfigurációt kell beállítani.
- Stabilizált tápegységet kell használni, a kapcsoló üzemű "telefon töltő" adapterek okozhatnak hibákat.
- Programozáshoz, használj lehetőleg PICKIT2 vagy 3 programozót. Kerülendő a JDM (soros porti) programozó.
- A PIC adatlapja (PDF), tartalmazza a lábak kiosztását és a PIC minden paraméterét. Az adatlap ingyen letölthető!
- Egyes PIC típusoknál az RA4 nyitott nyelőelektródás (Csak lefelé húz L szintre, H szintet nem ad ki!)
- Ha a PGM lábat digitális ki-/bemenetnek használod, az alacsony feszültségű programozási lehetőséget le kell tiltani.
Lapozás: OK   157 / 1210
(#) Zserigta hozzászólása Okt 29, 2011 /
 
Videókban láttam, hogy a PIC16F887 képes a potméter jeleit érzékelni.
Azaz meglehet írni rá olyan programot, hogy 256 különböző jelet érzékeljen potmétertől.

Azt szeretném elérni, hogy az RA0-ra kötöm a potmétert, és a RD0-ra meg egy lámpát, ha a potmétert tekergetem, akkor változzon a lámpa fényereje.

Erre tudna nekem írni valaki egy rövid Assembly kódot?
Nagyon szépen megköszönném.
(#) Hp41C válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Szia!

A 16F887 10 bites A/D vel rendelkezik, tehát nem lehetetlen 1024 szint megkülönböztetése sem... A kimeneten való vezérlést pedig a legegyszerűbben a két CCP modul egyikének PWM üzemmódjának felhasználásávan az RC1 vagy RC2 lábon lehet megcsinálni.
(#) Hp41C válasza janikukac hozzászólására (») Okt 29, 2011 /
 
Szia!

Nem lehetetlen a táp bekötése sem... Milyen kontrollert teszel majd bele: a 8 lábúaknak és a 16F684, 16F690 -nek az 1. és az utolsó lába a táp. Ha 18 lábút is akarsz bele tenni, akkor valahova középre is le kell vezetni a tápot jumperen keresztül. Ha már ennyi hely van a panelen, egy két potenciométer is felférne.

fejleszto.LAY
    
(#) Zserigta válasza Hp41C hozzászólására (») Okt 29, 2011 /
 
Valami konkrétabb?
Legalább, hogy milyen parancsokat kell használni.

Jelenleg annyit tudok PIC programozásból, hogy LEDeket úgy villogtatok össze vissza ide-oda, ahogy akarok, plusz szimpla kapcsolókat tudok benne kezelni.
de ugye ennek így önmagában, nem túl sok haszna van a való életben.
Viszont ha már a potméter kezelését és fényerőszabályzást is tudnék eszközölni, úgy már azért volna értelme is a dolgoknak. Utána akár a LEDek villogásának sebességét is tudnám potméterről vezérelni.
(#) vicsys válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Nem hinném, hogy egy tipikus analóg szabályzást rákényszerítve egy PIC-es kapcsolásra- a legjobb kiindulási alap lenne a tanulásra. Azért kezdi mindenki a led villogtatással és nyomógombok kezelésével, hogy átlássa az alapvető programírási lehetőségeket és feltérképezze az esetleges "csapdákat". Persze nem lehetetlen megcsinálni amit írsz, de úgy érzem ezt majd a led villogtatás után kéne kipróbálnod. Mindezt szelíd rábeszélésnek szánom, mert mindannyian bejártuk ezt az "utat" és tudjuk, hogy alapok nélkül nehezebb lesz.
(#) watt válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Nézd meg az adatlapan az A/D és a CCP modul működését.
(#) icserny válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Ha assembly nyelven programozol, akkor bármit csinálsz, ugyanazt a 35 parancsot kell használni. PWM-hez is... Ismerni kell viszont a periféria modulok felépítését és vezérlő regisztereit, amit a mikrovezérlő adatlapja ír le részletesen.

PIC16F887-ről lévén szó, sok hasznos dolog megtalálható Milan Verle kitűnő könyvében, ami a Mikroelektronika cég honlapján szabadon elérhető. Ebben a könyvben ismerteti a perifériák felépítését, s a B függelékben mindenre egyszerű példákat is mutat.

A Microchip honlapján is érdemes keresgélni, mert a PICkit2 Debug Express példaprogramjaiból (PICkit 2 Debug Express Lessons) is lehet tanulni.
(#) Norberto válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
A következő parancsokat kell majd használnod valószínűleg (a lista nem teljes, és még csak sorrendben sincs, a paramétereit pedig lehagytam):

ANDWF
IORWF
MOVF
MOVLW
MOVWF
BCF
BSF
BTFSC
BTFSS
XORWF
(#) Zserigta válasza vicsys hozzászólására (») Okt 29, 2011 /
 
Mint írtam már, a LED villogtatással és kapcsolók kezelésével, szinte már végeztem.
Idézet:
„majd a led villogtatás után kéne kipróbálnod”

Pont ez után vagyok.
Szóval jöhetnek a potméterek.
(#) nedudgi válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
A Microchip 28 vagy 44 lábú demokapcsolásokban majdnem kész példákat lehet találni.
Például...
(#) Hp41C válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Nem vagyok robot...
Itt található egy magyar nyelvű pic kézikönyv...
(#) Zserigta válasza Norberto hozzászólására (») Okt 29, 2011 /
 

Lehet én fogalmaztam rosszul.

Szóval nekem csak a potméter és a fényerő kezeléséhez szükséges parancsokra lenne szükségem, lehetőleg valami paraméter sem ártana.

Amiket felsoroltál, azok csak szimpla műveletek az adatokkal.

De számomra cél parancsok kellenének, mint pl az ADCON, ADSEL.
(#) icserny válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Idézet:
„Szóval nekem csak a potméter és a fényerő kezeléséhez szükséges parancsokra lenne szükségem, lehetőleg valami paraméter sem ártana.”
Arra próbáltunk célozni, hogy erre nincsenek külön parancsok.
Idézet:
„számomra cél parancsok kellenének, mint pl az ADCON, ADSEL.”
Ezek nem parancsok, hanem regiszterek, amelyek az általános adatmozgató bitvizsgáló és bitmanipuláló parancsok operandusai lehetnek.

Olvasd el figyelmesen, amiket idáig ajánlottunk, s mindenre fény derül!
(#) Stefan válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Amúgy most ugyanazt fogod végigjátszani amit ebben a topikban? Kitalálsz valamit és azt az emberek szépen lépésről lépésre magyarázzák el neked, mert nem veszed a fáradtságot, hogy utánaolvass, keresgélj és mintaprogramok, rajzok alapján próbáld összerakni amit akarsz. 20 perceként beírsz valamit amire -hogy watt kolléga szavaival éljek- majd egy "robot" válaszol, pedig fele annyi idő alatt megkereshetted volna.
Mellesleg a fent említett topikban a végére összeraktam neked a kapcsolási rajzot ami kellett. Több hozzászólás nem érkezett, viszont kitaláltál megint valamit.
(#) Zserigta válasza Stefan hozzászólására (») Okt 29, 2011 /
 
Elnézést kérek a hülye kérdéseim végett, de ez
Idézet:
„nem veszed a fáradtságot, hogy utánaolvass, keresgélj és mintaprogramok, rajzok alapján próbáld összerakni amit akarsz”

így NEM igaz.

Mert igen is keresgéltem fórumokon, meg szimplán a google-ban.
De akárhol keresek, nem igen találok választ a kérdéseimre.
Lehet azért mert rosszul keresek, nem tudom.
Amiket találni is szoktam, az általában vagy egy teljesen másik PIC-hez való (hiába írom be a PIC-em típusát a keresőbe) vagy egy általam teljesen ismeretlen programozási nyelvre van írva.

Hsz meg azért nem érkezett a másik topic-ba, mert ugye, ott említettétek, hogy jobb lenne az alapoktól kezdeni és hát elkezdtem az alapoktól.
Aztán ha elérek arra a szintre, akkor folytatom azt a topic-ot.

De sajnos a hiányos angol tudás, és az eddigi Visual Basic-es tapasztalatok miatt kicsit nehézkesen haladok.
persze van VB-s compiler is PIC-ekhez, de arra aztán még kevesebb a találat a keresőben. Úgyhogy PIC téren maradok az Assembly és a CSS C nyelvél.
De először az Assembly-t akarom érteni.
(#) bbalazs_ válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Ugy megy, hogy az AD az egy ugynevezett periferia a PIC-ben. Az azt jelenti, hogy te a regiszterekben (ezek tulajdonkeppen speci memoriacimek, akiket altalaban a byte-on belul bitenkent kell ertelmezni, mintegy egymas melle vannak csomagolva mast-mast jelento bitek, ezt az adatlapban latod) pl. ADCON0,1,2 beallitod a parametereket, utana az egyik regiszter egyik bitjevel bekapcsolod a konverziot es varkozol. A PIC egy masik bit 0-ra allitasaval jelzi, hogy kesz van es utana masik regiszterekbol (ADRESHI, ADRESLO) kiolvashatod, hogy mi lett az eredmeny.

Tehat eloszor az ADCON-okkal beallitod, hogy
- milyen referencifeszultseggel akarsz dolgozni
- milyen pontossaggal dolgozzon (menyi ideje van konvertalni)
- honnan akarod beolvasni, melyik AD labrol
- azt az AD labat analognak kell beallitanod
- jobbra vagy balra legyen igazitva a vegeredmeny
- stb, ennyi jutott az eszembe

- bekapcsolod az AD-t az egyik bittel.

Utana az egyik ADCON bittel inditod GO/DONE bit=1.

Addig varsz, mig ez a bit ujra 0 nem lesz, addig egy onmagaba visszatero ciklusban ujra es ujra lekerdezed.

Ha vegre 0 lett, akkor kiolvasod az adreshi es adreslo regiszterekbol az erteket.

Szinte mindegyik azonos szamu picben ugyanugy mukodik az AD, szoval nem kell PIC specifikus kodot keresned.

Kezdonek jobb a 18F-es mert egyszerubb a regiszterkezelese, nem kell a bankokkal is bohockodni (a bankokkal a valo eletben is csak a baj van) .

Angolul azert olyan szinten erdemes lenne megtanulnod, hogy megertsd az adatlapot. Nem bonyolult.
(#) vilmosd válasza janikukac hozzászólására (») Okt 29, 2011 /
 
Azt nem ertem miert kell ennyit kinlodni ezzel! Az eredeti tervet kinyomtatod, es mar lehet is a PCB-t gyartani. En csinaltam egy par szaz probapanelt ezen terv alapjan, es idaig senki sem panaszkodott a minosegere. Egy oktatasi intezmeny volt a megrendelo.
(#) szitko válasza watt hozzászólására (») Okt 29, 2011 /
 
Szia.
Volt egy kis időm.( amíg pihen a shtill )
Idézet:
„Próbáld leírni, hogyan közelíted meg a kérdést!”


Megpróbáltam. Összeállítottam egy sémát, ami alapján (ha jó) könyebb lesz leprogramozni a számlálót.

counter.pdf
    
(#) peze válasza icserny hozzászólására (») Okt 29, 2011 /
 
Szia!

Én is iszonyat kezdő vagyok,és megnéztem a "könyvet",amit be linkeltél.Nagyon jó! Szájbarágós.. Szóval bár nem nekem szólt,azért köszönöm!
(#) huba hozzászólása Okt 29, 2011 /
 
Sziasztok. Ezidáig AVR-eket programoztam C-ben. Most valószínű az elvárások miatt szükségem lessz PIC-re is fejleszteni néhány dolgot. Azt szeretném kérdezni, attol akinek mindkettőben van tapasztalata, hogy mennyire problémás beletanulni a PIC-ek programozásába, C nyelven, hogyha van elég jelentős tapasztalatom AVR-ek terén?
(#) janikukac válasza Hp41C hozzászólására (») Okt 29, 2011 /
 
Köszi, hogy megcsináltad ezeket ! Más hiba nincs? Lesz benne még 8 lábú , pl 12F683 is, elvileg azt is kezeli.. Köszi mindent előre is !!
(#) janikukac válasza vilmosd hozzászólására (») Okt 29, 2011 /
 
Tudom, de nincs megfelelő fúroszáram hozzá, meg túl kicsinek találtam a forrpontokat. Remélem nem gond a terv...
(#) janikukac válasza janikukac hozzászólására (») Okt 29, 2011 /
 
Őőő, a egy kicsit változtattam, ezen kéne javítani, ha van még hiba..

fejleszto.LAY
    
(#) Hp41C válasza janikukac hozzászólására (») Okt 29, 2011 /
 
Nincs mit... A furatmátrix feletti részen levő dupla pontsor kiosztása nem 2.54 mm. Nehogy későn lepődj meg, ha ide valamilyen csatlakozót szeretnél betenni (lcd, stb). A függőlegesen álló ledek fetett - mellett elférne egy - két trimmer potenciométer is.
(#) janikukac válasza Hp41C hozzászólására (») Okt 29, 2011 /
 
Jaaaa, értem.. Akkor már csak annyi, hogy oda pontosan 2x10-es JACK-et beteszek, és pontos lesz... Köszönöm ! Ez azt jelenti, hogy akkor nincs más hiba... Még most este elkészül a panel..
(#) vicsys válasza Hp41C hozzászólására (») Okt 29, 2011 /
 
Sajnos a PIC melletti is aszimmetrikus. (gondolom az átvezetés helyhiánya miatt...)
(#) janikukac válasza vicsys hozzászólására (») Okt 29, 2011 /
 
Szia! Köszi, hogy ránéztél
Őőő, az nem baj, hogy ott is van hézag, mert oda nem megy bele majd csatlakozó, oda drótot fogok forrasztani...
(#) vicsys válasza janikukac hozzászólására (») Okt 29, 2011 /
 
Azt hittem, hogy szabványos méretű tüskesort(/ aljzatot) használsz a ráillesztendő modulokhoz. Nekem az lenne a logikus.
(#) doup hozzászólása Okt 29, 2011 /
 
Sziasztok, egy 18f4550-es picel vezérlek egy lcd kijelzőt. Működik is a C portján. Viszont ha a B portjára rakom akkor már nem. Úgy gondolom hogy a configurációs bitekkel lehet a gond vagy nem?
Tud valaki valami megoldást rá?
Ha kell akkor leírom a config biteket.
(#) janikukac válasza vicsys hozzászólására (») Okt 29, 2011 /
 
Igen, de oda nem kijelző, se semmi se fog menni, oda drótokat fogok tenni, mert szerintem az lesz oda a praktikus.. Vagy még vackoljak az áttervezésével? Már lelakozztam a panelt. Aztán ha valamennyire megköt, akkor már szárítom, és fotozom is.
Következő: »»   157 / 1210
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