logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Zaprogramowanie PIC16f84A: problem z ustawieniami 'CP' w ICprog i JDM

dec1234 22 Kwi 2008 17:32 1923 10
REKLAMA
  • #1 5065360
    dec1234
    Poziom 14  
    Posty: 168
    Pomógł: 1
    Ocena: 35
    Witam! :)
    Mam problem z zaprogramowaniem tego układu.

    Z czym mam problem?

    Mam gotowy plik w postaci *.hex
    Mam programator JDM (taki tylko na gniazdo COM który programuje PIC... oraz 24c...)
    Używam programu ICprog...

    Kiedyś już programowałem te układy do innych urządzeń i nie było najmniejszego problemu...

    Problem polega na tym że nie mogę zaprogramować układu dokładnie tym kodem co mam w pliku hex...
    Plik orginalnie wymaga ustawienia w icprogu odchaczenia pozycji 'CP'
    (po prawej stronie okna programu - jest tam napis fuses)
    Ale jak się odchaczy to układ się niby programuje ale potem po odczytaniu są same zera w oknach...
    Jak sie zaznaczy co innego niż CP (np. WDT albo PWRT) układ można zaprogramować i odczytać bez problemu...

    Może by mi to nie przeszkadzało ale układ który robię bez tego nie chce działać!!
    Wyświetlacz LCD nic nie pokazuje albo pokazuje tylko 4 czarne pola...

    Myślałem że jest to może wina procesora.... Ale na 100% to nie on... (próbowałem na 5 sztukach- efekt ten sam...)


    Najmocniej proszę o pomoc...
    Zaznaczam że z programowania układów wiem tylko tyle że układ wsadza sie do programatora i na kompie sie uruchamia program i naciska programój... - generalnie jestem prawie zielony....

    Dziękuję za pomoc :)
  • REKLAMA
  • #2 5065908
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    Jak ustawisz bit CP to blokujesz pamięć przed odczytem i to jest normalny objaw że przy próbie odczytu dostajesz same zera.
  • REKLAMA
  • #4 5079138
    elektryk
    Poziom 42  
    Posty: 11029
    Pomógł: 439
    Ocena: 241
    dec1234 napisał:
    Rozumiem... :)
    Ale układ tak czy owak mi nie działa...
    Możliwe że plik hex jakiś wadliwy??
    Możliwe, podeślij to się zobaczy. A skąd pochodzi oryginalny hex, czym go programujesz i czy przechodzi weryfikację.
  • REKLAMA
  • #5 5081332
    dec1234
    Poziom 14  
    Posty: 168
    Pomógł: 1
    Ocena: 35
    Plik *.hex pochodzi z elektrody...

    https://www.elektroda.pl/rtvforum/topic496158.html

    Robię ten układ i na powitanie chciałem uruchomić część cyfrową lipa...

    Układ ten też jest na innych stronach w internecie - próbowałem plik i nic...

    W sumie to może nie wina pliku hex...

    Programator posiadam JDM...

    Układ nie przechodzi weryfikacji....
  • REKLAMA
  • #6 5081446
    Gonza
    Poziom 27  
    Posty: 935
    Pomógł: 87
    Ocena: 77
    Jak masz JDM-a, który jest zasilany z portu COM - tu może być przyczyna. Chociaż napisałeś, że wcześniej już programowałeś te układy do innych urządzeń. Na Twoim miejscu zmontowałbym JDM-a z zewnętrznym zasilaniem, koszt ok. 10 zł, poniżej wrzucam schemat. Dodałem niedawno do niego podstawkę DIL-8 do programowania mniejszych PICów. Póki co mnie nie zawiódł, działał od razu po zmontowaniu. Zaprogramowałem nim już PICe: 16F84A, 16F628A, 12F629. Tak swoją drogą, też programowałem PICa do nadajnika, który budujesz.

    Zaprogramowanie PIC16f84A: problem z ustawieniami 'CP' w ICprog i JDM
  • #7 5081476
    dec1234
    Poziom 14  
    Posty: 168
    Pomógł: 1
    Ocena: 35
    A czy zamiast diod bat42 można użyć diod 1n4148 ??
    Bo tych mam całe mnóstwo...
    A te bat... Musiałbym zamawiać...
  • #8 5128120
    KBCH
    Poziom 14  
    Posty: 79
    Ocena: 3
    oczywiście że można zastąpić te diody, w nocie katalogowej praktycznie nie ma żadnej różnicy.
  • #9 5128247
    Freddie Chopin
    Specjalista - Mikrokontrolery
    Posty: 13336
    Pomógł: 1712
    Ocena: 870
    KBCH napisał:
    praktycznie nie ma żadnej różnicy.

    ROTFL...

    jesli roznica w podstawowym parametrze tych diod to jest 'praktycznie zadna roznica' to nawet nie pytam jaka jest roznica miedzy PIC16F84 a dsPIC33FJ256GP710... bo pewnie 'praktycznie zadna'. no tak - obydwa maja przeciez czarny plastik i metalowe nozki. a diodki maja kreske i dwa druciki - wszystkie sa takie same...

    dioda BAT42 to dioda shotthy'ego - spadek w kierunku przewodzenia wg datasheeta jest 0.4V. natomiast 1n4148 to... po prostu dioda, w ktorej ten spadek jest wiekszy i nie jest gwarantowany - w datasheecie podane jest, ze nie przekracza on 1V, zwykle wynosi ok 0.6-0.7V

    diody te - jak wiec widac - prawie niczym sie nie roznia, poza ogromna roznica w podstawowym parametrze sa wrecz identyczne (2 nozki i kreska). [;

    co do projektu - diody te tworza swego rodzaju konwerter poziomow RS-232 <-> uC. dalbym te diody shottkyego, poniewaz na 1n4148 procek bedzie dostawal napiecia 4.4V / -0.7V, natomiast na bat42 - 4.7V / -0.4V. i szczegolnie o to ujemne tutaj chodzi, bo wg noty aplikacyjnej obydwa te ujemne napiecia sa zbyt male (powyzej absolute maximum ratings), wiec lepiej juz, zeby bylo tam -0.4 niz -0.7V.

    0x41 0x56 0x45!!
  • #10 5128270
    rusala
    Poziom 22  
    Posty: 475
    Pomógł: 44
    Ocena: 6
    zamiast bat42 mozna dac dowolna inna (podobna) szczotke bo nie jest tu krytyczny model. Niektore napewno kupisz gdzies w lokalnym sklepie.
  • #11 5128820
    kamyczek
    Poziom 38  
    Posty: 3994
    Pomógł: 394
    Ocena: 573
    Są dwa standardy zapisu plików HEX i programator wymaga czasem konwersji pliku *.hex

Podsumowanie tematu

✨ Problem dotyczy programowania mikrokontrolera PIC16F84A za pomocą programatora JDM i oprogramowania ICprog, szczególnie ustawienia bitu ochrony pamięci CP (Code Protect). Ustawienie bitu CP blokuje odczyt pamięci, co skutkuje odczytem samych zer, co jest normalnym zachowaniem. Brak możliwości poprawnego zaprogramowania układu i weryfikacji pliku *.hex powoduje, że układ nie działa prawidłowo (np. wyświetlacz LCD pokazuje tylko cztery czarne pola). Plik hex pochodzi z forum elektroda.pl i jest używany w innych projektach, więc problem może leżeć w programatorze. Sugerowane jest zastosowanie programatora JDM z zewnętrznym zasilaniem zamiast zasilania z portu COM, co może poprawić stabilność programowania. W dyskusji poruszono także temat zamiany diod BAT42 na popularne 1N4148 w układzie programatora JDM; diody BAT42 to diody Schottky’ego o niższym spadku napięcia przewodzenia (~0,4 V), co jest korzystne dla konwertera poziomów RS-232 do mikrokontrolera, natomiast 1N4148 mają wyższy spadek (~0,6-0,7 V). Mimo to, w praktyce można użyć 1N4148 bez większych problemów. Wspomniano również, że istnieją różne standardy zapisu plików HEX i czasem konieczna jest konwersja pliku przed programowaniem.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA