Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 16.04.2010, 17:50  
livsha
Частый гость
 
Регистрация: 29.01.2010
Сообщений: 21
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
livsha на пути к лучшему
По умолчанию Внешнее прерывание на tiny15

Проблема в следующем:
На тини15 к выводу Int0 подключаю кнопку без фиксатора, через которую подходит +5 вольт, регистр mcucr настроил по нарастающему фронту. Программ достаточно эелементарная, в демонстрационных целях - после настройки регистров разрешаю прерывания, устанавливаю одну ногу в 1, другую - в 0 (подсвечиваю зеленый светодиод), потом зацикливаю программу. Ждем прерывания, переходим на подпрограмму, первый порт устанавливаем в 0, второй - в 1 (подсвечиваем зеленый светодиод), устанавливаем небольшую задержку, переходим в начало программы. На практике же нормально горит зеленый, при нажатии, после задержки, загорается красный. Пробовалал задавать другие условия прерывания, цеплял на землю, всеравно корректно не работает.
Подскажите пожалуйста как быть.
Реклама:
livsha вне форума  
Непрочитано 17.04.2010, 12:01  
Classic001
Временная регистрация
 
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Classic001 на пути к лучшему
По умолчанию Re: внешнее прерывание на tiny15

Код давайте.
Classic001 вне форума  
Непрочитано 17.04.2010, 12:24  
mrKirill
Вид на жительство
 
Аватар для mrKirill
 
Регистрация: 12.04.2007
Сообщений: 348
Сказал спасибо: 2
Сказали Спасибо 36 раз(а) в 32 сообщении(ях)
mrKirill на пути к лучшему
По умолчанию Re: внешнее прерывание на tiny15

Сообщение от livsha Посмотреть сообщение
...устанавливаю одну ногу в 1, другую - в 0 (подсвечиваю зеленый светодиод)...
Цитата:
Ждем прерывания...первый порт устанавливаем в 0, второй - в 1 (подсвечиваем зеленый светодиод)...
Цитата:
...нормально горит зеленый, при нажатии, после задержки, загорается красный.
Что-то совсем неразбериха в Ваших словах...

Код приведите.
__________________
Гидравлика + электроника = POWER
mrKirill вне форума  
Непрочитано 17.04.2010, 13:05  
Aleksashka1
Прописка
 
Регистрация: 25.10.2008
Сообщений: 125
Сказал спасибо: 1
Сказали Спасибо 36 раз(а) в 26 сообщении(ях)
Aleksashka1 на пути к лучшему
По умолчанию Re: внешнее прерывание на tiny15

Наверное у Вас вход поставлен с подтяжкой (на нем уже высокий уровень), а кнопка просто висит и подключает к +5В вывод. Как следстие - аномальное, с Вашей точки зрения, поведение программы. Выкладывайте пару: схема+код
Aleksashka1 вне форума  
Непрочитано 20.04.2010, 21:54  
livsha
Частый гость
 
Регистрация: 29.01.2010
Сообщений: 21
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
livsha на пути к лучшему
По умолчанию Re: внешнее прерывание на tiny15

Сообщение от Aleksashka1 Посмотреть сообщение
Наверное у Вас вход поставлен с подтяжкой (на нем уже высокий уровень), а кнопка просто висит и подключает к +5В вывод.
отключил подтяжку, теперь к кнопке даже руку поднести не могу - наводки страшные
livsha вне форума  
Непрочитано 20.04.2010, 21:56  
Classic001
Временная регистрация
 
Регистрация: 13.10.2009
Сообщений: 81
Сказал спасибо: 2
Сказали Спасибо 8 раз(а) в 8 сообщении(ях)
Classic001 на пути к лучшему
По умолчанию Re: Внешнее прерывание на tiny15

Либо паяйте резистор килоом на 10 между контроллером и землёй, либо включите подтяжку обратно, а кнопку повесте не на +5 В, а на землю
Classic001 вне форума  
Непрочитано 20.04.2010, 22:10  
livsha
Частый гость
 
Регистрация: 29.01.2010
Сообщений: 21
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
livsha на пути к лучшему
По умолчанию Re: Внешнее прерывание на tiny15

.include "tn15def.inc"
.CSEG
.org $000
rjmp main
.org $001
rjmp but
.org $009
main:
ldi r20, 0b010001
out ddrb, r20 ;порты
ldi r20, 0b01000000
out gimsk, r20 ;разрешение внешнего прерывания
ldi r20, 0b00000011
out mcucr, r20 ;по нарастающему фронту
sei
sbi portb, 4 ;светим красным
cbi portb, 0 ; не светим зеленым
krug:
rjmp krug ;ждем прерывания от кнопки НА ЗАМЫКАНИЕ
but: ;пп прерывания
cbi portb, 4
sbi portb, 0
ldi r21, 254
sch1:
dec r21 ;задержка
ldi r22, 254
sch2:
dec r22
cpi r22, 0
brne sch2
cpi r21,0
brne sch1
rjmp main ;в начало
livsha вне форума  
Непрочитано 21.04.2010, 00:54  
picavr
Почётный гражданин KAZUS.RU
 
Аватар для picavr
 
Регистрация: 07.10.2007
Адрес: Луганск
Сообщений: 1,816
Сказал спасибо: 13
Сказали Спасибо 399 раз(а) в 214 сообщении(ях)
picavr на пути к лучшему
По умолчанию Re: Внешнее прерывание на tiny15

Сообщение от livsha Посмотреть сообщение
Подскажите пожалуйста как быть.
Всегда подтяжка резистором входов кнопок к +5 это наиболее помехозащищёное подключение.
А кнопки через резистор в 10 раз меньший потму что часто мультиплексируется с сегментами АЛС либо данными ЖКИ.
Всегда опрос кнопок вешаю в прерывание таймера, периодом 1-20 милисек, счётчик соовпадения состояний клавишь на 50 милисек , если состояния повторяются значит таки нажали, сохранить состояние и выставить флаг нажатия и не обрабатывать пока флаг не погасят.
В другом месте ждём флага о нажатии, считываем и анализируем состояние кнопок и реагируем, затем гасим флаг... алгоритм работает во множестве устройств уже лет 10
__________________
"picavr(ГАВ)мыло.ру" USB_Analyzer, Digital_Storage_Oscilloscope "picavr.kr1.ru" заказы в Китай компонентов/изготовление: плат/ЖКИ/мембраных клавиатур/имп трансформаторов
picavr вне форума  
Непрочитано 21.04.2010, 01:11  
domowoj
Почётный гражданин KAZUS.RU
 
Аватар для domowoj
 
Регистрация: 09.12.2007
Адрес: Новосибирск
Сообщений: 1,021
Сказал спасибо: 10
Сказали Спасибо 70 раз(а) в 63 сообщении(ях)
domowoj на пути к лучшему
По умолчанию Re: Внешнее прерывание на tiny15

livsha
про дребезг контактов забыли!
__________________
И на камнях растут деревья!
domowoj вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите чайнику симулировать АЦП прерывание на Proteus - e shatakhian Микроконтроллеры, АЦП, память и т.д 10 14.10.2011 03:26
Прерывание по внешнему reset Attiny2313 sbcentr Микроконтроллеры, АЦП, память и т.д 18 12.02.2010 16:12


Часовой пояс GMT +4, время: 15:09.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot