Щас пока яндексил, нашел интересные фото цветомузыки с ГРИ ESTONIA УС-010

Управление на стороне ИД1 пока не проверил. Со стороны транзисторов полный проход по всему диапазону частоты получился 245 щелчков энкодера (полный оборот моего энкодера 20 щелчков), причём увеличение частоты происходит не линейно. В начале очень медленно, даже я бы сказал незаметно, я сразу подумал что не работает, а потом в конце буквально за 40 щелчков возрастает очень быстро до частоты что цифры на последнем щелчке горят почти одновременно. И ручной перебор после нажатия кнопки не работает, просто останавливается перебор, или это так и было задумано?akl писал(а):Пробуйте. При включении идёт автоперебор катодов по линиям транзисторов и синхронным кодом на адресных линиях ИД1. При нажатии кнопки энкодера автоперебор прекращается; горит катод, который горел в момент нажатия и блокируется изменение скорости. Следующее нажатие восстанавливает автоперебор и разрешает изменение скорости оного.
Тоже заинтересовало и таки похоже что самопал - но надо признать довольно интересный. Вот обсуждение http://www.rt20.mybb2.ru/viewtopic.php?t=22057Egorka писал(а):Видать человек обзавелся корпусами и сделал это
Ассемблер.a_winner писал(а):akl, на чём пишете, что у Вас такие компактные прошивки получаются?
Да, так и задумано.Сирожа писал(а):...просто останавливается перебор, ... так и было задумано?
А можно ручной перебор туда добавить?akl писал(а):Да, так и задумано.
Уложил время индикации каждого катода в диапазон 200...1000мс за один оборот энкодера (20 щелчков) при начальном времени 400мс. Если будет желание сдвинуть пределы, открываете текстовым редактором исходник .asm из архива ниже и в строках устанавливаете нужные значения порогов.Сирожа писал(а):А можно ручной перебор туда добавить?
И регулировку частоты хотелось бы как с переменным резистором, чтоб весь диапазон в один оборот уложился.
Код: Выделить всё
;08.07.2016
CPI R20,125 ; сравнить с верхним порогом 8ms*125=1000ms
BRLO PC+2
LDI R20,125
CPI R20,25 ; сравнить с нижним порогом 8ms*25=200ms
BRSH PC+2
LDI R20,25
Код: Выделить всё
;08.07.2016
CPI R20,250 ; сравнить с верхним порогом 8ms*250=2000ms
BRLO PC+2
LDI R20,250
CPI R20,5 ; сравнить с нижним порогом 8ms*5=40ms
BRSH PC+2
LDI R20,5Извините, нет времени. Завтра операция и как там дальше пойдёт, фиг знает.Сирожа писал(а):Значит настоящий ручной перебор не напишете.
Код: Выделить всё
ENC_A:
SBIC PIND,5 ; было переключение канала A?
RJMP ENC_B
SBRC R_PRIZ,1 ;канал уже был обработан?
RJMP ENC_A1 ; да уже был, но ещё в 0
SBR R_PRIZ,0b00000010 ; обработка канала A
LDI R16,12 ; дискрет 8*12=96мс
; LDI R16,1
SBIC PIND,4
LDI R16,-12 ; дискрет 8*12=96мс
; LDI R16,-1
ADD R20,R16 ; изменить время индикации
;*************************************************
Код: Выделить всё
ENC_A:
SBIC PIND,5 ; было переключение канала A?
RJMP ENC_B
SBRC R_PRIZ,1 ;канал уже был обработан?
RJMP ENC_A1 ; да уже был, но ещё в 0
SBR R_PRIZ,0b00000010 ; обработка канала A
LDI R16,6 ; дискрет 8*6=48мс (если 96, то диапазон укладывался в пол оборота)
; LDI R16,1
SBIC PIND,4
LDI R16,-6 ; дискрет 8*6=48мс (если 96, то диапазон укладывался в пол оборота)
; LDI R16,-1
ADD R20,R16 ; изменить время индикации
;*************************************************
;08.07.2016
CPI R20,125 ; сравнить с верхним порогом 8ms*125=1000ms (это нижняя граница частоты, если увеличивать значение - частота уменьшается)
BRLO PC+2
LDI R20,125
CPI R20,15 ; сравнить с нижним порогом 8ms*15=120ms (это верхняя граница частоты (а я исходя из своей логики думал что это нижняя), чем меньше значение - тем выше частота)
BRSH PC+2
LDI R20,15
ENC_A1:
ENC_B:
;*************************************************


Вот это рар! Откуда "всплыл" этот индикатор? Панель эта изначально была припаяна?suslogon писал(а):Пропущенное звено в линейке газоразрядных индикаторов типа ИН: ИН-22