Сообщение от
Leoniv
В AVR много регистров, поэтому под FLAG лучше овести один из них.
Так он и сейчас в РОН как r19.
Чего-то я перемудрил, похоже.
Но работает. Позже поправлю как вы написали.
---------- Сообщение добавлено 21:06 ---------- Предыдущее сообщение было 21:02 ----------
Уже декодирует команды, но в регистр DDRB вроде не пишется из подготовительного регистра VIHOD_B (в нём есть 1 в нужном месте). Нога не становится выходом. Назначено 10 выходов с открытым стоком. PB1...PB5 и PC0...PC4.
Код:
mov temp,VIHOD_B
andi temp,0b00111110
out DDRB,temp
mov temp,VIHOD_C
andi temp,0b00011111
out DDRC,temp
---------- Сообщение добавлено 21:15 ---------- Предыдущее сообщение было 21:06 ----------
Надо наверно в этот же бит порта PORTB 0 ещё записывать. А то туда я писал 1-цы для включения подтяжек.
---------- Сообщение добавлено 21:19 ---------- Предыдущее сообщение было 21:15 ----------
Вот чего это всё стоило. SRAM не понадобился, но РОНы все забил.
Код:
"ATmega88" memory use summary [bytes]:
Segment Begin End Code Data Used Size Use%
---------------------------------------------------------------
[.cseg] 0x000000 0x00042a 1052 0 1052 8192 12.8%
[.dseg] 0x000100 0x000100 0 0 0 1024 0.0%
[.eseg] 0x000000 0x000000 0 0 0 512 0.0%
Assembly complete, 0 errors. 0 warnings
Done executing task "RunAssemblerTask".
---------- Сообщение добавлено 21:24 ---------- Предыдущее сообщение было 21:19 ----------
Сообщение от
Turbo_man
Надо наверно в этот же бит порта PORTB 0 ещё записывать. А то туда я писал 1-цы для включения подтяжек.
Точно, так и было. Добавил это:
Код:
mov temp,VIHOD_B
andi temp,0b00111110
out DDRB,temp
com temp
out PORTB,temp
mov temp,VIHOD_C
andi temp,0b00011111
out DDRC,temp
com temp
out PORTC,temp
Только теперь нужно подтяжку ещё восстанавливать после отпускания кнопки на пульте ДУ.
Социальные закладки