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   517 / 1210
(#) zlanczky hozzászólása Ápr 24, 2014 /
 
Segítséget kérek!
Már több kis feladatot megoldottam PIC16F887 processzorral, de eddig mindig 5 V táppal. Most szeretném kipróbálni a NRF24L01 RF transceivert, de ez max 3.6 V-tal megy. Mit kell beállítani a PIC-en, hogy egy egyszerű led villogás menjen? A Pickit2 5V-ról megy, de külön 3V-ról nem megy. Hol lehet erről olvasni?
(#) icserny válasza zlanczky hozzászólására (») Ápr 24, 2014 /
 
Ha a PICkit2 adja a tápfeszültséget, akkor használd a saját kezelőprogramját, s akkor beállítható VDD értéke (pl. 3,3 V-ra, vagy 3,5 V-ra). Ez volt a kérdés?
(#) Hp41C válasza icserny hozzászólására (») Ápr 24, 2014 /
 
..., ha nem Sziva féle klón vagy PICkit2 Lite. Ezeknél bármit állítasz, 5V (4.7V) lesz a Vdd.
A hozzászólás módosítva: Ápr 24, 2014
(#) Pet91 hozzászólása Ápr 24, 2014 /
 
Sziasztok.
Próbálok összehozni mikro c-ben egy egyszerű led villogtató programot, amiben az órajel egy külső 1MHz-es forrásból jön. A project-ben ki is választottam az EC módot, és ez elvileg beállítja a CONFIG bitjeit helyesen, nekem azzal nem kell bajlódni. (a kódot azért mellékelem a végén)

A baj az, hogy akár ráteszem a 16f690 RA5/CLKIN lábára a külső órajelet, akár nem a villogás ugyan úgy megy. szabályosan, de pontatlanul. Mi lehet a baj?

köszönök minden segítséget
  1. void main() {
  2.      ADCON0 = 0b00000000;
  3.      TRISC.f3=0;
  4.      while(1)
  5.      {
  6.              delay_ms(1000);
  7.              PORTC.f3=1;
  8.              delay_ms(1000);
  9.              PORTC.f3=0;
  10.      }
  11. }
(#) zlanczky válasza icserny hozzászólására (») Ápr 24, 2014 /
 
Beállítottam a Pickit2 (eredeti) VDD feszültséget 3.0 voltra, de így nem működik a villogó. Ha visszaállítom 5 V-ra, akkor villog. Ez a kérdés, hogy mit kell máshogy csinálni, hogy a villogjon a le.
(#) nedudgi válasza zlanczky hozzászólására (») Ápr 24, 2014 /
 
Milyen színű a LED?
(#) icserny válasza zlanczky hozzászólására (») Ápr 24, 2014 / 1
 
Idézet:
„mit kell máshogy csinálni, hogy a villogjon a LED?”

Általánosságban ezek jutnak eszembe:
- Olyan CPU frekvenciát kell választani, ami az adott tápfeszültségen elérhető. (lásd adatlap)
- Nem szabad olyan szintre állítani a Brown-ot-Reset detektálást (ha engedélyezve van), ami az adott tápfeszültségen már RESET-ban tartja a mikrovezérlőt. (lásd konfigurációs bitek)
- Olyan LED-et kell villogtatni, amelynek nyitófeszültsége nem haladja meg a tápfeszültséget. (lásd LED adatlap)
(#) Hp41C válasza icserny hozzászólására (») Ápr 24, 2014 /
 
A konfigurációs regiszterekben a BOR tiltása, vagy a küszöb 2.1V -ra állítása.
(#) Pet91 válasza Pet91 hozzászólására (») Ápr 24, 2014 /
 
már vagy 1,5 órámba tellett, de a fail-safe clock monitor volt a ludas
(#) fotomen32 hozzászólása Ápr 25, 2014 /
 
Üdv mindenkinek
Nagy gondban vagyok.
Sajnos a pic programozáshoz nem értek viszont találtam egy kapcsolást amit szeretnék megépíteni.
A benne levő pic 16f84a,nekem viszont csak az újabb 16f628a van itthon azt mondták hogy át lehet írni a programot az új pic hez.
Ezt a feladatot megtudná esetleg valaki oldani nekem.
Erről a programról lenne szó.

24nixclk.asm
    
(#) Hp41C válasza fotomen32 hozzászólására (») Ápr 25, 2014 /
 
(#) fotomen32 válasza Hp41C hozzászólására (») Ápr 25, 2014 /
 
Köszönöm a gyors választ.
Megnéztem az oldalt de amik ott vannak azok több csöves dcf es órák.
Amit én keresek az egy egy csöves óra lenne.
Bővebben: Link
A hozzászólás módosítva: Ápr 25, 2014
(#) Hp41C válasza fotomen32 hozzászólására (») Ápr 25, 2014 / 1
 
(#) fotomen32 válasza Hp41C hozzászólására (») Ápr 25, 2014 /
 
Ezer köszönet
Megtaláltam a nekem valót és el is indult az órám.
(#) Pet91 hozzászólása Ápr 25, 2014 /
 
sziasztok,
megírtam ezt a programot miután tapasztaltam pár furcsaságot, és ez villogtatja a led-jeimet, pedig szerintem nem kéne neki. mit nézhetek el már megint?

  1. void main() {
  2.    TRISC=0;
  3.    
  4.    while(1)
  5.    {
  6.            PORTC|=0b00001000;
  7.            delay_ms(200);
  8.            PORTC|=0b00000010;
  9.            delay_ms(200);
  10.    
  11.    }
  12. }
(#) kistee válasza Pet91 hozzászólására (») Ápr 25, 2014 /
 
Én nem nagyon értek hozzá, de szerintem ez villogtató program.
(#) Pet91 válasza Pet91 hozzászólására (») Ápr 25, 2014 /
 
^^kistee: Szerintem azért nem mert látsz benne egy ilyen jelet: "|" ami a vagy, ezért nem kéne kikapcsolnia a másik ledet....

Proton basic-ben simán tudom negálni a PORTC-t, a while(1)-ben a köv. van:
PORTC=~PORTC
delay_ms(200)

De ugyan ez mikro c-ben folyamatosan égő ledet produkál, tehát a kiolvasással van baj. Biztos nem hardveres a hiba.

//------------------------------------OK, itt az orvosság, ha valakinek ugyan ez lenne valaha is a gondja:
ANSEL=0;
ANSELH =0;
ADCON1 = 0b00000000;
Itt ha nem állítasz mindent szépen digitálisra, akkor 0-át olvas vissza a program.
A hozzászólás módosítva: Ápr 25, 2014
(#) Hp41C válasza Pet91 hozzászólására (») Ápr 25, 2014 /
 
A LED túlterheli a kimenetet, nem tudja a magas szintet (0.8 * Vdd) visszaolvasni.
(#) Birs Alma hozzászólása Ápr 27, 2014 /
 
Sziasztok,

MPLAB-ot használva, ha egy részét az .asm fájlnak (néhány rutint) .inc fájlba átteszek és a kiemelt rész helyére a

#include xx.inc

-et írom, akkor a .inc-ben lévő

CBLOCK
xx
ENDC

mintha észrevétlen maradna. A xx -t definiálatlannak jelöli. Holott, ha az #include xx.inc helyére visszamásolom az include fájlt, akkor minden rendben van.

Mi lehet a baj?

Kösz.

L.
(#) Hp41C válasza Birs Alma hozzászólására (») Ápr 27, 2014 /
 
Kipróbáltam, MpLab 8.90 -ben működik.
(#) Birs Alma válasza Hp41C hozzászólására (») Ápr 27, 2014 /
 
Hát akkor én rontok el valamit, mert nekem, szintén 8.9-ben nem működik
L.
(#) icserny válasza Birs Alma hozzászólására (») Ápr 27, 2014 /
 
Idézet:
„Mi lehet a baj?”
Esetleg hozzá kell adni az .inc állományt a projekthez?
(#) Hp41C válasza icserny hozzászólására (») Ápr 27, 2014 /
 
Csak a forrásba kellett beírni egy sort:
  1. #include inc.inc
A hozzászólás módosítva: Ápr 27, 2014
(#) zlanczky válasza icserny hozzászólására (») Ápr 28, 2014 /
 
Köszönöm a választ!
A BOR tiltása ill. a BOR reset to 2.1 V is megoldotta a kérdést.
Lecsupaszítottam a konfigurációt, a program csak ebből áll:
  1. PORTC = 0b11111111;
  2.   while(1) {}

így tudom mérni a Ci lábakat, és valóban, megjelenik a 3V a kimeneten.
De most az a bajom, hogy a PICkit2 tápról van kimeneti 3V, de külső tápról nincs (pontos a 3V).

Ez mitől lehet?
(#) zlanczky válasza nedudgi hozzászólására (») Ápr 28, 2014 /
 
Nem a LED okozta a gondot, a LED önmagában, 3V-ról, egy 220 Ohmos ellenállással vidáman világít.
De köszi a gondolkodást.
(#) c27 hozzászólása Ápr 28, 2014 /
 
Sziasztok!

Néhány hónapja készítettem egy fordulatszám mérőt (és számlálót) hall szenzorral kb. úgy működik ahogy kéne aszinkron motor fordulatszáma 1440-1500 között változik (4 pólusú) ami szerintem elég reális (főleg ha még a hálózati 50Hz is 50-52Hz között van), igaz jelgenerátorral még nem mértem. A lényeg, hogy optokapuval is ki akartam próbálni, de akkor hülyeséget ír ki. Fototranzisztorral mindenféle eredmények jönnek, néha számol egyesével néha ugrik 10-20-at. Próbáltam reflexiós optoval az még rosszabb. A sima optokapu az majdnem jó, de nagyon érzékeny, hogy a rés hogyan van letakarva. Próbáltam kézzel egy fekete műanyag lappal úgy kb. jól számol, de érzékeny a rés takarására, ha nagyon lassan takarom le és nem egyenletesen akkor ott is érdekes számok jönnek ki. A lényeg amire ki akarok lyukadni, hogy hogy lehetne ezeket az optoeszközöket prellmentesíteni, szerintem inkább itt lehet a hiba, mivel a hall szenzorral nincsenek ilyen gondok és a sima optokapu is majdnem jól működik. Lehet ha normális kereket tennék bele akkor még jól is működne, de a reflexiós optoval tényleg hülyeségeket számol. Szerintem a fénytöréssel lehet a probléma, bár nem értek a dologhoz ezért is kérek segítséget.
(#) vicsys válasza c27 hozzászólására (») Ápr 28, 2014 /
 
Ha csak simán ellenállással van illesztve a PIC-re, akkor a zavaró infra fényt is beleszámolja. Kell egy csatoló fokozat mögéje (és a PIC elé), hogy betudd állítani a billenési szintet. Én egy puritán LM358-at használtam fel erre a célra.
A hozzászólás módosítva: Ápr 28, 2014
(#) Pali79 hozzászólása Ápr 28, 2014 /
 
Sziasztok!

A mellékelt programokat szeretnék kipróbálni tanulás céljából, de nem világos, hogy az lcd egyes kivezetéseit a pic mely kivezetésével kell összekötni. Valaki tudna segíteni?
(#) Hp41C válasza Pali79 hozzászólására (») Ápr 28, 2014 /
 
A RB7 kivezetés megy az LCD D7 -jére, RB6 kivezetés megy az LCD D6 -jére, ... RB0 kivezetés megy az LCD D0 -jére. Az RD7 megy az LCD E jelére, a RD6 megy az LCD R/W jelére, a RD5 megy az LCD CD jelére.
(#) zlanczky hozzászólása Ápr 28, 2014 /
 
Sziasztok!
Kezdő kérdésem van: Mitől lehet az, hogy egy program és kapcsolás működik, ha Pickit2-ről megy a táp, de ha átteszem külső tápra, akkor láthatólag nem indul el a processzor (pic16f887). Van egy láb, amit fixen magasra állítok.
Következő: »»   517 / 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