Попробуйте перед разрешением прерываний сбросить регистров флагов внешних прерываний. Дело, скорее всего, в том, что флаги в регистре устанавливаются не зависимо от того, разрешили Вы прерывания или нет. И вполне может случится так, что Вы прерывание разрешили, а событие уже когда-то было. Оно и сработает.
Кнопки можно подтягивать и внутренними резисторами. Необходимо помнить, что их номинал колеблется от 30 до 100 кОм. поэтому здесь все зависит от конкретного применения. если контроллер работает в сильной помеховой обстановке, то возможны будут произвольные срабатывания. В этом случае лучше подтянуть их через внешние резисторы меньшим сопротивлением (5-10 кОм).
или это глюк протеуса???
Это скорее Ваше огромное желание как можно быстрей что-то сделать, за полным отсутствием желания сначала разобраться как это работает.
Торопитесь... Куда?
Pink-Pank писал(а):Попробуйте перед разрешением прерываний сбросить регистров флагов внешних прерываний.
если контроллер работает в сильной помеховой обстановке, то возможны будут произвольные срабатывания. В этом случае лучше подтянуть их через внешние резисторы меньшим сопротивлением (5-10 кОм).
или это глюк протеуса???
Это скорее Ваше огромное желание как можно быстрей что-то сделать, за полным отсутствием желания сначала разобраться как это работает.
Торопитесь... Куда?
Насамом деле вы правы я тороплюсь))),но я хочу и раобраться быстрее и чтото сделать
бывает наоборот хочеться токо раобраться- человек настроения))
Вообщем прерывания перестали срабатывать в в начале при подаче питания как токо я подключил внешний резистор (все это в протеусе).
У меня когда я управлял двигателем -транзистор+ релюшка- то были ложные срабатывания как ра внешних резисторов не было- это может быть и-за этого?
а сбросить флаги внешних это вы имеете ввиду так?:
Иначе сброс не будет иметь смысла.
Программу свою проанализируйте! Вы сначала разрешаете прерывания, а уж потом делаете подтяжку. Какой уровень у Вас на ножке, пока Вы ее не подтянули? НЕ знаете? Никто не знает. А Протеус считает, что было событие. Большой шанс, что прерывание сработает непреднамеренно. Когда внешний резистор - нужный уровень изначально присутствует ДО настройки прерываний.