|
|
![]() ![]() |
|
![]() ![]() ![]() ![]() |
|
Опции темы | Поиск в этой теме |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 05.09.2022 18:18
Сообщений: 1034
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Можно еще сравнить показания на солнце и в темноте.
В темноте чувствительность ощутимо смещается в сине-фиолетовую область. При сравнении яркости лазеров, красного с фиолетом, на солнце и ночью, это должно быть хорошо заметно.
__________________
Чем бы дитя не тешилось - лишь бы не лазером... |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Но всё равно точность оценки заряда от этого страдает гораздо меньше, чем от температуры батареи, к примеру (а если ещё и нагрузка есть, то вообще караул). Чтоб промахнутся на одно базовое деление (с синего съехать на голубое, к примеру), нужно постараться. С синим и голубым ещё соглашусь, их можно спутать в определённых ситуациях...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Ну да - недозаряд около 20 % если после китайской зарядки остается 4,0 вольта.
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Это если не учитывать, что кривая на этом графике снималась под нагрузкой (0,2C)...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Да, если нагрузка будет больше, то процент будет меньше, зато при очень маленьких токах разряда кривая будет почти прямой до 3,7 вольта.
Кстати там график при токе 1С - тоже около 20% |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Я за другое говорю. Если отключить нагрузку - напряжение будет выше. А меряем мы напряжение без нагрузки. Соответственно при показаниях мультиметра в 4,0V на этом же графике заряд будет не 80%, а меньше процентов на 5. И да, без нагрузки резкий завал начинается после 3,7V, а до этого он не такой уж и пологий, я под него индикатор подстраивал. В электротранспорте, к примеру, я бы ресурс батареи экономил. Выше 4,1V врятли бы стал заряжать, и разряжать ниже 3,6V. Батарея там дорогая, а заряжать приходится часто. Но в указке, которая заряжается раз в неделю, экономить ресурс я не стану. При тех многих сотнях циклов аккум быстрее на пенсию от возраста уйдёт. Да и без того его заряда хватает минут на 40 работы всего...
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Новичок
Регистрация: 03.10.2012 Последняя активность: 28.11.2012 17:01
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
INFERION Отличная зарядка, очень понравилась, но есть пару вопросов:
1. Возможно ли переделать прошивку под tiny45, т.к. 25 нет а 45 валом ![]() 2. Шунт я так понял разведен на плате в виде "змейки"? 3. Возможно ли поднять зарядный ток к примеру до 500-1000 мА (соответственно, при этом забыв про зарядку от компьютера, хотя моя мать позволяет давать ток 1500 мА для зарядки "Яблоководов") Спасибо. с Ув. Юрий. |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
1. Вот хекс под 45-ю: Вложение 8287 Батники придётся подредактировать, заменив в них число 25 на 45, а-то дудка выругает, что пытаемся прошить левый МК...
Из-за разброса параметров возможно придётся подбирать сопротивления. Мне проще, я заряжаю аккум и смотрю на ошибку, и прошиваю зарядку откалиброванным опорным значением... 2. Да, шунт разведён на плате, Но у него противный ТКС. Хотя для этой зарядки не критично. 3. Сколько ключ позволяет, на столько и можно поднимать. С 2k базовым резистором потолок около 800мА, но МК может пару десятков миллиампер выжать, а ключ держит 6А (в ключевом режиме), но не стоит забывать за его охлаждение. Защита хоть и есть, но термодатчик аж в МК, а ключ способен нагреваться очень быстро... Харьков? Не подскажете, где у вас можно шпон достать? На днях поеду доставать, нужно в кратчайшие сроки акустику доделать... P.S. Все гнёзда ими на компах позатыкал, клавиатуру подключить с мышкой некуда ![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
||
Новичок
Регистрация: 03.10.2012 Последняя активность: 28.11.2012 17:01
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Спасибо за прошивку
![]() Цитата:
Цитата:
Цитата:
|
||
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Нет, не про шунт. С ним как раз всё нормально, да и какая разница, каким током заряжается аккумулятор? 350мА, или 330мА, разницы не заметишь. А вот конечное зарядное напряжение очень критично, и зависит оно от опорного напряжения встроенного в МК ИОН (которое, сволочь, ещё и от питающего напряжения ощутимо гуляет) и от разброса сопротивлений резисторов в делителе напряжения. Вот последнее и подгоняется под требуемые 4,2V. У меня напряжение гуляло в пределах 0,05V от экземпляра к экземпляру. Почти везде было 4,15...4,20V, а в одном сигануло до 4,24V. Я заряжал полностью батарею, смотрел на напряжение и перерасчитывал опорную константу в программе. Но для этого требуется её перекомпилировать и перезалить, а для того чтоб перезалить - активировать RESET высоковольтным программатором, т.к. он отключается после прошивки, чтоб цепь обратной связи по напряжению могла работать. А без RESET'а прошивка невозможна. Так что если у вас есть всё необходимое - проще повозится с исходным кодом программы, а нет - подбираем резисторы, или довольствуемся разбросом...
За ссылку спасибо. |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
У меня нет высоковольтного программатора, но есть самоделка одна, которая сбрасывает значения фьюз на заводские (Atmega fusebit doctor). Валалось у меня несколько тинек, жалко было, собрал устройство и восстановил их. Тиньки эти мне отсыпали, так как ои отказывались программироваться, что с ними ни кто не знал, навешивание кварца внешнего не помогло. Так что если кто то хочет поковыряться с прошивкой - собирайте.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Новичок
Регистрация: 03.10.2012 Последняя активность: 28.11.2012 17:01
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
INFERION
А внешний ИОН, можно применить к примеру TL431? Восстанавливаю тиньки без проблем, у меня есть DOPER а у него на борту HVSP есть. Делитель подобрать то можно ...но хотелось поточней ![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Да у меня у самого на 13-й тиньке собран HV восстановитель уже несколько лет как, им и пользуюсь. Мелкая платка с питанием от USB программатора, как переходник идёт...
Не выжу смысла применять внешний ИОН, если он сожрёт вывод, на котором сейчас сидит ключ. Тогда придётся отказываться от индикатора и переписывать программу. И главное - нафига усложнять и ухудшать, если отлично работает и со встроенным? Тогда вот исходник: Код:
;USB зарядка на ATtiny25 для Li-ion. .INCLUDE "tn25def.inc" ; .INCLUDE "tn45def.inc" ;векторы прерываний: rjmp RESET reti reti reti reti set ;Over0 ;R2:R1 - Red_SDM ;R4:R3 - Green_SDM ;R6:R5 - Blue_SDM ;R8:R7 - Ton ;R10:R9 - Red_error ;R12:R11 - Green_error ;R14:R13 - Blue_error ;R15 - Ton_error ;R29 - Loop counter push R0 in R0, SREG push R0 clr R0 ;Сигма-дельта модулятор PWM add R15, R7 rol R0 add R0, R8 out OCR0A, R0 Red: cpi R29, 0 brne green add R9, R1 ;Сигма-дельта модулятор Red adc R10, R2 rol R29 lsl R29 out PORTB, R29 ldi R29, 1 rjmp intout green: cpi R29, 1 brne blue add R11, R3 ;Сигма-дельта модулятор Green adc R12, R4 ror R29 lsr R29 swap R29 out PORTB, R29 ldi R29, 2 rjmp intout blue: clr R29 add R13, R5 ;Сигма-дельта модулятор Blue adc R14, R6 ror R29 asr R29 lsr R29 swap R29 out PORTB, R29 clr R29 intout: pop R0 out SREG, R0 pop R0 reti ;Конфигурация: RESET: ;Ldi R16, HIGH(RAMEND-12) ;инициализация стека (для Tiny45) ;out SPH, R16 Ldi R16, LOW(RAMEND-12) ;инициализация стека out SPL, R16 ldi R16, 0b00000001 ;PB0 - подтягивание out PORTB, R16 ldi R16, 0b00000111 ;PB0, PB1 и PB2 - выход out DDRB, R16 ldi R16, 0b10000000 ;выключение аналогового компаратора out ACSR, R16 ldi R16, 0b00111000 ;выключение цифрового входа на PB3, PB4 и PB5 out DIDR0, R20 ldi R16, 0b10000111 ;Запуск измерения Ioffset out ADMUX, R16 ldi R16, 0b11000011 ;ADEN, ADSC, тактовая clk/8 out ADCSRA, R16 ldi R16, 0b00000010 ;Включить Over0 out TIMSK, R16 ldi R16, 0b11000011 ;Fast PWM inverting mode out TCCR0A, R16 ldi R16, 0b00000001 ;Запуск таймера0 (clk/1) out TCCR0B, R16 clr R1 ;Очистить регистры clr R2 clr R3 clr R4 clr R5 clr R6 clr R7 clr R8 clr R9 clr R10 clr R11 clr R12 clr R13 clr R14 clr R15 clr R26 clr R27 clr R28 clr R29 ldi ZH, HIGH(RAMEND+1) ;Очистить ОЗУ ldi ZL, LOW(RAMEND+1) ldi R16, 12 ;Количество очищаемых ячеек upclr: st -Z, R1 dec R16 brne upclr sei ;Разрешить прерывания ;Калибровка токового шунта: pause: brtc pause clt sbi ADCSRA, 6 dec R28 breq pause ldi R28, 72 clr R18 clr R19 offset: brtc offset clt in R16, ADCL ;Записать данные АЦП в буфер in R17, ADCH sbi ADCSRA, 6 add R18, R16 adc R19, R17 dec R28 brne offset ldi ZH, HIGH(RAMEND-5) ldi ZL, LOW(RAMEND-5) st Z+, R18 ;Записать Ioffset st Z+, R19 ldi R16, 0b10100000 ;Запуск измерения Vout out ADMUX, R16 sbi ADCSRA, 6 ;R28 - Счётчик семплов ;RAMEND-1 - Температура ;RAMEND-3 - Iref ;RAMEND-5 - Ioffset ;RAMEND-7 - Vout max ;RAMEND-9 - Error FB damped ;RAMEND-11 - Vout no charge ;Модулятор тока (120Hz): main: brtc main clt sbi ADCSRA, 6 sbic GPIOR0, 0 ;Модуляция зарядного тока rjmp maxcur sbi GPIOR0, 0 ldi ZH, HIGH(RAMEND-11) ldi ZL, LOW(RAMEND-11) ld R16, Z+ ;Загрузить Vout no charge ld R17, Z+ ldi R18, 0x80 ;Порог капельного заряда 2,7V ldi R19, 0x7E cp R16, R18 cpc R17, R19 brcc ldmidc ldi R17, 0x11 ;Irefmax=40mA (R шунта 0,1Ом+ТКС) ldi R16, 0xA0 rjmp ldminc ldmidc: ldi R18, 0x00 ;Порог пониженного тока 3,5V ldi R19, 0xA4 cp R16, R18 cpc R17, R19 brcc ldmaxc ldi R17, 0x72 ;Irefmax=260mA (R шунта 0,1Ом+ТКС) ldi R16, 0xC0 rjmp ldminc ldmaxc: ldi R17, 0xB0 ;Irefmax=400mA (R шунта 0,1Ом+ТКС) ldi R16, 0x00 ldminc: ldi ZH, HIGH(RAMEND-3) ldi ZL, LOW(RAMEND-3) st Z+, R16 ;Записать Iref st Z+, R17 rjmp voltag maxcur: cbi GPIOR0, 0 ldi ZH, HIGH(RAMEND-3) ldi ZL, LOW(RAMEND-3) ld R16, Z+ ;Загрузить Iref ld R17, Z+ mov R18, R16 ;Irefx0,75 mov R19, R17 clr R20 clr R21 lsl R18 rol R19 rol R20 lsl R18 rol R19 rol R20 sub R18, R16 sbc R19, R17 sbc R20, R21 lsr R20 ror R19 ror R18 lsr R20 ror R19 ror R18 st -Z, R19 ;Записать Iref st -Z, R18 voltag: brtc voltag clt in R16, ADCL ;Записать данные АЦП в буфер in R17, ADCH sbic GPIOR0, 0 rjmp voltmx ldi R18, 0b10100111 ;Запуск измерения Iout out ADMUX, R18 sbi ADCSRA, 6 ldi ZH, HIGH(RAMEND-7) ldi ZL, LOW(RAMEND-7) st Z+, R16 ;Записать Vout max st Z+, R17 rjmp pausec ;ОС по напряжению (60Hz): voltmx: ldi R18, 0b10101111 ;Запуск измерения температуры out ADMUX, R18 sbi ADCSRA, 6 ldi ZH, HIGH(RAMEND-7) ldi ZL, LOW(RAMEND-7) ld R18, Z+ ;Загрузить Vout max ld R19, Z+ mov R20, R18 ;Delta Vout mov R21, R19 sub R20, R16 sbc R21, R17 brcc deltok clr R20 clr R21 deltok: lsl R20 ;Delta Vout x 4 rol R21 lsl R20 rol R21 brcc vxgood ser R20 ser R21 vxgood: sub R18, R20 ;Vout no charge sbc R19, R21 brcc vnchok clr R18 clr R19 vnchok: ldi ZH, HIGH(RAMEND-11) ldi ZL, LOW(RAMEND-11) st Z+, R18 ;Записать Vout no charge st Z+, R19 ld R20, Z+ ;Загрузить Error FB damped ld R21, Z+ ldi R16, 0x40 ;Vref no charge 4,2V (калибр.) ldi R17, 0xE1 cp R18, R16 cpc R19, R17 brcc morev sub R16, R18 sbc R17, R19 lsr R17 ror R16 lsr R17 ror R16 sub R20, R16 sbc R21, R17 brcc vcorr clr R20 clr R21 rjmp fbmxok morev: sub R18, R16 sbc R19, R17 lsr R19 ror R18 lsr R19 ror R18 add R20, R18 adc R21, R19 brcc vcorr ser R20 ser R21 vcorr: ldi R17, 0xB0 ;Irefmax=400mA ldi R16, 0x00 cp R16, R20 ;Ограничение Error FB сверху cpc R17, R21 brcc fbmxok mov R20, R16 mov R21, R17 fbmxok: st -Z, R21 ;Записать Error FB damped st -Z, R20 ldi ZH, HIGH(RAMEND-3) ldi ZL, LOW(RAMEND-3) ld R22, Z+ ;Загрузить Iref ld R23, Z+ sub R22, R20 ;Коррекция Iref sbc R23, R21 brcc writeV clr R22 clr R23 writev: st -Z, R23 ;Записать Iref st -Z, R22 ;Индикация, первый фрагмент (60Hz): pauset: brtc pauset clt sbi ADCSRA, 6 sbis GPIOR0, 1 rjmp ind inc R27 aniris: cpi R27, 64 brcc animax mov R26, R27 lsl R26 lsl R26 rjmp ind animax: cpi R27, 128 brcc anifal ser R26 rjmp ind anifal: cpi R27, 192 brcc animin ldi R26, 191 sub R26, R27 lsl R26 lsl R26 rjmp ind animin: clr R26 ind: ldi ZH, HIGH(RAMEND-11) ldi ZL, LOW(RAMEND-11) ld R16, Z+ ;Загрузить Vout no charge ld R17, Z+ subi R16, 0x00 sbci R17, 0xA1 brcc okv clr R17 clr R16 okv: lsl R16 rol R17 lsl R16 rol R17 brcc okadr ser R17 okadr: clr R16 mov ZL, R17 ;Загрузка данных RGB индикатора clr ZH lsl ZL ;x3 rol ZH add ZL, R17 adc ZH, R16 ldi R18, LOW(data*2) ldi R19, HIGH(data*2) add ZL, R18 adc ZH, R19 lpm mov R17, R0 ;Загрузить Red mov R18, R1 mov R19, R2 ldi R20, 255 rcall anima mov R1, R18 mov R2, R19 mov R24, ZL ;Сохранить адрес mov R25, ZH ;Температура (60Hz): temp: brtc temp clt in R16, ADCL ;Записать данные АЦП в буфер in R17, ADCH ldi R18, 0b10100111 ;Запуск измерения Iout out ADMUX, R18 sbi ADCSRA, 6 subi R17, 0x55 ;60 градусов brcc termok clr R16 clr R17 termok: clr R18 ;x64 lsr R17 ror R16 ror R18 lsr R17 brne overt ror R16 ror R18 rjmp novert overt: ser R16 ser R18 novert: ldi ZH, HIGH(RAMEND-3) ldi ZL, LOW(RAMEND-3) ld R20, Z+ ;Загрузить Iref ld R21, Z+ ld R22, Z+ ;Загрузить температуру ld R23, Z+ cp R18, R22 ;Сглаживание cpc R16, R23 breq equalt brcc moret mov R17, R22 ;Y-=(Y-X)/64 mov R19, R23 sub R17, R18 sbc R19, R16 clr R18 lsl R17 rol R19 rol R18 lsl R17 rol R19 rol R18 clr R17 cp R19, R17 cpc R18, R17 brne rsttdn inc R19 rsttdn: sub R22, R19 sbc R23, R18 rjmp equalt moret: sub R18, R22 ;Y+=(X-Y)/64 sbc R16, R23 clr R17 lsl R18 rol R16 rol R17 lsl R18 rol R16 rol R17 clr R18 cp R16, R18 cpc R17, R18 brne rsttup inc R16 rsttup: add R22, R16 adc R23, R17 equalt: ;mov R5, R16 ;Вывод температуры на красный канал ;mov R6, R17 ;(для калибровки) sub R20, R22 ;Коррекция Iref sbc R21, R23 brcc writet clr R20 clr R21 writet: st -Z, R23 ;Записать температуру st -Z, R22 st -Z, R21 ;Записать Iref st -Z, R20 ;Индикация, второй фрагмент (120/60Hz): pausec: brtc pausec clt sbi ADCSRA, 6 sbis GPIOR0, 0 ;Анимировать, если флаг установлен rjmp curent mov ZL, R24 mov ZH, R25 ldi R24, 1 clr R16 add ZL, R24 adc ZH, R16 lpm mov R17, R0 ;Загрузить Green mov R18, R3 mov R19, R4 ldi R20, 255 rcall anima mov R3, R18 mov R4, R19 add ZL, R24 adc ZH, R16 lpm mov R17, R0 ;Загрузить Blue mov R18, R5 mov R19, R6 ldi R20, 255 rcall anima mov R5, R18 mov R6, R19 ;Выходной ток (31kHz): curent: brtc curent clt in R16, ADCL ;Записать данные АЦП в буфер in R17, ADCH inc R28 brne meascu ldi R18, 0b10100000 ;Запуск измерения Vout out ADMUX, R18 meascu: sbi ADCSRA, 6 cpi R17, 0x20 ;Включение анимации brcs anioff sbic GPIOR0, 1 rjmp lofset sbi GPIOR0, 1 clr R27 rjmp lofset anioff: cpi R17, 0x18 ;Выключение анимации brcs sinoff sbic GPIOR0, 1 rjmp lofset sinoff: sbis GPIOR0, 0 rjmp lofset cbi GPIOR0, 1 clr R26 lofset: ldi ZH, HIGH(RAMEND-5) ldi ZL, LOW(RAMEND-5) ld R18, Z+ ;Загрузить Ioffset ld R19, Z+ ld R20, Z+ ;Загрузить Iref ld R21, Z+ sub R16, R18 ;Коррекция смещения sbc R17, R19 brcc currok clr R16 clr R17 currok: ;mov R3, R20 ;Вывод Iref на зелёный канал ;mov R4, R21 ;(для ОТЛАвлиВАНИЯ лаЖИ) ;mov R5, R16 ;Вывод шунта на синий канал ;mov R6, R17 ;(для калибровки) clr R18 cp R16, R20 cpc R17, R21 brcs loTon1 sub R16, R20 ;Ton=Ton-(Iout-Iref)/8 sbc R17, R21 lsr R17 ror R16 lsr R17 ror R16 lsr R17 ror R16 cp R16, R18 cpc R17, R18 brne mod1 inc R16 mod1: sub R7, R16 ;Коррекция sbc R8, R17 brcc modok clr R8 modclr: clr R7 modok: tst R28 brne curent rjmp main loTon1: sub R20, R16 ;Ton=Ton+(Iref-Iout)/8 sbc R21, R17 lsr R21 ror R20 lsr R21 ror R20 lsr R21 ror R20 cp R20, R18 cpc R21, R18 brne mod2 inc R20 mod2: ser R16 ;Коррекция add R7, R20 adc R8, R21 brcs mdfal2 cp R8, R16 brcs modok mdfal2: mov R8, R16 rjmp modclr ;Подпрограмма обработки каналов анимации: anima: cp R17, R20 ;Анимирование brcs lessa ;Перейти если main < mixing mov R22, R17 ;main - mixing = X sub R22, R20 clr R23 ;R23 <- R22 x R26 / 255 lsr R22 ;( X x color_ratio ) / 255 = Y brcc noad0 add R23, R26 noad0: ror R23 ror R22 brcc noad1 add R23, R26 noad1: ror R23 ror R22 brcc noad2 add R23, R26 noad2: ror R23 ror R22 brcc noad3 add R23, R26 noad3: ror R23 ror R22 brcc noad4 add R23, R26 noad4: ror R23 ror R22 brcc noad5 add R23, R26 noad5: ror R23 ror R22 brcc noad6 add R23, R26 noad6: ror R23 ror R22 brcc noad7 add R23, R26 noad7: ror R23 ror R22 breq m8u0 inc R23 m8u0: sub R17, R23 ;main - Y = main rjmp damper lessa: sub R20, R17 ;mixing - main = X clr R23 ;R23 <- R22 x R26 / 255 lsr R20 ;( X x color_ratio ) / 255 = Y brcc noad8 add R23, R26 noad8: ror R23 ror R20 brcc noad9 add R23, R26 noad9: ror R23 ror R20 brcc noad10 add R23, R26 noad10: ror R23 ror R20 brcc noad11 add R23, R26 noad11: ror R23 ror R20 brcc noad12 add R23, R26 noad12: ror R23 ror R20 brcc noad13 add R23, R26 noad13: ror R23 ror R20 brcc noad14 add R23, R26 noad14: ror R23 ror R20 brcc noad15 add R23, R26 noad15: ror R23 ror R20 breq m8u1 inc R23 m8u1: add R17, R23 ;main + Y = main damper: cp R18, R16 ;Сглаживание цветопередачи cpc R19, R17 breq equald brcc mored mov R20, R16 mov R21, R17 sub R20, R18 sbc R21, R19 lsr R21 ror R20 lsr R21 ror R20 lsr R21 ror R20 lsr R21 ror R20 cp R20, R16 cpc R21, R16 brne okdnd inc R20 okdnd: add R18, R20 adc R19, R21 equald: ret mored: mov R20, R18 mov R21, R19 sub R20, R16 sbc R21, R17 lsr R21 ror R20 lsr R21 ror R20 lsr R21 ror R20 lsr R21 ror R20 cp R20, R16 cpc R21, R16 brne okupd inc R20 okupd: sub R18, R20 sbc R19, R21 ret .ORG 0x280 ;Массив RGB индикатора (последние 768 байт памяти) ;R G B R G B R G B R G B data: .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;0 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;4 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;8 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;12 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;16 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;20 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;24 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;28 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;32 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;36 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;40 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;44 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;48 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;52 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;56 .db 255, 0, 0, 255, 0, 0, 255, 0, 0, 255, 0, 0 ;60 .db 255, 0, 0, 254, 1, 0, 253, 2, 0, 252, 3, 0 ;64 .db 251, 4, 0, 250, 5, 0, 249, 6, 0, 248, 7, 0 ;68 .db 247, 8, 0, 246, 9, 0, 245, 10, 0, 244, 11, 0 ;72 .db 243, 12, 0, 242, 13, 0, 241, 14, 0, 240, 15, 0 ;76 .db 239, 16, 0, 238, 17, 0, 237, 18, 0, 236, 19, 0 ;80 .db 235, 20, 0, 234, 21, 0, 233, 22, 0, 232, 23, 0 ;84 .db 231, 24, 0, 230, 25, 0, 229, 26, 0, 228, 27, 0 ;88 .db 227, 28, 0, 226, 29, 0, 225, 30, 0, 224, 31, 0 ;92 .db 223, 33, 0, 221, 36, 0, 218, 39, 0, 215, 42, 0 ;96 .db 212, 45, 0, 209, 48, 0, 206, 50, 0, 204, 53, 0 ;100 .db 201, 56, 0, 198, 59, 0, 195, 62, 0, 192, 65, 0 ;104 .db 189, 68, 0, 186, 71, 0, 183, 74, 0, 180, 77, 0 ;108 .db 177, 80, 0, 174, 82, 0, 172, 85, 0, 169, 88, 0 ;112 .db 166, 91, 0, 163, 94, 0, 160, 97, 0, 157, 100, 0 ;116 .db 154, 103, 0, 151, 106, 0, 148, 109, 0, 145, 112, 0 ;120 .db 142, 114, 0, 140, 117, 0, 137, 120, 0, 134, 123, 0 ;124 .db 131, 126, 0, 128, 131, 0, 123, 137, 0, 117, 143, 0 ;128 .db 111, 149, 0, 105, 155, 0, 99, 161, 0, 93, 167, 0 ;132 .db 87, 173, 0, 81, 179, 0, 75, 185, 0, 69, 192, 0 ;136 .db 63, 198, 0, 57, 204, 0, 51, 210, 0, 45, 216, 0 ;140 .db 39, 222, 0, 33, 228, 0, 27, 234, 0, 21, 240, 0 ;144 .db 15, 246, 0, 9, 252, 0, 3, 255, 1, 0, 254, 5 ;148 .db 0, 250, 9, 0, 246, 12, 0, 243, 16, 0, 239, 20 ;152 .db 0, 235, 23, 0, 232, 27, 0, 228, 31, 0, 224, 34 ;156 .db 0, 221, 38, 0, 217, 42, 0, 213, 45, 0, 210, 49 ;160 .db 0, 206, 53, 0, 202, 56, 0, 199, 60, 0, 195, 64 ;164 .db 0, 191, 67, 0, 188, 71, 0, 184, 74, 0, 181, 78 ;168 .db 0, 177, 82, 0, 173, 85, 0, 170, 89, 0, 166, 93 ;172 .db 0, 162, 96, 0, 159, 100, 0, 155, 104, 0, 151, 107 ;176 .db 0, 148, 111, 0, 144, 115, 0, 140, 118, 0, 137, 122 ;180 .db 0, 133, 126, 0, 129, 129, 0, 126, 133, 0, 122, 137 ;184 .db 0, 118, 140, 0, 115, 144, 0, 111, 148, 0, 107, 151 ;188 .db 0, 104, 155, 0, 100, 159, 0, 96, 162, 0, 93, 166 ;192 .db 0, 89, 170, 0, 85, 173, 0, 82, 177, 0, 78, 181 ;196 .db 0, 74, 184, 0, 71, 188, 0, 67, 192, 0, 63, 195 ;200 .db 0, 60, 199, 0, 56, 202, 0, 53, 206, 0, 49, 210 ;204 .db 0, 45, 213, 0, 42, 217, 0, 38, 221, 0, 34, 224 ;208 .db 0, 31, 228, 0, 27, 232, 0, 23, 235, 0, 20, 239 ;212 .db 0, 16, 243, 0, 12, 246, 0, 9, 250, 0, 5, 254 ;216 .db 1, 1, 255, 5, 0, 254, 9, 0, 250, 12, 0, 246 ;220 .db 16, 0, 243, 19, 0, 239, 23, 0, 235, 27, 0, 232 ;224 .db 30, 0, 228, 34, 0, 224, 38, 0, 221, 41, 0, 217 ;228 .db 45, 0, 213, 48, 0, 210, 52, 0, 206, 56, 0, 202 ;232 .db 59, 0, 199, 63, 0, 195, 67, 0, 191, 70, 0, 188 ;236 .db 74, 0, 184, 78, 0, 181, 81, 0, 177, 85, 0, 173 ;240 .db 88, 0, 170, 92, 0, 166, 96, 0, 162, 99, 0, 159 ;244 .db 103, 0, 155, 107, 0, 151, 110, 0, 148, 114, 0, 144 ;248 .db 117, 0, 140, 121, 0, 137, 125, 0, 133, 127, 0, 129 ;252 |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Новичок
Регистрация: 03.10.2012 Последняя активность: 28.11.2012 17:01
Сообщений: 4
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Спасибо ОГРОМНОЕ...буду собирать.
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
|
![]()
Авот теперь бы я поругался за исходники в паблике :-)
|
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Ой, не твои это проблемы, по-моему
![]() Или я не прав и чего-то не понимаю? Тут кто-то помню выступал, мол понаделали мне дорогих подарков по дембелю, открытку подарили в рамочке даже, и теперь ждёте от меня взаимности. Я что-то упустил? Вот висит эта рамочка над монитором, читаю кто там на шикарный мультиметр мне скидывался, которым я эту зарядку и мерял с точностью до сотни микровольт. И ты есть в том списке, и ABA, который упорно ждёт от меня драйвера для сини, и mason, лазер которого с 12x ЛД лежит у меня без драйвера ещё с весны, и ещё куча народу. И динамики у меня долгожданные появились благодаря форуму, на акустику моей мечты. Это так, пища для размышлений, чтоб не ругали за мою доброту, сами же этим грешите ![]() Я не собираюсь ставить эту зарядку на конвейер. А если и собираюсь, то не с этим кодом, ибо калибровать каждый девайс геморно. Будем считать это Open Source. Как по мне - так всем же только лучше от этого... |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 20.06.2019 01:21
Сообщений: 1341
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
Ну мы как бы от чистого сердца, все дела... Ясен перец никто не будет специально требовать от тебя новых свершений) Твари по ходу дела и не парься об этом)
|
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 14.02.2010 Последняя активность: 18.11.2015 19:18
Сообщений: 7908
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]() |
![]() |
![]() ![]() |
![]() ![]() |
![]() ![]() |
Ветеран Фонарёвки
Регистрация: 15.02.2010 Последняя активность: 24.08.2019 11:36
Сообщений: 1342
Сказал(а) спасибо: 0
Поблагодарили: 0 раз(а) в 0 сообщениях
|
![]()
А теперь если успею доделать акустику до конца месяца - и осциллограф могу выиграть на конкурсе, проходящем на сайте паяльника
![]() |
![]() |
![]() ![]() |
![]() |
![]() ![]() |
Завсегдатай Фонарёвки
|
![]()
В глаза случайно бросилось
ldi R16, 0b00111000 ;выключение цифрового входа на PB3, PB4 и PB5 out DIDR0, R20 R20 нигде до этого не трогался. Очепятка? ![]() |
![]() |
![]() ![]() |