-
16.12.2010, 21:05 #1
- Регистрация
- 16.12.2010
- Возраст
- 34
- Сообщений
- 1
- Поблагодарили
- 0
- Поблагодарил
- 0
Помогите разобраться с кодом
Пожайлуста , объясните ламеру какая комманда что делает.
Программа 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 и где пишется какие разряды на вход какие на выход , и хотелось бы узнать где тут прописаны ножки на которые выводить сигнал на светодиоды.Программа мигает двумя светодиодами до нажатия на кнопку вообщем.Объясните плиз поподробнее о каждой комманде =))
-
17.12.2010, 15:18 #2
DDRB - регистр направления( 0 - вход/1 - выход) порта Б
По коду видно, что у порта Б 0 и 1 пины выходы, у порта А все пины сконфигурены как выходы, кроме 4 пина (вход)
vd1 - пин 1, vd2 - пин 0 (порт Б), кнопка пин 4 (порт А)
Все остальное описано в коде.
Удачи !
-
17.12.2010, 15:43 #3
- Регистрация
- 14.05.2005
- Адрес
- Львов, Украина
- Возраст
- 75
- Сообщений
- 209
- Поблагодарили
- 30
- Поблагодарил
- 9
Ламер - не ламер, а почитать хотя бы это придется. Не так уж их и много. Иначе по каждой команде вопросы задавать?.. Вряд-ли кто пойдет на такое "преподавание".
Виктор Голутвин (UT1WPR)
-
17.12.2010, 15:49 #4
|
Социальные закладки