при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
я ваще ничего не пойму! но мне здесь добрые люди очень помогли с прошивкой!!!!ARV писал(а):_noise, что у вас за проблема? что-то я никак не пойму...
я вот и интересуюсь: что мешает так делать?_noise писал(а):Практически нужно так:
гм... вот когда я чего-то не понимаю (работало и вдруг перестало) я пытаюсь разобраться, в чем дело... и в этом случае дебаггер - первый друг: он не ошибается! программа из трех команд может принести сюрприз, который не понять умом (в силу ограниченных способностей, например), но очень хорошо видно глазом в дебаггере - глазу моск не нужен, чтобы видеть. зато после этого и мозг наполняется новым знанием. а из цитат, что я надергал из вашего поста, складывается впечатление, что вам не охота учиться-самообразовываться, тяп-ляп-поехали... не поехали - спросим, почему, и потом поедем..._noise писал(а):Что дебагить?
ибо мне так удобно.
А обучалки всякоразные даже и ни разу не возникало желания употреблять как таковые.
(когда/если будет в таблице сто векторов - покажется неудобно - сделаю иначе)
тут поработало и перестало.
В отладчике не пробую.
(и вообще не пробую)
что вы, что вы! спрашивайте, не стесняйтесь, для чего же еще нужен форум?!_noise писал(а):полагаю невежливым спрашивать: читаете ли вы полностью текст вопросов, которые комментируете, насколько "в общих чертах" вам необходимо и достаточно понять его для написания комментария, имеете ли вы практический опыт работы именно в этой области (с такой микросхемой) в настоящий момент либо в недалёком прошлом. потому не спрашиваю.

Код: Выделить всё
.include "m8def.inc"
.def temp=r16
ldi temp, low(RAMEND)
out SPL, temp
ldi temp, high(RAMEND)
out SPH, temp
ldi temp, 0b00000001
out DDRC, temp
ldi temp, 0b00000010
out PORTC, temp
//основной цикл
//проверка, нажата ли кнопка
begin:in temp, PINC
sbrc temp, 1//кнопка нажата?
rjmp begin//кнопка не нажата, переход в начало
//переключение светодиода
ldi temp, PINC
sbrc temp, 0//светодиод горит?
rjmp d_off//светодиод горит, выкл. светодиод
sbi PORTC, 0//светодиод не горит, вкл. светодиод
rjmp check_again//переход к проверке кнопки
d_off:cbi PORTC, 0//выкл. светодиод
//проверка, нажата ли кнопка
check_again: ldi temp, PINC
sbrc temp,1//кнопка нажата?
rjmp begin//кнопка не нажата, переход в начало
rjmp check_again//кнопка нажата, проверка еще раз
//******************************************************согласен, если кнопка одна. а если кнопок несколько? в этом случае удобнее именно читать в промежуточный регистр сразу все кнопки.Meteor писал(а):To Savelek
Для контроля кнопок лучше применять команды sbic и sbis. Это даст Вам возможность не делать записи в промежуточный регистр.
_noise писал(а):1. сразу: антидребезг... не нужен? или которое в конце таковым считается?
2. ldi temp, PINC - ... ээээ?
3. простыню без пробелов неудобно читать и самому автору тоже (?); write-only, быстрее переписать с нуля заново, чем гадать: есть в этом где-то опечатка или нет там где-нибудь опечатки. какая уж там анализация алгоритма...
1.Нет, это не антидребезг. Это проверка, нажата ли все еще кнопка. Без последних строк положение светодиода будет меняться много раз, пока кнопка нажата, а с этой строкой программа ждет, пока кнопку опустят._noise писал(а):1. сразу: антидребезг... не нужен? или которое в конце таковым считается?
2. ldi temp, PINC - ... ээээ?
3. простыню без пробелов неудобно читать и самому автору тоже (?); write-only, быстрее переписать с нуля заново, чем гадать: есть в этом где-то опечатка или нет там где-нибудь опечатки. какая уж там анализация алгоритма...
Угу. А ещё не лениться добавлять пустые строки для разделения логически разных частей программы, ну и всё такое. В общем, оформлять красиво, не лениться в комментариях описывать тонкие моменты и др.Savelek писал(а): 3.Хорошо, теперь я буду оформлять код правильно. Как я понял, в первой колонке метки(или пустота), во второй команды, в третьей аргументы, а в четвертой комментарии?