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

AT89C2051 – jak wykonać reset programowy w Bascom? Szukam przykładowej funkcji

zbigel 29 Maj 2006 16:40 1438 6
REKLAMA
  • #1 2676011
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    Wie ktoś może czy można zrestartować ten kontroler z poziomu software'u?
    Jeśli jest to możliwe to prośiłbym o jakąs funkcje w bascom. Szukałem w pomocy bascoma ale nic nie znalezlem. Prosze o pomoc. Dzięki.
  • REKLAMA
  • #2 2676047
    Zaquadnik
    Poziom 27  
    Posty: 998
    Pomógł: 103
    Ocena: 25
    Reset w uC może nastąpić z kilku przyczyn. Są to między innymi zanik zasilania lub watchdog. AT89C2051 nie ma układu watchdoga, więc nie da się go inaczej zresetować niż hardware'owo. A do czego Ci to potrzebne ? Może da się to zrobić inaczej ?
  • REKLAMA
  • #3 2676116
    zbigel
    Poziom 12  
    Posty: 82
    Pomógł: 6
    Ocena: 11
    Mam juz gotowy układ i nie moe juz nic zmienic w hardware. Myślałme ze da sie to zrobić inaczej. Ale skoro nie to ok. Dzieki za zainteresowanie.
  • REKLAMA
  • #4 2676127
    M. S.
    Poziom 34  
    Posty: 2107
    Pomógł: 259
    Ocena: 680
    Może to śmieszne rozwiazanie ale myślę, że gdyby jedną końcówkę portu podpiąć do resetu i programowo wymusić na niej "0". Trzeba by jednak sprawdić jak ustawiają się porty po resecie. (Dawno już nie bawiłem się tym uC i nie pamiętam - chyba na 1).
  • REKLAMA
  • #6 2676678
    Skubik
    Poziom 15  
    Posty: 106
    Pomógł: 12
    Ocena: 2
    A gdyby zastosować jakiegoś MAX'a do resetu przy braku zasilania i podłączyć go zamiast do zasilania pod pin portu i gdy sie chce zrestartować to ustawić ten pin na 0.
  • #7 2677148
    Zaquadnik
    Poziom 27  
    Posty: 998
    Pomógł: 103
    Ocena: 25
    Jeśli chcesz zasilać MAXa z uC to jest kiepski pomysł, bo uC ma dość ograniczoną obciążalność. Chyba, że MAX ma tylko wykrywać zanik napięcia na odpowiedniej nóżce i dawać sygnał reset, a być zasilany z innego źródła. Wtedy można spróbować, choć nie ręczę czy to zadziała. A naprawdę nie da się tego rozwiązac czysto programowo ? To musi być sprzętowy reset ?

Podsumowanie tematu

✨ Reset programowy mikrokontrolera AT89C2051 nie jest możliwy, ponieważ ten układ nie posiada wbudowanego watchdoga ani funkcji resetu programowego. Reset można wykonać jedynie sprzętowo poprzez podanie stanu wysokiego ('1') na pin resetu, co różni się od innych mikrokontrolerów takich jak AVR czy PIC. Próby wymuszenia resetu przez program, np. poprzez ustawienie linii portu podłączonej do pinu resetu na stan niski ('0'), są nieskuteczne, gdyż reset wymaga stanu wysokiego. Propozycje obejmują zastosowanie zewnętrznego układu, np. scalonego MAX, który mógłby generować sygnał resetu przy braku zasilania lub na żądanie, jednak wymaga to dodatkowego zasilania i nie jest rozwiązaniem czysto programowym. W przypadku gotowego układu bez możliwości modyfikacji sprzętowej reset programowy nie jest wykonalny.
Wygenerowane przez model językowy.
REKLAMA