Показать сообщение отдельно
Старый 18.02.2012, 00:25   #1 (permalink)
Ильмир
МАГистр
 
Аватар для Ильмир
 
Регистрация: 11.07.2010
Сообщений: 2,196
Записей в дневнике: 9
Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 2 сообщениях
Репутация: 2976
Smile Простейшая программа для AVR на ассемблере

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

Размер: 107.8 Кб

Светодиоды подключены к портам 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
вот и видео работы
 
Ильмир вне форума   Ответить с цитированием
Ads

Яндекс

Member
 
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070