Fórum témák
» Több friss téma |
Fórum » PIC - Miértek, hogyanok haladóknak
Köszi,igen közben elindult. Melyik regiszterekben nézelődjem?
Olvasgattam közben és a radix-ot is átállítottam decimálisra de nem megy a késlelteés. A freki 3.9999Mhz az megy. Mi lehet a baj?
Igen úgy akarom. Köszi a segítséget kipróbálom. Neked is köszönöm edison14.
Sziasstok!
Tudja valaki, hogyan kell használni a PIC18F690 analóg lábait? Az adatlapon próbáltam eligazodni de csak adig sikerült eljutnom, hogy hogyan lehet egy lábat analógra állítani. De hol adom meg mekkora feszültség menjen ki, ill. hol látom mekkora a bejövő feszültség? Az analóg lábakat is ugyan úgy a TRISx-el állítom ki/be menetre? Előre is köszi a választ!
Idézet: „De hol adom meg mekkora feszültség menjen ki, ill. hol látom mekkora a bejövő feszültség?” Előbbit nem lehet, ahhoz DA átalakító kellene, utóbbit meg az ADRESx regiszterekben találod a konverzió végén.
nem tudom megadni a kimeneti feszültséget?
![]() Hogy olvasom az összes lábat ily módon amikor ez csak 2 bájt (ADRESL, ADRESL)?
Nem, mert ha figyelmesen olvasol, akkor analóg-digitális átalakító van csak a kontrollerben.
Úgy, hogy egyesével indítod a konverziót, és mindig a legutóbb befejezett konverzió eredménye lesz ott. Nem többes számban van analóg-digitális átalakító a chipben, hanem csak egyetlen egy darab van, aminek változtatható, hogy melyik lábról jövő jelet akarod vele digitalizálni. Ezért először kiválasztod, hogy melyik lábról akarod, majd vársz némi időt (adatlap megmondja pontosan, úgy 2-6us közötti rémlik), indítod a konverziót, és a végén ott lesz az eredmény az ADRESx regiszterekben.
köszi
![]() Nem nagyon sikerült semmit sem elérnem a 887-el. ki- be tudom kapcsolgatni a lábakat, tudom xorolni. De se késleltetés se megszakítás semmi sem megy.
Túl nagy kérés volna, hogy ebben a topikban elsősorban olyat kérdezz, ami ezekben nincsen benne?
1. PIC16F887 2. Milan Verle: PIC Microcontrollers 3. PICkit 2 Debug Express Lessons (PIC16F887) Ez nem chat fórum, még csak nem is a PIC kezdő topik. S a kérésem természetesen nemcsak neked szólt, s nem kioktatásnak, hanem segítségnek szántam - mindnyájunk érdekében.
Igen,köszi. tudomásul vettem. Át is olvasgattam meg még nagyon sok mindent, és próbákat is néztem,és tényleg teljesen reménytelen. Nem tudom eldönteni mi a rossz. Az égető a az égető program vagy az asm, vagy esetleg a pic Nem volt ilyen gondom Pic-kel. A példákból az derül ki, hogy jól csinálom. De nem megy. A 4Mhz megvan. Az I/O-t tudom irányítani, de egy szimpla led villogtatás már nem megy. Ha valakinek lenne egy kis ideje egy egyszerű biztosan működő led villogtatót írni asm-ben 16f887-esre, hogy biztosan máshol keresgéljek, azt nagyon megköszönném.
![]()
Tedd fel, milyen szimpla LED villogtató(vagy időzítő) programmal próbálkozol(csatold a forrás fájlt!) és a rajzot is tedd fel, de pontosan, minden alkatrésszel, ami most be van kötve, tápegységgel stb, de az utolsó kondiig(ne utólag derüljön ki, hogy az valójában ott van, száz kérdés-válasz időpocsékoláss után!) ! Egy fénykép is jó lenne, hogy hogyan néz ki az áramköröd!
Ha nem adsz pontos és normális(!) rajzot és forrást, nem tudunk segíteni! Azt te sem gondolhatod, hogy gondolatolvasók vagyunk! A szimulátort is próbáld használni(ne kérdezd hogyan, már leírtuk itt többször, használd a keresőt), az pont arra való, hogy az időzítéseid jól működnek-e elméletben! Az égetőd, ha visszaellenőrzéskor nem ad eltérési hibát, nem lehet az oka a jelenségnek!
Idézet: Ilyen hamar? Kétlem... Úgy látom, még az sem tűnt fel, hogy a harmadiknak megadott linken elérhető mintaprogram gyűjteményben benne van az, amit kérsz.„Át is olvasgattam meg még nagyon sok mindent” Az első példa (1- Hello World) kigyújt egy LED-et (RD0). A második példa pedig villogtatja a LED-et (ugyancsak az RD0 lábon). Idézet: A konfigurációban a WDT-t le kell tiltani, a programban pedig ki kell kapcsolni az analóg komparátort.„Egy LED-et akarok vele villogtatni. Kell valami különleges konfigurálás?”
Köszi ha lesz időm kipróbálom mert eddig nem jött össze sehogy.
Jó reggelt!
Továbbra sem sikerült megoldanom a problémát. Megcsináltam amit kértél, remélem nem hagytam ki semmit. A képek kicsit homályosak lettek, mert le kellett butítani őket, hogy felférjenek. Nagyon szimpla az egész de eddig működött 16f84A ,12F629, 16f877.
Szia!
A programozó program ismeri a 16F887 -et? Sajnos a 16F887, 16F887A és a 16F887 programozása eltér.
Watt programját használom a Com porton. Nekem ezen a módon egyik picet sem ismeri fel, csak az Lpt-n! De annak ellenére eddig mindet jól megírta. A winpic800 nálam sosem akart működni az icprogban meg nincs 887-esre lehetőség.
Van olyan program, ami jól működött a 887-en? Égetés után visszaolvasáskor egyezik a tartalom?
Ha nem, akkor lehet, hogy a JDM a hibás, vagy a programomban van hiba! Nézem a rajzot, de nem értem mit is kéne ennek csinálnia? Se kimenet, se bemenet???
Közben rájöttem, hogy az a dióda valójában egy LED...
A másik két tápláb közé is kell 100nF, közvetlen a lábakhoz!
Igazából ez egy kimenet az RD0. csakhogy van e freki. Érdekes hogy xorlni tudom a portokat, meg ki bemeneteket is tudok vizsgálni, meghatározni. De kb ennyi a funkció. Más programot meg nem találok com porton 887-re mert a winpic-ben sincs és nem is megy nálam az ic-progban meg egyszerűen nincs 887. Nem tudom lehet e valahonnan kiegészítőt letölteni vagy egy újabb verziót. Vagy valami más programot amiben van, mert már ma is egy rakás programot néztem de nincs bennük 887.
Tehát akkor a programokat be tudod égetni, viszaellenőrizni és jó? A konfig területet is próbáltad ellenőrizni(készíts egy képmentést, had lássuk mi is!
![]()
Sosem tudta a program a Com- porton se felismerni se visszaolvasni, de működött a program. Azért mellékeltem a képet. Teszek oda kondit.
Nem jól van beállítva a WPB! Lecsekkoltad a vonalakat égetés előtt? Az oldalamon leírom, hogyan kell éleszteni, beállítani egy égetőáramkört!
A programnak nem feladata felismerni a COM portot! A PIC-et viszont annál inkább! Addig, amíg nem ismeri fel, addig ne is próbálkozz mással, de mindenekelőtt PIC nélkül be kéne állítani a programot!
Be van állítva, de nincs max 232, lehet ezért nem ismeri fel. A check boxban pedig a pipák ha bent vannak akkor van 2.6 V a lábakon, ha nincs akkor 250mV-körül vannak. Összerakom újra az Lpt-s égetőt. Az felismerte a piceket. és általában jól be is olvasta. De ha nem a program akkor is működött.
És mi van az adat bemenettel? Az a sok 0000 nem lehet véletlen! Ellenőrizd le újra a leírás szerint, mert ott nem stimmel valami! Persze lehet, hogy a JDM eleve nem lehet jó, de gy próbát megér, hogy megfordítsd a bemeneti fázist.
Visszatettem az Lpt-s égetőt. Az felismeri, az olvasása jólenne de egy sorrel lentebb van. De sajnos ugyanúgy nem megy.
Eredmények: a 12f629, 16f877-et felismeri írja és rendesen visszaolvassa. A 16f887-et felismeri és így olvassa vissza:
Sziasztok!
ps1: A JDM bitenként megnegálva programozta be a programutasításokat. ps2: Akkor tapasztaltam ilyen címeltolódást, amikor a programozó nem töltötte fel teljesen a pic belső tárolóit. A 16F883 és 16F884 -nek 4 darab, a 16F886 és 16F887 -nek 8 darab belső tárolója van.
Töltsd le a legújabb WPB-t! Melyik verziód van most?
|
Bejelentkezés
Hirdetés |