Администрация форума не несёт ответственности за достоверность информации и оставляет за собой право редактировать или в особых случаях даже удалять посты без предупреждения. Спасибо за понимание.

Программирование ATMEL в BASCOM.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



пульт SAMSUNG

Сообщений 1 страница 2 из 2

1

Мой вариант приёма пульта самсунг с кодами некоторых кнопок
также принимает LG, разница только в повторе и кодах кнопок

Код:
 '  **********************************
 '  *   приём пульта samsung  *
 '  **********************************

'$regfile = "attiny2313a.dat"
$regfile = "m16def.dat"
$crystal = 8000000
$hwstack = 16
$swstack = 16
$framesize = 16

Dim A As Dword , B As Byte , Complit As Byte
Dim C As Byte At A Overlay    '   команда
Dim D As Byte At A + 1 Overlay       '    команда инвертирована
Dim E As Byte At A + 2 Overlay       '     адрес
Dim F As Byte At A + 3 Overlay       '  адрес
Config Timer1 = Timer , Prescale = 8
Stop Timer1
Config Int0 = Rising
On Int0 Tik
Enable Interrupts
Enable Int0


Do
   If Timer1 > 5000 Then : A = 0 : B = 0 : Timer1 = 0 : End If
   If Complit = 1 Then : Complit = 0 : B = 0 : Print Hex(a) : Waitms 100 : Enable Int0 : End If
   '  здесь можно (нужно)  сделать проверку правильности приёма  -  адрес = адрес , (инвертировать) команда = команда инвертирована
   '  коды некоторых кнопок
   '  E0E040BF -  "power"        E0E020DF  -  "1"    E0E0A05F - "2"   E0E0609F - "3"    E0E010EF - "4"
   '  E0E0807F -  "source"       E0E050AF   - "6"     E0E0906F - "5"   E0E030CF - "7"    E0E0B04F - "8"
   '  E0E0708F - "9"   E0E08877 - "0"   E0E0F00F - "mute"   E0E034CB - "TTX/MIX"     E0E0C837 - "PRE-CH"
   '  E0E0E01F - " громкость +"    E0E0D02F - "громкость-"   E0E048B7 - " prog +"  E0E008F7 - "prog - "
   '  E0E0D629 - "CH LIST"    E0E058A7 - " menu "   E0E09E61 - " content "  E0E0F20D - " guide "
   '  E0E0D22D - " tools "     E0E0F807 - " info"   E0E01AE5 - "return"   E0E0B44B - " exit "    E0E036C9 - " A "
   '  E0E028D7 - " B "     E0E0A857 - "C"     E0E06897 - "D"    E0E0C936 - " internet "    E0E031CE - " media.p"
Loop

Tik:
Start Timer1
Timer1 = 0
Bitwait Pind.2 , Reset

If Timer1 > 1500 And Timer1 < 1700 Then : Shift A , Left : A = A Or 1 : Incr B : End If
If Timer1 > 500 And Timer1 < 1000 Then : Shift A , Left : A = A Or 0 : Incr B : End If
If B = 32 Then : Complit = 1 : Disable Int0 : End If

Stop Timer1
Return

Отредактировано aleksey (2015-11-01 11:14:16)

0

2

08087887 - power
0808827D - 1
080842BD - 2
0808C23D - 3
коды LG

0

Похожие темы