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   156 / 1210
(#) janikukac válasza nedudgi hozzászólására (») Okt 28, 2011 /
 
Á, így már világos. Á, a kapcsoló meg a tologatható.. Köszi !
(#) Poostmaster válasza szitko hozzászólására (») Okt 28, 2011 /
 
Idézet:
„Az hogy a goto és a call is hívja a szubrutint, azért van mert nem tudtam máshogy megoldani, de mindenképpen kilép a szubrutinból.”


Ez nem teljesen így van, mert ha egy gotoval ugrasz a rutinba, a return biztosan kiakassza a stackot.
(#) szitko válasza Poostmaster hozzászólására (») Okt 28, 2011 /
 
Ebben igazad van, de ha megnézed a programot, láthatod, hogy figyeltem erre is. Azt elismerem, hogy nem egy elegáns megoldás.
(#) watt válasza szitko hozzászólására (») Okt 28, 2011 /
 
Én is használtam ezt a módszert, nincs gond vele, csak figyelni kell, hogy meglegyenek a call-return párok. A programodban ezek megvannak, ezért nem is boncolgattam tovább.
Nagyobb program esetében nagyon el lehet keveredni, ezért ha lehetőség van, kerülni kell ezt a megoldást.
(#) szitko válasza watt hozzászólására (») Okt 28, 2011 /
 
Ezekre figyelni szoktam, ha nem kapkodik az ember, (ahogy az előzökben olvashattuk) akkor nincs baj, persze mindenki hibázik.
Lenne egy kérdésem, hogy lehet egyszerűen megcsinálni, hogy az RBIE megszakítást ne hajtsa végre kétszer? Neztem az adatlapot, de hijába mentem le a PORTB-t akkor is megcsinálja. Eddig csak úgy sikerült, ahogy a számláló progiban van.
(#) janikukac hozzászólása Okt 28, 2011 /
 
Hali!
Nagyjából kész lettem , de bele is fáradtam a rajzolásba. Át kellet rajzolnom a fejlesztő nyákját, mert nem voltak megfelelők a furatok, meg a forrpontok nagysága. Kb kész lettem a rajzzal. Kérem valaki nézze át. Remélem nincs sok hiba, bár a táp résznél, a bal felső részen valamit lehet elbénáztam, de majd az okosabbak rájönnek.
(#) Zserigta hozzászólása Okt 29, 2011 /
 
Sziasztok.

Először is, elnézést, ha rossz helyre tettem az új téma nyitását, de nem lehetett kiválasztani a pontra menőt.

A kérdésem a következő, hogy pl egy PIC16F887-nél mik a configok.

Gondolok itt a következőre:
  1. __CONFIG    _CONFIG1, _INTRC_OSC_CLKOUT & _DEBUG_ON  & _LVP_OFF & _FCMEN_OFF & _IESO_OFF & _BOR_OFF & _CPD_OFF & _CP_OFF & _MCLRE_OFF & _PWRTE_ON & _WDT_OFF

Például a fenti kódrészletben mi, mit csinál?
Honnan lehet tudni, hogy mik és hogyan állíthatóak?
Ezen kívül biztos van még több féle config utasítás, azokat honnan tudom meg, hogy mik?

A microchip főoldalán található PDF-eket végignéztem, a config részben szereplő szavak-ra rákerestem, de semmi találat.

A segítséget előre is köszönöm.
(#) Hp41C válasza janikukac hozzászólására (») Okt 29, 2011 /
 
- Az 5. nyomógomb nincs bekötve sehová,
- A 7805 bemenete és a föld valamint a kimenete és a föld közé, közvetlenül a tokja mellé 100nF kerámia kondenzátor - esetleg alulról SMD 1206 vagy 0805 néretben.
- A 7085 kimenete nem jut el a pic táp lábára,
- A bejövő föld vezeték az oszcillátor után nem csatlakozik a 7805 földjéhez.
- A felső furatsornak nem kellene a 7805 kimenetére csatlakoznia?
(#) janikukac válasza Hp41C hozzászólására (») Okt 29, 2011 /
 
Oké, köszi , mindjárt nekiesek, és kiderül mi sül ki belőle..
(#) janikukac válasza Hp41C hozzászólására (») Okt 29, 2011 /
 
No, itt az új verzió:
Ezt javítottam ki:
-A gombok rosszul voltak bekötve
-A kondis kérdést nem értem. A PICnél ott a 100nF és az eredeti tervben se nincs semmi más 100nF
-Bekötöttem, hogy eljusson a PIC táp lábára
Az oszcilátort is csatoltam a földre
-A felső furatsort meg nem értem...

Nézd át, ezeket jól csináltam-e, meg van -e esetleg még valami...

fejleszto.LAY
    
(#) Hp41C válasza (Felhasználó 13571) hozzászólására (») Okt 29, 2011 /
 
Megint elveszett a válaszom... Pedig több, mint 5 percet gépeltem...
(#) Hp41C válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Szia!

A 16F88x adatlapjának "14.0 SPECIAL FEATURES OF THE
CPU" felyezetének "14.1 Configuration Bits" bekezdéséből...
Ha az MpLab programot a dafault könyvtárba telepítetted, akkor a c:\Program Files\Microchip\MPASM Suite\p16F88x.inc állomány végén vannak a konfigurációs szimbólumok definíciói.

A 16F88x nek két konfigurációs szava van, amire a _CONFIG1 és a _CONFIG2 szimbólummal lehet hivatkozni.

Az MpLab program a Config / Configuration bits menüpontben szövegesen kifejti az értékeket.

__CONGIG - konfiguráci megadása direktívája,
_CONFIG1 - az 1. konfigurációs szó megadása
_INTRC_OSC_CLKOUT - Belső RC oszcilátor CLKOUT kimenettel,
stb.

A konfigurációs konstansok az adott helyeken a kívánt bitmintát, más konfigurációs bitek helyén 1 értéket tartalmaznak, így a teljes szó a mezőkhöz tartozó bitminták közötti ÉS (&) művelettel áll elő.
(#) Hp41C válasza janikukac hozzászólására (») Okt 29, 2011 /
 
A két 100nF nincs benne, a 7805 nem táplálja a pic -et (Vdd)...
(#) watt válasza janikukac hozzászólására (») Okt 29, 2011 /
 
Te sem olvasod el a topic kiemelt részét! Eszméletlen... (Tudom ne válaszoljak, ha nem tetszik valami! Jópofa!)
Hp41C pedig biztosan egy robot...
(#) janikukac válasza watt hozzászólására (») Okt 29, 2011 /
 
De elolvastam ! Nem is most.. Akkor rakjak még egy 1206SMD-s 100nF-ot a VDD VSS közé???
(#) watt válasza szitko hozzászólására (») Okt 29, 2011 /
 
Szia! Elvileg két jeled között simán le kell tudni kezelni a megszakítást. Tehát minden jel után, amit a tárcsa ad, megszakítás keletkezik, amit le kell kezelni! Több ezer Hz-el lehet ezt csinálni, ha csak azt végzed ez a megszakításban, ami szükséges.
Próbáld leírni, hogyan közelíted meg a kérdést! Igyekszem válaszolni, de ma sok melóm van...
(#) PetAd válasza icserny hozzászólására (») Okt 29, 2011 /
 
Persze, hogy nincs értelme, de nem szeretném ha valami rövid túlfeszültség tönkre vágná a dolgot, rakok bele egy 4,3vos zenert a biztonság kedvéért.
(#) janikukac válasza janikukac hozzászólására (») Okt 29, 2011 /
 
Beraktam a VDD VSS közé a 100nF-ot, de a tápot nem lehet oda vezetni. Azt majd a jackre rákötöm dróttal, okés? Megnézitek?

fejleszto.LAY
    
(#) Zserigta válasza Hp41C hozzászólására (») Okt 29, 2011 /
 
Hmm. Nah, máris előrébb vagyok mint voltam.
De sajnos kb csak a felének van értelmes leírása, a többi, hááát.
  1. #define EC0x3FFB// EC
  2. #define HS0x3FFA// HS
  3. #define XT0x3FF9// XT
  4. #define LP0x3FF8// LP

Hát ez aztán... nagyon sokat mond.
Ezekre hol találok leírást, hogy melyik mi?

Vagy pl ez:
  1. #define PWRTDIS0x3FFF// Off
  2. #define PWRTEN0x3FEF// On

Oké hogy be és kikapcsol valamit, de MIT? A PW nekem a powert jelenti, ha jól értelmezem, de most mi, ezzel ki be kapcsolom az egész PIC-et, vagy mi?

Az adatlapban lévőkből meg semmit sem értek.
(#) szitko válasza watt hozzászólására (») Okt 29, 2011 /
 
Sajnos nekem is sok dolgom van, de megpróbálom mihamarabb lerajzolni az elméleti sémát.
(#) Zserigta hozzászólása Okt 29, 2011 /
 
Legyetek szíves segítsetek.
Annyit kellene csinálnia, ha lenyomom az egyik gombot, akkor a LEDsor közepe világít, ha elengedem a gombot, akkor meg csak az eleje.
De ez így miért nem működik:

  1. LISTP=16F887
  2.  include "P16F887.INC"
  3.  __CONFIG _CONFIG1, _XT_OSC&_CP_OFF&_WDT_OFF&_LVP_OFF
  4.  ORG 0
  5.  
  6. START
  7.   BANKSEL TRISA
  8.   MOVLW  0x06  
  9.   MOVWF  ADCON1
  10.   MOVLW  B'00011111'
  11.   MOVWF  TRISA
  12.   MOVLW  B'00000000'
  13.   MOVWF  TRISD
  14.   BANKSEL PORTD
  15. VISSZA
  16.   BTFSC   PORTA,0
  17.   GOTO  LENYOM
  18.   MOVLW  B'11000000'
  19.   MOVWF  PORTD
  20.   GOTO  VISSZA
  21. LENYOM
  22.   MOVLW  B'0011100'
  23.   MOVWF  PORTD
  24.   GOTO  VISSZA
  25.   END

kapcsrajz.jpg
    
(#) icserny válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Nem kellene ezen ennyit problémázni, hiszen az INC állomány definíciói csak a konfigurációs bitek kényelmesebb megadási módját hivatottak segíteni.

A konfigurációs bitek szerepét az adott mikrovezérlő adatlapja írja le, a "Special Features of the CPU" c. fejeleztben. Az egyes beállításokhoz tartozó magyarázat pedig a további alfejezetekben található meg. Pl. a kérdezett PWRT funkcióját a "Power Up Timer (PWRT)" alfejezet ismerteti: egy kb. 72 ms várakozást iktat be induláskor.
(#) Poostmaster válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Ha szabad kiegészítenem Hp41C-t, az említett P16F887.inc-ben ha megnézed az EQU utáni sort, és azt látod H'3FFF' az az alapbeállítása. Ha például a DEBUG-ot nézed:
_DEBUG_ON EQU H'1FFF'
_DEBUG_OFF EQU H'3FFF'

Ez azt jelenti, hogy alapértelmezésben ki van kapcsolva. Ha így jó neked, akkor nem kell vele foglalkoznod. Ha használni akarod a funkciót, akkor be kell írnod a _DEBUG_OFF -ot a sorba, ahogy a példádban is szerepel.
Csináltam egy excel táblát, ahol én be szoktam állítani a használni kívánt configomat, és égetés előtt ellenőrzöm, hogy a HEX értéke stimmel-e. Ebből rájövök, ha valamit rosszul állítottam. Szívesen megosztom, ha föltehetek ide excel táblát.
(#) Zserigta válasza icserny hozzászólására (») Okt 29, 2011 /
 
A "Special Features of the CPU" c. fejezetből szinte semmit sem értek.
A legtöbbet az INC állomány segített, de abban meg sok mindennek nincs leírva a haszna.
(#) Zserigta válasza Poostmaster hozzászólására (») Okt 29, 2011 /
 
Köszi az excelt, de ettől még sajnos továbbra sem tudom, hogy mi mi jelent (1-2 kivétellel).
(#) icserny válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Elfelejtetted beállítani az ANSEL regisztert.
(#) icserny válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Idézet:
„A "Special Features of the CPU" c. fejezetből szinte semmit sem értek.”
Talán egy kicsit több időt kellene szánni rá. Mindenesetre én csak az információ megtalálásában tudok segíteni.
(#) Zserigta válasza icserny hozzászólására (») Okt 29, 2011 /
 
Köszönöm.
Így már tökéletesen működik.
(#) Poostmaster válasza Zserigta hozzászólására (») Okt 29, 2011 /
 
Nem fordítva?
(#) Zserigta válasza Poostmaster hozzászólására (») Okt 29, 2011 /
 
Jah de.
De nem az volt a lényeg.
Következő: »»   156 / 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