Программа для самодельного ИК-пульта
Программа для самодельного ИК-пульта
Уважаемые мастера! Помогите переделать 15-битную программу в 12-битную. Статья https://radiohlam.ru/ikpult_pic12_prg_s ... v772131777
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: Программа для самодельного ИК-пульта
Ну а в чём, собственно, проблема? У вас просто команда должна занимать не 10 бит, а 7. Адрес по прежнему 5 бит, здесь ничего не меняется.
С уважением, администрация сайта.
Re: Программа для самодельного ИК-пульта
Это я понял. Я пытался понять, что, где и как надо поменять, но программирование для меня темный лес. Если не трудно, подскажите, где и что нужно поменять в исходнике, а далее я сам попытаюсь.
P.S. Лет 50 назад такие бы возможности, можно было бы вникнуть. А сейчас мозгов хватает только копировать.
P.S. Лет 50 назад такие бы возможности, можно было бы вникнуть. А сейчас мозгов хватает только копировать.
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: Программа для самодельного ИК-пульта
Команды теперь занимают 7 бит вместо 10, поэтому заменяем:
на
Адрес устройства (AL) прописываем без сдвига (в статье он уже сдвинут на 2 бита влево)
То есть для телека будет
После меток TX_CMDx убираем команды movlw CMD_x2 (у нас теперь команда вся в один байт влезла)
Код после метки Form_Com переделываем так:
Вот это удаляем:
И вместо этого пишем:
Ну и наконец, находим вот эту команду:
и заменяем её на
Поскольку у нас теперь 12 бит вместо 15.
Вроде всё.
Код: Выделить всё
CMD_11 equ 10h ; код команды 1 (младшие 8 бит)
CMD_12 equ 0h ; код команды 1 (старшие 2 бита)
CMD_21 equ 11h ; код команды 2 (младшие 8 бит)
CMD_22 equ 0h ; код команды 2 (старшие 2 бита)
CMD_31 equ 12h ; код команды 3 (младшие 8 бит)
CMD_32 equ 0h ; код команды 3 (старшие 2 бита)
CMD_41 equ 13h ; код команды 4 (младшие 8 бит)
CMD_42 equ 0h ; код команды 4 (старшие 2 бита)
Код: Выделить всё
CMD_11 equ 10h ; код команды 1 (7 бит)
CMD_21 equ 11h ; код команды 2 (7 бит)
CMD_31 equ 12h ; код команды 3 (7 бит)
CMD_41 equ 13h ; код команды 4 (7 бит)
То есть для телека будет
Код: Выделить всё
AL equ b'00000001' ; адрес 01h (заданный байт адреса)
Код после метки Form_Com переделываем так:
Вот это удаляем:
Код: Выделить всё
movwf Byte2
movlw AL ; перед старшими битами команды дописываем 5
iorwf Byte2,1 ; бит адреса - получаем второй байт для передачи
Код: Выделить всё
movlw AL
movwf Byte2
rrf Byte2,1
btfss Status,0 ; проверяем carry flag
goto Form_End
movlw 0x80
iorwf Byte1,1
Form_End
Код: Выделить всё
movlw .31
Код: Выделить всё
movlw .25
Вроде всё.
С уважением, администрация сайта.
Re: Программа для самодельного ИК-пульта
Спасибо за ответ! Вроде все правильно сделал, а чего то не работает. Вот проект приемника https://radioparty.ru/device/microchip/ ... 4u57516720. Проверял его с телефона, все работает. Но приемник 12-битный. Вот что я переделал
Re: Программа для самодельного ИК-пульта
Спасибо Уважаемый админ!!! Ятаганы засверкали при луне. Все заработало. Ламповые телевизоры было проще ремонтировать . Насколько я понял, здесь нет режима sleep?
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: Программа для самодельного ИК-пульта
Пожалуйста.
Да, режима sleep нет.
Да, режима sleep нет.
С уважением, администрация сайта.
Re: Программа для самодельного ИК-пульта
Привет! Здесь на форуме уже пытались реализовать в этом проекте режим sleep, да что то не задалось. Я нашел проект с реализованным режимом. Если у Вас будет время и желание, гляньте его и можно ли встроить это режим в Ваш проект. Спасибо.
Re: Программа для самодельного ИК-пульта
Вопрос с режимом sleep решен. Еще раз спасибо за программу.