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   544 / 1210
(#) usane válasza usane hozzászólására (») Júl 7, 2014 /
 
Nem tudtam javítani már, ezét ideírom.
A foglalat már nem divat, ezért van az ICSP, avagy az az 5 vezeték a mit Hp41C kolléga leírt előttem, adatlapban ez is benne van, vagy olvasgasd a microchip ide vonatkozó adatlapjait.

pl: ICSP.
A hozzászólás módosítva: Júl 7, 2014
(#) Hp41C válasza usane hozzászólására (») Júl 7, 2014 /
 
Köszönöm a helyreigazítást! E hozzászólásomban a 4 ötnek, az 5 hatnak olvasandó...
(#) karak74 válasza csabagalcsaba hozzászólására (») Júl 7, 2014 /
 
Legelőször is javaslom megszívlelni eSDI korábbi, neked szóló válaszát. Én is MPLAB-ot használok, nálam a CBLOCK nem okoz problémát. Itt érdemes odafigyelni Hp41C válaszára. Az adatlapra is hasznos infót ad cross51-gyel egyetemben, de ha még így sem találod: PIC16F630 adatlapja

Más, bármelyik regiszter 255 után átfordul 0-ba. (a kezdeti értéktől függetlenül.) Ez az egyik szépsége az assembler programozásnak. Magas szintű nyelvek futás közben is hisztiznének, hogy a változó "overflow" (túlcsordult). Assemblyben teljes a szabadságod. Persze, épp ezért neked kell mindenre felügyelned.
(#) morzsa15 hozzászólása Júl 8, 2014 /
 
Sziasztok!
Olyan problémám van hogy a pickit 2 bele égeti a programot egy 16f628 picbe nem ír semmi hibát mikor readeltetem akkor 0000-t ír hogy az van benne. Mi lehet a probléma?
(#) morzsa15 válasza (Felhasználó 15355) hozzászólására (») Júl 8, 2014 /
 
Az mit takar?
(#) Bakman válasza morzsa15 hozzászólására (») Júl 8, 2014 /
 
Nem tudják lemásolni a programot, mert nem lehet kiolvasni a PIC-ből. Olvasási védelem.
(#) morzsa15 válasza Bakman hozzászólására (») Júl 8, 2014 /
 
De attól még ugye jól bele írja a programot?
(#) Bakman válasza morzsa15 hozzászólására (») Júl 8, 2014 /
 
Minden bizonnyal. Ha tutira meg akarsz győződni a dologról, kapcsold ki a kódvédelmet.
(#) cross51 válasza morzsa15 hozzászólására (») Júl 8, 2014 /
 
Ez attól függ, ha nem ír errort akkor valószínű, de a legbiztosabb ha teszteled. Nem tudom asm vagy hex fáj e a programod, ha asm akkor a CONFIG biteknél a CP mint code protect hivatkozik erre azt OFF ra és onnantól olvasható a pic.
(#) morzsa15 válasza Bakman hozzászólására (») Júl 8, 2014 /
 
Hogy tudom kikapcsolni? Hex formátumról van szó.
(#) cross51 válasza morzsa15 hozzászólására (») Júl 8, 2014 /
 
Hát ott többnyire sehogy bár, ha valaki tudja, hogy a hex-be melyik tartományba fordulnak a CONIFG bitek akkor ő tud segíteni.
(#) morzsa15 válasza cross51 hozzászólására (») Júl 8, 2014 /
 
Értem akkor elméletileg jó lesz holnap kipróbálom hogy jó-e majd írok ha nem jó. Köszi mindenkinek
(#) Bakman válasza morzsa15 hozzászólására (») Júl 8, 2014 /
 
File menü -> Import Hex
Tools menü -> Enable Code Protect (kikapcsolod)
Ezután mehet az írás a PIC-be. Indítsd újra a programot (PicKit) és olvasd vissza a PIC-ből a hex fájlt. Ha vissza tudja olvasni, akkor exportálni is tudod: File menü -> Export Hex. Az így kapott fájlban már nem lesz bekapcsolva a kódvédelem.
(#) Pali79 válasza morzsa15 hozzászólására (») Júl 8, 2014 /
 
Ezt ki is tudod kapcsolni, a config biteket át kell állítani égetés előtt.
(#) morzsa15 válasza Bakman hozzászólására (») Júl 8, 2014 /
 
Igen így jó köszi
(#) morzsa15 hozzászólása Júl 8, 2014 /
 
Nem tudom lehet-e ide ilyet szerintetek jó lehet ez? Bővebben: Link
(#) Pali79 válasza morzsa15 hozzászólására (») Júl 8, 2014 /
 
Milyen értelemben lehet jó?
(#) jonatani01 hozzászólása Júl 9, 2014 /
 
Üdv!
Kezdőként PWM-mel ismerkedek. Segítenétek, hogy 0%-on miért világít kicsit a LEDem?

  1. #include <p16F690.inc>
  2.      __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF & _BOR_OFF & _IESO_OFF & _FCMEN_OFF)
  3.  
  4.     CBLOCK 0x20
  5.  
  6.     ENDC
  7.  
  8.         ORG     0X00
  9.         GOTO    INIT
  10.  
  11. INIT:
  12.         BANKSEL TRISC       ;select bank cPORT direction
  13.         BCF     TRISC,5     ;cPORT 5 is output
  14.  
  15.         BCF     STATUS,RP1  ;select bank with PR2
  16.         MOVLW   0XFF
  17.         MOVWF   PR2         ;PWM PERIOD is 255
  18.  
  19.         BCF     STATUS,RP0  ;select bank with CCPR1L
  20.         MOVLW   0X00
  21.         MOVWF   CCPR1L      ;DUTY CYCLE, 0%
  22.  
  23.         MOVLW   0X0C
  24.         MOVWF   CCP1CON     ;PWM mode
  25.  
  26.         BCF     T2CON,T2CKPS0;prescaler is -
  27.         BCF     T2CON,T2CKPS1; - 1:1
  28.         BSF     T2CON,TMR2ON;start TIMER2
  29.  
  30. LOOP:
  31.         GOTO    LOOP        ;stay here
  32.  
  33.     END
A hozzászólás módosítva: Júl 9, 2014
(#) Pali79 válasza jonatani01 hozzászólására (») Júl 9, 2014 /
 
Pont az a lényege! Ha 0% a kitöltés a kimeneten mindig alacsony szint lesz! Ha elkezded növelni a kitöltést úgy fog egyre erősebben világítani.
(#) jonatani01 hozzászólása Júl 9, 2014 /
 
De világít pedig nem kellene neki.
Az adatlapból:
Idézet:
„When TMR2 is equal to PR2, the following three events
occur on the next increment cycle:
- ...
- The CCP1 pin is set. (Exception: If the PWM duty cycle = 0%, the pin will not be set.)
- ...”
A hozzászólás módosítva: Júl 9, 2014
(#) Pali79 válasza jonatani01 hozzászólására (») Júl 9, 2014 /
 
Ja, bocsi én értettem félre! Esetleg ha van szkópod azzal kéne ellenőrizni a kimenetet.
Vagy még a CCPR1L részét tedd bele a LOOP címkébe is, hogy többször végrehajtódjon.
(#) jonatani01 válasza Pali79 hozzászólására (») Júl 9, 2014 /
 
Úgy is ugyanaz a helyzet.
Sajnos még nincsen oszcilloszkópom, lehet felprogramozok egy másik uC-t figyelni a CCP1 kimenetet.
A hozzászólás módosítva: Júl 9, 2014
(#) jonatani01 válasza jonatani01 hozzászólására (») Júl 9, 2014 /
 
Ja nem is kell másikat felprogramozni, ugyanezzel is lehet figyelni... x)
(#) cross51 válasza jonatani01 hozzászólására (») Júl 9, 2014 /
 
Nem a CCPx kimenetével van a baj hanem a PR2 0xFF így egy kicsit feszültség mérhető a PWM kimeneten ha a PR2-őt mondjuk 250 állítod akkor már nem szabad világítani a lednek.
(#) jonatani01 válasza cross51 hozzászólására (») Júl 9, 2014 /
 
Azt is próbáltam, de úgy is világít.
(#) ferkoo válasza jonatani01 hozzászólására (») Júl 9, 2014 /
 
Üdv itt találsz segítséget.
(#) Hp41C válasza jonatani01 hozzászólására (») Júl 9, 2014 /
 
Hogyan van bekötve a LED?
(#) jonatani01 válasza Hp41C hozzászólására (») Júl 9, 2014 /
 
Egy ellenálláson keresztül a földre.
A hozzászólás módosítva: Júl 9, 2014
(#) Pali79 válasza jonatani01 hozzászólására (») Júl 9, 2014 / 1
 
Átírtam 628A-ra (a megjegyzéseket nem):
  1. #include <p16F628A.inc>
  2.      __config (_INTRC_OSC_NOCLKOUT & _WDT_OFF & _PWRTE_OFF & _MCLRE_OFF & _CP_OFF)
  3.  
  4.     CBLOCK 0x20
  5.  
  6.     ENDC
  7.  
  8.         ORG     0X00
  9.         GOTO    INIT
  10.  
  11. INIT:
  12.         BANKSEL TRISB       ;select bank cPORT direction
  13.         BCF     TRISB,3     ;cPORT 5 is output
  14.  
  15.         BCF     STATUS,RP1  ;select bank with PR2
  16.         MOVLW   0XFF
  17.         MOVWF   PR2         ;PWM PERIOD is 255
  18.  
  19.         BCF     STATUS,RP0  ;select bank with CCPR1L
  20.         MOVLW   0X00
  21.         MOVWF   CCPR1L      ;DUTY CYCLE, 0%
  22.  
  23.         MOVLW   0X0C
  24.         MOVWF   CCP1CON     ;PWM mode
  25.  
  26.         BCF     T2CON,T2CKPS0;prescaler is -
  27.         BCF     T2CON,T2CKPS1; - 1:1
  28.         BSF     T2CON,TMR2ON;start TIMER2
  29.  
  30. LOOP:
  31.         GOTO    LOOP        ;stay here
  32.  
  33.     END


Teljesen jól működik!
Az áramköröd tuti jó?
A hozzászólás módosítva: Júl 9, 2014
(#) Balagemann2031 válasza jonatani01 hozzászólására (») Júl 9, 2014 /
 
Szia! CCPxCON, DCxB1 és DCxB0 bitjei adják a 10bites felbontás 0 és 1 bitjét ne hagyd figyelmen kívül!
Következő: »»   544 / 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