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

AT89C51AC3 - mikrokontroler nie reaguje na programowanie, co sprawdzić?

jpieron 03 Kwi 2017 22:06 2520 4
  • #1 16390574
    jpieron
    Poziom 2  
    Szanowni Państwo,

    Od 15 może 20 lat nie bawiłem się mikrokontrolerami, no i dopadło mnie - muszę zrobić układ oparty na mikrokontrolerze.
    Narysowałem, więc schemat - zrobiłem płytkę - odkurzyłem mój stary emulator pamięci i zabrałem się za programowanie.
    I tu STOP - napisałem pierwsze parę linijek - wrzuciłem do emulatora, a mój uP nic - ani be, ani me, ani ... – nie będę kończył.
    Po dwóch dniach walki, stwierdziłem, że może mój staruszek emulator wyzionął ducha, więc wziąłem AT28C64 po przez LabTool48
    wrzuciłem program do niego i pełen nadziei włożyłem do układu, a tu dalej jak wyżej "ani be, ani me, ani ..."
    I teraz mam problem - bo skończyły mi się pomysły, co dalej.
    Układ jest tradycyjny (jak ja) czyli:
    - zewnętrzna pamięć programu,
    - na P0 zatrzask 74HCT573 z pull-ups do VCC 5.1k (nie miałem 4.7k)
    - P2 - pozostała część adresu, trzy najwyższe bity (nie wykorzystane do pamięci ) podłączone do 74HCT138 do multipleksowania WR.
    - 4 zatrzaski 74HCT574 do sterowania urządzeniami zewnętrznymi (na jednym zatrzasku ma diody led - by widzieć czy coś działa)
    - P1 - jako wejście ADC
    - EA - podłączone do GND
    - Reset - przez kondensator do VCC
    - kwarc 12MHz - z dwoma blokadami 22pF
    I to w zasadzie wszystko jeśli chodzi o hardware.
    Jeśli chodzi o program:

    org 0000h
    ljmp start
    org 0030h
    start:
    orl 8eh,#00000010b ; AUXR Register
    start1:
    mov dph,#0C0h
    mov dpl,#00h
    mov a,#0AAh
    movx @dptr,a
    movx a,@dptr
    ljmp start1

    Sprawdziłem:
    - ALE i PSEN - są OK
    - adresy i dane - na tyle ile mogłem sprawdzić 4-kanałowym oscyloskopem wyglądają OK - nie mam analizatora
    - na WR i RD - nie ma żadnej reakcji
    - próby wpisania czegokolwiek na P1 i P4 - bez skutku. Stan P4 - 11b, stan P1 - 00000011b

    Może ktoś z Państwa Ekspertów miałby jakiś pomysł co dalej?
    Ja już zaczynam pomału myśleć że mój AT89C51AC3 - dokonał żywota.

    Będę wdzięczny za każdą pomoc.
    Pozdrawiam,
    Jacek

    P.S. Już nawet podejrzewałem mój kompilator - ale sprawdziłem hex-y i wygląda że jest OK.
  • #2 16390637
    Eagle
    Poziom 24  
    Spróbuj pomachać np: P3.0, wykluczysz cześć problemów. Ten uC masz nowy, czy fuse bit'y mogły być zmieniane ?
  • #3 16390686
    jpieron
    Poziom 2  
    Kompletnie nowy - kupiony 2 tygodnie temu w Farnell - to jest lutowana 44.

    Dodano po 12 [godziny] 31 [minuty]:

    P3.0 - nie reaguje
  • #4 16400208
    trol.six
    Poziom 31  
    jpieron napisał:
    a tu dalej jak wyżej "ani be, ani me, ani ...

    jpieron napisał:
    adresy i dane - na tyle ile mogłem sprawdzić 4-kanałowym oscyloskopem wyglądają OK

    No to jak, niby dobre a nie dobre?

    Jeśli układ podłączeń jest prawidłowy, to może pamięć za wolna? A przecież te kilka instrukcji możesz sprawdzić podając nawet ręcznie impulsy zegarowe. I sprawdzać stany na adresowe i danych.
  • #5 16400507
    Eagle
    Poziom 24  
    Jakie są powody, że nie wykorzystasz wewnętrznej pamięci FLASH i wbudowanego bootload'era ?
REKLAMA