Важная информация

User Tag List

Показано с 1 по 5 из 5

Тема: Измеритель длительности выдержки механических фотоаппаратов для классического ZX 48

  1. #1
    Member
    Регистрация
    25.06.2009
    Адрес
    Таганрог
    Сообщений
    151
    Благодарностей: 94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Question Измеритель длительности выдержки механических фотоаппаратов для классического ZX 48

    Есть кучка старинных фотиков, типа Любитель, Зоркий, ФЭД, Praktica, Смена, Москва... И есть серьезные сомнения по соответствию реальных выдержек и тех что на шкалах написаны. Хочется иметь возможность проконтролировать выдержки от 1/1000 с до 1/15, то есть самая короткая 1 мс.
    Схема работающая на avr уже есть, хочу сделать тоже самое на ZX Spectrum 48
    Схема сложности не представляет ( нужно опрашивать один бит, от фотодиода ), но по будущей программе есть вопросы.
    Нужно измерить длительность импульса с точностью +-30мкс, лучше +-10 мкс.
    С точки зрения программы - как можно чаще проверять не появился ли 0 в одном бите конкретного порта, как только появился - измерять время до появления 1 там же.
    Как появится, вывести на экран измеренное время и ожидать нажатия клавиши для начала нового измерения.

    Процесс измерения времени прерывать нельзя. Для обеспечения точности измерения.

    Получится такое сделать на Спектруме?
    ZX Spectrum 48 issue 2, A600, Балтика, Commodore 64 + 1541-II

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

  3. #2
    CraZZZy CodEr Аватар для SAM style
    Регистрация
    28.02.2005
    Адрес
    Великий Новгород
    Сообщений
    1,576
    Благодарностей: 759
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Получится. Примерно так (полагается, что сигнал прицеплен на младший бит порта кемпстона):
    Код:
    di
    ld de,0
    waitzero:
    in a,(31)
    rra
    jr c,waitzero
    waitone:
    inc de
    in a,(31)
    rra
    jr nc,waitone
    ei
    ret
    После этого посмотреть, что получилось в de. Всего будет (de - 1)*33 + 28 тактов. 1 такт - примерно 280нс.

    PS: А ну да, и предел - 0.6 сек, потом de переполнится. Но этого, вроде, хватит.
    Последний раз редактировалось SAM style; 25.02.2013 в 13:14.
    Все любят гипножабу

  4. Этот пользователь поблагодарил SAM style за это полезное сообщение:
    SpecialistMK87 (25.02.2013)

  5. #3
    Member
    Регистрация
    25.06.2009
    Адрес
    Таганрог
    Сообщений
    151
    Благодарностей: 94
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    SAM style, спасибо большое
    получается дискретность измерения ~33 такта или ~9.4мкс
    с головой хватит

    еще вопрос по схеме... есть ли смысл полностью адрес порта дешифрировать? Или допустимо сделать урезанную дешифрацию, как на kempston joystick часто делают?
    ZX Spectrum 48 issue 2, A600, Балтика, Commodore 64 + 1541-II

  6. #4
    Activist Аватар для Slesar
    Регистрация
    27.08.2009
    Адрес
    г. Смоленск
    Сообщений
    383
    Благодарностей: 286
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А смысл мерить? У древней механики разброс +/- 50% на коротких выдержках.
    Сталинград-1, две Дельты, Балтик. А еще Subor SB-225B
    2х УКНЦ + КМД УК
    AMIGA A1200 + Elsat E1208 + 8Mb Ram Radio - 86RK Электроника МК-52 + 4 батарейки

    Венец прогресса - телевизор, унитаз и холодильник. Его орудия - паяльник и напильник!

  7. #5
    Veteran Аватар для Vadim
    Регистрация
    24.07.2008
    Адрес
    Курган
    Сообщений
    1,753
    Благодарностей: 363
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Slesar Посмотреть сообщение
    А смысл мерить?
    Мне в середине 90-х тоже померять хотелось, что бы выяснить, какой именно разброс, как врали затворы. Но схемку не сделал, руки не дошли.

    Скрытый текст

    Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
    ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
    ZX Evolution Rev B.
    Color 48 + Beta Disk Interface +FDD+YM2149F
    Орель-08БК
    Pentagon-48 (недоссобранный кем-то)
    Pentagon-128 (полуубитый)
    Кворум-128 (в ремонте)
    Магик-05 (в ремонте)
    Robotron 1715
    Корвет ПК8020 и ПК8010
    Amstrad CPC 464
    Amstrad CPC 6128
    [свернуть]

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

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

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

Ваши права

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