Elektroda.pl
Elektroda.pl
X
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

PIC16F877A & PIC18F4550 brak reakcji po zaprogramowaniu

ppawel12 17 Jun 2012 18:16 2954 14
  • #1
    ppawel12
    Level 16  
    Witam,

    Próbowałem ostatnimi dniami zaprogramować swoją kostkę 4x4x4 na PIC16F877A (potem na PIC18F4550) ale napotkałem duży problem a mianowicie po zaprogramowaniu procesor nie działał :/

    Wgrałem prosty program by zapalał jeden port i co 1000 iteracji zmieniał jego stan czyli włączał i wyłączał i obserwowałem diody - brak reakcji. Bity konfiguracyjne zostały ustawione na zegar zewnętrzny HS - 20MHz, watchdog - off i nic zero reakcji :/

    Następnie zacząłem programować PIC18F4550 (taka sama rozpiska pinów) i też nic. Tutaj jest więcej konfiguracji : konfigurowałem na zegar wewnętrzny HS oraz zwykłego HS oraz w każdym przypadku watchdog wyłączony był.

    kod dla pic18f4550:
    Code: cpp
    Log in, to see the code



    nie rozumiem czemu procesor się nie włącza po zaprogramowaniu :/ jego wyjścia sienie zmieniają:/ Próbowałem wielu opcji.
    Programator Brenner8 + USBurn 11a5 + C18/hitech C for pic

    ktoś wie jaki może być powód albo ma kod przykładowy bym go wgrał do swoich procesorów i przetestował bo już nie mam innych pomysłów :/

    ppawel
  • #2
    yogi009
    Level 43  
    Próbowałeś wgrać jakiś inny, sprawdzony wsad? Czym kończy się zlecenie zaprogramowania, jakie masz komunikaty? Rozumiem, że programator jest skalibrowany i dobiera odpowiednie dla kontrolerów napięcia?
  • #3
    ppawel12
    Level 16  
    programator jest skalibrowany programowałem nim inne PIC i je programowałem. Kalibracja byłą przeprowadzana. Komunikat kończący programowanie to OK i zielone tło. innego wsadu narazie nie wygrywałem gdyż potrzebuję go własnie a to co znajdywałem w necie to zazwyczaj była obsługa USB. JA potrzebuję jakiegoś prostego wsadu by przetestować, dlatego napisałem by ktoś z Was mi coś podesłał sprawdzonego i prostego.

    dane z programatora:
    US-Burn V1.11 a5
    -- Windows NT/2000/XP/Vista
    -- Version 5.1 (WinXP) Build 2600
    -- Dodatek Service Pack 3
    -- PIC-database V.28 (30/05/2011)
    -- USB-DLL-Version : 00010000
    -- 1 sprut-device(s) detected
    -- Brenner8, Firmware V. 0.16
    -- Uz_me= 3,174
    -- Uz_ee= 3,3
    -- Ukor= 1,04
    -- Vdd = 5,199

    PIC18F4550 in database:
    Vpp : 12V (9,5 .. 12,5V)

    PIC16F877A in database:
    Vpp : 13V (12,5 .. 13,5V)
  • #4
    dondu
    Moderator on vacation ...
    ppawel12 wrote:
    Próbowałem ostatnimi dniami zaprogramować swoją kostkę 4x4x4 na PIC16F877A (potem na PIC18F4550) ale napotkałem duży problem a mianowicie po zaprogramowaniu procesor nie działał :/

    ... nie rozumiem czemu procesor się nie włącza po zaprogramowaniu
    :/ jego wyjścia sienie zmieniają:/ Próbowałem wielu opcji.

    Jeżeli komunikaty z weryfikacji programowania są OK, to pokaż schemat.
  • #5
    ppawel12
    Level 16  
    Schemat płytki co cube444 jest prosty po nie udanym uruchomieniu kładu zmontowałem sam procek, kwarc z kondensatorami 33pF, dioda led + rezystor 1k w płytce stykowej i nadal nic programuje podaje napięcie i cisza :/
  • #6
    dondu
    Moderator on vacation ...
    ppawel12 wrote:
    ... zmontowałem sam procek, kwarc z kondensatorami 33pF, dioda led + rezystor 1k w płytce stykowej i nadal nic programuje podaje napięcie i cisza :/

    A pin MCLR?
    Może nie kasujesz przed programowaniem? Pokaż komunikaty z programowania.
  • #7
    Urgon
    Editor
    AVE...

    Podłącz jedną diodę LED do pinu 20 w 18F4550 i wgraj poniższy kod w C18:

    Code: c
    Log in, to see the code


    Dioda powinna migać co mniej-więcej sekundę...
  • #8
    ppawel12
    Level 16  
    nic :/ dioda ciągle wyłączona :/
  • #11
    jabu74 - ekspert
    Level 19  
    Witam

    Dołączam plik intel hex (rozpakuj zip) dla PIC18F4550 (obudowa DIP-40). Podłącz diodę do pinu 20 (wyjście RD1). Oscylator zewnętrzny kwarcowy 20MHz.
  • #12
    ppawel12
    Level 16  
    Urgon twój kod nie działa u mnie nie wiem czemu, listing z USBur:

    US-Burn V1.11 a5
    -- Windows NT/2000/XP/Vista
    -- Version 5.1 (WinXP) Build 2600
    -- Dodatek Service Pack 3
    -- PIC-database V.28 (30/05/2011)
    -- USB-DLL-Version : 00010000
    -- 1 sprut-device(s) detected
    -- Brenner8, Firmware V. 0.16
    -- Uz_me= 3,401
    -- Uz_ee= 3,3
    -- Ukor= 0,9703
    -- Vdd = 4,851
    ## NO HEX-file loaded

    PIC18F4550 in database:
    Vpp : 12V (9,5 .. 12,5V)


    HEX-file-name : main.hex
    C:\DOCUME~1\pawel\USTAWI~1\Temp\$29.tmp
    -- HEX-file loaded
    -- 1 k FLASH needed
    -- 0 Byte EEPROM needed
    -- HEX-file contains Config-data


    C:\DOCUME~1\pawel\USTAWI~1\Temp\$2A.tmp
    -- HEX-file re-loaded
    -- HEX-file contains Config-data

    Erase PIC -finished
    Start to program FLASH - ok
    Start to program ID - ok
    Start write Configuration - ok

    C:\DOCUME~1\pawel\USTAWI~1\Temp\$2B.tmp
    -- HEX-file re-loaded
    -- HEX-file contains Config-data

    Erase PIC -finished
    Start to program FLASH - ok
    Start to program ID - ok
    Start write Configuration - ok

    dioda podłączona poprawnie sprawdzałem wielokrotnie

    PIC16F877A & PIC18F4550 brak reakcji po zaprogramowaniu

    PIC16F877A & PIC18F4550 brak reakcji po zaprogramowaniu


    dondu, schemat poniżej nie pisałem o podciągnięciu reseta przez rezystor 10kohma do VCC bo to oczywiste tak samo jak nie pisałem że układ podłączyłem do zasilania. Schemat poniżej:

    PIC16F877A & PIC18F4550 brak reakcji po zaprogramowaniu PIC16F877A & PIC18F4550 brak reakcji po zaprogramowaniu


    jabu74 - ekspert -> dioda mruga :D chyba co 2-3 sekundy :) pokaż listing w C.

    nie wiem czemu w innych przypadkach układ nie działa :/
  • #13
    jabu74 - ekspert
    Level 19  
    Oto listing dla kompilatora CCS C. Dioda LED pulsuje z częstotliwością f=1Hz (zaświeca się na 0,5s i gaśnie też na 0,5s)

    Code: c
    Log in, to see the code
  • #14
    ppawel12
    Level 16  
    a może to być spowodowane ustawieniem bitu NOLVP ?? Z tego co wyczytałem to jeszcze jest trzecia szyba danych podczas programowania PGM po za PGD i PGC ? może to coś z tym związanego.
    Albo kompilator mi coś szwankuje tylko inne procki dobrze się programuje :)
  • #15
    ppawel12
    Level 16  
    Trochę to trwało ale już dowiedziałem się o co chodzi, a mianowicie:

    PIC18F4550 posiada dodatkowe wejście programowania, tzn. PGM (po za PGD i PGC), jeśli to wejście jest podłączone (w jaki kolwiek sposób ja miałem przez rezystor do diody i klucz tranzystorowy) to układ stoi :( Wejście to jest skojarzone z następującymi opcjami wybieranymi przy programowaniu (w programie USburn):
    LVP
    STVREN

    Obie te opcje są skojarzone z włączeniem innego sposobu programowania (z wykorzystaniem wejścia PGM). Ustawiając te opcje na OFF program działa bez żadnych komplikacji. Natomiast jeśli włączę te opcje, to po podłączając cokolwiek do tego wejścia/wyjścia procesor się zatrzymuje. Działa tylko jeśli nóżka wisi w powietrzu i to nie zawsze.