Последнее посещение:
27 сен 2013, 13:40
ИК пульт
- БАРС
- модератор, спонсор, писатель, идеолог, редактор
- Сообщения: 2019
- Зарегистрирован: 16 ноя 2009, 15:25
- Откуда: СССР, г. Москва
Re: ИК пульт
Пропал Админ. В его аккаунте видно, что более недели не заходил
Сотрудничаю с НАСА, Роскосмос, Газпром, РЖД, Интер РАО ЕЭС, Роснано и др. (конкретно уточняйте у самой организации) ©.
Re: ИК пульт
Уже не ответишь нам?rhf-admin писал(а):Эти программы - это всего лишь примеры. Никто точно не может предсказать что захочешь от программы именно ты. Кому-то пофиг на энергопотребление, кому-то нет, кому-то нужно, чтобы светики гасли при повторном нажатии, кому-то нет и т.д. и т.п. Поэтому, естественно, что для того чтобы получилось именно то, что нужно именно тебе - программу нужно переделать.
Лучше и полезнее конечно самому попробовать разобраться и общаться на форуме на тему: "почему я делаю вот так и вот так, но это не работает", чем на тему: "а переделайте ка мне программу, потому что я не умею".
В любом случае, если ты хочешь, чтобы тебе помогли - тогда конкретно напиши, о каких программах идёт речь, потому что там для каждой схемы по несколько программ для разных протоколов и т.д.
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Э-э-х, так и не попробовал значит сам разобраться. Ладно, сёдня вечером что-нить покумекаю.
С уважением, администрация сайта.
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Итак, чтобы сделать инверсию - нужно вот этот кусок:
стереть совсем. (Тут по ходу ещё и ошибка была, по идее надо не addwf, а andwf использовать, но это уже не важно)
Далее переделать вот так:
Код: Выделить всё
gasim movlw b'11101000'
addwf GPIO,1
return
Далее переделать вот так:
Код: Выделить всё
;******* Проверка команды 1 *********************************************************
movlw CMD_1
xorwf LBC,0 ;
btfss Status,2 ; если бит 2 (Z) в регистре Status=1, то следующая инструкция не выполняется
goto com2 ;
mowlw b'11101001' ; гасим все, кроме первого
andwf GPIO,1
mowlw b'00000001' ; первый - инвертируем
xorwf GPIO,1
goto out
;****** Проверка команды 2 ***********************************************
com2 movlw CMD_2
xorwf LBC,0 ;
btfss Status,2 ; если бит 2 (Z) в регистре Status=1, то следующая инструкция не выполняется
goto com3 ;
mowlw b'11101010' ; гасим все, кроме второго
andwf GPIO,1
mowlw b'00000010' ; второй - инвертируем
xorwf GPIO,1
goto out
;******* Проверка команды 3 ********************************************************
com3 movlw CMD_3
xorwf LBC,0 ;
btfss Status,2 ; если бит 2 (Z) в регистре Status=1, то следующая инструкция не выполняется
goto com4 ;
mowlw b'11101100' ; гасим все, кроме третьего
andwf GPIO,1
mowlw b'00000100' ; третий - инвертируем
xorwf GPIO,1
goto out
;******* Проверка команды 4 ********************************************************
com4 movlw CMD_4
xorwf LBC,0 ;
btfss Status,2 ; если бит 2 (Z) в регистре Status=1, то следующая инструкция не выполняется
goto out ;
mowlw b'11111000' ; гасим все, кроме четвертого
andwf GPIO,1
mowlw b'00010000' ; четвертый - инвертируем
xorwf GPIO,1
С уважением, администрация сайта.
Re: ИК пульт
я попытался, начал читать самоучитель, но понял что это целую отдельную профессию надо изучить!
Re: ИК пульт
для начала, это что именно переделывать, пульт или приемник?
Re: ИК пульт
вроде разобрался что это приемник, осталось спящий режим! и mplab можно проверить как это работает, прежде чем в контроллер заливать?
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Да, это приёмник. В MPLAB можно в режиме отладки проверить.
Спящий режим сегодня вечером попробую сделать.
Спящий режим сегодня вечером попробую сделать.
С уважением, администрация сайта.
- rhf-admin
- администратор, спонсор, писатель, дизайнер, инженер, программист, идеолог
- Сообщения: 3060
- Зарегистрирован: 25 авг 2009, 23:19
- Откуда: Уфа
- Контактная информация:
Re: ИК пульт
Энергосбережение можно попробовать сделать так:
Если GIE сброшен, а прерывание от изменения на ногах разрешено, то выход из sleep по изменению уровня на ногах произойдёт, но прерывания не случиться, программа просто продолжит выполняться дальше.
З.Ы. Отпишись потом о результатах.
Код: Выделить всё
bsf INTCON,3 ; разрешаем прерывания от GPIO
Scan btfss GPIO,5 ; если 5-й бит равен единице - данных нет, пропускаем
call priem
btfsc MBC,7 ; если start bit (7-й) в регистре MBC = 1,
; то была принята информация
call rab_chast
bcf INTCON,0 ; сбрасываем флаг прерываний от изменения уровня на ногах
sleep ; и засыпаем
goto Scan ; просыпаемся и продолжаем работать
З.Ы. Отпишись потом о результатах.
С уважением, администрация сайта.
Re: ИК пульт
так куда этот кусок надо вставить? и объясни попроще как это должно работать!