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

Programowanie AT89S52 i AT89S8252 w PonyProg2000 - różnice i rozwiązania

snajper555 23 Kwi 2005 22:25 2591 10
REKLAMA
  • #1 1431470
    snajper555
    Poziom 11  
    Posty: 51
    mam pytanie zwiazane z tymi ukladami: czy programuje sie je tak samo? z dokumentacji wynika, ze tak (analizowalem lacze szeregowe), natomiast chce zaprogramowac at89s52 z wykorzystaniem programu ponyprog2000. jednak takiego ukladu nie ma w ponyprogu do dyspozycji (staralem sie programowac go uzywajac ustawien dla scalaka at89s8252, jednak bez skutku- nie mozna bylo nic wgrac, bo pojawial sie komunikat "device not responding). pozostaje zrobienie innego programatora, lub zakup kontrolera at89s8252 (bedzie szybciej a cenowo wyjdzie na to samo). tylko nie mam pewnosci, czy jak kupie ten drugi uklad to czy problem sie nie powtorzy... dlatego zwracam sie z zapytaniem, jakie jest wasze zdanie.czy z punktu widzenia programowania przesylanie informacji przez coma) sa to takie same uklady?moze ktos ma jakas biblioteke do ponyproga, ktora obsluguje rowniez uklad at89s52???????
  • REKLAMA
  • REKLAMA
  • #4 1432778
    snajper555
    Poziom 11  
    Posty: 51
    pomocy!:) zbudowalem programator wg linka przeslanego przez kolege Light'­­­­I w uporoszczonej wersji, tzn podlaczylem nozki procesora bezposrednio do portu lpt (bez uzycia buforow). po probie zaprogramowania do pamieci flash (probuje wladowac plik hex, 4kb), wyswietlany jest komunikat "can`t program locked or not known MCU".
    nie wiem, czy takie podlaczenie powinno od razu dzialac??? czy do procesora powinno sie na czas programowania podlaczyc kwarc(jaki) (ew. w jakim celu jest wybierana czestotliwosc w programie)?

    programowany procesor to at89S52.

    podlaczenia dokonalem w sposob nastepujacy:
    nr nozki LPT / nr nozki procesora
    16 / 6
    10 / 7
    17 / 8
    14 / 9
    18-25 / 20 (masa)
    zasilanie procka: z zewnetrznego ukladu 7805 (nozka 40)

    dlugosc kabla polaczeniowego to ok 1 - 1,5m

    w programie wylaczylem oba sygnaly strobe (non used), natomiast w samym programie wybralem reset jako pin 14 portu LPT, mosi jako pin 16, sck jako pin 17, miso jako pin 10, nie zaznaczylem opcji inverted reset.
    czy cos robie nie tak???
    bardzo prosze o jakas lekcje nalezytego postepowania w jednej pigulce, bo juz powoli przy tym wysiadam...
    inaczej mowiac: program zachowuje sie dokladnie identycznie niezaleznie od trego czy procesor z programatorem jest podpiety czy nie. jednak pomiar napiecia wskazuje na obecnosc stanow niskich / wysokich na plytce programatora (np w czasiewlac zenia "reset ON" pojawia sie 5V na pinie 9 procesora)

    aha, testy byly wykonywane na dwoch roznych kosciach, wiec teoria uszkodzonego ukladu chyba odpada...
  • #5 1432813
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Programowanie ISP polega na podłączeniu do procesora nawet w działąjącym układzie, ale w stanie aktywnym RESET, trzeba tylko pogodzić linie programujące z ich wykorzystaniem w układzie w czasie pracy. Tak więc zegar procesora musi pracować - kwarc+2*27pF się przyda na pewno. A możliwość wyboru prędkości zegara w menu jest z tego powodu, że produkuje się różne rezonatory kwarcowe. Ech, pędem do dokumentacji, a nie tylko wołanie "POMOCY!!!" ;)
    Pozdrawiam, Light'I
  • REKLAMA
  • #6 1432869
    snajper555
    Poziom 11  
    Posty: 51
    podlaczylem kwarc 2MHz pomiedzy nozki 18 i 19, z obu z tych nozek podpialem do masy po kondensatorze4 30pF i efekt jest dokladnie identyczny(w programie ustawilem 2mhz)... prosze o dalsze wskazowki.....
  • REKLAMA
  • #7 1432943
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Kolego, już odsyłałem do dokumentacji, jest tam jak byk - 3-12MHz. Najlepiej oczywiście 12MHz.
    Cytat:
    Serial Programming Algorithm
    To program and verify the AT89LS8252 in the serial programming
    mode, the following sequence is recommended:
    1. Power-up sequence:
    Apply power between VCC and GND pins.
    Set RST pin to “H”.
    If a crystal is not connected across pins XTAL1 and XTAL2, apply a 3 MHz to 12 MHz clock to XTAL1 pin
    and wait for at least 10 milliseconds.
    2. Enable serial programming by sending the Programming Enable serial instruction to pin MOSI/P1.5. The frequency of the shift clock supplied at pin SCK/P1.7 needs to be less than the CPU clock at XTAL1 divided by 40.
    3. The Code or Data array is programmed one byte at a time by supplying the address and data together with the appropriate Write instruction. The selected memory location is first automatically erased before new data is written. The write cycle is self-timed and typically takes less than 2.5 ms at 5V and less than 10 ms at 2.7V.
    4. Any memory location can be verified by using the Read instruction which returns the content at the selected address at serial output MISO/P1.6.
    5. At the end of a programming session, RST can be set low to commence normal operation.

    Light'I
  • #8 1433005
    snajper555
    Poziom 11  
    Posty: 51
    tak, na poczatek byl 12mhz (aktualnie jest tez 12mhz), ale w miedzyczasie byl 2mhz (z powodu braku koncepcji). efekt za kazdym razem ten sam.... juz nie wiem, moze procesory sa uszkodzone, ale zeby oba??? nie zdarzyl mi sie cos takiego, zeby scalak wlozyc odwrotnie do podstawki, zrobic awarcie itd.
  • #9 1433023
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    No cóż pomysły mi się kończą... Właściwy typ procesora wybrany ? (są 3 opcje : AVR; AT89S51/52; AT89S53/8252)
  • #10 1433053
    snajper555
    Poziom 11  
    Posty: 51
    mi juz sie skonczyly;) wybrany jest odpoeiedni procesor (AT89S51/52). teraz zauwazylem pewna nieprawidlowosc: mierzac napiecie na nozkach 18 i 19 (miejsca podpiecia kwarcu) okazuje sie, ze jeden z procesorow ma po 2,5 v, a drugi na nozce 18 ma 0v, na 19 ma 5v. chyba jeden z nich zostal uszkodzony? twoim zdaniem ktory z nich ma szanse byc jeszcze sprawnym? i jeszcze jedno pytanjie: czy korzystales z tego programu / udalo cie sie nim cos zaprogramowac?
  • #11 1433141
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Uzywam go do AVR i nie mam problemów. Ten procesorek z 2,5V to pracujący prawidłowo. A ten drugi to nie moge powiedzieć, że na 100% jest uszkodzony, może po prostu generator się nie wzbudza. Spróbuj mu zewrzeć na chwilę XTAL1 do stanu przeciwnego niż jest.

Podsumowanie tematu

✨ Dyskusja dotyczy problemów z programowaniem mikrokontrolera AT89S52 za pomocą programu PonyProg2000, który nie posiada dedykowanego wsparcia dla tego układu, w przeciwieństwie do AT89S8252. Próby programowania AT89S52 z ustawieniami dla AT89S8252 kończyły się błędem "device not responding". Użytkownik zbudował prosty programator podłączony bezpośrednio do portu LPT, jednak bez powodzenia. Wskazano, że do programowania ISP konieczne jest podanie aktywnego sygnału RESET oraz działający zegar kwarcowy (zalecany 3-12 MHz, optymalnie 12 MHz). Problemy mogą wynikać z braku odpowiedniego taktowania lub uszkodzenia układu. Zasugerowano użycie alternatywnych programatorów i oprogramowania obsługującego AT89S52, np. program ISP-Pgm30a lub rozwiązania z linku amwaw.edu.pl, które obsługują oba procesory i wiele innych mikrokontrolerów ISP. Pomiar napięć na nóżkach kwarcu wskazał na możliwe uszkodzenie jednego z procesorów lub problemy z generatorem zegara. Zalecane jest dokładne sprawdzenie połączeń, poprawne taktowanie oraz wybór właściwego typu procesora w oprogramowaniu programatora.
Wygenerowane przez model językowy.
REKLAMA