Ильмир
МАГистр
- Регистрация
- 11 Июл 2010
- Сообщения
- 2,196
- Реакции
- 47
- Баллы
- 0
Простейшая программа для AVR на ассемблере
Давно хотел освоить написание, компилирование программы с последующей прошивкой в МК, да так что бы все работало как надо
наконец то сегодня осилил простейшую программу, которая, мигает попеременно двумя светодиодами.

Светодиоды подключены к портам PB3 и PB4, на которые, то устанавливается, то снимается бит (лог 1). Период мигания определяется временем за которое МК выполнит тройной цикл.
Программа писалась и компилировалась в среде AVR Studio 4.19 с установленной AVR Toolchain.
Собственно сам исходный код программы:

Давно хотел освоить написание, компилирование программы с последующей прошивкой в МК, да так что бы все работало как надо
наконец то сегодня осилил простейшую программу, которая, мигает попеременно двумя светодиодами.

Светодиоды подключены к портам PB3 и PB4, на которые, то устанавливается, то снимается бит (лог 1). Период мигания определяется временем за которое МК выполнит тройной цикл.
Программа писалась и компилировалась в среде AVR Studio 4.19 с установленной AVR Toolchain.
Собственно сам исходный код программы:
вот и видео работы.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\tn2313def.inc";
SBI DDRB, 3
SBI DDRB, 4
Main:
SBI PORTB, 3
CBI PORTB, 4
LDI R18,$FF
Delay5:
LDI R16,$FF
Delay1:
LDI R17,$FF
Delay2:
dec R17
brne Delay2
dec R16
brne Delay1
dec R18
brne Delay5
CBI PORTB, 3
SBI PORTB, 4
LDI R18,$FF
Delay6:
LDI R16,$FF
Delay3:
LDI R17,$FF
Delay4:
dec R17
brne Delay4
dec R16
brne Delay3
dec R18
brne Delay6
RJMP Main