Помогите с кодом

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
SPYAWARE
Родился
Сообщения: 1
Зарегистрирован: Чт дек 16, 2010 21:26:15

Помогите с кодом

Сообщение SPYAWARE »

Пожайлуста , объясните ламеру какая комманда что делает.
Программа atmega8535 avr studio:

.include"8535def.inc"
;инициализация регистров и констант
.def temp = r16
.def a = r17
.def b = r18
.def c = r19
.equ vd1 = 0b00000010
.equ vd2 = 0b00000001
.equ end = 0b00000011
start:
;инициализация стека
ldi temp, low(ramend);
out spl, temp;
ldi temp, high(ramend);
out sph, temp;
;Отключение сторожевого таймера
ldi temp, 0b00011000
out wdtcr, temp
ldi temp, 0b00010000
out wdtcr, temp
;Инициализация порта В
ldi temp, 0b00000011
out ddrb, temp
ldi temp, 0b11101111
out pina, temp
;sbis portb, end
;rjmp zader
cycle:
ldi temp, vd1
out portb, temp
rcall zader
ldi temp, vd2
out portb, temp
rcall zader
sbis pina, pa4 ; ждать пока на вход ра4 порта А
rjmp cycle ; не придет "1"
;Гашение светодиодов
ldi temp, end
out portb, temp
n25:
rjmp n25

;подпрограмма задержки
zader:
ldi a, 6
m3:
ldi b, 255
m2:
ldi c, 255
m1:
dec c
brne m1
dec b
brne m2
dec a
brne m3
ret



Подскажите за что отвечает ddrb и где пишется какие разряды на вход какие на выход , и хотелось бы узнать где тут прописаны ножки на которые выводить сигнал на светодиоды.Программа мигает двумя светодиодами до нажатия на кнопку вообщем.Объясните плиз поподробнее о каждой комманде =))
Реклама
alexval2006
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб мар 10, 2007 20:05:39
Откуда: валуйки
Контактная информация:

Re: Помогите с кодом

Сообщение alexval2006 »

Реклама
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Re: Помогите с кодом

Сообщение Aheir »

if ("кривое название темы" || "код оформлен не вложением") "тема закрыта";
Оптимизм х (Опыт + Знания) = const
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»