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

Atmel At89c2051 - brak reakcji procesora po zaprogramowaniu w uVision

flapo213 08 Lis 2004 00:19 1998 7
REKLAMA
  • #1 969067
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Witam mam taki problem z moim układem. Układe ten ma sterować modelem statku, ale mam problem z odpaleniem uprocesora. Stworzyłem sobie program w uvisionie skonfigurowałem go tzn. ustawiłem procesor przy tworzeniu projektu zegar 12Mhz oraz stworzenia hexa. Tworzy mi hexa i symulacja działa bez problemu. Mam programator combo i wszystko sie ładnie programuje ale jak wkładam procesor do mojego układu nic się nie dzieje procesor daje na portach same zera. Do resetu up podłączony jest kondensator elektrolityczny 4.7 uF (+do 5V a - do 1 up) oraz rezystor 100kOhm (jedna końcówka do masy druga do 1 up). Kwarc to normalnie, a procesor stoi i nie myśli nawet ruszyć. Próbowałem już różnych sposobów w uvisionie z plikiem startowym i bez pliku startowego efekt jest ten sam procesor nie startuje. Pomóżcie bo mam sprawe mocno terminową. Pozdrawiam
  • REKLAMA
  • #2 969091
    kryststgpom
    Poziom 25  
    Posty: 986
    Pomógł: 78
    Ocena: 381
    A możesz pokazać schemat i program tego sterowania?
  • REKLAMA
  • #3 969100
    LordBlick
    VIP Zasłużony dla elektroda
    Posty: 5438
    Pomógł: 549
    Ocena: 69
    Zawsze warto wcisnąć gdzieś procedurkę migającą/zapalającą LED, podpiętą do zasilania w szereg z rezystorem, na którymś wolnym wyprowadzeniu, wtedy wiemy przynajmniej, gdzie procesorek nie zachodzi, aby popracować. Patrzysz, w tym miejscu działa, no to ją hop, dalej i sprawdzasz czy też miga/świeci, jak tak, znaczy się jest OK, jak nie, no to wiesz w jakich okolicach błędu szukać... ;)
  • #4 970292
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Witam oto schemacik mojego projektu oraz skrócony do minimum program napisany w asemblerze.

    Name Sterowanie_Modelem_Statku
    org 0h
    using 0
    lcall start




    Start:
    clr P1.7
    clr P1.6
    clr P1.5
    clr P1.4
    clr P1.1
    clr P1.0
    clr P3.5

    ; Procedura Testowa
    ; Testowanie silnika sruby

    ; Obrot w prawo
    clr p1.3
    Petla2:
    djnz R0,Petla2
    djnz R1,Petla2
    djnz R2,Petla2
    setb P1.3

    ; Obrot w lewo
    clr p1.2
    Petla3:
    djnz R0,Petla3
    djnz R1,Petla3
    djnz R2,Petla3
    setb P1.2

    ; Testowanie silnika steru
    ; Obrot w prawo
    ts1:
    clr P3.4
    jb P1.1, zero1
    sjmp ts1
    zero1:
    setb p3.4

    ; Ustawienie na srodku
    ts2:
    clr P3.3
    jb P3.5,srodek
    sjmp ts2
    srodek:
    setb P3.3

    ; Obrot w lewo
    ts3:
    clr P3.3
    jb P1.0, zero2
    sjmp ts3
    zero2:
    setb P3.3

    ; Powrot do srodka
    ts4:
    clr P3.4
    jb P3.5, zero3
    sjmp ts4
    zero3:
    setb P3.4
    end
    Załączniki:
    • Atmel At89c2051 - brak reakcji procesora po zaprogramowaniu w uVision bez tytułu.JPG (83.9 KB) Musisz być zalogowany, aby pobrać ten załącznik.
  • REKLAMA
  • #5 970974
    GrzesGrz71
    Poziom 19  
    Posty: 197
    Pomógł: 32
    Ocena: 4
    Witaj

    Nie widać kropki (junction) w połączeniu do +5V przy kondensatorze i switchu resetu - czy aby na pewno masz napięcie na kondensatorku? Przypuszczam że bez tego nie chciałby się podnosić
  • #6 971064
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Napięcie na kondensatorze jest mimo iż na schemacie nie ma kropki sprawdzałem. Kurcze siedzę nad tym układem i siedzę. Myślę że coś w uvisionie źle zaznaczam. Pomocy bo już mi brak pomysłów. W symulacji buja ok a procek nie startuje
  • REKLAMA
  • #7 971130
    zumek
    Poziom 39  
    Posty: 3352
    Pomógł: 695
    Ocena: 52
    U mnie , w podobnej sytuacji(niski stan na wszystkich portach) i 0.7V na wyprowadzeniach xtal(miernik 1M/V zakres 20V).Sprawcą okazał sie kwarc ,który nie chciał ruszyć.Po wymianie na inny wystartowało i na xtal miałem 2.5V.Najlepszy byłby oscyloskop ale ... :(

    Pzdr.
    Piotrek Sz.
  • #8 971553
    flapo213
    Poziom 21  
    Posty: 566
    Pomógł: 35
    Ocena: 10
    Mam znalazłem przyczynę. Okazało się iż kondensatory dołączane do kwarcu były źle przylutowane jeden równolegle do rezonatora a drugiego obie końcówki przylutowane do masy. Aż wstyd. Ale słuchajcie mam jeszcze jeden problem do jednej z nużek jest przylutowany układ podczerwieni nie chce on mi za bardzo działać. Może coś doradzicie. Ta dioda i odbiornik fototranzystor będą w odległości od siebie około 0.5cm więc nie bawiłem się w żadne modulacje ani zintegrowany odbiornik to takie proste złożenie ma mi poprostu przy zasłonięciu wygenerować sygnał albo jedynka albo zero no prosta sprawa ale mam z tym problemy. Dzięki za odpowiedźi z tym rezonatorem jak zobaczyłem post zacząłem się zastanawiać i poszło.

Podsumowanie tematu

✨ Problem dotyczył braku reakcji mikrokontrolera Atmel AT89C2051 po zaprogramowaniu w środowisku uVision i umieszczeniu w układzie sterującym modelem statku. Program w asemblerze był poprawnie skompilowany, a symulacja działała, jednak procesor nie uruchamiał się fizycznie, a porty pozostawały na poziomie niskim. W układzie zastosowano kwarc 12 MHz oraz układ resetu z kondensatorem elektrolitycznym 4,7 µF i rezystorem 100 kΩ. Po analizie schematu i pomiarach okazało się, że kondensatory dołączone do kwarcu były źle przylutowane – jeden był podłączony równolegle do rezonatora, a drugi miał obie nóżki do masy, co uniemożliwiało oscylację kwarcu i start procesora. Po poprawnym przylutowaniu kondensatorów mikrokontroler zaczął działać poprawnie. Dodatkowo pojawił się problem z prostym układem podczerwieni (dioda i fototranzystor w odległości około 0,5 cm) bez modulacji, który wymaga dalszej analizy. Wskazano również, że w podobnych przypadkach warto testować działanie procesora za pomocą migającej diody LED oraz sprawdzać napięcia na wyprowadzeniach kwarcu, najlepiej oscyloskopem.
Wygenerowane przez model językowy.
REKLAMA