Светодиод подключаю через сопротивление к PD0, и PD2 через кнопку подключаю на землю.
Наваял небольшую программку:
- Код: Выделить всё • Развернуть
.include "m8def.inc"
.cseg
.org 0x0000
RJMP Reset
RJMP INT_0
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
RETI
Reset:
LDI R16,low(RAMEND)
OUT SPL,R16
LDI R16,high(RAMEND)
OUT SPH,R16
SEI
CBI DDRD,2 ;конфигурируем PD2 на вход
SBI PORTD,2
LDI R16,0x2 ;по восходящему фронту на INT0
OUT MCUCR,R16
LDI R16,1<<INTF0 ;разрешаем прерывания c INT0
OUT GICR,R16
Main:
RJMP Main
INT_0:
SBI DDRD,0
SBI PORTD,0
RETI
Вроде как бы все должно работать, ан не работает, светодиод не горит Причем если тупо установить бит в PD0 - горит, а через прерывание не хочет, подскажите пожалуйста, куда копать?
И еще такой вопрос: после стирания контроллера в программной памяти (и вроде как в EEPROM) каждый раз в разных местах остаются данные типа 7FFF или F7FF. Т.е. полного стирания не происходит. Как от этого избавиться?