Страница 6 из 17 Первая ... 4567816 ... Последняя
Показано с 101 по 120 из 332

Тема: Самодельная замена процессора ЛПМ для SONY TC-K730ES

  1. #1 Показать/скрыть первое сообщение.
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Поскольку разбирать этот аппарат я раздумал, то решил попробовать себя на ниве процессоро-строения.
    Точнее построению функционального аналога MB88517B-228N. Так сказать набраться опыта.
    Пока заводскую плату решил сохранить полностью.
    Заменил только кварц X701 на 8МГц. И ещё вакуумный дисплейчик счётчика ленты тоже дал дуба (перегретая нить накала). Его пока временно заменил на 4-х строчный LCD дисплей. В окончательном варианте думаю поставить 2-х строчный OLED (2х16). По размерам примерно подходит.
    Тут удачно пригодился проект линейного счётчика ленты из другой темы.

    ---------- Сообщение добавлено 21:04 ---------- Предыдущее сообщение было 21:01 ----------

    ЛПМ уже работает, счётчик считает.
    Из новых плюшек можно упомянуть сохранение состояния счётчика и RT при выключении питания.

    ---------- Сообщение добавлено 21:06 ---------- Предыдущее сообщение было 21:04 ----------

    Ещё сделал снятие с ПАУЗЫ кнопками PLAY или PAUSE. Давно хотел, чтобы так было.
    Автостоп, конечно, уже работает.

    ---------- Сообщение добавлено 21:09 ---------- Предыдущее сообщение было 21:06 ----------

    Кнопки управления режимами ЛПМ сохранены заводские. Т.е. с помощью АЦП считывается напряжение с управляемого делителя.

    ---------- Сообщение добавлено 21:12 ---------- Предыдущее сообщение было 21:09 ----------

    В данном ЛПМ нашёлся режим поиска по паузам. Это когда после включения обоих электромагнитов ЛПМ (HEAD PM и BRAKE PM) обесточить первый из них. Т.е. головки и прижимные ролики отводятся немного. Так что этого мне уже не избежать. Будет поиск.

    ---------- Сообщение добавлено 21:23 ---------- Предыдущее сообщение было 21:12 ----------

    Нажмите на изображение для увеличения. 

Название:	sony1.jpg 
Просмотров:	561 
Размер:	190.7 Кб 
ID:	402351
    Нажмите на изображение для увеличения. 

Название:	sony3.jpg 
Просмотров:	481 
Размер:	250.6 Кб 
ID:	402348
    Нажмите на изображение для увеличения. 

Название:	sony2.jpg 
Просмотров:	470 
Размер:	251.0 Кб 
ID:	402352
    Нажмите на изображение для увеличения. 

Название:	proc_zam1.jpg 
Просмотров:	531 
Размер:	162.5 Кб 
ID:	402349
    Нажмите на изображение для увеличения. 

Название:	proc_zam2.jpg 
Просмотров:	484 
Размер:	171.3 Кб 
ID:	402350

    ---------- Сообщение добавлено 21:24 ---------- Предыдущее сообщение было 21:23 ----------

    Поскольку случай единичный, то специальную плату делать не планирую.
    Процессор взят из тумбочки, тоже никуда был не нужен. Уже раритет, но по количеству ног сгодился.

    ---------- Сообщение добавлено 21:29 ---------- Предыдущее сообщение было 21:24 ----------

    Осталось сделать функционал записи и REC_MUTE.
    И красивые менюшки.
    Потом хотелось бы сюда же и ATRS добавить, но ног уже не хватает. Возможно потребуется какой-то расширитель. Свободной памяти ещё вагон.

    Аппараты из этой темы и другой про счётчик разные. Один 700ES другой 730ES. Чтобы не было вопросов.

    ---------- Сообщение добавлено 21:45 ---------- Предыдущее сообщение было 21:29 ----------

    Три скорости ведущего вала думаю сделать здесь упрощённо. Просто коммутировать 3 разных кварца. Счётчик к 3-м скоростям уже адаптирован.

    ---------- Сообщение добавлено 21:52 ---------- Предыдущее сообщение было 21:45 ----------

    Переменную скорость перемотки тоже надо попробовать. Сейчас в режиме перемотки примерно 5,5В. Думаю до 9 поднять в начале процесса.

    ---------- Сообщение добавлено 22:04 ---------- Предыдущее сообщение было 21:52 ----------

    При попытке включения REC с выломанным язычком блокировки REC_LED быстро мигает в течении 2 сек и гаснет.

    ---------- Сообщение добавлено 13.08.2021 в 10:37 ---------- Предыдущее сообщение было 12.08.2021 в 22:04 ----------

    Провел опыт повышения питания мотора перемотки до 9В. Одна сторона кассеты С-110 стала перематываться за 1:50. А было 2:50. Солидная экономия.

    ---------- Сообщение добавлено 10:45 ---------- Предыдущее сообщение было 10:37 ----------

    При соотношении т/т=2.0 напряжение возвращал к штатному, чтобы не порвать ракорд. Считаю можно ещё поднять ступенями до 12В. Также ступенями потом и понижать. В соответствии с показаниями т/т.
    Последний раз редактировалось Turbo_man; 21.08.2021 в 17:45.

  2. #101
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Поддержкой нескольких пультов с возможностью временной блокировки части из них.
    Сложность только тогда, когда нужно ОДНОВРЕМЕННО пользоваться ОБОИМИ устройствами.

    ---------- Сообщение добавлено 12:59 ---------- Предыдущее сообщение было 12:58 ----------

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Вы не поняли.
    Это вы не поняли.

  3. #102
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Это вы не поняли.
    Да, я не понял, как программно можно устранить проблему, когда готовый пульт влияет на что-то еще.

  4. #103
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Допустим, я возьму и применю для магнитофона Э-004 пульт от деки Sony. Тогда если вдруг в одном помещении окажется такая дека, она будет тоже управляться. Что недопустимо.
    Поясню. Если у вас описанная вами ситуация, то вам нужно сначала решить что вам сейчас нужно. Каким аппаратом сейчас управлять? Если декой SONY, то долгое нажатие на кнопку STOP пульта отключит реакцию на пульт у вашей Электроники, в то время как SONY это безразлично.
    Если же нужно управлять Электроникой, то вновь активируем реагирование на пульт, при том что дека SONY выключена.

    ---------- Сообщение добавлено 13:06 ---------- Предыдущее сообщение было 13:04 ----------

    Программно это ещё не реализовано. Мысль посетила только вчера. Предполагается, что даже с кресла вставать не нужно будет.

  5. #104
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    при том что дека SONY выключена.
    А если включена? Если, скажем, на нее записываем? Использовать готовый пульт от чего-то - так себе решение. Свой пульт - совсем другой уровень, хотя это и трудоемко. Естественно, речь про самодельные аппараты, для аппарата Sony пульт лучше брать от Sony.

  6. #105
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Leoniv Посмотреть сообщение
    А если включена?
    Я же написал, нужно сначала для себя сделать выбор. ОДНОВРЕМЕННО НЕЛЬЗЯ. Возьмите пульт от другого ВЫКЛЮЧЕННОГО аппарата, например R-DAT деки или от MiniDisc-деки. А VHS так сейчас наверно ни у кого не осталось в режиме идущей ЗАПИСИ.
    У меня планируется поддержка ОДНОВРЕМЕННО 4-х пультов. Первый родной заводской уже сделан в аппарате. Я только добавляю 3 новых. И часть из них можно будет активировать/деактивировать с этих же пультов.

    ---------- Сообщение добавлено 14:19 ---------- Предыдущее сообщение было 13:13 ----------

    В общем тактику дальнейших действий я вижу такую:
    1. в отдельном PIC-е PIC16F1823 отлаживаю весь алгоритм по работе с тремя четырьмя (можно подумать будет об увеличении) пультами ДУ SONY с возможностью их дистанционно активировать/деактивировать. Этот PIC можно будет предложить тем, кому это нужно в своих проектах.
    2. переношу весь этот функционал в нынешнюю ATmega88, которая сейчас только делит клок 15,750 МГц на 3, 4 и 6. Что позволяет рассчитывать на успех и получить опыт написания софта для АТмег.
    3. попытаюсь впихнуть весь новый функционал ДУ в нынешний PIC16F877A, что позволит получить доп. опыт в интеграции многофунциональных устройств в одном МК, и в перспективе иметь возможность заменить ATmega88 на что-то иное.

    ---------- Сообщение добавлено 18:31 ---------- Предыдущее сообщение было 14:19 ----------

    Адаптировал свой проект ДУ под этот новый PIC на 10 команд пульта ДУ. Пока пульт один SONY MD.

    ---------- Сообщение добавлено 24.09.2021 в 03:11 ---------- Предыдущее сообщение было 23.09.2021 в 18:31 ----------

    Уффф. Вроде сделал реагирование на все 4 пульта SONY в симуляторе. С возможностью вкл/выкл реагирования на любой из них. С сохранением в еепром. На сегодня всё. Завтра натурные испытания.

    ---------- Сообщение добавлено 08:43 ---------- Предыдущее сообщение было 03:11 ----------

    Внезапно озадачился вопросом. Что делать если дома два одинаковых аппарата? Они же станут одновременно реагировать на нажатия одного пульта.
    Вроде у вас две или больше Электроники, Леонид. Как вы собираетесь решать или уже решили данную проблему?

    ---------- Сообщение добавлено 09:45 ---------- Предыдущее сообщение было 08:43 ----------

    С четырьмя типами пультов SONY (MD, VHS, R-DAT и CD) фокус удался. Это в дополнение к заводскому SONY Cassette Deck. Теперь можно пользоваться любым из пяти названных. Причём первые четыре могут быть дизактивированы/реактивированы как по одиночке так и все четыре с их пультов (не путать с вакцинированы ).

    ---------- Сообщение добавлено 09:50 ---------- Предыдущее сообщение было 09:45 ----------

    Удерживать кнопку STOP для деактивирования или PLAY для реактивирования на соответствующем пульте нужно секунд 5...6. Пожалуй нужно уменьшить до 3...4 сек.

    ---------- Сообщение добавлено 09:54 ---------- Предыдущее сообщение было 09:50 ----------

    Получили новую жизнь кнопки управления VHS магнитофонами на пультах SONY TV. Я рад этому обстоятельству.

    ---------- Сообщение добавлено 16:18 ---------- Предыдущее сообщение было 09:54 ----------

    По традиции добавлю пару фоток. Весь функционал SONY СУПЕР-ДУ в 1 микре.
    Добавил восстановление всех деактивированных пультов ДУ при подаче питания с заземлённым пином №4 (в обычном режиме этот пин не подключен никуда). На всякий случай.

    Нажмите на изображение для увеличения. 

Название:	super_du.jpg 
Просмотров:	63 
Размер:	325.8 Кб 
ID:	405053
    Нажмите на изображение для увеличения. 

Название:	super_du_2.jpg 
Просмотров:	49 
Размер:	144.9 Кб 
ID:	405054

    ---------- Сообщение добавлено 21:03 ---------- Предыдущее сообщение было 16:18 ----------

    Цитата Сообщение от Leoniv Посмотреть сообщение
    На ассемблере вариант тоже есть, в конце странички есть ссылка на rc5_rx.
    После устранения неточностей в коде, проект скомпилировался. Поменял проц там на ATmega88 и частоту кварца на 15750кГц.
    Теперь надо поменять там таймер с 0 на 2. И вход приёмника ИК-данных на вход INT0. Правда ещё пока не увидел куда декодированные команды выводятся (в ComandVar ?).

    ---------- Сообщение добавлено 21:32 ---------- Предыдущее сообщение было 21:03 ----------

    Код:
    DoSamp:	Skip_if_IRIN_1			;check IR signal level 
    	rjmp	Bit0
    Bit1:	inc	SampVal			;if HIGH, SampVal++
    	rjmp	ChSmp
    Bit0:	dec	SampVal			;if LOW, SampVal--
    Выделенное красным не хотело компилироваться, пока закоментил, но видно тут пропущена сама команда, тестирующая уровень входа ИК.
    Наверно так было: sbis PIND,PD3 (или INT1).
    Последний раз редактировалось Turbo_man; 24.09.2021 в 21:43.

  7. #106
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Правда ещё пока не увидел куда декодированные команды выводятся (в ComandVar ?).
    Номер системы (и Control bit) в SysVar, номер команды в CommandVar.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Выделенное красным не хотело компилироваться, пока закоментил, но видно тут пропущена сама команда, тестирующая уровень входа ИК.
    Наверно так было: sbis PIND,PD3 (или INT1).
    Это макрос. Код декодера выдернут из проекта, макросы упустил из вида. Описаны они так:

    Код:
    ;Port D:
    .equ	IRIN	= PD3			;IR signal input
    .equ	POWER	= PD4			;IR receiver power
    
    .macro	Skip_if_IRIN_1			;skip if IRIN = 1
    	sbis	PIND,IRIN
    .endm
    
    .macro	Port_POWER_0			;POWER = 0
    	cbi	PORTD,POWER
    .endm
    
    .macro	Port_POWER_1			;POWER = 1
    	sbi	PORTD,POWER
    .endm
    Для всех портов написаны подобные макросы, чтобы нигде в тексте порты в явном виде не упоминались. Тогда для смены разводки надо поправить только эти макросы.

  8. #107
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Тогда для смены разводки надо поправить только эти макросы.
    У PIC-ов немного проще жить в ассемблере. Не нужны макросы для этого:
    Код:
    #define		C_RESET		PORTC,0		;input кнопка сброса счётчика.
    ........
    ;*****************************************************
    ;*****************************************************
    PROV_KNOP_1
    			bcf			RD_KNOP1
    ;---------------------------------------------------------
    KN2
    			btfsc		C_RESET			;нажата кнопка?
    			goto		NET_NAJ_KN2		;нет
    EST_NAJ_DO_KN2
    			call		ZAD_KNOP1
    			btfss		C_RESET
    			bsf			NAJ_DO2
    ;---------------------------------------
    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Теперь надо поменять там таймер с 0 на 2. И вход приёмника ИК-данных на вход INT0.
    Именно так и сделано в вашем проекте ДУ для Э-004.
    Попробую в нём тоже разобраться.

  9. #108
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    У PIC-ов немного проще жить в ассемблере. Не нужны макросы для этого:
    Точно так же можно написать и для AVR. Макросы написаны для красоты, Skip_if_IRIN_1 понятней, чем sbis IRIN. Еще лучше было в 8051, там каждый бит порта имел свой адрес, не надо было дефайнить связку порт-бит.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Именно так и сделано в вашем проекте ДУ для Э-004.
    Попробую в нём тоже разобраться.
    ДУ для Э-004 написано на C++, это может вызвать некоторые трудности. При замене таймера надо учесть две вещи. Первая - в новых кристаллах не вся периферия умещается в пространство io, поэтому часть ее попадает в пространство внутренней памяти данных. Для таких регистров вместо команд in/out надо использовать lds/sts. В даташите адреса таких регистров приведены в скобках, в файлах inc подписаны как MEMORY MAPPED. В ассемблере это приходится разруливать вручную, в Си все делается автоматически. Второе - прескалеры разных таймеров имеют разный набор делителей, чтобы тут получить те же CLK/64, надо устанавливать другие биты. Файл декодера с таймером 2 присоединил (не проверял в железе).
    Вложения Вложения
    Последний раз редактировалось Leoniv; 25.09.2021 в 10:35.

  10. #109
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Спасибо, Леонид.
    Цитата Сообщение от Leoniv Посмотреть сообщение
    Точно так же можно написать и для AVR.
    Ну тогда нет разницы. Макросы не использовал до сих пор.
    Цитата Сообщение от Leoniv Посмотреть сообщение
    Первая - в новых кристаллах не вся периферия умещается в пространство io, поэтому часть ее попадает в пространство внутренней памяти данных. Для таких регистров вместо команд in/out надо использовать lds/sts.
    Команды я поменял (компилятор ругался), но не разбирался с адресами, думал компилятор разрулил. Значит надо самому вникать в подробностях. У PIC-ов тоже с ОЗУ и др. памятью чёрт ногу сломит.

    ---------- Сообщение добавлено 13:10 ---------- Предыдущее сообщение было 13:10 ----------

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Второе - прескалеры разных таймеров имеют разный набор делителей, чтобы тут получить те же CLK/64, надо устанавливать другие биты.
    Понял это несложно.

    ---------- Сообщение добавлено 13:18 ---------- Предыдущее сообщение было 13:10 ----------

    Цитата Сообщение от Leoniv Посмотреть сообщение
    ДУ для Э-004 написано на C++, это может вызвать некоторые трудности.
    Да, пока не удаётся скомпилировать ваш набор файлов в МикрочипСтудии, хотя ей доступны С/С++ проекты. Продолжу попытки.

    ---------- Сообщение добавлено 13:20 ---------- Предыдущее сообщение было 13:18 ----------

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Файл декодера с таймером 2 присоединил (не проверял в железе).
    Там ещё были неточности типа отсутствия определений для tempH, tempL. Для них выделил r17 и r18. Прав?

    ---------- Сообщение добавлено 13:51 ---------- Предыдущее сообщение было 13:20 ----------

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Добавил восстановление всех деактивированных пультов ДУ при подаче питания с заземлённым пином №4 (в обычном режиме этот пин не подключен никуда). На всякий случай.
    Думаю заменить это на возможность вкл/выкл подтяжек на выходах всех команд. Сейчас подтяжки выключены, иначе они оказывают влияние на работу резистивного делителя для кнопок. Но не уверен, что нужнее.

  11. #110
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Макросы не использовал до сих пор.
    Я тоже не сильно часто макросы использую, хотя многие с их помощью делают удивительные вещи. Вот мой скудный набор для AVR, который обычно подключал к проекту:

    Макросы для AVR


    Код:
    ;***** Macros
    
    .macro	clbr			;clear bit in register
    	cbr @0,exp2(@1)
    .endm
    
    .macro	stbr			;set bit in register
    	sbr @0,exp2(@1)
    .endm
    
    .macro	bbrc			;branch if bit in register clear
    	sbrs @0,@1
    	rjmp @2
    .endm
    
    .macro	bbrs			;branch if bit in register set
    	sbrc @0,@1
    	rjmp @2
    .endm
    
    .macro	bbic			;branch if bit in I/O clear
    	sbis @0,@1
    	rjmp @2
    .endm
    
    .macro	bbis			;branch if bit in I/O set
    	sbic @0,@1
    	rjmp @2
    .endm
    
    .macro	addi			;add immediate 
    	subi @0,-@1
    .endm
    
    .macro	ldx			;load XL, XH with word
    	ldi 	XL,byte1(@0)
    	ldi 	XH,byte2(@0)
    .endm
    
    .macro	ldy			;load YL, YH with word
    	ldi	YL,byte1(@0)
    	ldi	YH,byte2(@0)
    .endm
    
    .macro	ldz			;load ZL, ZH with word
    	ldi	ZL,byte1(@0)
    	ldi	ZH,byte2(@0)
    .endm
    
    .macro	table			;load Z pointer
    	ldi	ZL,low (@0*2)
    	ldi	ZH,high(@0*2)
    .endm
    
    .macro	stdi			;store immediate indirect with displacement
    	ldi	temp,@1
    	std	@0,temp
    .endm
    
    .macro	ldsx			;load XL, XH from memory
    	lds 	XL,@0+0
    	lds 	XH,@0+1
    .endm
    
    .macro	ldsy			;load YL, YH from memory
    	lds 	YL,@0+0
    	lds 	YH,@0+1
    .endm
    
    .macro	ldsz			;load ZL, ZH from memory
    	lds 	ZL,@0+0
    	lds 	ZH,@0+1
    .endm
    
    .macro	stsx			;store XL, XH in memory
    	sts 	@0+0,XL
    	sts 	@0+1,XH
    .endm
    
    .macro	stsy			;store YL, YH in memory
    	sts 	@0+0,YL
    	sts 	@0+1,YH
    .endm
    
    .macro	stsz			;store ZL, ZH in memory
    	sts 	@0+0,ZL
    	sts 	@0+1,ZH
    .endm
    [свернуть]


    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Команды я поменял (компилятор ругался), но не разбирался с адресами, думал компилятор разрулил. Значит надо самому вникать в подробностях.
    Там все просто, в файле m88def.inc написано, какой регистор в какой памяти. В даташите в конце тоже есть таблица всех регистров.

    Регистры ATmega88


    Код:
    ; NOTE:
    ; Definitions marked "MEMORY MAPPED"are extended I/O ports
    ; and cannot be used with IN/OUT instructions
    .equ	UDR0	= 0xc6	; MEMORY MAPPED
    .equ	UBRR0L	= 0xc4	; MEMORY MAPPED
    .equ	UBRR0H	= 0xc5	; MEMORY MAPPED
    .equ	UCSR0C	= 0xc2	; MEMORY MAPPED
    .equ	UCSR0B	= 0xc1	; MEMORY MAPPED
    .equ	UCSR0A	= 0xc0	; MEMORY MAPPED
    .equ	TWAMR	= 0xbd	; MEMORY MAPPED
    .equ	TWCR	= 0xbc	; MEMORY MAPPED
    .equ	TWDR	= 0xbb	; MEMORY MAPPED
    .equ	TWAR	= 0xba	; MEMORY MAPPED
    .equ	TWSR	= 0xb9	; MEMORY MAPPED
    .equ	TWBR	= 0xb8	; MEMORY MAPPED
    .equ	ASSR	= 0xb6	; MEMORY MAPPED
    .equ	OCR2B	= 0xb4	; MEMORY MAPPED
    .equ	OCR2A	= 0xb3	; MEMORY MAPPED
    .equ	TCNT2	= 0xb2	; MEMORY MAPPED
    .equ	TCCR2B	= 0xb1	; MEMORY MAPPED
    .equ	TCCR2A	= 0xb0	; MEMORY MAPPED
    .equ	OCR1BL	= 0x8a	; MEMORY MAPPED
    .equ	OCR1BH	= 0x8b	; MEMORY MAPPED
    .equ	OCR1AL	= 0x88	; MEMORY MAPPED
    .equ	OCR1AH	= 0x89	; MEMORY MAPPED
    .equ	ICR1L	= 0x86	; MEMORY MAPPED
    .equ	ICR1H	= 0x87	; MEMORY MAPPED
    .equ	TCNT1L	= 0x84	; MEMORY MAPPED
    .equ	TCNT1H	= 0x85	; MEMORY MAPPED
    .equ	TCCR1C	= 0x82	; MEMORY MAPPED
    .equ	TCCR1B	= 0x81	; MEMORY MAPPED
    .equ	TCCR1A	= 0x80	; MEMORY MAPPED
    .equ	DIDR1	= 0x7f	; MEMORY MAPPED
    .equ	DIDR0	= 0x7e	; MEMORY MAPPED
    .equ	ADMUX	= 0x7c	; MEMORY MAPPED
    .equ	ADCSRB	= 0x7b	; MEMORY MAPPED
    .equ	ADCSRA	= 0x7a	; MEMORY MAPPED
    .equ	ADCH	= 0x79	; MEMORY MAPPED
    .equ	ADCL	= 0x78	; MEMORY MAPPED
    .equ	TIMSK2	= 0x70	; MEMORY MAPPED
    .equ	TIMSK1	= 0x6f	; MEMORY MAPPED
    .equ	TIMSK0	= 0x6e	; MEMORY MAPPED
    .equ	PCMSK1	= 0x6c	; MEMORY MAPPED
    .equ	PCMSK2	= 0x6d	; MEMORY MAPPED
    .equ	PCMSK0	= 0x6b	; MEMORY MAPPED
    .equ	EICRA	= 0x69	; MEMORY MAPPED
    .equ	PCICR	= 0x68	; MEMORY MAPPED
    .equ	OSCCAL	= 0x66	; MEMORY MAPPED
    .equ	PRR	= 0x64	; MEMORY MAPPED
    .equ	CLKPR	= 0x61	; MEMORY MAPPED
    .equ	WDTCSR	= 0x60	; MEMORY MAPPED
    .equ	SREG	= 0x3f
    .equ	SPL	= 0x3d
    .equ	SPH	= 0x3e
    .equ	SPMCSR	= 0x37
    .equ	MCUCR	= 0x35
    .equ	MCUSR	= 0x34
    .equ	SMCR	= 0x33
    .equ	ACSR	= 0x30
    .equ	SPDR	= 0x2e
    .equ	SPSR	= 0x2d
    .equ	SPCR	= 0x2c
    .equ	GPIOR2	= 0x2b
    .equ	GPIOR1	= 0x2a
    .equ	OCR0B	= 0x28
    .equ	OCR0A	= 0x27
    .equ	TCNT0	= 0x26
    .equ	TCCR0B	= 0x25
    .equ	TCCR0A	= 0x24
    .equ	GTCCR	= 0x23
    .equ	EEARH	= 0x22
    .equ	EEARL	= 0x21
    .equ	EEDR	= 0x20
    .equ	EECR	= 0x1f
    .equ	GPIOR0	= 0x1e
    .equ	EIMSK	= 0x1d
    .equ	EIFR	= 0x1c
    .equ	PCIFR	= 0x1b
    .equ	TIFR2	= 0x17
    .equ	TIFR1	= 0x16
    .equ	TIFR0	= 0x15
    .equ	PORTD	= 0x0b
    .equ	DDRD	= 0x0a
    .equ	PIND	= 0x09
    .equ	PORTC	= 0x08
    .equ	DDRC	= 0x07
    .equ	PINC	= 0x06
    .equ	PORTB	= 0x05
    .equ	DDRB	= 0x04
    .equ	PINB	= 0x03
    [свернуть]


    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Да, пока не удаётся скомпилировать ваш набор файлов в МикрочипСтудии, хотя ей доступны С/С++ проекты. Продолжу попытки.
    Проект для IAR, там много отличий.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Там ещё были неточности типа отсутствия определений для tempH, tempL. Для них выделил r17 и r18. Прав?
    Да, именно эти регистры и были выделены. Можно вообще обойтись одним temp. Файл выдернут из другого проекта, не всё попало. Когда-то делал ИК ДУ для фотоаппаратов Canon вместо проводного ДУ, но проект так и не был завершен за ненужностью.

  12. #111
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Проект для IAR, там много отличий.
    Сейчас спотыкается на отсутствие файлов:
    Код:
    //----------------------------------------------------------------------------
    
    #include <iom88.h>
    #include <intrinsics.h>
    #include <stdint.h>
    #include <stdbool.h>
    ---------- Сообщение добавлено 19:19 ---------- Предыдущее сообщение было 19:05 ----------

    Плюс ещё какая-то ошибка, значение её и причина мне пока не ясна.

    Нажмите на изображение для увеличения. 

Название:	error2.png 
Просмотров:	39 
Размер:	100.0 Кб 
ID:	405149

  13. #112
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Сейчас спотыкается на отсутствие файлов:
    Это файлы из состава компилятора.

  14. #113
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Восстановил-таки последнюю заводскую функцию REC-MUTE. Только ещё добавил на дисплее слово Mute во второй строке на время действия этой функции. Затем ЛПМ встаёт на REC+PAUSE.

    ---------- Сообщение добавлено 20:58 ---------- Предыдущее сообщение было 20:55 ----------

    С АТмегой пока засада.
    Думаю может просто попытаться перевести пиковские команды на атмеловские в своём коде. Интересно что получится?

  15. #114
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    С АТмегой пока засада.
    В чем именно?

  16. #115
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Точнее засада с попыткой скомпилировать ваш проект на C++ в среде Microchip Studio 7. Нет мыслей как решать такого рода задачу.

    ---------- Сообщение добавлено 21:26 ---------- Предыдущее сообщение было 21:23 ----------

    Поэтому пошёл по пути самому трудоёмкому, но понятному, как сейчас кажется.

  17. #116
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Точнее засада с попыткой скомпилировать ваш проект на C++ в среде Microchip Studio 7.
    А зачем Вам проект C++? Я же давал код декодера RC-5 на ассемблере.

  18. #117
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Действительно мои современные ИК-приёмники не работают при питании ниже 3.6...3.7V. А если вдруг потребуется от 3.3В когда-нибудь, то как быть?

    ---------- Сообщение добавлено 21:58 ---------- Предыдущее сообщение было 21:52 ----------

    Думал удастся малой кровью проект запустить, а уже потом в нём править текст с RC-5 на SONY и ноги переназначить как мне нужно.
    Спасибо, за ваш ассемблерный код, его буду использовать как рабочий пример по Атмеловскому асму. Сам декодер рц5 мне не нужен увы.

  19. #118
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Действительно мои современные ИК-приёмники не работают при питании ниже 3.6...3.7V. А если вдруг потребуется от 3.3В когда-нибудь, то как быть?
    Взять, которые работают. Например, TSOP21xx, 22xx, 23, 24, 25, 41, 43, 44, 45, 48 и много других. Работают от 2.5 до 5.5 В.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Думал удастся малой кровью проект запустить, а уже потом в нём править текст с RC-5 на SONY
    Так в проекте кроме декодера практически ничего нет. Только сравнение кода с константой и включение/выключение выхода. Проще это дописать в asm, чем пытаться откомпилировать C++ на чужом компиляторе.

  20. #119
    Завсегдатай
    Автор темы
    Аватар для Turbo_man
    Регистрация
    06.04.2010
    Адрес
    Moscow
    Сообщений
    5,577

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Взять, которые работают.
    Спасибо, куплю на пробу по паре штук. В чём там их отличия, кроме несущей частоты и размера корпуса? А, цоколёвка. Ещё есть отличия?

    ---------- Сообщение добавлено 23:47 ---------- Предыдущее сообщение было 23:46 ----------

    Цитата Сообщение от Leoniv Посмотреть сообщение
    Так в проекте кроме декодера практически ничего нет. Только сравнение кода с константой и включение/выключение выхода.
    Ну поиграться с СИ. Любопытство.
    Цитата Сообщение от Leoniv Посмотреть сообщение
    Проще это дописать в asm, чем пытаться откомпилировать C++ на чужом компиляторе.
    Недооценил сложности.

  21. #120
    Завсегдатай Аватар для Leoniv
    Регистрация
    20.04.2016
    Адрес
    Minsk
    Возраст
    21
    Сообщений
    5,588

    По умолчанию Re: Самодельная замена процессора ЛПМ для SONY TC-K730ES

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Спасибо, куплю на пробу по паре штук. В чём там их отличия, кроме несущей частоты и размера корпуса? А, цоколёвка. Ещё есть отличия?
    Еще они имеют разные постоянные времени АРУ, новые модели лучше ведут себя в условиях сильных помех. У них разная максимальная длительность модулированной вспышки полезного сигнала, поэтому в зависимости от протокола лучше могут подходить разные модели.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Ну поиграться с СИ. Любопытство.
    Можно взять похожий проект на чистом Си, его будет проще адаптировать под другой компилятор.

    Цитата Сообщение от Turbo_man Посмотреть сообщение
    Недооценил сложности.
    Реализации Си для микроконтроллеров отличаются от компилятора к компилятору. А C++ - тем более. Каждый компилятор имеет свой набор intrinsic functions, директив, библиотек. Ключевые слова, зарезервированные за компилятором, начинаются с двойного подчеркивания (например, __interrupt), их придется менять согласно синтаксису другого компилятора.

Страница 6 из 17 Первая ... 4567816 ... Последняя

Социальные закладки

Социальные закладки

Ваши права

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