Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Co należy podpiąć do PICa, aby "działał"??

ja9192 04 Kwi 2011 20:36 3518 32
  • #1 04 Kwi 2011 20:36
    ja9192
    Poziom 9  

    Witam, mam następujący problem. Napisałem sobie program w MicroPascalu na układ PIC16f685, który po pojawieniu się stanu wysokiego na wybranym pinie portu A ma dać stan wysoki na określonym pinie portu C przez dany czas. Wszystko się ładnie skompilowało i zapisało. Po "odpaleniu" programu w symulatorze Real Pic Symulator niby wszystko ładnie działa tak jak powinno, lecz po wgraniu programu do układu już nie. Wydaje mi się, że problem leży w moim nieumiejętnym podłączaniu procesora. Podłączam mu jedynie zasilanie i nic więcej.
    Zwracam się więc z pytaniem co muszę jeszcze podłączyć do PICa, aby ten działał tak jak w tym symulatorze?? Pozdrawiam.

    0 29
  • #3 04 Kwi 2011 23:43
    dondu
    Moderator Mikrokontrolery Projektowanie

    Pokaż swój schemat podłączenia.

    0
  • #4 05 Kwi 2011 00:20
    ja9192
    Poziom 9  

    Nie ma za bardzo co pokazywac schematu, ponieważ podłączam jedynie V+ i GND do PICa. Dlatego pytam, co jeszcze muszę podłączyć, aby on działał. W symulatorze program działa tak jak sobie założyłem, ale po wgraniu programu na układ już nie działa :/

    0
  • #5 05 Kwi 2011 00:24
    asembler
    Poziom 32  

    Może włącz zasilanie?

    0
  • #6 05 Kwi 2011 07:34
    dondu
    Moderator Mikrokontrolery Projektowanie

    Przeczytaj:
    - str 176 - 14.2.2 MCLR (i podłącz ten pin odpowiednio lub skonfiguruj zgodnie z 14.1)
    - str 174 - 14.1 Configuration Bits (ustaw odpowiednio do potrzeb)
    - kondensator 100nF na zasilaniu przy procesorze masz?

    0
  • #7 05 Kwi 2011 07:34
    mirekk36
    Poziom 42  

    ja9192 napisał:
    Nie ma za bardzo co pokazywac schematu, ponieważ podłączam jedynie V+ i GND do PICa. Dlatego pytam, co jeszcze muszę podłączyć, aby on działał. W symulatorze program działa tak jak sobie założyłem, ale po wgraniu programu na układ już nie działa :/


    No skoro nie podłączyłeś nic do żadnego pinu poza zasilaniem (o ile je włączyłeś w ogóle jak wspomniał wyżej kolega) to co masz na myśli pisząc "żeby działał" ??? Ma on poruszać swoimi nogami ???

    A w symulatorze jak sprawdzasz czy ci działa ? napisałeś program do czego ? co testujesz ? Masz w ogóle ochotę czymś sterować ? na zewnątrz procka ? czy tylko napisać pętlę nieskończoną ?

    Bo jeśli to ostatnie to uwierz mi, że twój procek działa po wgraniu programu i podłączeniu zasilania. Jeśli się dopiero uczysz czegokolwiek to złap teraz za diodę LED z rezystorkiem i spróbuj ją zapalać i gasić programowo ;) może ?

    0
  • #8 05 Kwi 2011 07:38
    adamwesola
    Poziom 24  

    Przy poprawnej konfiguracji i programie procesora 16f685 , do działania wystarczy samo zasilanie.

    0
  • #9 05 Kwi 2011 08:10
    viayner
    Poziom 34  

    Witam,
    podczas kompilowania oraz w programie w glownej petli na jej poczatku musisz ustawic:
    - kierunki i rodzaje portow jakie uzywasz
    - POR, WDT, BOR itp ale raczej ich nie uzywasz wiec wylacz
    - MCLR - albo wylaczasz go albo podciagasz rezystorem do plusa
    - zegar - jezeli uzywasz wewnetrznego zegara (napisales ze nie masz zadnych elementow dodatkowych) to musisz go skonfigurowac (w ustawieniach projektu), wybierasz rodzaj zegara i tryb pracy.
    - nie zaszkodzilo by dodac kondensator na zasilaniu blisko PICa.
    PS
    sugeruje napisac sobie maly programik np. migajacy LEDem na jakims pinie powiedzmy 5 razy, na nim testujes konfiguracje i uczysz sie zmiany konfiguracji.
    Pozdrawiam

    0
  • #10 05 Kwi 2011 15:45
    ja9192
    Poziom 9  

    Witam. Co do tego jak stwierdziłem czy PIC działa to mierzyłem jego piny miernikiem no i nie jest to tak jak powinno, tzn na porcie C cały czas jest napięcie a powinno być tylko gdy dam "1" na odpowiedni pin portu A.
    W "Real Pic Symulator" wszystko działa tak jak powinno. Napięcie oczywiście podłączone ;p. Może kupię drugi układ, i wgram program od nowa. Może po prostu mam uszkodzony układ, chociaż programował się bez błędów.

    0
  • #11 05 Kwi 2011 15:52
    dondu
    Moderator Mikrokontrolery Projektowanie

    ja9192 napisał:
    Może kupię drugi układ, i wgram program od nowa. Może po prostu mam uszkodzony układ, chociaż programował się bez błędów.

    Zanim to zrobisz narysuj swój schemat oraz pokaż program.
    Bronisz się przed tym, a tu najprawdopodobniej leży przyczyna.

    Chociaż taki jak ten:
    Co należy podpiąć do PICa, aby "działał"??

    0
  • #12 05 Kwi 2011 19:54
    ja9192
    Poziom 9  

    No na moim schemacie to za wiele nie ma, no ale proszę :)

    Co należy podpiąć do PICa, aby "działał"??

    Co do kodu to jest cos takiego:

    Code:
    program LED_Blinking;
    
    begin
      TRISA := 0xFF;
      TRISC := 0x00;
    While TRUE do
       begin
            if (PORTA=0x01) then
               begin
                     PORTC:=0x01;       // Turn ON diodes on PORTB
                      Delay_ms(2000);
                       PORTC:=0x02;
                         Delay_ms(4000);
                           PORTC:=0x01;
                             Delay_ms(2000);
                             PORTC:=0x00;
                                 end;
    end;
    end.

    0
  • #14 06 Kwi 2011 21:26
    maniek1818
    Poziom 22  

    Widzę, że autor używa mikroPascala, też zaczynam swoją przygodę z mikroprocesorami od Microchipa, ale...
    Napisałem taki prosty program, żeby sprawdzić czy wszystko działa:

    Kod: pascal
    Zaloguj się, aby zobaczyć kod

    Cały kod działa, ale w taki sposób, że dioda podpięta do dowolnego pinu PortB gaszona jest na ponad 6 sekund, zaś pali się 1 sekundę.

    0
  • #15 25 Kwi 2011 21:40
    ja9192
    Poziom 9  

    Witam, udało mi się wgrać program i trochę działa, niestety tylko troche:/. Po podłączeniu zasilania i wysłaniu "plusa" z bateri nic sie nie dzieje, natomiast po dotknięciu okolic pinów układu program się rozpoczyna :/. Wydaje mi się ze trzeba jakos wyeliminowac te zakłucenia, lecz nie za bardzo wiem jak to zrobic. W związku z tym zwracam się o pomoc do Was :).

    0
  • #17 25 Kwi 2011 22:55
    ja9192
    Poziom 9  

    Witam, przepraszam za jakość schematu, ale robiony w paincie :/

    Co należy podpiąć do PICa, aby "działał"??

    Program:

    Code:
    program LED_Blinking;
    

    begin
         OSCCON := %01110010;
         PORTC := 0x00;
         TRISC := 0x00;
         PORTA := 0x00;
         TRISA := 0xFF;
         ANSEL  := 0;
         ANSELH := 0;

    While TRUE do
       begin
            if (PORTA=0x01) then
               begin
                     PORTC:=0x01;       // Turn ON diodes on PORTB
                      Delay_ms(4000);
                       PORTC:=0x02;
                         Delay_ms(8000);
                           PORTC:=0x01;
                             Delay_ms(4000);
                             PORTC:=0x00;
                                 end;
    end;
    end.



    Wyczytałem cos o rezystorach podciągających, ale nie za bardzo wiem jak je włączyć :/

    0
  • #18 25 Kwi 2011 23:38
    dondu
    Moderator Mikrokontrolery Projektowanie

    Mam prośbę, jeżeli coś piszę to przeczytaj to i zastosuj, albo nie oczekuj ode mnie dalszych podpowiedzi.
    Dwa razy prosiłem - w poście 05 Kwi 2011 07:34 i ponownie o 20:16

    0
  • #19 26 Kwi 2011 00:17
    ja9192
    Poziom 9  

    Przeczytałem twoje wcześniejsze wypowiedzi. Wyłączyłem MCLRE oraz ustawiłem wewnętrzny oscylator. Wydawało mi się, ze to już wszystko. Jak się okazuje, byłem w błędzie. Proszę o więcej wyrozumiałości, gdyż jestem bardzo początkujący w tej dziedzinie. Jeżeli możesz to podpowiedz mi co powinienem teraz zrobić, aby układ działał prawidłowo.

    0
  • #20 26 Kwi 2011 00:18
    dondu
    Moderator Mikrokontrolery Projektowanie

    Nanieś poprawki na schemat i pokaż go.

    0
  • #21 26 Kwi 2011 09:33
    Marczeli_P
    Poziom 20  

    Podłącz nóżkę 4 układu przez opornik 10k do + zasilania. Następnie do diod dodaj oporniki przynajmniej 220 do 330 om. Bo te diody już powinny się spalić przy takim podłączeniu jakie wykonałeś.

    0
  • #22 26 Kwi 2011 11:58
    ja9192
    Poziom 9  

    Witam, przy diodach oczywiscie sa oporniki, tylko zapomnialem ich narysowac, bo schemacik byl robiony tak na szybko. A co do 4 nożki to chyba wyłączylem mclr w programie. A po za tym jezeli podłącze tam zasilanie, to nie bede mógł wykorzystywac tego pinu porty A tak??, na czym w przyszłości by mi zależało.

    0
  • #23 26 Kwi 2011 12:10
    dondu
    Moderator Mikrokontrolery Projektowanie

    Po raz czwarty i ostatni pytam:

    dondu napisał:
    Przeczytaj:
    ...
    - str 174 - 14.1 Configuration Bits (ustaw odpowiednio do potrzeb)

    0
  • #24 26 Kwi 2011 15:11
    utak3r
    Poziom 25  

    ja9192 napisał:
    po dotknięciu okolic pinów układu program się rozpoczyna

    Aż strach wnikać głębiej w te stwierdzenie ;) No ale: daj 100n miedzy + a - jak najbliżej fizycznie uC.

    0
  • #25 26 Kwi 2011 16:46
    ja9192
    Poziom 9  

    @Dondu czytałem te strony co podałeś i na ile umiałem to na tyle skonfigurowałem te bity. więcej niestety nie umiem, więc jeżeli możesz to napisz jak to zrobic.

    0
  • #26 26 Kwi 2011 19:50
    dondu
    Moderator Mikrokontrolery Projektowanie

    Niestety używasz mikroPascala, którego nie znam.
    Ja pracuję w MPLAB + HI-Tech C.

    0
  • #27 26 Kwi 2011 20:09
    ja9192
    Poziom 9  

    A czy mógłbyś napisać, jakbyś to zrobił w swoim kompilatorze? Może by mnie to trochę naprowadziło ;)

    0
  • #28 26 Kwi 2011 20:22
    dondu
    Moderator Mikrokontrolery Projektowanie

    W hi tech C ja ustawiam bity programowo na przykład tak PIC18F67K90:

    Kod: c
    Zaloguj się, aby zobaczyć kod



    Ale mogę też to zrobić z poziomu MPLAB za pomocą menu Configure >> Configuration bits:

    Co należy podpiąć do PICa, aby "działał"??


    Musisz więc szukać w twoim środowisku lub helpie mikroPascala, ustawień bitów konfiguracyjnych. Jeżeli znajdziesz wtedy pomyślimy jak dla Twojego procesora je ustawić.

    0
  • #29 26 Kwi 2011 20:46
    ja9192
    Poziom 9  

    U mnie jest cos takiego:

    Co należy podpiąć do PICa, aby "działał"??

    W swoim układzie ustawiłem to w taki sposób jak na obrazku.

    Czy możesz mi powiedzieć coś więcej o tych "rezystorach podciągających"?? W poszukiwaniu informacji na internecie gdzies preczytałem ze nalezy je "włączyć" aby pic nie miał nieokreślonych stanow na wejsciu.

    0
  • #30 26 Kwi 2011 21:18
    dondu
    Moderator Mikrokontrolery Projektowanie

    To trzeba było od razu wkleić ten ekran, a nie pozostawiać moje pytania bez odpowiedzi.

    Patrząc na datasheet jadąc od góry:
    1, oznaczenia słowne nie dają pewności (różne nazewnictwo). rozwiń ten selectbox i pokaż listę możlliwości
    2. OK
    3. włącz (tak na wszelki wypadek) - to opóźnienie startu
    4. MCLR - OK niech będzie wyłączony
    5. OK
    6. OK
    7. wyłącz (przynajmniej na razie)
    8. - chyba OK
    9. OK

    0