eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaPłytka z MOS6502 niestabilna do czasu dotknięcia masy › Re: Płytka z MOS6502 niestabilna do czasu dotknięcia masy
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit
    0.net!newsreader4.netcologne.de!news.netcologne.de!peer02.ams1!peer.ams1.xlned.
    com!news.xlned.com!peer01.fr7!futter-mich.highwinds-media.com!news.highwinds-me
    dia.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-a-02.news.ne
    ostrada.pl!news.neostrada.pl.POSTED!not-for-mail
    Subject: Re: Płytka z MOS6502 niestabilna do czasu dotknięcia masy
    Newsgroups: pl.misc.elektronika
    References: <5b6c2338$0$679$65785112@news.neostrada.pl>
    <5b7078a3$0$605$65785112@news.neostrada.pl>
    <pkpvc8$r1e$2@node1.news.atman.pl>
    <5b708578$0$603$65785112@news.neostrada.pl>
    <pkq18u$t56$1@node1.news.atman.pl>
    From: Atlantis <m...@w...pl>
    Openpgp: preference=signencrypt
    Autocrypt: addr=m...@w...pl; keydata=
    xsFNBFnwJM0BEADds36pFsxrdHt82V36BjgzSYKNGSe0UNgExPg5WXZyoaseq6GegEfpbUsP
    t8T6omrLRDGHzfwitGO8TLO/Oz1GrwSyUTbJ1sqr8aAhYamw3JHwcx4mmJ+nFkrKD03ZoQuF
    TaHb1zENE8WB7l3Wwl3oJVEGuyN0LOJFmKb/fOZPBnCX1XoUhY6cHbQ/93LInouWmQtZl3Hi
    1IWRWJ6n8qD6XhOA5RcF14hBkc8cM2Fw2wIxoHmby2vyYhWEwd/4EtBK2tjsnPL1PwQjBpa9
    FnQH134rOv331chMZomz/hEsKY+UZjCDCnDquEEzDfJJHz7kR3+V08iNL8Z/AIHBg0JQbWei
    So3GcpgwMBBTvFE0hXcI+RAYphCEBpK67o5zAvqi9mYLGxczEIl0ahDXFNQmqjb2h5xULbdk
    P/gBbyaUUylHqJ9Nl8zJkivoi+8Zs+9W2Wa/oRhcNYEQub8rmT6CXHKDG+li5qXILRR6KZLg
    nHfGGZeICyHrIuxA/0GT0DlMId4rFRcgVQ5RWWu2vS7X4VeHDvWtCaqWUHH4sc6XkSW7ZZU4
    7ID2RB82XSwhr+14Cp2SOBe2A301M0JUuVNxirBsvlGJwdB7iKl74BwKsMZAGD7AgECrgeyP
    STFDSUkuhGp6BOoCO8oectISHrkEvivsn6xXakjyBN82bum6jwARAQABzSRNYXJlayBXacSZ
    Y2VrIDxtYXJla3cxOTg2QGdtYWlsLmNvbT7CwX4EEwECACgFAlnwJM0CGwMFCQPCZwAGCwkI
    BwMCBhUIAgkKCwQWAgMBAh4BAheAAAoJEAcixloyhBQTfjUQAKzjMxPMmgBDX5+z3dRxasPi
    2iVHa0tam8435heVvkkW0vZteXjZY9mdzkPHJU77mYknO1i3mxvYO+8qw78/ELqm7kC9MAOZ
    JcCkah7wQbRkYH+NyqnFemmFtqvN6rjnNz4GBA+oddHuRfL3XzUCKbB8dmXVs6fUn3mL60i9
    /pUkelk1qEZlO19s0YbEqoR/0QqSjtbwv76T7Pob79mBH+oDPk9T75r1Gh28TkMu3EhIe+He
    HvZuvf9JmRXokDrVmeztdXcclKLRMVKreJZqmGQhD2Kw3ez8GS/kIfsUpXXbFiUOVGOxsEOZ
    EmHirxvr7NP6R347DU2wI64pzsbtJTW/yLxDq+GMJ7s1LkNjCsH1kCfuPh2Lzs6CNdTmXlXb
    5FuBaIx9tPvOffnwwJFDq63ERmPn4ja67dtJ7VV4ZT2tMGb6h1QFyCoc29Kw6e/JvnJsqysT
    Ov2K5McGJF5gUWKIkxT7IoPXvyWYLqinQLyImXbubz1jQqwY2/Nxn5/5esY4QzY/kVTIIHKy
    12szGc7/TrwnhlEyv2tAO6q8ap/TDeW8dLUjhgabzLZ3GT0BPnL1N4f8At1dkEto/p3CL/LS
    vw8Vtn8V8J/Y6h9zvkJeWMNhPYKUKuDw9RjBMhaTXFhiwc1lK3ySwhxXpNcbtdRpwMGzOlHT
    ABMEgEzimRCFzsFNBFnwJM0BEADNw+0vXHWmpIro/VwfM5eBvA13MmTwhDWPG1s/Zq4CuRfF
    bgG0shqLZke9YnVtwVa/xIcXkaoD2VP3E1+17NvxOHMFFhxil7ASyI/sp9MsEZ0vmYDpO3Q8
    TYOAMbbJ18sHImz/y81y6+xwLIrclkxe9RDE5vR2rri+IbntGaXjDLOKckuGwguwTa3w+PNW
    +jpN0i1p2Dqt78LTpsXSInxdsxQacvJPMcHxuF+KeM4w/EyH7rbeqsHd1+t6FQP8hS7odKG4
    WguFIR3nvh+3JXcps0sjMGulIZv7LrzqZBDVzfTknWaIIc6Av1Rkm26jj1c+2YkIWFI0YVez
    wVskWXOq1v3Nn15WBZQ1F2PRlCdysE8YRa5zCrb9AKaItlSULhvdYbzE9Vbqny7P6ufi0Lo5
    H/gh3+Z8ifv3lwIeh5Nc2dzehyaAR41LfarggSt2lwHDw7j5m8aNuLbG5FAuGA0XNsk4KUFL
    WfT5vU7sYKkmX6exdzHuiosZP7r6RVhOb75lcqwhn7f9Jz2KdnyfJA9J5ryKtBdP5sSjnVHQ
    KDKtjmiFXOyu4Hc09FCGAayTy4czqPohnslLIj4EC8f97Gcoc/wd6CUd1TSmifHNkYLeeooq
    y37n+edry95mmlnH6T4MtICe1eVUZaM7Pf8birPZIZaGPvLSa+JIYPCP4Ir2OQARAQABwsFl
    BBgBAgAPBQJZ8CTNAhsMBQkDwmcAAAoJEAcixloyhBQTcr4P/R/4mRWZF20GZXYNpbtvB8RK
    ygTf4LSOnawrxIh8tUq6svM6Dzmf4WCKKQcEe3IxH50YSMbfAb5Cgg5XYbv5SnKbBZsqHBkH
    UB2tfcfX1acxkciMPVweLg1Vk0FiKqLh8GF9HI4kx3XT4zkENZT04eFEBNYLXYU8+6SxTPgj
    awA14PVVH6JtuQOrDEpSCKKQAyV2bCCIOXk0KohSEzy+jdLY9fHIz5y/ptDHk0nDNDAvs7o6
    gHsn9Hb9QOw+k3+/k7NHseE7bJfhCeh+1RJqJ8/z2leKCQ6oCVPeUF+Ew+N58nh7daKXOBAP
    PPVLxKdukbEjcF/ImiPJezFVi+ccVZdk5YWvoLYszLzedWjsXveFl1bZKw+w0RV6h+vvNoN4
    3dL2AHp/LAy1DiutK4qqZ7qhlqQlwesavr5B6XmyyJdP256PmGSZT0GaIbom4avwR3Nxexen
    b3pOwcxM++qAtgCWVebJFjGh2NIZunoq1WeyL1jBRpRnPZZK3/dmSRoEas+1c12nOHOoPHh8
    GLdXRWYhGApjvyD2puJYt10JfeA636RPBVdTiGxAHKlma6mno5kNxUzNxLMygz/Rl7dXXy08
    70N9CxkFS1hhaYkadyseTQRcMNEbnQKlYreKtDSqgZLf+ZrgeajCx1yQ+cltRdXiXevd5mJf
    AdKy5TQxdS7G
    Date: Sun, 12 Aug 2018 21:43:37 +0200
    User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101
    Thunderbird/52.9.1
    MIME-Version: 1.0
    In-Reply-To: <pkq18u$t56$1@node1.news.atman.pl>
    Content-Type: text/plain; charset=utf-8
    Content-Language: pl
    Content-Transfer-Encoding: 8bit
    Lines: 130
    Message-ID: <5b708de9$0$604$65785112@news.neostrada.pl>
    Organization: Telekomunikacja Polska
    NNTP-Posting-Host: 83.27.137.9
    X-Trace: 1534103017 unt-rea-b-01.news.neostrada.pl 604 83.27.137.9:58734
    X-Complaints-To: a...@n...neostrada.pl
    X-Received-Bytes: 6824
    X-Received-Body-CRC: 385642198
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:735001
    [ ukryj nagłówki ]

    On 12.08.2018 21:19, Sebastian Biały wrote:

    > Która była ładowana z czego?

    Pętla opóźniająca była osobnym podprogramem, który był wywoływany po
    każdym zmianie stanu diody. Wewnątrz tego podprogramu znajdowały się
    właściwie tylko dwie pętle, jedna zagnieżdżona w drugiej. Pierwsza
    operowała na rejestrze X, druga na Y. Każdy z nich był inicjowany
    wartością 0xFF i po każdym przejściu zmniejszany o jeden.


    > Ponadto jednak w tego typu projekcie wykluczyłbym najpierw hardware.
    > 6502 można solidnie przetaktować przez zniekształcony sygnał zegarowy,
    > wtedy częśc funkcjonalności nie działa a takim małym programie czasem
    > nie widać że np. się sam resetuje. Jak wygląda generator zegara?

    To była moja pierwsza myśl. Na oscyloskopie wszystko wygląda ok. To
    znaczy sygnał zegarowy bezpośrednio na wyjściu generatora SG51P jest
    minimalnie "postrzępiony" na górze, jednak po przejściu przez dzienlnik
    na 74HCT74 robi się z tego całkiem ładny sygnał, niemalże kwadrat z
    lekko zaokrąglonymi krawędziami.


    > Niezainicjowania zmienna/rejestr, błąd w sofcie. Mozliwe, choć watpliwe
    > że wina asemblera/kompilatora. Czego używasz?
    >
    > Pokaż źródła jednego i drugiego. Jeszcze coś pamiętam z asm 6502.

    Przy większych projektach używam cc65, ale tutaj posłużyłem się prostym
    webowym narzędziem asm80.com.

    Pierwszy program - ten, z któ(C)ym były problemy:

    CTRL EQU $0BC00

    .ORG $0C000
    CLD
    LDX #$FF
    TXS

    LOOP:
    LDA #$04
    STA CTRL

    JSR DELAY

    LDA #$80
    STA CTRL

    JSR DELAY

    JMP LOOP

    DELAY:
    LDX $FF
    DELAY_LOOP1:
    LDY $FF
    DELAY_LOOP2:
    NOP
    DEY
    BNE DELAY_LOOP2
    DEX
    BNE DELAY_LOOP1
    RTS

    .ORG $FFFE
    DW $0C000


    Drugi program - ten, który teraz zdaje się działać prawidłowo:

    TRL EQU $0BC00

    .ORG $C000
    INIT:
    LDX #$FF
    TXS
    LDA #$80
    STA CTRL
    LDA #$01
    STA DIODE
    LDA #$FF
    STA TIMER
    LDA #$FF
    STA TIMER+1
    LOOP:
    JSR HANDLE_TIMER
    JMP LOOP


    HANDLE_TIMER:
    DEC TIMER
    BNE HT_RET
    LDA #$FF
    STA TIMER
    DEC TIMER+1
    BNE HT_RET
    LDA #$FF
    STA TIMER+1
    ; tutaj wykonujemy nasz kod
    LDA DIODE
    BEQ SET_DIODE
    LDA #$04
    STA CTRL
    LDA #$00
    STA DIODE
    JMP HT_RET
    SET_DIODE:
    LDA #$80
    STA CTRL
    LDA #$01
    STA DIODE
    HT_RET:
    RTS


    IRQ:
    RTI

    NMI:
    RTI

    .ORG $0200
    TIMER: DS 2
    DIODE: DS 1

    .ORG $FFFA
    DW NMI
    DW INIT
    DW IRQ

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: