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

AT89S52 - Jak poprawnie podłączyć programator i odczytać/zapisać dane?

grudziu 12 Sie 2006 03:54 2392 11
REKLAMA
  • #1 2907752
    grudziu
    Poziom 16  
    Posty: 211
    Pomógł: 14
    Ocena: 14
    Witam , mam problem :/
    próbuje odczytać/zapisać coś na następującym układzie:
    uC: at89s52
    pod wejścia xtal1 xtal2 podłączyłem takie coś AT89S52 - Jak poprawnie podłączyć programator i odczytać/zapisać dane?

    jakiś czas temu zaopatrzyłem sie w taki programator:
    http://allegro.pl/item100109646_100109646.html
    ,

    podpinam programator w następujący sposób do uc (dioda do LED z jednej strony, z drugiej do VCC):
    AT89S52 - Jak poprawnie podłączyć programator i odczytać/zapisać dane?
    calość zasilana jest poprzez wymontowany zasilacz komputerowy napięciem 5,3V (zwieram wyjscia 4 i 5 to zasilacz startuje).

    pare zdjęc słabej jakości (komórka):
    http://img102.imageshack.us/img102/746/obraz0144jy7.jpg

    http://img131.imageshack.us/img131/1435/obraz0145ha6.jpg

    http://img140.imageshack.us/img140/741/obraz0146jj0.jpg

    http://img225.imageshack.us/img225/5575/obraz0147yl3.jpg


    Połączenia starałem się robić na płytce cyną, a jeżeli używałem kabla to próbowałem robić możliwie jak najkrótsze.

    odpalam "isp programmer", na początku jak zdefiniowałem ISP cable pinout na stk200/300 klikałem na Read Signature i wyskakiwało "not known (FF)", dioda była zapalona i gasła na pare sekund w momencie kliknięcia na "Read sign", lub czegokolwiek w "ISP Programmerze". Zacząlem w setupie próbować innych ustawień w pinach, przywróciłem poprzednie ustawienia i obecnie sczytuje "not known (00)" i dioda nawet na chwilę nie gasnie. chwila zabawy, zaczął czytać (FF) i dioda znowu nie gaśnie :/ . wyprowadzenia posprawdzałem (zresztą to drugi prawie taki sam układ zlutowany od zera na nowych częściach, wcześnie próbowałem dodać reset i podstawka plcc, teraz pdip).

    Może ktoś da mi jakieś rady co robić dalej? To moje pierwsze doświadczenia z mikroprocesorami, więc chętnie wysłucham wszystkich rad,
    docelowo całość ma mierzyć temperaturę i wyświetlać na LCD..
    pozdrawiam
  • REKLAMA
  • Pomocny post
    #2 2907783
    max_gg
    Poziom 26  
    Posty: 631
    Pomógł: 83
    Ocena: 26
    Witam!

    Jest jedno "ale" - procesory '51 mają RESET aktywny w stanie wysokim... Programator wymusza na tym wejściu stan niski przed rozpoczęciem programowania.
    Rozwiązania są dwa:
    Pierwsze - zastosować tranzystor do negacji stanu podawanego z programatora
    Drugie - wymuszać na wejściu RESET ręcznie stan wysoki, po odpięciu sygnału z programatora

    Pozdrawiam!
  • #3 2908165
    grudziu
    Poziom 16  
    Posty: 211
    Pomógł: 14
    Ocena: 14
    tzn mam po prostu nie zwierać sygnału reset z programatora z wejściem do uC?
    już tak zrobiłe, przeciąłem ściężkę i dalej nic..
  • #4 2908180
    max_gg
    Poziom 26  
    Posty: 631
    Pomógł: 83
    Ocena: 26
    Masz podłączyć ten pin do +VCC na czas programowania - zanim klikniesz w polecenie "programuj"

    Ale lepiej dołącz tranzystor do sygnału jako inwerter...
  • REKLAMA
  • #5 2908428
    grudziu
    Poziom 16  
    Posty: 211
    Pomógł: 14
    Ocena: 14
    ehh sorka za niezrozumienie za pierwszym razem :)

    podłączam do vcc na czas programowania i nic nie dało :/
    moze zły uc wybrałem na początek??
    no ale przecież musi to sie dać przynajmniej rozpoznać!!

    Dodano po 5 [godziny] 45 [minuty]:

    drugi dzień zabawy :) :/ nie poddaje się, ale stałem się nerowowy :D złożyłem nowy schemat, poprzedni nie działał,
    tym razem skorzystałem z następującego schematu (program aec_sip.exe)

    AT89S52 - Jak poprawnie podłączyć programator i odczytać/zapisać dane?

    w programie w helpie wyczytałem ze programator działa również z at89s52 (trzecia edycja tego programu)

    wylutowałem ze starego układu wejście na programator, zrobiłem kabel krótki na kilkadziesiąt cm, podłączyłem wszystko wg schematu:
    piny 18-25 (LPT) zwarłem na płytce i podłączyłem do GND,
    reszta wg schematu czyli:
    LPT - uC:

    ack 10-miso
    8 (D6)-p1.7 sck
    7 (D5)-p1.5 mosi
    6 (D4)-reset

    Znowu nic nie działa, nie czyta ani w AEC_isp ani w ispprogr. Moze mam kopnięty procesor (głupi jestem bo lutowałem z włożonym prockiem w podstawke, może coś spaliłem)?? albo rezonator? a moze LPT w laptopie nawala?? co najczęściej knocą tacy laicy jak ja? :)

    czy może i tym razem też potrzebuję układu resetowania??
  • #6 2909676
    Dyrek
    Poziom 16  
    Posty: 129
    Pomógł: 21
    Ocena: 1
    Przegrzanie albo spalenie jest mało prawdopodobne - zazwyczaj procki atmela są dośc odporne na takie rzeczy.
    Sprawdź jeszcze raz czy dobrze wszystko połączyłeś. Co do resetu to podepnij go do programatora i sprawdź czy w którymś z programów nie ma opcji odwrócenia sygnału RST.
    Jest jeszcze możliwośc że program za szybko podaje dane więc również tu poszukaj opcji wyboru częstotliwości taktującej programowanie.

    przejżyj też dokumentację tego procka http://www.atmel.com/dyn/resources/prod_documents/doc1919.pdf
  • REKLAMA
  • #7 2934086
    grudziu
    Poziom 16  
    Posty: 211
    Pomógł: 14
    Ocena: 14
    Dyrek napisał:
    Przegrzanie albo spalenie jest mało prawdopodobne - zazwyczaj procki atmela są dośc odporne na takie rzeczy.


    a jednak :idea: wymiana procka na nowy i wszystko działa :]
    dalej bawić się bede po urlopie :)
  • Pomocny post
    #8 2935615
    pabloWW
    Poziom 12  
    Posty: 106
    Pomógł: 4
    Ocena: 3
    Witam

    Ja rowniez korzystam z programu aec_isp - procek at89s52. Na poczatku oczywiscie nic nie dzialalo (uklad zlozylem ze schematu przedstawionego w programie aec_isp v3.00) .... , gdzies na forum znalazlem info ze przy programowaniu konieczne jest podlaczenie wejscia EA\VPP pod napiecie Vcc. Po tym zabiegu programowanie chodzi bez problemu - jedynie na "nowej" plycie GIGABYTE GA-7VT600L . Na starym ASUSIE P2BX dalej nie rusza (ustawienia portu LPT w biosie identyczne w obu komputerach: ECP+EPP, IRQ7 i adres 378h). Nie wiem co jest z tym grane... moze ktos pomoze ?

    Pozdrawiam
  • #9 2965883
    gorik
    Poziom 2  
    Posty: 4
    Pablo - wielkie dzięki !!! Miałem ten sam problem a dopiero ty zwróciłeś uwagę na ten detal . Jak zawsze diabeł tkwi w szczegółach :)
  • REKLAMA
  • #10 2984628
    Borowima
    Poziom 12  
    Posty: 34
    Ocena: 3
    To mój pierwszy post na forum witam wszystkich. Zaczołem zabawę z prockami od AT 89S52, programator z 74HC244 czasem czyta czasem nie.
    Program ISP Programer czyta i zapisuje kostkę tylko jak napisać jakiś program, BASCOM nie posada biblioteki .dat dla tego procka.
    Gdzieś na forum wyczytałem że można samemu na podstawie NOTY KATALOGOWEJ utworzyć plik .dat pytanie tylko jak może ktoś pomógłby napiać w/w bibliotekę.
    Ponieważ 20 lat temu pisałem programy na ZX Spectrum preferuję bascoma.
    Za pomoc z góry dziękuje Marek B.
  • #11 2984670
    boroova6523
    Poziom 15  
    Posty: 141
    Pomógł: 13
    ja w at89s51 nie podlaczylem nozki ea/vpp do Vcc to w aec programowalo normalnie a w programie A Dybkowskiego musialem ustawiac jakies fusebity zeby program w procku chodzil normalnie.
  • #12 2988180
    Repciu
    Poziom 27  
    Posty: 1345
    Pomógł: 45
    Ocena: 81
    lepiej sprawdź czy dobrze podłączone są kabelki wychodzące z programatora do LPT, bo mi też pare dni temu nie działało uzywam AT89s52, mialem zle podlaczone LPT, ale jak mowisz ze program widzi sygnature to moze co innego

Podsumowanie tematu

LABEL_AI_GENERATED
Dyskusja dotyczy problemów z podłączeniem programatora do mikrokontrolera AT89S52 oraz odczytem i zapisem danych. Kluczowym zagadnieniem jest prawidłowe podłączenie pinu RESET, który w układach 8051 jest aktywny w stanie wysokim, podczas gdy programator wymusza stan niski. Rozwiązaniem jest zastosowanie tranzystora do negacji sygnału RESET lub ręczne wymuszanie stanu wysokiego na tym pinie podczas programowania. Konieczne jest również podłączenie pinu EA/VPP do napięcia VCC, co jest warunkiem poprawnego programowania. Problemy mogą wynikać z błędnych połączeń kabli programatora do portu LPT, niewłaściwych ustawień sygnału RESET w oprogramowaniu lub uszkodzonego mikrokontrolera. Po wymianie układu na nowy programowanie przebiega poprawnie. Wskazane jest także sprawdzenie opcji odwrócenia sygnału RESET w programie oraz dostosowanie częstotliwości taktowania programowania. Użytkownicy korzystają z programów takich jak AEC_ISP i ISP Programmer, a schematy połączeń bazują na sygnałach LPT (ACK, D4-D6) do linii MISO, MOSI, SCK i RESET mikrokontrolera.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA