ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

Atmel AVR ATtiny13a as TV remote control IR receiver (assembly code)

Автор: Branislav Stanojkovic

Загружено: 2019-01-24

Просмотров: 11906

Описание: In this video I go over the assembly code for Atmel ATtiny13a that interprets IR signals received from a TV remote control.

I also demonstrate how to program the ATtiny13a chip with an Arduino Uno as the programmer.

Assembly code for ATtiny 13a:

clr r1

// setupPort:

ldi r16, 0b11110000 // PB0-input, PB4-output
out DDRB, r16

// setupTimer:

ldi r16, 0b00000000
out TCCR0A,r16
ldi r16, 0b00000101 // prescaler 9.6MHz/1024
out TCCR0B,r16

// start:

in r17, PINB
andi r17, 0b00000001
out TCNT0, r1

poll:

mov r16, r17
in r17, PINB // two consecutive sample readings
andi r17, 0b00000001

cp r16, r17
brne toggle

rjmp poll

toggle:

cpi r17, 0x00 // evaluate only high-voltage pulses
breq poll

in r18, TCNT0

cpi r18, 9 // 0-8 cycles - skip
brlo poll

cpi r18, 12 // 9-11 cycles - binary zero
brlo binaryZero

cpi r18, 19 // 12-18 cycles - skip
brlo poll

cpi r18, 23 // 19-23 cycles - binary one
brlo binaryOne

rjmp reset // 23+ cycles - reset

binaryZero:

ldi r19, 0b00000000
rjmp updateResult

binaryOne:

ldi r19, 0b00000001
rjmp updateResult

updateResult:

lsl r21 // shift bits left
or r21, r19 // put new value in bit 0

out TCNT0, r1
rjmp poll

reset:

cpi r21, 0x79 // was it the blue button that was pushed? 0x61 inverse is 0x79 (ASCII 'y')
brne finish

ldi r21, 0b00010000
out PINB, r21 // blue button was pushed, toggle PB4

finish:

clr r21
out TCNT0, r1
rjmp poll


Assembly code for Arduino Uno:

clr r1

// setupPort:

ldi r16, 0b11110000 // PB0-input, PB5-output
out DDRB, r16

// setupUART:

sts UBRR0H, r1
ldi r16, 0x67
sts UBRR0L, r16
ldi r16, 0x48
sts UCSR0B, r16
ldi r16, 0x06
sts UCSR0C, r16

// setupTimer:

ldi r16, 0b00000000
out TCCR0A,r16
ldi r16, 0b00000101 // prescaler 16MHz/1024
out TCCR0B,r16

// start:

in r17, PINB
andi r17, 0b00000001
out TCNT0, r1

poll:

mov r16, r17
in r17, PINB // two consecutive sample readings
andi r17, 0b00000001

cp r16, r17
brne toggle

rjmp poll

toggle:

cpi r17, 0x00 // evaluate only high-voltage pulses
breq poll

in r18, TCNT0

cpi r18, 15 // 0-14 cycles - skip
brlo poll

cpi r18, 20 // 15-19 cycles - binary zero
brlo binaryZero

cpi r18, 32 // 20-31 cycles - skip
brlo poll

cpi r18, 38 // 32-37 cycles - binary one
brlo binaryOne

rjmp reset // 38+ cycles - reset

binaryZero:

ldi r19, 0b00000000
ldi r20, 0x30 // ASCII '0'
rjmp updateResult

binaryOne:

ldi r19, 0b00000001
ldi r20, 0x31 // ASCII '1'
rjmp updateResult

updateResult:

sts UDR0, r20 // display ASCII

lsl r21 // shift bits left
or r21, r19 // put new value in bit 0

out TCNT0, r1
rjmp poll

reset:

ldi r20, 0x0D // carriage return
sts UDR0, r20

sts UDR0, r21 // display result, ASCII of inverse binary value

cpi r21, 0x79 // was it the blue button that was pushed? 0x61 inverse is 0x79 (ASCII 'y')
brne finish

ldi r21, 0b00100000
out PINB, r21 // blue button was pushed, toggle PB5 (built-in LED)

finish:

clr r21
out TCNT0, r1
rjmp poll


-----------------------------------

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Atmel AVR ATtiny13a as TV remote control IR receiver (assembly code)

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

ATtiny13 и ATtiny85. Обзор и программирование с помощью Arduino

ATtiny13 и ATtiny85. Обзор и программирование с помощью Arduino

Устройства на Attiny13 введение

Устройства на Attiny13 введение

Самая маленькая Ардуина - ATtiny10 + проект

Самая маленькая Ардуина - ATtiny10 + проект

Getting Started with Hibernate 5 using Apache Derby and Eclipse

Getting Started with Hibernate 5 using Apache Derby and Eclipse

TRIPLE the WiFI RANGE of your ESP32 C3 using ONE wire! #esp32

TRIPLE the WiFI RANGE of your ESP32 C3 using ONE wire! #esp32

477 Используйте очень привлекательные новые чипы ATTINY для своих проектов

477 Используйте очень привлекательные новые чипы ATTINY для своих проектов

Рекламы с черным юмором. Сборник №1/Black humor commercials. Vol. 1

Рекламы с черным юмором. Сборник №1/Black humor commercials. Vol. 1

ИИ-роботы и Технологии Будущего на Выставке в США 2026

ИИ-роботы и Технологии Будущего на Выставке в США 2026

Они Думали, Что Он Просто Тихий Портной, Пока Он Не Показал Им, Кто Он На Самом Деле

Они Думали, Что Он Просто Тихий Портной, Пока Он Не Показал Им, Кто Он На Самом Деле

КУСТ НИДИНА И ЕЛКА! ТАКОГО В ТАНКАХ НЕ ДЕЛАЛ НИКТО!

КУСТ НИДИНА И ЕЛКА! ТАКОГО В ТАНКАХ НЕ ДЕЛАЛ НИКТО!

[ НОВЫЙ 2026 ] Уральские Пельмени | Лучшие Выпуски Сборник | Комедийная группа №1 в России

[ НОВЫЙ 2026 ] Уральские Пельмени | Лучшие Выпуски Сборник | Комедийная группа №1 в России

Микроконтроллер Attiny13: обзор, прошивка, применение

Микроконтроллер Attiny13: обзор, прошивка, применение

Подключаем дисплей от сотика или мобильного телефона к Ардуино

Подключаем дисплей от сотика или мобильного телефона к Ардуино

How To Make Remote Control Tester Using Ir Receiver And Buzzer Technical project

How To Make Remote Control Tester Using Ir Receiver And Buzzer Technical project

Using EEPROM with Arduino - Internal & External

Using EEPROM with Arduino - Internal & External

Как я металлизировал отверстия в печатных платах

Как я металлизировал отверстия в печатных платах

How to program the ATtiny 841 using the Arduino IDE

How to program the ATtiny 841 using the Arduino IDE

【DIY】Infrared Remote Control Using ATtiny13A

【DIY】Infrared Remote Control Using ATtiny13A

Почему пилоты ОТКАЗАЛИСЬ пересаживаться с этого

Почему пилоты ОТКАЗАЛИСЬ пересаживаться с этого "толстяка"? P-47 Thunderbolt

Как управлять 12-вольтовым двигателем с помощью Arduino: простая схема подключения и примеры кода

Как управлять 12-вольтовым двигателем с помощью Arduino: простая схема подключения и примеры кода

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]