User Tag List

Показано с 1 по 10 из 16

Тема: Зажигание светодиода процессором Z80.

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    26.12.2010
    Адрес
    Кубань
    Сообщений
    1,159
    Спасибо Благодарностей отдано 
    42
    Спасибо Благодарностей получено 
    47
    Поблагодарили
    26 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Повесить светодиод на ногу A15, а её не подключать к микросхеме памяти.
    И написать такой код чтоб его половина выполнялясь в области $0000-7fff, а половина в $8000-$ffff
    Тогда получится что когда выполняется первая половинк кода светодиод не горит, а когда вторая - горит.

    - - - Добавлено - - -

    Также можно использовать микросхему кр580вв55, это 3 порта ввода-вывода. Её выборку можно подключить к сигналу чтения/записи порта, тогда дополнительная логика не нужна.
    Это задел на будущее, так можно и не только один светодиод подключить, а 24, или кнопки сделать.

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    09.03.2017
    Адрес
    г. Троицк
    Сообщений
    609
    Спасибо Благодарностей отдано 
    125
    Спасибо Благодарностей получено 
    64
    Поблагодарили
    48 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    светодиод на ногу A15
    Это выверты из области: "зачем не знаю, смотри как можно" Очень любят во всяких "умных" книжках.
    Практической пользы ноль, но как курьез и упражнение по программированию пойдет. Да, заявленной задаче удовлетворяет на все 100, но вещь в себе.
    Зачем такой выверт, когда можно все же пойти по букварю и сделать нормальный порт на регистре. И пусть он все адреса занимает, ОЗУ-то нет.
    electronox necromancer

  4. #3

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    можно и не только один светодиод подключить, а 24
    На три порта ВВ55 динамически 128 светодиодов легко. Матрица 8х16. Работало. Вот только программой ни с кем не поделишься
    Profi v3.2 -=- Speccy2010,r2

  5. #4

    Регистрация
    25.09.2019
    Адрес
    г. Челябинск
    Сообщений
    94
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Повесить светодиод на ногу A15, а её не подключать к микросхеме памяти.
    И написать такой код чтоб его половина выполнялясь в области $0000-7fff, а половина в $8000-$ffff
    Тогда получится что когда выполняется первая половинк кода светодиод не горит, а когда вторая - горит.
    Вообще можно попробовать сделать так:
    1. Использовать маленькое ПЗУ (32 Кб или меньше)
    2. Как вы и предложили, использовать A15
    3. Использовать что-то вроде такого кода:

    .org 0
    LD a, 255
    LD b, 0
    M1:
    OUT (0FFFFh), a
    DJNZ M1
    DJNZ $ ;pause
    CPL ;inverse out data
    JR M1 ;and repeat

    Единственное, над чем еще стоит задуматься -- это как сделать так, чтобы при обращении к порту ПЗУ не прыгало по адресам...

  6. #5

    Регистрация
    26.01.2016
    Адрес
    г. Мелитополь, Украина
    Сообщений
    156
    Спасибо Благодарностей отдано 
    12
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    24 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zx_gamer Посмотреть сообщение
    OUT (0FFFFh), a
    по моему компилятор такое не пропустит.
    старшая часть адреса разве не из А берется?

  7. #6

    Регистрация
    18.01.2010
    Адрес
    Крым
    Сообщений
    238
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    41
    Поблагодарили
    34 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Kakos_nonos Посмотреть сообщение
    Повесить светодиод на ногу A15, а её не подключать к микросхеме памяти.
    Какос правильно мыслит.) Достаточно z80 и ПЗУ. И играйся адресами.
    Код:
    ; Мигание светодиодом подключенным к A15 и +5В
    
    ON_COUNT  equ   8000h           ;длительность включенного состояния
    OFF_COUNT equ   0c000h          ; выключеного
    
            .z80
    start:  .phase  0
            ld      bc,ON_COUNT
    loop    defl    $
            dec     bc
            ld      a,b
            or      c
            jr      nz,loop
            
            jp      off
            .dephase
            
            .phase  $ - start + 8000h
    off:    ld      bc,OFF_COUNT
    loop    defl    $
            dec     bc
            ld      a,b
            or      c
            jr      nz,loop
            
            jp      0
            .dephase
            end
    Можно даже несколько светодиодов вешать, каждый на свой адрес. И управлять по своему усмотрению.
    Последний раз редактировалось M80; 13.08.2022 в 18:02.

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 540
    Последнее: 18.04.2025, 03:48
  2. Ответов: 8
    Последнее: 23.07.2021, 12:33
  3. Ответов: 278
    Последнее: 02.05.2021, 20:40
  4. Ответов: 0
    Последнее: 23.11.2014, 14:31
  5. КПК на Z80.
    от doctorgenius в разделе Несортированное железо
    Ответов: 4
    Последнее: 22.01.2007, 20:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •