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   1113 / 1113
(#) Bakman válasza menyus hozzászólására (») Vas, 11:08 /
 
Ha van másik kontrollered, próbáld ki azzal. Nincs kizárva, hogy próbapanelben egy lábbal arrébb let berakva és bekapcsoláskor elromlott. Én 28 lábúval csináltam meg ezt egyszer.
(#) menyus válasza Bakman hozzászólására (») Vas, 18:11 /
 
Nem lett "elültetve", nem univ. panelen van hanem egy vasalt próbapanelen. Ettől még el lehet tervezve a panel persze, de félreültetve, vagy foglalatban arrébb rakva biztosan nem volt mert a DIL tok a TOP oldalra fixen fel van forrasztva.

Ezt a PSPMODE dolgot körüljárom, csak jussak el a műhelyig. Mivel a PORTE csak 3 bit összesen, az első 3 bittel állítható be a port iránya a TRISE regiszterben. A negyedik bittől felfelé is 0 értéket adtam meg, nem is gondolva arra hogy a TRISE regiszterben mást is be lehet állítani. Marad még hogy valóban hibás a kontroller ki-bemenete de ezt nem gondolnám.
(#) menyus válasza pipi hozzászólására (») Vas, 18:28 /
 
Nincs zárlatban, eleve mint írtam egy futófény programmal (azaz mondhatni port billentéssel) tesztelem a kimeneteket és az analóg kapcsolókat (74LVC1G66) amiket a kimenetek vezérelnek. De spec. ez a makacskodó láb egy bemenet lesz (lenne) alapesetben, de kimenetként (is) tesztelem mivel néha kimenetként is lesz használva. Egy buzzer lenne rajta, egy FET kapcsolgatja. A FET jó, ha kikötöm a PORTE2 őt és vezérlem a FET et működik a buzzer. A FET azért kellett mert eredetileg relét akartam kapcsoltatni vele, a buzzert simán elbirná a kimenet is közvetlenül. De ha már beültettem otthagytam. Sajna se bemenetként se kimenetként nem funkcionál a PORTE2. A VSS hez mérve 0V van rajta fixen, bármit csinálok vele. Még ez a PSPMODE kavarhat be, nincs előttem az adatlap nem tudom az mit állít, de tuti valami periféria kavarhat be szerintem ami be van kapcsolva defaultban és át kéne állítani. Ha jól emlékszem a PERTE 0 és 1 bit az AD nak is konfigolható, ezt kilőttem az ADCON1 regiszterben az első 3 bit 1 be állításával (minden I/O digitális) a PORTE2 nek pedig a párhuzamos porthoz van valami köze ha jól emlékszem, de bármit állítok nem műkszik.
A hozzászólás módosítva: Vas, 18:30
(#) Hp41C válasza menyus hozzászólására (») Vas, 18:46 / 1
 
Idézet:
„Még ez a PSPMODE kavarhat be, nincs előttem az adatlap nem tudom az mit állít, de tuti valami periféria kavarhat be szerintem ami be van kapcsolva defaultban és át kéne állítani. Ha jól emlékszem a PERTE 0 és 1 bit az AD nak is konfigolható, ezt kilőttem az ADCON1 regiszterben az első 3 bit 1 be állításával (minden I/O digitális) a PORTE2 nek pedig a párhuzamos porthoz van valami köze ha jól emlékszem, de bármit állítok nem műkszik.”

16F877:
Pontosítás:
TRISE:
PSPMODE: Parallel Slave Port Mode Select bit
1 = PORTD functions in Parallel Slave Port mode
0 = PORTD functions in general purpose I/O mode
Ha analóg módban marad egy láb, akkor is meghajtja a port kimeneti regisztere, ha a TRIS regiszterben a megfelelő bit 0.
TRISE = 7;

PORTE:
RE2, RE1, RE0 mind konfigurálható analóg bemenetnek.

ADCON1:
ADCON1 regiszterben az alsó 3 bit 1 be állításával (minden I/O digitális)
ADCON1 = 7;
(#) menyus válasza Hp41C hozzászólására (») Vas, 19:15 /
 
Örök hálám Nagyuram, Tőled még csak működő supportot kaptam. Köszönöm az instrukciót, megyek is a műhelybe és kipróbálom.
(#) menyus válasza Hp41C hozzászólására (») 9:15 /
 
Megnéztem, a TRISE -B'00000111 azaz dec 7 ahogy írtad, és az ADCON1 is így volt /van beállítva. A TRISE2 változatlanul halott mind kimenet mind bemenetként A PSPMODE bitjét végül nem is piszkáltam, lévén hogy annak nincs köze a PORTE hez csak a PORTD hez. Nincs ötletem... Tok csere?
(#) menyus válasza Hp41C hozzászólására (») 10:08 /
 
Pontosítanék, a PORTE2 bemenetként most működik, csak kimenetként nem. Ha a TRISE regiszterben bemenetnek konfigurálom majd a nyomógombot beállítom pl egy feltételként akkor működik. De kimenetként változatlanul nem megy, hiába állítom 0 ba a TRISE ben. Álandóan alacsony szinten van.
(#) pipi válasza menyus hozzászólására (») 10:58 /
 
Hali!
Most bemenetként mitől indult el? A felhúzóellenállás most fel tudja húzni, vagy csak félszint?
(#) menyus válasza pipi hozzászólására (») 13:13 /
 
Nem, én néztem be megint... Működött az kimenetként is, csak a port billentések között kimaradt a késleltetőhurok meghívása, így egy utasítás végrehajtási periódusig volt aktív a kimenet.


Ez volt a hiba:

  1. CALL time2
  2.  
  3.                        
  4. MOVLW   B'00000100'        ;       PORTE2 BUZZER  
  5. MOVWF   PORTE
  6. MOVLW   B'00000010'        ;       PORTE1 
  7. MOVWF   PORTE
  8.                        
  9. CALL time2


A "megoldás"...:

  1. CALL time2
  2.  
  3.  
  4. MOVLW   B'00000110'        ;       PORTE1 + PORTE2 BUZZER
  5. MOVWF   PORTE
  6.                        
  7. CALL time2
  8.  
  9. CLRF  PORTE
[/code]

Bocs, megint én voltam figyelmetlen. Köszi mindenkinek a segítő szándékot.
A hozzászólás módosítva: 13:13
(#) Saggitarius válasza menyus hozzászólására (») 13:15 /
 
"hiába állítom 0 ba a TRISE ben. Álandóan alacsony szinten van." Csak 0-ba allitod a E2 regisztert, vagy koveti meg LATE (PORTE) is ahol szintet valtoztatsz?
(#) menyus válasza Saggitarius hozzászólására (») 13:17 /
 
De, természetesen a portirány kiválasztása (TRISE2=0) után aktívvá is tettem a kimenetet azaz a PORTE2 bitjét 1 re állítottam. Köszi, már megoldódott. Én néztem be a késleltetéssel a dolgot.
A hozzászólás módosítva: 13:19
(#) Saggitarius válasza menyus hozzászólására (») 13:18 /
 
Keson kuldtem el + ASM es nem C.
(#) menyus válasza Saggitarius hozzászólására (») 13:20 /
 
No problem, köszi.
Következő: »»   1113 / 1113
Bejelentkezés

Belépés

Hirdetés
Lapoda.hu     XDT.hu     HEStore.hu