Следовало бы сказать о начальной системной области Flash памяти - области векторов прерываний. Ведь они используются: rjmp RESET rjmp EXT_INT0. И еще вопрос: прерывания на INT0 (PORTD.2) запрограммированы по нарастающему фронту (переход из низкого в высокий уровень), а когда нажимается кнопка возникает другой фронт - спадающий - переход из высокого уровня в низкий, а в обработчике прерывания после антидребезговой задержки проверяется нажатое состояние кнопки (низкий уровень на PIND.2). Таким образом прерывание возникнет после отпускания нажатой бездребезговой кнопки кнопки или во время дребезга дребезговой кнопки. Таким образом программа с бездребезговой кнопкой работать не будет, а с дребезговой будет (проверила на макете именно с разными кнопками). У вас по-видимому кнопка с дребезгом была, поэтому и заработало. Чтобы программа работала абсолютно верно (т.е. одинаково и с бездребезговой кнопкой и с кнопкой с дребезгом), надо запрограммировать прерывание INT0 по спадающему фронту, т.е. ldi temp, (1
Следовало бы сказать о начальной системной области Flash памяти - области векторов прерываний. Ведь они используются: rjmp RESET rjmp EXT_INT0. И еще вопрос: прерывания на INT0 (PORTD.2) запрограммированы по нарастающему фронту (переход из низкого в высокий уровень), а когда нажимается кнопка возникает другой фронт - спадающий - переход из высокого уровня в низкий, а в обработчике прерывания после антидребезговой задержки проверяется нажатое состояние кнопки (низкий уровень на PIND.2). Таким образом прерывание возникнет после отпускания нажатой бездребезговой кнопки кнопки или во время дребезга дребезговой кнопки. Таким образом программа с бездребезговой кнопкой работать не будет, а с дребезговой будет (проверила на макете именно с разными кнопками). У вас по-видимому кнопка с дребезгом была, поэтому и заработало. Чтобы программа работала абсолютно верно (т.е. одинаково и с бездребезговой кнопкой и с кнопкой с дребезгом), надо запрограммировать прерывание INT0 по спадающему фронту, т.е.
ldi temp, (1
Спасибо за труды, но это не урок. Больше похоже на обзор непонятных примеров, которые не смогут помочь в изучении языка.